Commit Graph

1789 Commits

Author SHA1 Message Date
2e6888364d "null" literal. 2013-11-05 18:22:22 -08:00
3db228eecf Start hacking on "if" expressions. 2013-11-05 15:40:21 -08:00
67356df1f9 "==" and "!=" operators. 2013-11-05 09:57:57 -08:00
c331ce5301 Tweak metrics script. 2013-11-05 07:57:18 -08:00
6000177126 Clean up block and method calling. 2013-11-05 07:56:59 -08:00
dff19bd8c3 Booleans and comparison operators on numbers. 2013-11-03 21:38:58 -08:00
dae0246581 Pratt parsing FTW! 2013-11-03 10:16:14 -08:00
1741bb2693 ".toString" on num and string. 2013-11-01 23:27:28 -07:00
cfa65a6536 Don't require a newline at the end of a file. 2013-11-01 06:57:21 -07:00
70f6d61cca Start hacking in a REPL. 2013-10-31 22:25:00 -07:00
4f4f630fec Simple script for code metrics. 2013-10-31 21:54:04 -07:00
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