2024-09-20 15:51:19 +00:00
|
|
|
$?a ##ERROR: syntax error - '?' prohibited as first character after '$'
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
$include ##ERROR: syntax error - $include target not specified
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
$include 10 ##ERROR: syntax error - $include target expected in place of '10'
|
|
|
|
|
|
|
|
---
|
|
|
|
|
2024-09-21 17:33:01 +00:00
|
|
|
0x12.34 ##ERROR: syntax error - invalid use of decimal point after radixed number '0x12'
|
|
|
|
|
|
|
|
---
|
|
|
|
|
2024-09-24 10:41:42 +00:00
|
|
|
0b ##ERROR: syntax error - invalid numeric literal with no digit after '0b'
|
2024-09-22 13:27:19 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
2024-09-24 10:41:42 +00:00
|
|
|
16r ##ERROR: syntax error - invalid numeric literal with no digit after '16r'
|
|
|
|
---
|
|
|
|
|
2024-02-10 03:23:34 +00:00
|
|
|
##
|
|
|
|
|
|
|
|
x := (+ 10 20) "aaaa"; ##ERROR: syntax error - too many rvalues
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
##
|
|
|
|
|
2024-09-18 12:41:00 +00:00
|
|
|
x := (10 +); ##ERROR: syntax error - no operand after binary selector
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
10 + ##ERROR: syntax error - no operand after binary selector '+'
|
2024-02-10 03:23:34 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
2024-01-02 15:45:34 +00:00
|
|
|
## you can't have another colon before the method..
|
|
|
|
(obj: :method) ##ERROR: syntax error - : disallowed
|
2024-02-04 17:43:50 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## 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")
|
|
|
|
);;
|
|
|
|
|
2024-07-13 08:40:27 +00:00
|
|
|
k := #[10 ; 20 ]; ##ERROR: syntax error - unexpected semicolon
|
2024-02-04 17:43:50 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## a code point greater than 255 is illegal in the character literal prefix fixed with b.
|
|
|
|
|
2024-09-22 13:04:18 +00:00
|
|
|
printf "[%c] [0x%x] [%d]\n" '★' '★' 0x2605;
|
2024-02-04 17:43:50 +00:00
|
|
|
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 ];
|
2024-09-22 13:04:18 +00:00
|
|
|
printf "%010b\n" 0b0101;
|
2024-09-24 10:41:42 +00:00
|
|
|
printf "%O\n" 0bxy; ##ERROR: syntax error - invalid numeric literal character 'x' after '0b'
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
printf "%O\n" 0b12xy ##ERROR: syntax error - invalid numeric literal character '2' after '0b1'
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
printf "%O\n" 0b0b11 ##ERROR: syntax error - invalid numeric literal character 'b' after '0b0'
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
printf "%O\n" 0o0127890 ##ERROR: syntax error - invalid numeric literal character '8' after '0o0127'
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
printf "%O\n" 35rabcdefghijklzabcd ##ERROR: syntax error - invalid numeric literal character 'z' after '35rabcdefghijkl'
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
2024-09-24 13:24:31 +00:00
|
|
|
+ 12389127398127389217382197283197321897r11221 1 ##ERROR: syntax error - unsupported radix '12389127398127389217382197283197321897' before 'r'
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
+ 0000r11221 1 ##ERROR: syntax error - unsupported radix '0000' before 'r'
|
|
|
|
---
|
|
|
|
|
|
|
|
+ 0r11221 1 ##ERROR: syntax error - unsupported radix '0' before 'r'
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
+ 1r11221 1 ##ERROR: syntax error - unsupported radix '1' before 'r'
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
+ 37r11221 1 ##ERROR: syntax error - unsupported radix '37' before 'r'
|
2024-02-04 17:43:50 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
2024-10-01 15:41:54 +00:00
|
|
|
printf if; ##ERROR: syntax error - 'if' prohibited in this context
|
2024-02-04 17:43:50 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
2024-09-18 12:41:00 +00:00
|
|
|
(10 + 20 30) ##ERROR: syntax error - redundant operand '30'
|
2024-09-16 02:12:11 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
#**a ##ERROR: syntax error - invalid binary selector character 'a' after #**
|
2024-09-18 12:41:00 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
abc- := 20 ##ERROR: syntax error - '-' prohibited as last character of identifier or identifier segment
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
self.g- := 20 ##ERROR: syntax error - '-' prohibited as last character of identifier or identifier segment
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
self.-g := 20 ##ERROR: syntax error - '-' prohibited as first character of identifier or identifier segment
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
if.abc := 20 ##ERROR: syntax error - wrong multi-segment identifier
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
abc. := 20 ##ERROR: syntax error - blank segment after 'abc.'
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
abc.? := 20 ##ERROR: syntax error - '?' prohibited as first character of identifier or identifier segment after 'abc.'
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
- := 20 ##ERROR: syntax error - bad lvalue - invalid element - -
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
+++ := 20 ##ERROR: syntax error - bad lvalue - invalid element - +++
|
|
|
|
|
2024-09-18 13:21:11 +00:00
|
|
|
---
|
|
|
|
|
|
|
|
1 + + + ##ERROR: syntax error - prohibited binary selector '+'
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
1 * 2 3 - 4 ##ERROR: syntax error - prohibited binary selector '-'
|
|
|
|
|
|
|
|
---
|
|
|
|
1 * 2 3 4 ##ERROR: syntax error - redundant operand '4'
|
2024-09-18 13:23:30 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
1 \ 2 ##ERROR: syntax error - stray backslash
|
2024-10-05 09:56:52 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
throw ##ERROR: syntax error - no value or expression after 'throw'
|
2024-10-05 12:57:54 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
throw throw ##ERROR: syntax error - 'throw' prohibited in this context
|
2024-10-12 04:59:23 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
class X {
|
|
|
|
x := {
|
|
|
|
|a| ##ERROR: syntax error - variable declaration disallowed in class init scope
|
|
|
|
a := 20
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
do ; ## this is ok
|
|
|
|
do 1; ## this is ok
|
|
|
|
|
|
|
|
k := (do 1 2 3); ## ok too
|
|
|
|
## do doesn't allow variable declaration
|
|
|
|
do { | k | set k 10 };
|
|
|
|
do | k | {set k 10;}; ##ERROR: syntax error - variable declaration disallowed in 'do' context
|
|
|
|
|
|
|
|
---
|
|
|
|
k := (do | k | {set k 10;}) ##ERROR: syntax error - variable declaration disallowed in 'do' context
|