Roland van Laar
ecf7926795
DIRECTOR: LINGO: Allow . in varnames
...
Variables names can contain a dot except as the first char.
The following are valid variables: `a.1` `a2.`
This resolves a prolem in C.H.A.O.S. Continuum which uses dot in
variables names. Thanks to Andrew T on Discord for bringing it to our
attention.
Includes a lingo test.
2022-09-06 22:33:04 +02:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+
2021-12-26 18:48:43 +01:00
Orgad Shaneh
02cfffcb67
DIRECTOR: Use nullptr
...
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
djsrv
88ea6e1645
DIRECTOR: Re-encode loaded text to UTF-8
2021-07-15 16:31:47 -04:00
djsrv
545d34c022
DIRECTOR: LINGO: Eliminate when preprocessor
2021-07-15 16:31:47 -04:00
djsrv
9198d7364a
DIRECTOR: LINGO: Move field funcs from LB to LC
...
field, delete, and hilite were implemented as their own instructions in
the original. This also avoids having refs evaluated by LC::call.
2021-06-24 00:26:15 -04:00
djsrv
33617ef76d
DIRECTOR: LINGO: Remove accidental paste
2021-06-22 19:48:32 -04:00
djsrv
c4cd014c41
DIRECTOR: LINGO: Add nounput option to lexer
2021-06-22 19:38:21 -04:00
djsrv
510681249b
DIRECTOR: LINGO: Clean up token types
2021-06-22 18:16:53 -04:00
djsrv
41caf423dd
DIRECTOR: LINGO: Reimplement go command
2021-06-22 18:16:53 -04:00
djsrv
4d6e4558c9
DIRECTOR: LINGO: Reimplement playAccel
2021-06-22 18:16:53 -04:00
djsrv
68200d4542
DIRECTOR: LINGO: Reimplement play command
2021-06-22 18:16:53 -04:00
djsrv
ced5aaeb3f
DIRECTOR: LINGO: Fix symbol token type
2021-06-22 18:16:53 -04:00
djsrv
52a056f91c
DIRECTOR: LINGO: Reimplement if statements
2021-06-22 18:16:53 -04:00
djsrv
0a708b9c8f
DIRECTOR: LINGO: Move compiler logic to new class
2021-06-22 18:16:53 -04:00
djsrv
f726a6ed89
DIRECTOR: LINGO: Rewrite grammar to build AST
2021-06-22 18:16:53 -04:00
djsrv
560bae0f85
DIRECTOR: LINGO: Remove varCheck and checkImmediate
2021-06-22 18:16:53 -04:00
Orgad Shaneh
a05e54f00c
JANITORIAL: Remove trailing whitespaces
2021-05-04 11:46:30 +03:00
Eugene Sandulenko
cfa0be7e35
DIRECTOR: Fix signed/unsigned comparison
2020-08-23 01:15:17 +02:00
djsrv
20e54db2ae
DIRECTOR: LINGO: Implement errors
2020-08-21 00:20:22 -04:00
djsrv
0ff7274993
DIRECTOR: Multiply version numbers by 100
...
To accomodate minor version.
2020-08-10 15:00:55 -04:00
Eugene Sandulenko
800b611667
DIRECTOR: LINGO: Revert 'go to the frame' in lexer
2020-08-05 09:32:35 +02:00
Eugene Sandulenko
2d4941a16a
DIRECTOR: LINGO: Further fixes for 'go' syntax
2020-08-03 22:26:42 +02:00
Eugene Sandulenko
dea5a8625d
DIRECTOR: LINGO: Implement grammar for 'go the frame XX'
2020-08-03 22:05:37 +02:00
Eugene Sandulenko
df3bbc773d
DIRECTOR: LINGO: Added sanity checking to code line tracker
2020-07-30 01:04:33 +02:00
Eugene Sandulenko
6c8686676f
DIRECTOR: LINGO: Print out Lingo code lines with error location
2020-07-30 00:48:36 +02:00
Eugene Sandulenko
a1bbabd086
DIRECTOR: LINGO: Regenerate lexer files
2020-07-20 00:16:15 +02:00
djsrv
fb8c0e53df
DIRECTOR: LINGO: Improve references grammar
2020-07-19 13:33:35 -04:00
djsrv
e95b7979b7
DIRECTOR: LINGO: Replace BLTIN/FBLTIN
...
They should only be treated differently during execution, not during
parse.
2020-07-19 13:33:35 -04:00
Eugene Sandulenko
18e2c5d4d2
DIRECTOR: LINGO: Removed remnant code of parens skipping
2020-07-17 00:28:53 +02:00
Eugene Sandulenko
00e095e224
DIRECTOR: LINGO: Remove hacky solution with trailing parens in D3
2020-07-17 00:24:43 +02:00
djsrv
9d899dd3ba
DIRECTOR: LINGO: Implement object properties
2020-06-18 21:49:09 -04:00
Eugene Sandulenko
215f077a8c
DIRECTOR: LINGO: Narrowed down 'the <builtin> of <expr>' to D3-
2020-06-12 01:05:13 +02:00
Eugene Sandulenko
7180bede71
DIRECTOR: LINGO: Proper fix for 'the <builtin> of <expr>'
2020-06-12 00:50:26 +02:00
Eugene Sandulenko
55c58e1151
DIRECTOR: LINGO: Object references existed at least in D2 too
2020-06-11 23:46:31 +02:00
Scott Percival
b87b84a48d
DIRECTOR: Use seperate script pointer for compiler operations
2020-06-11 00:02:34 +08:00
Eugene Sandulenko
bac023b726
DIRECTOR: Rename debug flags constants to match the flag values
2020-06-09 23:05:31 +02:00
djsrv
be4c440128
DIRECTOR: LINGO: Remove legacy me code
2020-06-06 18:34:06 +02:00
Eugene Sandulenko
883b935528
DIRECTOR: LINGO: Remove now unneeded define, because we switched to flex 2.6
2020-06-02 18:59:32 +02:00
Eugene Sandulenko
cd09d117f3
DIRECTOR: LINGO: Changed grammar for 'when', so it is simpler
2020-06-01 11:44:07 +02:00
Scott Percival
36771800d3
DIRECTOR: LINGO: Make executeScript use the call stack
2020-05-31 23:44:59 +08:00
Eugene Sandulenko
efc1840c51
DIRECTOR: Switched to Homebrew flex for consistency
2020-05-31 14:38:35 +02:00
Scott Percival
1192597425
DIRECTOR: LINGO: Extend _methodVars to store a type
2020-05-31 18:03:57 +08:00
Scott Percival
e79e3632d1
DIRECTOR: LINGO: Improve Symbol memory management
2020-05-31 15:09:07 +08:00
Eugene Sandulenko
e9ca673543
DIRECTOR: LINGO: Dropped 'loop' as a separate keyword, use 'go loop'
2020-05-23 00:24:22 +02:00
Eugene Sandulenko
0493fa932e
DIRECTOR: LINGO: Fixed byte counter in lexer
2020-05-20 11:59:10 +02:00
Eugene Sandulenko
c623830615
DIRECTOR: LINGO: Correctly count \xC2 as new line in lexer
2020-05-20 01:35:37 +02:00
Eugene Sandulenko
e58c21d0f3
DIRECTOR: LINGO: Fix bug with 'end' lexing
2020-05-20 01:28:03 +02:00
Eugene Sandulenko
985371e3d0
DIRECTOR: LINGO: Make parser aware of local variables
2020-05-20 01:28:03 +02:00
Eugene Sandulenko
4ef5d6d62c
DIRECTOR: LINGO: Fully reworked continuation symbol handling
2020-05-15 20:24:39 +02:00