Commit Graph

231 Commits

Author SHA1 Message Date
Deukhoofd b76548da16
Cache diagnostic message for easier access, and better extern C handling
continuous-integration/drone/push Build is passing Details
2019-06-19 15:49:44 +02:00
Deukhoofd 7958576b6a
Create entry point to get diagnostic string message
continuous-integration/drone/push Build is passing Details
2019-06-19 13:37:39 +02:00
Deukhoofd 6bcedaf743
Add backslash to invalid control character error, made pretty error messages use 1-based line index
continuous-integration/drone/push Build is passing Details
2019-06-19 13:33:01 +02:00
Deukhoofd 8541085b27
Added support for full error messages
continuous-integration/drone/push Build is passing Details
2019-06-18 19:56:47 +02:00
Deukhoofd dc35ba4698
Support getting line for diagnostic 2019-06-18 17:14:18 +02:00
Deukhoofd e07d5cb7cb
Move Diagnostics to separate namespace 2019-06-18 16:39:36 +02:00
Deukhoofd 88df299e14
Disable Windows build until Dockcross includes updated GCC version
continuous-integration/drone/push Build is passing Details
2019-06-18 16:30:08 +02:00
Deukhoofd cf752971a4
Attempt to use newer GCC on the Windows build
continuous-integration/drone/push Build is failing Details
2019-06-18 15:58:06 +02:00
Deukhoofd 1563e45c3f
Enforce C++17 to use CMake to build, as we're using C++17 features
continuous-integration/drone/push Build is failing Details
2019-06-18 14:45:44 +02:00
Deukhoofd fde102d954
Added namespaces to most classes, general cleanup
continuous-integration/drone/push Build is failing Details
2019-06-17 18:35:12 +02:00
Deukhoofd 21d3329c55
Mark evalValues as const
continuous-integration/drone/push Build is passing Details
2019-06-17 17:43:54 +02:00
Deukhoofd d91caa7f32
Implements indexing with period identifier style (``foo.bar``)
continuous-integration/drone/push Build is passing Details
2019-06-17 15:45:33 +02:00
Deukhoofd d06b04cae9
Gitignore automatically generated project files
continuous-integration/drone/push Build is passing Details
2019-06-15 18:05:42 +02:00
Deukhoofd 90ec4766c3
Support unicode as variables
continuous-integration/drone/push Build is passing Details
2019-06-15 17:51:10 +02:00
Deukhoofd 3dc67ec8a0
Move Lexer to u16string handling, for unicode support
continuous-integration/drone/push Build is passing Details
2019-06-15 17:20:27 +02:00
Deukhoofd f73bd2003c
Don't cascade errors if index assignment index is error
continuous-integration/drone/push Build is passing Details
2019-06-15 16:01:34 +02:00
Deukhoofd 5cd05053e1
Support having no getter/setters on a userdata field
continuous-integration/drone/push Build is passing Details
2019-06-15 15:38:52 +02:00
Deukhoofd 7c345d85e8
Work on making userdata work through extern C entry points
continuous-integration/drone/push Build is passing Details
2019-06-14 22:21:33 +02:00
Deukhoofd 2c313791d9
Ensure memory is handled properly with userdata
continuous-integration/drone/push Build is passing Details
2019-06-14 17:35:05 +02:00
Deukhoofd 3217fd1479
Fix for release builds deleting lexer test script strings before being finished with it
continuous-integration/drone/push Build is passing Details
2019-06-14 17:20:33 +02:00
Deukhoofd a9def6c539
Implements setting table values
continuous-integration/drone/push Build is failing Details
2019-06-14 17:12:27 +02:00
Deukhoofd 996b5be496
Implements basics for UserData 2019-06-14 14:59:38 +02:00
Deukhoofd 831dbe6917
Fix Lexer tests losing reference
continuous-integration/drone/push Build is failing Details
2019-06-13 19:21:22 +02:00
Deukhoofd eb57a46b0b
Fix tests
continuous-integration/drone/push Build is failing Details
2019-06-13 19:10:22 +02:00
Deukhoofd 3e00f750ef
Make Lexer use constant Tokens
continuous-integration/drone/push Build is failing Details
2019-06-13 18:49:38 +02:00
Deukhoofd 5910cbbfa9
Make parsed statements constant during binding 2019-06-13 18:14:59 +02:00
Deukhoofd 601c4a3f89
Always pass the script string around by reference 2019-06-13 17:37:23 +02:00
Deukhoofd 10a2535c96
Handle bound classes as constants during evaluation
continuous-integration/drone/push Build is passing Details
2019-06-13 17:12:46 +02:00
Deukhoofd 1cb65f17c9
Work on performance improvements
continuous-integration/drone/push Build is passing Details
2019-06-13 16:26:10 +02:00
Deukhoofd e93bcab14d
Changed references of u_int64_t to uint64_t, to account for mingw
continuous-integration/drone/push Build is passing Details
2019-06-13 15:31:48 +02:00
Deukhoofd 9d5c6911b2
Fix memory leak when using variables
continuous-integration/drone/push Build is failing Details
2019-06-13 15:18:20 +02:00
Deukhoofd 813ab1e90b
Rework of variable scope to reduce load on evaluator 2019-06-13 15:16:41 +02:00
Deukhoofd 0339c44a89
Fix memory leak on tables
continuous-integration/drone/push Build is passing Details
2019-06-12 18:47:34 +02:00
Deukhoofd 22149d9243
Fixes for return statement, make Evaluate function on script return value
continuous-integration/drone/push Build was killed Details
2019-06-12 18:45:47 +02:00
Deukhoofd 3477ddd18c
Rework function evaluation scope to handle tables
continuous-integration/drone/push Build is passing Details
2019-06-12 17:56:47 +02:00
Deukhoofd c022c91777
Implements complex tables
continuous-integration/drone/push Build is passing Details
2019-06-12 15:19:28 +02:00
Deukhoofd ba4fe888fa
Pass parsed block statements as reference instead of value 2019-06-11 14:58:43 +02:00
Deukhoofd 081def0be0
Implements basic numerical tables
continuous-integration/drone/push Build is passing Details
2019-06-09 20:15:09 +02:00
Deukhoofd ec2419bc7d
Minor cleanup of Parser 2019-06-09 12:48:14 +02:00
Deukhoofd 9241273e7c
Remove variable branch after function is finished running
continuous-integration/drone/push Build is passing Details
2019-06-09 12:37:19 +02:00
Deukhoofd 471632c6e4
Rework of evaluation variable handling, to account for functions having branching variable states
continuous-integration/drone/push Build is passing Details
2019-06-08 18:33:56 +02:00
Deukhoofd 4d452b33e0
Jump to specific function scope when calling function
continuous-integration/drone/push Build is passing Details
2019-06-08 16:44:47 +02:00
Deukhoofd d385a9e3ee
Fix parametered functions skipping a token 2019-06-08 16:30:23 +02:00
Deukhoofd 7ed53193de
Make functions be able to call themselves
continuous-integration/drone/push Build is failing Details
2019-06-08 16:02:21 +02:00
Deukhoofd 7d75131822
Implemented comparison equality operators 2019-06-08 15:38:08 +02:00
Deukhoofd fc66c15c2f
Fixed issue where function declarations without parameters would cause errors
continuous-integration/drone/push Build is passing Details
2019-06-08 14:42:23 +02:00
Deukhoofd a2263535d9
Fixed issue where function parser keeps consuming tokens and causes out of range exceptions 2019-06-08 14:40:21 +02:00
Deukhoofd ed6fbdbef0
Fix wrong block statements consuming EOF token, causing a nullptr exception 2019-06-08 14:27:24 +02:00
Deukhoofd e233616b8e
Implements if, elseif and else statements
continuous-integration/drone/push Build is passing Details
2019-06-08 14:25:15 +02:00
Deukhoofd f4a3918947
Implements return statement
continuous-integration/drone/push Build is passing Details
2019-06-07 15:23:13 +02:00