Jeremy Ashkenas
|
2fb8f48e75
|
expanding the list of tokens that regexes may not follow, according to the Mozilla JS 2.0 docs
|
2010-01-01 12:08:36 -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
|
ee304485b8
|
allowing indentation within function calls
|
2010-01-01 10:38:28 -05:00 |
|
Jeremy Ashkenas
|
8da4185bbf
|
allowing expressions within range literals
|
2010-01-01 10:15:22 -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
|
b7ef9510c9
|
fix for multiple splats in a function call
|
2009-12-31 20:02:15 -05:00 |
|
Jeremy Ashkenas
|
fba131c5a4
|
adding splats as arguments to function calls
|
2009-12-31 19:52:13 -05:00 |
|
Jeremy Ashkenas
|
5bcb2b2629
|
reserving variables for splats the regular way, not through a custom 'var' declaration
|
2009-12-31 18:03:39 -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
|
9f6233473e
|
enabling multi-line array and object comprehensions
|
2009-12-31 16:09:27 -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
|
c8e820e851
|
done commenting the rewriter
|
2009-12-31 13:45:07 -05:00 |
|
Jeremy Ashkenas
|
66f92e770d
|
detailed scan_tokens so that the calling function can indicate the number of spaces to move forward (or backward) in the token stream
|
2009-12-31 13:43:24 -05:00 |
|
Jeremy Ashkenas
|
f3472b7437
|
making assignment token detection a regex like all the others
|
2009-12-31 13:26:38 -05:00 |
|
Jeremy Ashkenas
|
fdf2a76c53
|
pulled out all token-stream-rewriting logic into the CoffeeScript::Rewriter -- let the lexer be simpleminded
|
2009-12-31 13:22:33 -05:00 |
|
Jeremy Ashkenas
|
34bf4ce325
|
making all functions named functions, if children of an immediate assignment
|
2009-12-30 23:13:22 -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
|
e4ae324e8f
|
don't print the confusing indentation numbers when raising ParseErrors for indentation
|
2009-12-30 21:57:03 -05:00 |
|
Jeremy Ashkenas
|
3f27b0ff72
|
the underscore example parses now -- added line number information to parenthetical nodes
|
2009-12-30 21:44:51 -05:00 |
|
Jeremy Ashkenas
|
71cf6ab031
|
moving the newline escaping detection up higher so indents don't overrule it
|
2009-12-30 21:41:01 -05:00 |
|
Jeremy Ashkenas
|
f3e9a18c3c
|
lex indents with higher precedence than comments
|
2009-12-30 21:20:30 -05:00 |
|
Jeremy Ashkenas
|
62725c5a52
|
more fiddling with the lexer -- the indentation is super fragile
|
2009-12-30 21:11:54 -05:00 |
|
Jeremy Ashkenas
|
cc66b31e69
|
rolling back MULTI_DENT regex
|
2009-12-30 20:41:32 -05:00 |
|
Jeremy Ashkenas
|
199d314903
|
regex cleanup -- eliminating some lookahead because Ruby regexps blow chunks (stackoverflows) when you look (ahead) at them funny.
|
2009-12-30 20:36:47 -05:00 |
|
Jeremy Ashkenas
|
f2a805db24
|
fixed up the comment/assignment interleaving in nodes.rb
|
2009-12-30 20:24:24 -05:00 |
|
Jeremy Ashkenas
|
b7e29aac4d
|
rewrote 'rewrite_closing_parens' with an explicit loop -- there was a bug when adding to @tokens in the middle of scan_tokens' while loop -- consider scan_tokens to be on probation until further notice
|
2009-12-30 20:12:30 -05:00 |
|
Jeremy Ashkenas
|
2ee04b8421
|
be more vigorous about removing mid-expression newlines, 'when' closes implicit blocks, a better comment-detecting regex lexer that doesn't eat outdents
|
2009-12-30 19:26:37 -05:00 |
|
Jeremy Ashkenas
|
65ce74fbcb
|
big milestone. examples/code.coffee now compiles correctly under the new whitespace regime
|
2009-12-30 18:59:33 -05:00 |
|
Jeremy Ashkenas
|
4b520d04e3
|
balancing parens closing single-line blocks
|
2009-12-30 18:52:03 -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
|
c4413b933b
|
removed the final shift/reduce errors -- back to zero for the first time in a long time
|
2009-12-30 17:45:47 -05:00 |
|
Jeremy Ashkenas
|
e3da53e3df
|
special case for 'else if' in the lexer
|
2009-12-30 17:41:14 -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
|
96859e749b
|
fixing up narwhal integration (again)
|
2009-12-30 15:05:05 -05:00 |
|
Jeremy Ashkenas
|
622ddea343
|
fixin up narwhal factory and adding more implicit blocks to the lexer
|
2009-12-30 14:32:59 -05:00 |
|
Jeremy Ashkenas
|
8e8efe4288
|
patched up lexer to add indentation to single-line flavors of statements -- let's expand this idea
|
2009-12-30 13:58:00 -05:00 |
|
Jeremy Ashkenas
|
df5c5d9fe2
|
merged in master branch again
|
2009-12-30 13:38:50 -05:00 |
|
Jeremy Ashkenas
|
cf7ce8a1af
|
fixing the double-printing bug with coffee -r
|
2009-12-30 13:34:25 -05:00 |
|
Jeremy Ashkenas
|
893908b8fe
|
removing dots from whitespace examples
|
2009-12-30 00:22:27 -05:00 |
|
Jeremy Ashkenas
|
bc0214730a
|
touch-ups cleanups to the lexer and rebuilding the narwhal libs from whitespace'd versions
|
2009-12-29 23:01:08 -05:00 |
|
Jeremy Ashkenas
|
57d0f25054
|
implementing kamatsu's debt-based lexer for closing delimiters
|
2009-12-29 22:24:52 -05:00 |
|
Jeremy Ashkenas
|
f456d1b78e
|
whitespace parser down to 4 shift/reduce errors -- good enough for me
|
2009-12-29 21:46:15 -05:00 |
|
Jeremy Ashkenas
|
332f499c31
|
put the commas on the outside of expression closers
|
2009-12-29 20:39:51 -05:00 |
|