hyung-hwan
8345e2f949
All checks were successful
continuous-integration/drone/push Build is passing
fixed the issue of the lost line terminator after the comment text which caused the next line to be treated as the same line
93 lines
1.5 KiB
Plaintext
93 lines
1.5 KiB
Plaintext
##
|
|
|
|
x := (+ 10 20) "aaaa"; ##ERROR: syntax error - too many rvalues
|
|
|
|
---
|
|
|
|
##
|
|
|
|
x := (10 +); ##ERROR: syntax error - no operand after binary operator
|
|
|
|
---
|
|
|
|
##
|
|
|
|
x := (10 + 20 * 4); ##ERROR: syntax error - prohibited binary operator
|
|
|
|
---
|
|
|
|
|
|
## you can't have another colon before the method..
|
|
(obj: :method) ##ERROR: syntax error - : disallowed
|
|
|
|
---
|
|
|
|
## while EOL is ignored in explicitly parenthesized XLIST, a semicolon must not be.
|
|
(printf
|
|
"hello, world\n"
|
|
)
|
|
|
|
(printf; ##ERROR: syntax error - unexpected semicolon
|
|
"hello, world\n"
|
|
)
|
|
|
|
---
|
|
|
|
## semicolon inside #{} must raise a syntax error
|
|
|
|
a := #{
|
|
"k1":
|
|
"hello k1\n",
|
|
"k2":
|
|
"hello k2\n"; ##ERROR: syntax error - unexpected semicolon
|
|
};
|
|
|
|
---
|
|
|
|
{
|
|
;;;
|
|
|
|
(do
|
|
(printf "hello\n")
|
|
(printf "hello\n")
|
|
);;
|
|
|
|
k := [10 ; 20 ]; ##ERROR: syntax error - unexpected semicolon
|
|
|
|
}
|
|
|
|
---
|
|
|
|
## a code point greater than 255 is illegal in the character literal prefix fixed with b.
|
|
|
|
printf "[%c] [#x%x] [%d]\n" '★' '★' #x2605;
|
|
printf "[%c]\n" b'★'; ##ERROR: syntax error - wrong character literal
|
|
|
|
---
|
|
|
|
## #b can be followed by [ or binary digits.
|
|
|
|
printf "%O\n" #b[ 10 20 30 ];
|
|
printf "%010b\n" #b0101;
|
|
printf "%O\n" #bxy; ##ERROR: syntax error - neither valid radixed number nor valid directive #bxy
|
|
|
|
---
|
|
|
|
printf :*; ##ERROR: syntax error - prohibited in this context
|
|
|
|
---
|
|
|
|
defun :: fun1() { ##ERROR: syntax error - function name not symbol in defun
|
|
return 10;
|
|
};
|
|
|
|
---
|
|
|
|
defun :* fun1() { ##ERROR: syntax error - function name not symbol in defun
|
|
return 10;
|
|
};
|
|
|
|
---
|
|
|
|
(10 + 20 30) ##ERROR: syntax error - too many operands
|