Jeremy Ashkenas
|
29e4043f26
|
tests passing with smarter block syntax with optional parens
|
2010-01-26 02:15:08 -05:00 |
|
Jeremy Ashkenas
|
460b3f6d8e
|
first draft of mandatory parentheses around function definition param lists -- all tests pass
|
2010-01-26 00:40:58 -05:00 |
|
Jeremy Ashkenas
|
a5d39efdd2
|
converted the tests to use optional parentheses -- lot's of little subtleties to work out
|
2010-01-24 23:40:45 -05:00 |
|
Jeremy Ashkenas
|
d728c3d669
|
added existence chains with '?.' -- soaks up attempts to access undefined properties, returning 'undefined'
|
2010-01-23 23:30:55 -05:00 |
|
Jeremy Ashkenas
|
9160500e84
|
removing 'this' rewriting in favor of correctly calling generated closures
|
2010-01-23 21:11:27 -05:00 |
|
Jeremy Ashkenas
|
a8ae37a428
|
fixing bug with multiple linebreaks in heredocs
|
2010-01-19 09:49:23 -05:00 |
|
Jeremy Ashkenas
|
95b362499f
|
added the conditional existence operator
|
2010-01-16 22:17:55 -05:00 |
|
Jeremy Ashkenas
|
1cd7fa8ebe
|
added children macro to Node, using it so that all nodes now have a 'children' method -- used for safe references to 'this' within closure wrappers
|
2010-01-16 11:24:10 -05:00 |
|
Jeremy Ashkenas
|
e77e520607
|
CoffeeScript 0.2.5 is on the books
|
2010-01-13 23:24:45 -05:00 |
|
Jeremy Ashkenas
|
1e7d638435
|
adding bound functions, with test
|
2010-01-13 20:59:57 -05:00 |
|
Jeremy Ashkenas
|
f0d5db7e66
|
fixing heredocs to use the left-most indent as the indentation guide -- not just the first line of the heredoc
|
2010-01-12 23:06:12 -05:00 |
|
Jeremy Ashkenas
|
477c510345
|
adding heredocs, with tests
|
2010-01-11 23:53:50 -05:00 |
|
Jeremy Ashkenas
|
9cc7d6af27
|
little lexer tweak
|
2010-01-11 08:46:50 -05:00 |
|
Jeremy Ashkenas
|
cfa357cbc3
|
CoffeeScript 0.2.3, with 'of', not 'ino'
|
2010-01-11 00:01:16 -05:00 |
|
Jeremy Ashkenas
|
ad18378f7e
|
adding '::' as shorthand for '.prototype.'
|
2010-01-10 16:16:59 -05:00 |
|
Jeremy Ashkenas
|
902febb43a
|
big commit -- adding back object comprehensions, using 'ino', versus 'in' for array comprehensions, fixing bug with dollar signs in identifiers
|
2010-01-10 15:52:23 -05:00 |
|
Jeremy Ashkenas
|
2319affa61
|
allowing chained calls broken up over multiple lines with periods at the front (jQuery-style)
|
2010-01-09 12:12:38 -05:00 |
|
Jeremy Ashkenas
|
cf7079a379
|
fixing the lexer to handle strings that end with a backslash character
|
2010-01-06 23:15:13 -05:00 |
|
Jeremy Ashkenas
|
c2bb93b5f8
|
ellipsis is the new splat
|
2010-01-05 21:40:36 -05:00 |
|
Jeremy Ashkenas
|
5fe419b1ce
|
automatic conversion of arguments into arrays
|
2010-01-05 09:10:45 -05:00 |
|
Jeremy Ashkenas
|
ae603749be
|
adding the complete underscore.coffee example to the docs
|
2010-01-04 22:51:02 -05:00 |
|
Jeremy Ashkenas
|
672dd70bdb
|
more underscore examples raised a slight bug with a lexing ambiguity between leading whens (in switches), and trailing whens (in comprehensions) -- made two different tokens to distinguish them
|
2010-01-03 22:25:38 -05:00 |
|
Jeremy Ashkenas
|
ba3c5298f7
|
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
|
3489eec6ee
|
commenting the lexer a bit more
|
2010-01-01 12:11:35 -05:00 |
|
Jeremy Ashkenas
|
2f69bc1708
|
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
|
0f81dbe913
|
adding steps to range comprehensions
|
2010-01-01 11:54:59 -05:00 |
|
Jeremy Ashkenas
|
caf9d627cb
|
allowing expressions within range literals
|
2010-01-01 10:15:22 -05:00 |
|
Jeremy Ashkenas
|
ad5b5fa458
|
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
|
409283a30f
|
adding splats as arguments to function calls
|
2009-12-31 19:52:13 -05:00 |
|
Jeremy Ashkenas
|
1d2bb3b2be
|
adding splats to function definitions
|
2009-12-31 17:50:12 -05:00 |
|
Jeremy Ashkenas
|
edf1fc769f
|
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
|
2231d67cef
|
making assignment token detection a regex like all the others
|
2009-12-31 13:26:38 -05:00 |
|
Jeremy Ashkenas
|
a376e7f4a3
|
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
|
8762162dff
|
adding proper auto-newline escaping
|
2009-12-30 22:49:25 -05:00 |
|
Jeremy Ashkenas
|
a6539a030c
|
allowing any manner of indentation in the comments, by adjusting them in the lexer
|
2009-12-30 22:24:40 -05:00 |
|
Jeremy Ashkenas
|
774e3d3e31
|
moving the newline escaping detection up higher so indents don't overrule it
|
2009-12-30 21:41:01 -05:00 |
|
Jeremy Ashkenas
|
cae0b1a038
|
lex indents with higher precedence than comments
|
2009-12-30 21:20:30 -05:00 |
|
Jeremy Ashkenas
|
fd83759ef4
|
more fiddling with the lexer -- the indentation is super fragile
|
2009-12-30 21:11:54 -05:00 |
|
Jeremy Ashkenas
|
49714656e1
|
rolling back MULTI_DENT regex
|
2009-12-30 20:41:32 -05:00 |
|
Jeremy Ashkenas
|
d43d491561
|
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
|
5c7b77aa4d
|
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
|
dc821f2e4c
|
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
|
e6cd32f2fc
|
balancing parens closing single-line blocks
|
2009-12-30 18:52:03 -05:00 |
|
Jeremy Ashkenas
|
5659d1bd49
|
adding ')' as a SINGLE_CLOSER, although it's probably unsafe
|
2009-12-30 18:09:43 -05:00 |
|
Jeremy Ashkenas
|
9a7c075e06
|
parser and test tweaks for whitespace -- tests are coming along
|
2009-12-30 17:58:27 -05:00 |
|
Jeremy Ashkenas
|
d528db76e6
|
special case for 'else if' in the lexer
|
2009-12-30 17:41:14 -05:00 |
|
Jeremy Ashkenas
|
9a946d2ac5
|
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
|
c822f96145
|
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
|
f93e552cb3
|
fixin up narwhal factory and adding more implicit blocks to the lexer
|
2009-12-30 14:32:59 -05:00 |
|
Jeremy Ashkenas
|
ea58be2838
|
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 |
|