9 Commits

Author SHA1 Message Date
cron
da090876a4 turtle/tlang: numerous fixes for .indexing
Lua interface now supports it
The access/assign functions now use indexing by default
Things that deal with indexed stuff now assume its a table rather than a string
2021-08-28 23:25:59 -05:00
cron
42a253cc71 turtle/tlang: add . map indexing
var.key pushes the value indexed by key in var onto the stack
quotes also work for assignment
numerical keys do not work yet
2021-08-28 23:25:59 -05:00
cron
d740256b12 turtle/tlang: preliminary .key accessing
VAR.key.key = index var[key][key]
.key.key = index TOS[key][key]

The value after . can be just a number.
2021-08-28 23:12:30 -05:00
cron
627c7d9bcb turtle/tlang: add WIP API
Some things aren't _raw, other things are, its WIP
2021-08-28 23:12:29 -05:00
cron
e30c012771 turtle: add public domain dedications 2021-08-28 23:12:29 -05:00
cron
0c0a8236e9 turtle/tlang: force beginning and end of string literals to match 2021-08-28 23:12:29 -05:00
cron
93881793cf turtle/tlang: add comments, fix strings
Strings support '' syntax now. They can also be started with ' and ended with " or vice versa, and there is no way to put a literal ' in yet.
2021-08-28 23:12:29 -05:00
cron
73d9e30816 turtle/tlang: fix lexer whitespace issues
This fixes the final whitespace issue as well as numbers requiring a final whitespace.
Maps don't need surrounding whitespace anymore.
2021-08-28 23:12:29 -05:00
cron
7f09824e89 turtle: add working tlang
Not very well tested, needs a better public API, not integrated with Minetest, ...
This is WAY bigger than a commit should be.
The next stages will be:
- unit tests
- API (allows it to be more than just a language for this project)
- integration with Minetest
2021-08-28 23:01:49 -05:00