73 Commits

Author SHA1 Message Date
Jeremy Ashkenas
3d43c41a67 automatic conversion of arguments into arrays 2010-01-05 09:10:45 -05:00
Jeremy Ashkenas
7d800b5e5b removed the whole messy notions of looking downwards for returns or children -- ForNodes now peek at top-level status, and if they're being asked to return a value from the outside 2010-01-04 18:57:10 -05:00
Jeremy Ashkenas
7be3b8edac mo' expression examples 2010-01-03 19:08:41 -05:00
Jeremy Ashkenas
3daac200e5 -- 2010-01-03 19:00:08 -05:00
Jeremy Ashkenas
f77877d7eb adding a statement-as-expression test, and returning null from while loops, if asked 2010-01-03 18:58:34 -05:00
Jeremy Ashkenas
536bdd2107 updating fixtures -- all tests now pass -- back to master 2010-01-03 18:49:00 -05:00
Jeremy Ashkenas
abfe3c35f8 adding a block test and using PARAM_SPLAT to remove the last shift/reduce conflict 2010-01-03 10:46:37 -05:00
Jeremy Ashkenas
1dbf257df7 adding splice literals, with tests 2010-01-02 00:20:24 -05:00
Jeremy Ashkenas
dfa2f50076 better existence test, with tests 2010-01-01 12:41:55 -05:00
Jeremy Ashkenas
271ea24b20 adding steps to range comprehensions 2010-01-01 11:54:59 -05:00
Jeremy Ashkenas
792fd359bd fixing precedence order, so that you can nest range comprehensions 2010-01-01 11:19:57 -05:00
Jeremy Ashkenas
acf4a5ee47 making range comprehensions compile safely, even when you assign to the same variable as your endposts. 2010-01-01 10:55:43 -05:00
Jeremy Ashkenas
d9afe2cf44 -- 2010-01-01 10:40:29 -05:00
Jeremy Ashkenas
ee304485b8 allowing indentation within function calls 2010-01-01 10:38:28 -05:00
Jeremy Ashkenas
5957ba624a adding a test for expressions in range comprehensions 2010-01-01 10:20:29 -05:00
Jeremy Ashkenas
2b40607b57 test for uminus 2010-01-01 10:17:33 -05:00
Jeremy Ashkenas
e8df8abf7a fixing the regex lexer to make it less agressive when we know it can't possibly be a regex 2010-01-01 09:49:18 -05:00
Jeremy Ashkenas
fba131c5a4 adding splats as arguments to function calls 2009-12-31 19:52:13 -05:00
Jeremy Ashkenas
adca8183de adding splats to function definitions 2009-12-31 17:50:12 -05:00
Jeremy Ashkenas
c187f2160f expressions nested in expressions made for some indentation issues -- statements are now responsible for their own leading indentation 2009-12-31 16:50:46 -05:00
Jeremy Ashkenas
959c9a31cb adding a test for multiline-array-comprehension-with-filter 2009-12-31 16:13:52 -05:00
Jeremy Ashkenas
32b0f9fa4f adding a filtered object comprehension test 2009-12-31 15:08:54 -05:00
Jeremy Ashkenas
f7e49eaae4 using push for comprehension results so that it works with object keys, and adding a test for object comprehensions 2009-12-31 15:03:32 -05:00
Jeremy Ashkenas
3042a50f87 adding weepy's suggestion to use (for .. in) for array comprehensions, which means that they're now object comprehensions as well 2009-12-31 14:52:14 -05:00
Jeremy Ashkenas
86be82f3ae adding a test case for named functions 2009-12-31 10:52:00 -05:00
Jeremy Ashkenas
5658b2b41f updating tests for named functions 2009-12-30 23:14:29 -05:00
Jeremy Ashkenas
4251aa30c6 adding proper auto-newline escaping 2009-12-30 22:49:25 -05:00
Jeremy Ashkenas
3ad9316fd0 allowing any manner of indentation in the comments, by adjusting them in the lexer 2009-12-30 22:24:40 -05:00
Jeremy Ashkenas
370d05148d getting there, finally ... all tests are green for whitespace 2009-12-30 21:51:23 -05:00
Jeremy Ashkenas
7e58d1d914 adding ')' as a SINGLE_CLOSER, although it's probably unsafe 2009-12-30 18:09:43 -05:00
Jeremy Ashkenas
4097a81456 parser and test tweaks for whitespace -- tests are coming along 2009-12-30 17:58:27 -05:00
Jeremy Ashkenas
675a5f5d7c execution tests still pass -- more lexer block insertion and 2 shift/reduces in the grammar now 2009-12-30 15:52:07 -05:00
Jeremy Ashkenas
02c19b3170 patching up the lexer and adding a test with trailing whitespace (it was too string for trailing whitespace before) 2009-12-30 15:10:47 -05:00
Jeremy Ashkenas
f2bdd555fa killing some newlines in the execution tests, to test the lexer's newline suppression 2009-12-29 10:02:19 -05:00
Jeremy Ashkenas
5c7dee556a changing array comprehension filters from 'where' to 'when' to mirror case/when 2009-12-29 09:55:37 -05:00
Jeremy Ashkenas
1128beb49b still some kinks to work out -- mid-expression blocks 2009-12-29 09:18:41 -05:00
Jeremy Ashkenas
0963eea60e using 'where' for array comprehension filtering, after kamatsu's suggestion -- execution tests pass now with significant whitespace 2009-12-29 08:52:26 -05:00
Jeremy Ashkenas
c1cdedd260 moving along with whitespace 2009-12-28 23:08:02 -05:00
Jeremy Ashkenas
1b688d7077 merging in master 2009-12-28 20:06:23 -05:00
Jeremy Ashkenas
2bc4cbbdcc part of the way to supporting multiline array comprehensions -- the grammar and parsing is there -- the code generation is tricky 2009-12-27 21:50:02 -08:00
Jeremy Ashkenas
903331f3ff got negative ranges working with (much, much) uglier compiled code 2009-12-26 20:35:43 -08:00
Jeremy Ashkenas
6aa247f73d that's it for now for significant whitespace -- I really just can't make flexible enough 2009-12-26 19:29:59 -08:00
Jeremy Ashkenas
da71735066 smarter but uglier lexer -- now handles most significant whitespace cases. Clean it up though... (newlines after outdents) 2009-12-26 13:22:53 -08:00
Jeremy Ashkenas
d6ac6a3535 removing no_paren -- can cause order of operations errors 2009-12-26 11:10:59 -08:00
Jeremy Ashkenas
7aa69579ff little more progress on whitespace 2009-12-26 10:49:11 -08:00
Jeremy Ashkenas
c4844abb28 adding newline escaping, with tests 2009-12-26 09:29:03 -08:00
Jeremy Ashkenas
1486bbab9f added array comprehensions over ranges 2009-12-26 00:16:40 -08:00
Jeremy Ashkenas
59d912cc26 docs for assignment-as-expression 2009-12-25 23:17:34 -08:00
Jeremy Ashkenas
9adf2e2d30 major internal reworking -- all variable declarations have been pushed up to the first line of the block scope -- all assignment is now an inherent expression 2009-12-25 22:57:33 -08:00
Jeremy Ashkenas
274152aff7 documenting ranges and slices 2009-12-25 16:35:57 -08:00