Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
...
Commits on Dec 24, 2009
@jashkenas first, totally broken branch of significant whitespace -- it can hand…
…le examples/whitespace.cs though
cf6060b
@jashkenas this might not work for ))) outdent cases cb3b476
@jashkenas outdent lexing is correct now, I think 166ea57
@jashkenas ... 7f066aa
Commits on Dec 26, 2009
@jashkenas merging in master 5f3e2b7
@jashkenas little more progress on whitespace 7aa6957
@jashkenas got a lexer working along the lines of what kamatsu proposes c322d77
@jashkenas removing no_paren -- can cause order of operations errors d6ac6a3
@jashkenas smarter but uglier lexer -- now handles most significant whitespace c…
…ases. Clean it up though... (newlines after outdents)
da71735
Commits on Dec 27, 2009
@jashkenas that's it for now for significant whitespace -- I really just can't m…
…ake flexible enough
6aa247f
Commits on Dec 28, 2009
@jashkenas part of the way to supporting multiline array comprehensions -- the g…
…rammar and parsing is there -- the code generation is tricky
2bc4cbb
tlrobinson Fixed Narwhal integration. Cleaned up module organization, etc. 5a49c22
tlrobinson Merge branch 'master' of git://github.com/jashkenas/coffee-script 42c9c53
tlrobinson Add package on command line in case it's not installed in a Narwhal p…
…ackages path.
350cb62
@jashkenas removing broken accidental commit a44fe40
tlrobinson Add package.json to gemspec files so Narwhal integrations works when …
…installed as a gem.
4abd88f
@jashkenas merging in tlrobinson's fix for package.json cc7e685
@jashkenas rebuilding narwhal libs 6c9e8f2
@jashkenas stop shifting args e4c6119
@jashkenas fixing relative path for execution tests e227a3b
Commits on Dec 29, 2009
@jashkenas removed unused example df1f9c2
@jashkenas merging in master 1b688d7
@jashkenas got lexer balancing parens, indent/outdents, brackets, and curlies 9c2f66f
@jashkenas first draft of kamatsu's rewrite rules -- finally got whitespace to b…
…e flexible enough, I think.
3b0b93e
@jashkenas moving along with whitespace c1cdedd
@jashkenas using 'where' for array comprehension filtering, after kamatsu's sugg…
…estion -- execution tests pass now with significant whitespace
0963eea
@jashkenas still some kinks to work out -- mid-expression blocks 1128beb
@jashkenas allowing indentation in object and array literals 8c6e5d0
@jashkenas changing array comprehension filters from 'where' to 'when' to mirror…
… case/when
5c7dee5
@jashkenas killing some newlines in the execution tests, to test the lexer's new…
…line suppression
f2bdd55
@jashkenas don't break trailing commas with rewrite_closing_parens 92cdeb0
Commits on Dec 30, 2009
@jashkenas put the commas on the outside of expression closers 332f499
@jashkenas whitespace parser down to 4 shift/reduce errors -- good enough for me f456d1b
@jashkenas implementing kamatsu's debt-based lexer for closing delimiters 57d0f25
@jashkenas touch-ups cleanups to the lexer and rebuilding the narwhal libs from …
…whitespace'd versions
bc02147
@jashkenas clean up a couple of test errors for whitespace 6821660
@jashkenas removing dots from whitespace examples 893908b
@jashkenas ignoring test.coffee b3cd572
@jashkenas fixing the double-printing bug with coffee -r cf7ce8a
@jashkenas merged in master branch again df5c5d9
@jashkenas patched up lexer to add indentation to single-line flavors of stateme…
…nts -- let's expand this idea
8e8efe4
@jashkenas fixin up narwhal factory and adding more implicit blocks to the lexer 622ddea
@jashkenas fixing up narwhal integration (again) 96859e7
@jashkenas patching up the lexer and adding a test with trailing whitespace (it …
…was too string for trailing whitespace before)
02c19b3
@jashkenas execution tests still pass -- more lexer block insertion and 2 shift/…
…reduces in the grammar now
675a5f5
@jashkenas special case for 'else if' in the lexer e3da53e
@jashkenas removed the final shift/reduce errors -- back to zero for the first t…
…ime in a long time
c4413b9
@jashkenas parser and test tweaks for whitespace -- tests are coming along 4097a81
@jashkenas adding ')' as a SINGLE_CLOSER, although it's probably unsafe 7e58d1d
@jashkenas fixing up documents example 4eb10f9
@jashkenas balancing parens closing single-line blocks 4b520d0
@jashkenas big milestone. examples/code.coffee now compiles correctly under the …
…new whitespace regime
65ce74f
Commits on Dec 31, 2009
@jashkenas be more vigorous about removing mid-expression newlines, 'when' close…
…s implicit blocks, a better comment-detecting regex lexer that doesn't eat outdents
2ee04b8
@jashkenas 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
b7e29aa
@jashkenas fixed up the comment/assignment interleaving in nodes.rb f2a805d
@jashkenas regex cleanup -- eliminating some lookahead because Ruby regexps blow…
… chunks (stackoverflows) when you look (ahead) at them funny.
199d314
@jashkenas rolling back MULTI_DENT regex cc66b31
@jashkenas more fiddling with the lexer -- the indentation is super fragile 62725c5
@jashkenas more fiddling with the lexer -- the indentation is super fragile d2176ac
@jashkenas lex indents with higher precedence than comments f3e9a18
@jashkenas moving the newline escaping detection up higher so indents don't over…
…rule it
71cf6ab
@jashkenas the underscore example parses now -- added line number information to…
… parenthetical nodes
3f27b0f
@jashkenas getting there, finally ... all tests are green for whitespace 370d051
@jashkenas don't print the confusing indentation numbers when raising ParseError…
…s for indentation
e4ae324
@jashkenas allowing any manner of indentation in the comments, by adjusting them…
… in the lexer
3ad9316
@jashkenas adding proper auto-newline escaping 4251aa3
@jashkenas making all functions named functions, if children of an immediate ass…
…ignment
34bf4ce
@jashkenas updating tests for named functions 5658b2b
@jashkenas updating docs -- need to get back on the computer that has the syntax…
… highlighter for UV installed
bcc5aa2
@jashkenas adding a test case for named functions 86be82f
@jashkenas adding a rake:ultraviolet build syntax highlighter task, and regenera…
…ting the docs with correct highlighting
d11569b
@jashkenas pulled out all token-stream-rewriting logic into the CoffeeScript::Re…
…writer -- let the lexer be simpleminded
fdf2a76
@jashkenas making assignment token detection a regex like all the others f3472b7
@jashkenas detailed scan_tokens so that the calling function can indicate the nu…
…mber of spaces to move forward (or backward) in the token stream
66f92e7
@jashkenas done commenting the rewriter c8e820e
@jashkenas adding weepy's suggestion to use (for .. in) for array comprehensions…
…, which means that they're now object comprehensions as well
3042a50
@jashkenas using push for comprehension results so that it works with object key…
…s, and adding a test for object comprehensions
f7e49ea
@jashkenas adding a filtered object comprehension test 32b0f9f
@jashkenas enabling multi-line array and object comprehensions 9f62334
@jashkenas adding a test for multiline-array-comprehension-with-filter 959c9a3
@jashkenas expressions nested in expressions made for some indentation issues --…
… statements are now responsible for their own leading indentation
c187f21
@jashkenas adding splats to function definitions adca818
@jashkenas reserving variables for splats the regular way, not through a custom …
…'var' declaration
5bcb2b2
@jashkenas comment about test_execution being the most important 2ed041b
@jashkenas adding a note in the docs about how to build the parser and install t…
…he gem
4985a40
Commits on Jan 01, 2010
@jashkenas adding splats as arguments to function calls fba131c
@jashkenas fix for multiple splats in a function call b7ef951
@jashkenas fixing the regex lexer to make it less agressive when we know it can'…
…t possibly be a regex
e8df8ab
@jashkenas allowing expressions within range literals 8da4185
@jashkenas test for uminus 2b40607
@jashkenas adding a test for expressions in range comprehensions 5957ba6
@jashkenas allowing indentation within function calls ee30448
@jashkenas -- d9afe2c
@jashkenas making range comprehensions compile safely, even when you assign to t…
…he same variable as your endposts.
acf4a5e
@jashkenas fixing precedence order, so that you can nest range comprehensions 792fd35
@jashkenas adding steps to range comprehensions 271ea24
@jashkenas expanding the list of tokens that regexes may not follow, according t…
…o the Mozilla JS 2.0 docs
2fb8f48
@jashkenas commenting the lexer a bit more 010a2dd
@jashkenas adding the notion of existence -- postfixing an expression with a que…
…stion mark will check if to see if it's not null or undefined
e2de885
@jashkenas better existence test, with tests dfa2f50
@jashkenas adding consistent highlighting to variable assignment, whether functi…
…ons or values
94bab25
@jashkenas fixing the food/eat array comprehension in the docs to not pretend li…
…ke there's a made-up method on String.prototype
fa3f3e4
Commits on Jan 02, 2010
@jashkenas rebuilding narwhal uncovered a bug with named functions 5cbd94b
@jashkenas adding splice literals, with tests 1dbf257
@jashkenas todo 0e86fa5
Commits on Jan 03, 2010
@jashkenas Adding kamatsu's proposed block literal syntax 8517455
@jashkenas adding a block test and using PARAM_SPLAT to remove the last shift/re…
…duce conflict
abfe3c3
@jashkenas bumping version numbers to 0.2.0 in anticipation of release soon-ish f715393
@jashkenas first rough rough rough draft of kamatsu's closure suggestion -- test…
….coffee runs, but probably nothing else
841258b
@jashkenas more progress -- you can wrap parentheses around statements now 7df7ff2
@jashkenas All execution tests are now passing with statements everywhere 0d0df09
@jashkenas beautiful -- all examples, tests, and docs are now compiling without …
…JSLint warnings
885dbaf
@jashkenas removing the silly newlines from comments 15f1242
@jashkenas lowering the precedence of if/else/while 10f53ba
@jashkenas subtle call order bug was preventing variable declarations 6b6cb3a
@jashkenas change lexical scoping example to use var names that haven't been alr…
…eady defined
d8603db
@jashkenas fixing comment-within-objecta-and-array-literal printing for the new …
…expression regime.
67d34ec
@jashkenas logic error in Expressions was causing over-compilation by a factor o…
…f the depth of the tree
0093455
@jashkenas updating fixtures -- all tests now pass -- back to master 536bdd2
@jashkenas adding a statement-as-expression test, and returning null from while …
…loops, if asked
f77877d
Commits on Jan 04, 2010
@jashkenas -- 3daac20
@jashkenas mo' expression examples 7be3b8e
@jashkenas 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
e9b72ee
@jashkenas fixing a nasty little bug with not dup'ing a string in Scope.rb, caus…
…ing later functions to start their free_variables where previous functions left off, because they shared their ancestor's @temp_variable string
3f30712
@jashkenas pretty amazing -- fully functional draft of underscore.js 0.5.2, all …
…in CoffeeScript
3269048
@jashkenas putting in a special check for returns within array comprehensions --…
… not very nice
6082b9d
@jashkenas more underscore a09f807
@jashkenas nicer scope inspects f150011
@jashkenas removed the whole messy notions of looking downwards for returns or c…
…hildren -- ForNodes now peek at top-level status, and if they're being asked to return a value from the outside
7d800b5
Commits on Jan 05, 2010
@jashkenas minor doc updates -- let's try pulling in the underscore test suite ad5e69d
@jashkenas first pass at 0.2.0 docs f1af50e
@jashkenas adding the complete underscore.coffee example to the docs f5cd657
@jashkenas more docs for 0.2 -- blocks and splats a8631dc
@jashkenas tweaking docs 20144ab
@jashkenas more docs 4f564de
@jashkenas alright, done fiddling. CoffeeScript 0.2.0 0e645cc