Commit Graph

255 Commits

Author SHA1 Message Date
Deukhoofd 6206fef4c5
Rework evaluation to use shared pointers, fix bugs 2019-06-01 21:38:39 +02:00
Deukhoofd 4408cf00cd
Large overhaul of pointers to shared_ptrs, implemented function evaluation 2019-06-01 19:20:31 +02:00
Deukhoofd 8b70eed516
Implements parsing of function calling 2019-06-01 14:56:28 +02:00
Deukhoofd 1231a77761
Fixes and changes for function declarations, using shared_ptr instead of raw pointers 2019-06-01 13:43:25 +02:00
Deukhoofd 6936b26cae
Implements binding and evaluating function declarations 2019-06-01 12:33:52 +02:00
Deukhoofd c407ba2f50
Implements parsing function declarations 2019-05-31 15:00:14 +02:00
Deukhoofd 6fad5a0a7d
Implements variable usage, tweaks and fixes for variable assignment 2019-05-30 15:23:48 +02:00
Deukhoofd 257eb942c7
Clean up EvaluationScope class 2019-05-29 15:12:13 +02:00
Deukhoofd bda561b775
Fixes for creating variable in local scope 2019-05-29 15:10:16 +02:00
Deukhoofd 188d89db94
Fixed memory leak in script variables 2019-05-29 15:00:41 +02:00
Deukhoofd f6cf4d96dd
Implements variable assignment evaluation 2019-05-29 14:55:03 +02:00
Deukhoofd 6185f755a4
More fixes for boundscope 2019-05-28 18:50:23 +02:00
Deukhoofd 2c84c1e229
Cleanup and fixes for boundscope 2019-05-28 18:22:07 +02:00
Deukhoofd 5d1c3ac9ba
Implements assignment binding 2019-05-28 17:49:03 +02:00
Deukhoofd dbd7dfdd73
Implements assignment parsing 2019-05-26 14:20:40 +02:00
Deukhoofd 0205b92ae6
Implements string evaluation and concat 2019-05-25 16:15:20 +02:00
Deukhoofd b536187593
Implements unary operation evaluation 2019-05-25 14:59:12 +02:00
Deukhoofd 9131fbfee7
Implements inequality token 2019-05-25 14:17:52 +02:00
Deukhoofd d6a6e116fe
Added equality operation for eval values 2019-05-25 13:57:43 +02:00
Deukhoofd 4a4a71ca73
Added logical and and or binary operations 2019-05-25 13:30:20 +02:00
Deukhoofd ce3be6a039
Improved performance for binary calculations 2019-05-25 12:51:39 +02:00
Deukhoofd f1fbf7044b
Fix issue when deleting script with no evalValue result 2019-05-25 12:26:11 +02:00
Deukhoofd fe2007b095
Fix memory leak on error 2019-05-25 12:01:25 +02:00
Deukhoofd b2fa857c9b
Fix memory leak related to lexer skipping whitespace. 2019-05-24 19:18:03 +02:00
Deukhoofd 4a034bc051
Reworked evaluation to use internal type instead of boost::any 2019-05-24 19:14:30 +02:00
Deukhoofd e5cc27d43e
Fix literal floats evaluating wrong values 2019-05-24 15:33:13 +02:00
Deukhoofd e648013e1d
Implements binary operation for floats 2019-05-24 15:31:11 +02:00
Deukhoofd d949d9aa8f
Work on evaluation 2019-05-23 18:50:09 +02:00
Deukhoofd 57cd3efec9
Parse and bind strings 2019-05-22 13:29:35 +02:00
Deukhoofd 6eb005ab3f
Lex Strings 2019-05-22 13:24:28 +02:00
Deukhoofd 23991ab2ea
Improved performance for lexing identifiers/keywords 2019-05-22 12:41:08 +02:00
Deukhoofd 1cf33d5ae8
Fix build error 2019-05-22 12:37:49 +02:00
Deukhoofd 9cc5c14b43
Small optimization for binary binding 2019-05-22 12:29:29 +02:00
Deukhoofd 2cdb9abdb6
Implements binding unary expressions 2019-05-22 12:22:52 +02:00
Deukhoofd 62e938e039
Implements binding binary expressions 2019-05-21 22:15:51 +02:00
Deukhoofd c8183e5405
Implements binding parenthesized expression 2019-05-21 21:00:56 +02:00
Deukhoofd 80998eab14
More work on binder, implements basic literal expressions 2019-05-21 20:59:52 +02:00
Deukhoofd 2fe6f570ec
Properly clear up memory of parsed results 2019-05-21 18:36:31 +02:00
Deukhoofd 1e5cd010a1
Initial layout for binder 2019-05-21 18:09:08 +02:00
Deukhoofd 2df4a71ed8
Reorganized tests 2019-05-21 17:23:56 +02:00
Deukhoofd aec07bd29a
Adds support for parenthesized expressions 2019-05-21 17:16:53 +02:00
Deukhoofd ae25598864
Expanded on diagnostics, make whitespace completely ignored 2019-05-21 15:11:00 +02:00
Deukhoofd 8f2f122215
Make Diagnostics usage a pointer 2019-05-21 14:15:39 +02:00
Deukhoofd 99f50b6471
Add support for diagnostics to parser 2019-05-21 14:06:35 +02:00
Deukhoofd 2b35da3a7b
Add support for diagnostics 2019-05-21 13:56:08 +02:00
Deukhoofd ad3e61128c
Creates base of script class 2019-05-21 12:59:15 +02:00
Deukhoofd 37e770f1cb
Implements expression parsing 2019-05-20 17:45:03 +02:00
Deukhoofd 7edd51d5e3
Save position and length of tokens 2019-05-19 16:11:16 +02:00
Deukhoofd 608a579f19
Adds \v and \f as whitespace characters 2019-05-19 15:28:45 +02:00
Deukhoofd 96943bad7e
Remove gitmodule for Catch2, replaced it with header file 2019-05-19 14:42:45 +02:00
Deukhoofd 01e8075958
Fix tests being broken 2019-05-19 14:32:10 +02:00
Deukhoofd 06fe0e7c4c
Added lexing support for identifiers and keywords 2019-05-19 14:26:21 +02:00
Deukhoofd 8285811fb7
Add a couple more characters to lex 2019-05-19 12:49:26 +02:00
Deukhoofd 600315d401
Dont consume the character immediately following a number 2019-05-19 12:20:08 +02:00
Deukhoofd 22e450e7e7
Initial commit, adds very basic Lexing 2019-05-18 20:35:51 +02:00