1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
% multiline
comment
#1 ;
# multiline
comment
#2
1 + 1 % multiline comment
after expr ;
2 + 3 # multiline comment2
after expr
% Control Structures ;
FOR x WITH 1 2 3 DO
write x;
ENDFOR ;
WHILE n > 4
write n;
n := n - 1;
ENDWHILE ;
CASE c FROM
1: "one"; END
2: "two"; END
3: "three"; END
ENDCASE ;
REPEAT
x := opposite x
UNTIL done ENDREPEAT ;
IF true THEN
"true
ELSEIF untrue THEN
"untrue
ELSE
"false
ENDIF
% Constant literals ;
% Integers ;
123
-123
123 456
456-789 % - is part of the number -789 ;
% Floats ;
123.
1. 2. 3.
12.56
78e3
78e+3
78e-3
90.4e3
90.4e+30
90.4e-30
-123.
-1. 2. 3.
-12.56
-78e3
-78e+3
-78e-3
-90.4e3
-90.4e+30
-90.4e-30
% Characters ;
`3
``
`a`b`c
`
% the previous must not work. ;
% Phrases ;
"hello
"thing
"many"""quotes
"""""
"
"in[]"between
% Faults ;
?hello
?thing
?many???question??marks
????
?
?in{}?between
% Booleans ;
l
o
looololollllol
lover % must not be parsed as boolean. ;
% Predefined constants ;
true
false
pi
null
% Strings ;
'hello world'
'multiline
String'
'escaped''string''here'
'
'
% Non-keyword names ;
thing here there NotAKeyword
% ops and punctuation ;
/[sum, tally]
(adasd +)
|