Commit Graph

374 Commits

Author SHA1 Message Date
Marc Vertes
31bdcefff5 Add struct and composite types, in progress 2018-02-26 09:21:58 +01:00
Marc Vertes
bb63091920 fix basic types, fix _return 2018-02-21 23:04:04 +01:00
Marc Vertes
b4fd48e72e Handle out of order or absence of default in switch statement 2018-02-21 14:37:26 +01:00
Marc Vertes
835dd9c805 Add switch/case support. Some corner cases still missing 2018-02-21 13:23:20 +01:00
Marc Vertes
9b92ceb79f Add logical AND and OR statements 2018-02-20 19:15:50 +01:00
Marc Vertes
41bd7a8505 Refactoring of AST is now ok 2018-02-20 17:11:18 +01:00
Marc Vertes
20753f94e3 Refactor cfg creation, in progress 2018-02-16 23:19:18 +01:00
Marc Vertes
3aa38a2908 Use int instead of int64 2018-02-15 23:15:55 +01:00
Marc Vertes
c2fb2db341 Fix cfg 2018-02-15 15:09:50 +01:00
Marc Vertes
b5af29ca57 Implement for-range statement on arrays 2018-02-14 16:31:49 +01:00
Marc Vertes
11795336f5 Get rid of reflect pkg when handling arrays 2018-02-14 11:45:08 +01:00
Marc Vertes
87edd051e2 Add support of arrays initialized from litterals 2018-02-13 23:48:13 +01:00
Marc Vertes
f24e75120d Fix IF with init statement 2018-02-13 16:20:52 +01:00
Marc Vertes
bd06be616d better implementation of multiple assign 2018-02-13 12:43:37 +01:00
Marc Vertes
592d1bc0ac handle multiple assign/return statements 2018-02-12 17:22:37 +01:00
Marc Vertes
1bbf5b14f9 Fix and test recursive functions with fibonacci numbers 2018-02-12 10:09:02 +01:00
Marc Vertes
bef44db73c handle return values in functions 2018-02-10 21:10:34 +01:00
Marc Vertes
b5ab905e2d Make gi a a real interpreter
Handle #! in first line to allow gi executable scripts.
Load program source from files.
Display AST and CFG graphs on command line flags.
2018-02-08 17:23:23 +01:00
Marc Vertes
e7614c95ef Make function calls work.
Function calls with parameters passed as value now work.
Return value handling and scopes still missing.
2018-02-08 12:01:59 +01:00
Marc Vertes
f440b82788 function calls, in progress 2018-02-07 09:09:11 +01:00
Marc Vertes
24e3acd16a Revert non-recursive tree walk. Make CFG re-entrant. 2018-02-05 13:40:23 +01:00
Marc Vertes
bf9ac2df4c Use frames 2018-02-02 18:34:07 +01:00
Marc Vertes
2f1e444aab Add frames (in progress) 2018-02-02 09:21:06 +01:00
Marc Vertes
75f96aeac7 Apply better names for function and files. Add images for doc 2018-02-01 15:20:37 +01:00