Commit Graph

12 Commits

Author SHA1 Message Date
e5eca7bed6 Added iterable objects
__iter and __next are now reserved IStrings, OP_NEXT and OP_ITER have also been added. A new token (TOKEN_IN) has been added to the lexer. The parser now supports the for each loop (for i, ... in <object> do ... end).
savedPushed has been removed from the CCompilerState struct.
2020-12-15 21:21:51 -06:00
181ef8a18c Added dictionaries {}
Objects are now separate from {} dictionaries

the . operator now only indexes fields on objects, the [] operator can only be used on objects if the __index or __newindex functions are defined

Additionally 4 new instructions have been added to the VM: OP_NEWDICT, OP_INDEX, OP_INCINDEX, and OP_NEWINDEX.

The syntax to create a dictionary is as follows { <key> : <value>, <otherkey> : <othervalue> } eg. { "hello" : "world", "foo" : 1337 }

The Lexer & Parser was extended to add the TOKEN_COLON ':' token.
2020-12-09 20:32:42 -06:00
9ca67c8408 changed class -> proto 2020-12-05 17:58:56 -06:00
08c640cd58 added # operator, improved error messages 2020-11-30 12:32:04 -06:00
fe2bcf8ae6 fixed GC bug, extended strings 2020-11-27 19:34:54 -06:00
9ccb258a93 added special character support to strings 2020-11-26 12:48:36 -06:00
0745fd10a9 extended lexer, fixed table shrinking 2020-11-25 23:34:02 -06:00
46b99ab390 minor refactoring, added inc and dec operators 2020-11-19 14:41:21 -06:00
329d34aa43 fixed clang warnings 2020-11-17 13:17:23 -06:00
c42a72dfad Major refactoring, added classes, many bug fixes 2020-11-09 19:44:12 -06:00
4cd5c89d28 extended lexer to support 'this' 2020-11-05 18:43:21 -06:00
2e1b745624 Initial commit 2020-10-28 00:16:30 -05:00