Wiki Diff KeywordsTest, revision #1 to tip
Euphoria4 Keywords and routines built in to ex, exw, exwc and exu
<eucode>
--posted w/o quotes to test eucode colorizing in euwiki and forum
-- note: a few discrepencies from the official include/euphoria/keywords.e
-- typos peek3u, peek_sting and missing peeks, profile_time
-- namespace probably has to be added to euphoria tokenizer
public constant keywords = {
and,
as,
break,
by,
case,
constant,
continue,
do,
else,
elsedef,
elsif,
elsifdef,
end,
entry,
enum,
exit,
export,
for,
function,
global,
goto,
if,
ifdef,
include,
label,
loop,
namespace,
not,
or,
override,
procedure,
public,
retry,
return,
switch,
then,
to,
type,
until,
while,
with,
without,
xor
}
public constant builtins = {
-- !, #, $, &, :,
?,
abort,
and_bits,
append,
arctan,
atom,
c_func,
c_proc,
call,
call_func,
call_proc,
clear_screen,
close,
command_line,
compare,
cos,
date,
equal,
find,
find_from,
floor,
get_key,
get_pixel,
getc,
getenv,
gets,
hash,
head,
include_paths,
insert,
integer,
length,
log,
machine_func,
machine_proc,
match,
match_from,
mem_copy,
mem_set,
not_bits,
object,
open,
option_switches,
or_bits,
peek,
peeks,
peek_string,
peek2s,
peek2u,
peek4s,
peek4u,
pixel,
platform,
poke,
poke2,
poke4,
position,
power,
prepend,
print,
printf,
profile,
profile_time,
puts,
rand,
remainder,
remove,
repeat,
replace,
routine_id,
sequence,
sin,
splice,
sprintf,
sqrt,
system,
system_exec,
tan,
tail,
task_clock_start,
task_clock_stop,
task_create,
task_list,
task_schedule,
task_self,
task_status,
task_suspend,
task_yield,
time,
trace,
warning,
xor_bits
}
</eucode>
<eucode>
/* multiline comment
start of a euphoria4 indent and syntax test file
includes all keywords and builtins
should have examples of correct syntax of all operators
eui -TEST may show some warnings but no errors
this test file serves no function other than to use all words
why aren't strings colorized?
*/
--use all keywords
with inline
without trace
include std\types.e --
include std\map.e as M
include std/sequence.e
include "std/sequence.e"
namespace syntax
global constant g=1
export enum ONE, TWO, THREE, FOUR
--indent test should decompress these depending on options
public type w(object o) return 1 end type
override procedure puts(integer channel,sequence text)
eu:puts(log_file, text)
eu:puts(channel, text)
end procedure
function f1() return 1 end function
procedure p1() end procedure
routine --is reserved for future but a syntax error now?
-- WIN32 OSX UNIX LINUX SAFE TEST UNITTEST
ifdef WIN32 then
elsifdef UNIX then
elsedef
end ifdef
if xor not 1 and 1 or 0 then
elsif 1 then
end if
for x= 1 to 10 by 2 do
if x=1 then continue
else retry
end if
goto "outside"
break
end for
label "outside"
switch(1) do
case 1 then
case else
fallthru
end switch
loop do
until 1
while 1 with entry with label "inside" do
exit
entry print "entry"
exit "inside"
end while
--use all builtins
with profile(0)
without profile_time --can't use both profile & profile_time
trace(0)
atom a
integer i
object o
sequence s = "x" & "y"
? length(s)
print "\t\n\\\r"
printf(1, #!
______multiline string test! ,{})
s = sprintf("%s", {s})
/*multiline line /**/*/
/*multiline line */
warning("warning"/*multiline */)
warning("warning" /*multiline */)
warning("warning" )/*multiline */
warning("warning" ) /*multiline */
warning("warning" )--oneliner"not a string"
warning(""warning"" )--oneliner empty string
warning(''warning`` )--oneliner empty sq bq
warning("warning""warning" )--crowd 2 strings\\
warning(`warning``warning` )--crowd 2 strings
warning(\`warning`..`warning\\` ,,)
-- \t-- euphoria colorizer distinguishes 5 bracket levels
s = x[[[[1], 2], 3]]
s = x[[[[[1], 2], 3]]]
s = open(x[[[[[{1}], 2], 3]]])
s = open(x[[[[[{1}],open( 2, x[1], )], 3]]])
s = open(x[[[
[[{1}],open(
2, x[1], )], 3]
]])
atom Ucode = U"1 2 34 56
78AbC"
--
clear_screen
get_pixel
pixel
position
s = command_line()
option_switches()
s = include_paths()
platform()
system()
system_exec()
getenv()
get_key()
getc()
gets()
puts()
delete()
delete_routine()
compare()
equal()
date
time
repeat()
append()
prepend()
insert()
remove()
head()
tail()
replace()
splice()
find()
match()
find_from()
match_from()
arctan(0)
cos(0)
floor(0)
log(0)
sin(0)
sqrt(0)
tan(0)
rand()
remainder()
power()
hash()
and_bits()
not_bits()
or_bits()
xor_bits()
machine_func()
machine_proc()
routine_id()
c_func()
c_proc()
call()
call_func()
call_proc()
mem_copy()
mem_set()
peek()
peek2s()
peek2u()
peek4s()
peek4u()
peek_string()
peeks()
poke()
poke2()
poke4()
integer f = open("x", "r")
/* can I close f if x doesn't exist? */
if f>2 then close(f) end if
task_clock_start()
task_clock_stop()
task_create()
task_list()
task_schedule()
task_self()
task_status()
task_suspend()
task_yield()
atom A = 1-2+3/4*5
A += 0 --does this get optomized out?
abort(0)
</eucode>
shouldn't this last line be delete? creole on last line is ignored?\\
--end line no lineending,
Euphoria4 Keywords and routines built in to ex, exw, exwc and exu
<eucode>
--posted w/o quotes to test eucode colorizing in euwiki and forum
-- note: a few discrepencies from the official include/euphoria/keywords.e
-- typos peek3u, peek_sting and missing peeks, profile_time
-- namespace probably has to be added to euphoria tokenizer
public constant keywords = {
and,
as,
break,
by,
case,
constant,
continue,
do,
else,
elsedef,
elsif,
elsifdef,
end,
entry,
enum,
exit,
export,
for,
function,
global,
goto,
if,
ifdef,
include,
label,
loop,
namespace,
not,
or,
override,
procedure,
public,
retry,
return,
switch,
then,
to,
type,
until,
while,
with,
without,
xor
}
public constant builtins = {
-- !, #, $, &, :,
?,
abort,
and_bits,
append,
arctan,
atom,
c_func,
c_proc,
call,
call_func,
call_proc,
clear_screen,
close,
command_line,
compare,
cos,
date,
equal,
find,
find_from,
floor,
get_key,
get_pixel,
getc,
getenv,
gets,
hash,
head,
include_paths,
insert,
integer,
length,
log,
machine_func,
machine_proc,
match,
match_from,
mem_copy,
mem_set,
not_bits,
object,
open,
option_switches,
or_bits,
peek,
peeks,
peek_string,
peek2s,
peek2u,
peek4s,
peek4u,
pixel,
platform,
poke,
poke2,
poke4,
position,
power,
prepend,
print,
printf,
profile,
profile_time,
puts,
rand,
remainder,
remove,
repeat,
replace,
routine_id,
sequence,
sin,
splice,
sprintf,
sqrt,
system,
system_exec,
tan,
tail,
task_clock_start,
task_clock_stop,
task_create,
task_list,
task_schedule,
task_self,
task_status,
task_suspend,
task_yield,
time,
trace,
warning,
xor_bits
}
</eucode>
<eucode>
--posted w/o quotes to test eucode colorizing in euwiki and forum
-- note: a few discrepencies from the official include/euphoria/keywords.e
-- typos peek3u, peek_sting and missing peeks, profile_time
-- namespace probably has to be added to euphoria tokenizer
public constant keywords = {
and,
as,
break,
by,
case,
constant,
continue,
do,
else,
elsedef,
elsif,
elsifdef,
end,
entry,
enum,
exit,
export,
for,
function,
global,
goto,
if,
ifdef,
include,
label,
loop,
namespace,
not,
or,
override,
procedure,
public,
retry,
return,
switch,
then,
to,
type,
until,
while,
with,
without,
xor
}
public constant builtins = {
-- !, #, $, &, :,
?,
abort,
and_bits,
append,
arctan,
atom,
c_func,
c_proc,
call,
call_func,
call_proc,
clear_screen,
close,
command_line,
compare,
cos,
date,
equal,
find,
find_from,
floor,
get_key,
get_pixel,
getc,
getenv,
gets,
hash,
head,
include_paths,
insert,
integer,
length,
log,
machine_func,
machine_proc,
match,
match_from,
mem_copy,
mem_set,
not_bits,
object,
open,
option_switches,
or_bits,
peek,
peeks,
peek_string,
peek2s,
peek2u,
peek4s,
peek4u,
pixel,
platform,
poke,
poke2,
poke4,
position,
power,
prepend,
print,
printf,
profile,
profile_time,
puts,
rand,
remainder,
remove,
repeat,
replace,
routine_id,
sequence,
sin,
splice,
sprintf,
sqrt,
system,
system_exec,
tan,
tail,
task_clock_start,
task_clock_stop,
task_create,
task_list,
task_schedule,
task_self,
task_status,
task_suspend,
task_yield,
time,
trace,
warning,
xor_bits
}
</eucode>
<eucode>
/* multiline comment
start of a euphoria4 indent and syntax test file
includes all keywords and builtins
should have examples of correct syntax of all operators
eui -TEST may show some warnings but no errors
this test file serves no function other than to use all words
why aren't strings colorized?
*/
--use all keywords
with inline
without trace
include std\types.e --
include std\map.e as M
include std/sequence.e
include "std/sequence.e"
namespace syntax
global constant g=1
export enum ONE, TWO, THREE, FOUR
--indent test should decompress these depending on options
public type w(object o) return 1 end type
override procedure puts(integer channel,sequence text)
eu:puts(log_file, text)
eu:puts(channel, text)
end procedure
function f1() return 1 end function
procedure p1() end procedure
routine --is reserved for future but a syntax error now?
-- WIN32 OSX UNIX LINUX SAFE TEST UNITTEST
ifdef WIN32 then
elsifdef UNIX then
elsedef
end ifdef
if xor not 1 and 1 or 0 then
elsif 1 then
end if
for x= 1 to 10 by 2 do
if x=1 then continue
else retry
end if
goto "outside"
break
end for
label "outside"
switch(1) do
case 1 then
case else
fallthru
end switch
loop do
until 1
while 1 with entry with label "inside" do
exit
entry print "entry"
exit "inside"
end while
--use all builtins
with profile(0)
without profile_time --can't use both profile & profile_time
trace(0)
atom a
integer i
object o
sequence s = "x" & "y"
? length(s)
print "\t\n\\\r"
printf(1, #!
______multiline string test! ,{})
s = sprintf("%s", {s})
/*multiline line /**/*/
/*multiline line */
warning("warning"/*multiline */)
warning("warning" /*multiline */)
warning("warning" )/*multiline */
warning("warning" ) /*multiline */
warning("warning" )--oneliner"not a string"
warning(""warning"" )--oneliner empty string
warning(''warning`` )--oneliner empty sq bq
warning("warning""warning" )--crowd 2 strings\\
warning(`warning``warning` )--crowd 2 strings
warning(\`warning`..`warning\\` ,,)
-- \t-- euphoria colorizer distinguishes 5 bracket levels
s = x[[[[1], 2], 3]]
s = x[[[[[1], 2], 3]]]
s = open(x[[[[[{1}], 2], 3]]])
s = open(x[[[[[{1}],open( 2, x[1], )], 3]]])
s = open(x[[[
[[{1}],open(
2, x[1], )], 3]
]])
atom Ucode = U"1 2 34 56
78AbC"
--
clear_screen
get_pixel
pixel
position
s = command_line()
option_switches()
s = include_paths()
platform()
system()
system_exec()
getenv()
get_key()
getc()
gets()
puts()
delete()
delete_routine()
compare()
equal()
date
time
repeat()
append()
prepend()
insert()
remove()
head()
tail()
replace()
splice()
find()
match()
find_from()
match_from()
arctan(0)
cos(0)
floor(0)
log(0)
sin(0)
sqrt(0)
tan(0)
rand()
remainder()
power()
hash()
and_bits()
not_bits()
or_bits()
xor_bits()
machine_func()
machine_proc()
routine_id()
c_func()
c_proc()
call()
call_func()
call_proc()
mem_copy()
mem_set()
peek()
peek2s()
peek2u()
peek4s()
peek4u()
peek_string()
peeks()
poke()
poke2()
poke4()
integer f = open("x", "r")
/* can I close f if x doesn't exist? */
if f>2 then close(f) end if
task_clock_start()
task_clock_stop()
task_create()
task_list()
task_schedule()
task_self()
task_status()
task_suspend()
task_yield()
atom A = 1-2+3/4*5
A += 0 --does this get optomized out?
abort(0)
</eucode>
shouldn't this last line be delete? creole on last line is ignored?\\
--end line no lineending,