Commit Graph

1628 Commits

Author SHA1 Message Date
46c0fe87e6 Parentheses for grouping. 2013-10-31 21:49:15 -07:00
8e6ce2bb2a Clean up file reading. 2013-10-31 14:39:41 -07:00
64f1b39ee9 Get infix arithmetic operators working. 2013-10-31 07:04:44 -07:00
3f433922eb Reorganize object types. Sort alphabetically. 2013-10-28 07:17:36 -07:00
9208a7f862 Start testing errors.
- Add support to test runner for compile errors.
- Include line number in tokens.
- Exit with non-zero on compile error.
2013-10-28 07:12:39 -07:00
db14c531b8 More tests for primitives. 2013-10-28 06:53:51 -07:00
f5d9908346 String literal tests. 2013-10-28 06:45:19 -07:00
95fb0863d9 Add IO class.
With io.write(), can start writing tests now.
2013-10-27 22:45:40 -07:00
ca445412b8 Reorganize compiler code a bit. 2013-10-27 21:59:14 -07:00
6ce2c7cec5 Move primitives to separate file. 2013-10-27 11:28:15 -07:00
c7e11059f4 Allow multi-part method calls.
Also correctly mangle names with arguments and parts.
2013-10-27 11:20:19 -07:00
b9baf46e9a Argument lists. 2013-10-26 16:01:44 -07:00
d9a4da94a3 "count" method on strings. 2013-10-26 14:34:15 -07:00
f867bb8348 String literals and objects. 2013-10-25 20:40:24 -07:00
8afaa51e92 Global variables. 2013-10-25 20:32:42 -07:00
b7de165950 Line comments. 2013-10-25 20:07:04 -07:00
32f8c412c7 Method calls. 2013-10-24 21:32:17 -07:00
2f930f727e Make blocks callable. 2013-10-24 13:01:24 -07:00
911f586e7b Block objects.
Also clean up newline handling in parser.
2013-10-24 12:39:01 -07:00
67e5660346 Start working on class definitions. 2013-10-23 22:50:04 -07:00
40e6d2f077 Local variables. 2013-10-23 15:32:59 -07:00
3da1cbe2fa Pure recursive descent parser.
Also, start hacking on method calls.
2013-10-23 13:51:41 -07:00
7c0ab503f6 Get rid of "if" and "else" tokens. 2013-10-22 13:38:57 -07:00
b1867f054a Actually parse number literal. 2013-10-22 13:37:53 -07:00
0b1c42a818 Don't heap allocate tokens. 2013-10-22 13:25:39 -07:00
dd8998db24 Start sketching out single-pass compiler. 2013-10-22 12:16:39 -07:00
d26c38abb1 Make indentation consistent. 2013-10-22 11:23:51 -07:00
2f6a6889f1 Initial commit. 2013-10-22 11:22:22 -07:00