Changes between Version 20 and Version 21 of CIVLite
- Timestamp:
- 03/24/24 14:56:22 (2 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CIVLite
v20 v21 3 3 Emphasis on performance and parallelization (using C11 threads?). 4 4 5 Types are: ints, proc, and arrays of any type.5 Types are: ints, proc, string, and arrays of any type. 6 6 7 7 Identifiers all start with `%`. … … 22 22 constant: INT | 'null' 23 23 string: '"' .* '"' 24 type: 'int' | 'proc' | type[]24 type: 'int' | 'proc' | 'string' | type[] 25 25 typedvar: type ID 26 26 paramdecl: 'param' typedvar ('=' expr)? ';' … … 37 37 | return | wait | assert | print 38 38 assign: lval '=' expr 39 invocation: ID '(' exprl ist? ')'39 invocation: ID '(' exprlst? ')' 40 40 call: (lval '=')? 'call' invocation 41 41 spawn: (lval '=')? 'spawn' invocation … … 43 43 wait : 'wait' expr 44 44 assert: 'assert' expr 45 print: 'print' exprstrlst 46 exprstrlst: exprstr (',' exprstr)* 47 exprstr: expr | string 48 exprlist: expr (',' expr)* 45 print: 'print' exprlst 46 exprlst: expr (',' expr)* 49 47 lval: ID | lval '[' expr ']' 50 48 51 expr: lval | constant | '(' expr ')' | expr '+' expr | ... // + - * / mod - == != >= > < <= && || ! 49 expr: lval | constant | string | '(' expr ')' | expr '+' expr 50 | ... // + - * / mod - == != >= > < <= && || ! ... 52 51 | 'ite' '(' expr ',' expr ',' expr ')' 53 52 | '(' type ')' 'array' '(' expr ',' expr ')' // (T[])array(length, value)
