2024-10-03 17:21:08 +09:00
|
|
|
class A [ a ] {
|
2024-10-02 00:33:34 +09:00
|
|
|
fun(#ci) init1() {
|
2023-11-27 18:25:27 +09:00
|
|
|
| b |
|
|
|
|
set b (+ 1 2);
|
|
|
|
set a b;
|
|
|
|
printf "init to %d\n" a;
|
|
|
|
return self;
|
|
|
|
};
|
|
|
|
|
2023-11-27 00:08:59 +09:00
|
|
|
{
|
|
|
|
## this must not be allowed at this level. if it's allowed,
|
|
|
|
## it should be at the top-level which is above the class level. this is confusing.
|
2023-11-27 18:25:27 +09:00
|
|
|
| j | ##ERROR: syntax error - variable declaration disallowed in class init scope
|
2023-11-27 00:08:59 +09:00
|
|
|
set j 20;
|
|
|
|
printf ">>> %d\n" j;
|
|
|
|
}
|
|
|
|
|
2024-10-02 00:33:34 +09:00
|
|
|
fun(#ci) init2() {
|
2023-11-27 18:25:27 +09:00
|
|
|
| b |
|
|
|
|
set b (+ 10 20);
|
|
|
|
set a b;
|
|
|
|
printf "init to %d\n" a;
|
2023-11-27 00:08:59 +09:00
|
|
|
return self;
|
|
|
|
};
|
|
|
|
};
|
2024-05-26 23:18:26 +09:00
|
|
|
|
|
|
|
---
|
|
|
|
|
2024-10-02 00:33:34 +09:00
|
|
|
fun String length() { ##ERROR: syntax error - 'String' not followed by ( but followed by 'length'
|
2024-05-26 23:18:26 +09:00
|
|
|
}
|
2024-07-09 23:44:24 +09:00
|
|
|
|
|
|
|
---
|
|
|
|
|
2024-10-20 17:37:51 +09:00
|
|
|
class A [ 10 ] { ##ERROR: syntax error - not variable name '10'
|
2024-07-09 23:44:24 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
class A [ a := 20 ] { ##ERROR: syntax error - := disallowed
|
|
|
|
}
|
|
|
|
|
|
|
|
---
|
|
|
|
class A [ [ [a] ] ] { ##ERROR: syntax error - not variable name
|
|
|
|
}
|
|
|
|
|
|
|
|
---
|
2024-10-20 17:37:51 +09:00
|
|
|
class A [ a + ] { ##ERROR: syntax error - not variable name '+'
|
2024-07-09 23:44:24 +09:00
|
|
|
}
|
|
|
|
|
2024-07-13 17:40:27 +09:00
|
|
|
---
|
2024-10-20 17:37:51 +09:00
|
|
|
class A [ + ] { ##ERROR: syntax error - not variable name '+'
|
2024-07-13 17:40:27 +09:00
|
|
|
}
|
2024-08-28 00:58:56 +09:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
fun xxx(x :: p q) { p := (x + 1); q := (x + 2) }
|
2024-09-18 21:41:00 +09:00
|
|
|
[a,[b]] := (xxx 20) ##ERROR: syntax error - bad lvalue - invalid element in tuple
|
2024-08-28 00:58:56 +09:00
|
|
|
printf "%d %d\n" a b
|
|
|
|
|
|
|
|
---
|
2024-09-18 21:41:00 +09:00
|
|
|
|
|
|
|
20 := 90 ##ERROR: syntax error - bad lvalue - invalid element - 20
|
2024-08-28 00:58:56 +09:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
[a b] := 10 ##ERROR: syntax error - non-function call/non-message send disallowed
|
|
|
|
|
|
|
|
---
|
|
|
|
|
2024-09-18 21:41:00 +09:00
|
|
|
[] := 10 ##ERROR: syntax error - bad lvalue - blank expression
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
+ + 100 ##ERROR: exception not handled - "unable to send + to #<PRIM> - '+' not found in Primitive"
|