Commit Graph
219 Commits
Author SHA1 Message Date
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