25 Commits

Author SHA1 Message Date
cron
f54064df07 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
2020-12-10 04:34:48 +00:00
cron
a3018c2a31 turtle/tlang: improve in_keys()
The function references should probably be replaced with the Lua-y form
2020-11-22 06:52:20 +00:00
cron
78c5bc868d turtle: fix pausing 2020-11-08 23:17:07 +00:00
cron
5f5dcf7195 turtle/tlang: add loop variable to forever 2020-11-08 18:26:01 +00:00
cron
77cd076964 turtle/tlang: add state pausing 2020-11-08 17:35:55 +00:00
cron
a5f00780ec turtle/tlang: improve API, add more boolean builtins 2020-11-07 19:27:25 +00:00
cron
05833e9f24 turtle/tlang: fix binary operators being backwards 2020-11-06 23:39:49 +00:00
cron
4c2a89bba9 turtle/tlang: add else to if, fix end of scope error 2020-11-06 17:06:32 +00:00
cron
f71a8dbf0e turtle/tlang: add boolean conversion API, improve automatic conversion 2020-11-06 16:38:52 +00:00
cron
3a210fef57 turtle/tlang: fix nextpop bug, improve value conversion 2020-11-06 16:20:04 +00:00
cron
cd1805ce25 turtle/tlang: add args builtin
Also fixes some bugs regarding exiting code blocks.
2020-11-06 00:54:06 +00:00
cron
cd0eb1b192 turtle/tlang: add WIP API
Some things aren't _raw, other things are, its WIP
2020-11-06 00:13:21 +00:00
cron
ba9a07d262 turtle: add public domain dedications 2020-11-05 23:20:28 +00:00
cron
455f20fa06 turtle: add .tlang, fix print log 2020-11-05 23:17:41 +00:00
cron
b09c6024ef turtle/tlang: log prints 2020-11-05 19:55:55 +00:00
cron
bfba03a87b turtle: fix tlang integration 2020-11-05 19:53:35 +00:00
cron
9d6d791073 turtle/tlang: add repeat
{code} count <var> repeat
2020-11-05 06:49:55 +00:00
cron
5dd14439ac turtle/tlang: allow unary operators to assign to quotes, add more operators
`var -- is now possible
Added + - / % !
2020-11-05 03:15:12 +00:00
cron
d3b2d308da turtle/tlang: make = assign to nearest defined
If identifier has never been assigned, assign it in current scope
If it has been assigned, reassign it at that scope to value
Needs a global assignment and local assignment, maybe rename = to set or something
2020-11-05 02:52:48 +00:00
cron
752a72a478 turtle/tlang: add while 2020-11-04 19:19:36 +00:00
cron
d324d9ed10 turtle/tlang: make access() search for newest locals first, globals last 2020-11-04 06:46:43 +00:00
cron
9f8aa05b50 turtle/tlang: fix copying error with = builtin 2020-11-04 03:03:53 +00:00
cron
c65e72116e turtle/tlang: add forever and some other builtins
With forever, break, and (basic) if for and while can be made.
2020-11-04 02:57:48 +00:00
cron
957d425609 turtle/tlang: add run builtin
This changes how code is executed a bit, code from the stack is popped to an execution stack before.
This makes global executed functions and anonymous ones identical.
Not super well tested as always :]
2020-11-03 07:06:59 +00:00
cron
d47ce9b310 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
2020-11-01 02:55:54 +00:00