Commit Graph

15 Commits

Author SHA1 Message Date
Danila Fedorin ca6075e8d5 Add a new method call operator, and more.
The '.' operator now represents method calls. A function f: (a, b)->c
can be called as a.f(b), which is equivalent to f(a, b). Besides
this change, all reserved operators now have a negative precedence
(it's relative, remember?), and some function names were changed.
2018-09-13 17:05:39 -07:00
Danila Fedorin 7c8c547540 Add true / false values to interpreter. 2018-08-10 15:29:56 -07:00
Danila Fedorin 7dfc55154e Require scope in interpreter calls. 2018-06-21 16:11:39 -07:00
Danila Fedorin 88ec979ba5 Add scope modes instead of a flag. 2018-06-17 01:25:41 -07:00
Danila Fedorin 8207f1f450 Add unit value to interpreter. 2018-06-02 15:59:13 -07:00
Danila Fedorin f199bc6efd Add a function to call a function by name. 2018-06-01 23:32:19 -07:00
Danila Fedorin f4de244c41 Format code. 2018-05-26 21:55:30 -07:00
Danila Fedorin 03cce8d1fb Clean up some comments. 2018-05-17 15:33:38 -07:00
Danila Fedorin c3a7657c71 Format code. 2018-05-17 14:53:48 -07:00
Danila Fedorin 3e8c814215 Remove pointless parameter copying. 2018-05-11 20:36:27 -07:00
Danila Fedorin 3b0908125d Avoid creating number type reference in interpreter. 2018-05-06 19:01:47 -07:00
Danila Fedorin 0a24fff344 Add a new implementation struct with only one function. 2018-04-24 16:59:53 -07:00
Danila Fedorin 14e9ddea23 Remove the implementation struct. 2018-04-24 16:34:10 -07:00
Danila Fedorin a86938b574 Use reference counted table in libab. 2018-04-24 11:35:16 -07:00
Danila Fedorin 251ce4e66e Start the interpreter code. Construct a basic scaffold. 2018-04-23 14:49:33 -07:00