204 Commits

Author SHA1 Message Date
Jeremy Ashkenas
4f564dec60 more docs 2010-01-05 00:34:18 -05:00
Jeremy Ashkenas
f5cd6578b8 adding the complete underscore.coffee example to the docs 2010-01-04 22:51:02 -05:00
Jeremy Ashkenas
f1af50ee33 first pass at 0.2.0 docs 2010-01-04 22:19: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
f150011d9d nicer scope inspects 2010-01-04 09:43:50 -05:00
Jeremy Ashkenas
6082b9dc36 putting in a special check for returns within array comprehensions -- not very nice 2010-01-04 01:06:31 -05:00
Jeremy Ashkenas
3f30712ca1 fixing a nasty little bug with not dup'ing a string in Scope.rb, causing later functions to start their free_variables where previous functions left off, because they shared their ancestor's @temp_variable string 2010-01-04 00:16:38 -05:00
Jeremy Ashkenas
e9b72ee955 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
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
0093455d29 logic error in Expressions was causing over-compilation by a factor of the depth of the tree 2010-01-03 18:47:23 -05:00
Jeremy Ashkenas
67d34ec40b fixing comment-within-objecta-and-array-literal printing for the new expression regime. 2010-01-03 18:35:03 -05:00
Jeremy Ashkenas
6b6cb3ab12 subtle call order bug was preventing variable declarations 2010-01-03 18:22:10 -05:00
Jeremy Ashkenas
10f53bac15 lowering the precedence of if/else/while 2010-01-03 18:11:53 -05:00
Jeremy Ashkenas
15f12423c3 removing the silly newlines from comments 2010-01-03 18:07:03 -05:00
Jeremy Ashkenas
885dbaf7e4 beautiful -- all examples, tests, and docs are now compiling without JSLint warnings 2010-01-03 16:32:59 -05:00
Jeremy Ashkenas
0d0df09c6d All execution tests are now passing with statements everywhere 2010-01-03 15:59:33 -05:00
Jeremy Ashkenas
7df7ff26c8 more progress -- you can wrap parentheses around statements now 2010-01-03 15:13:59 -05:00
Jeremy Ashkenas
841258b360 first rough rough rough draft of kamatsu's closure suggestion -- test.coffee runs, but probably nothing else 2010-01-03 13:59:17 -05:00
Jeremy Ashkenas
f715393b06 bumping version numbers to 0.2.0 in anticipation of release soon-ish 2010-01-03 11:01:50 -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
8517455746 Adding kamatsu's proposed block literal syntax 2010-01-03 10:19:39 -05:00
Jeremy Ashkenas
1dbf257df7 adding splice literals, with tests 2010-01-02 00:20:24 -05:00
Jeremy Ashkenas
5cbd94bf14 rebuilding narwhal uncovered a bug with named functions 2010-01-01 22:00:34 -05:00
Jeremy Ashkenas
94bab256b4 adding consistent highlighting to variable assignment, whether functions or values 2010-01-01 17:11:48 -05:00
Jeremy Ashkenas
dfa2f50076 better existence test, with tests 2010-01-01 12:41:55 -05:00
Jeremy Ashkenas
e2de88544d adding the notion of existence -- postfixing an expression with a question mark will check if to see if it's not null or undefined 2010-01-01 12:31:05 -05:00
Jeremy Ashkenas
010a2dde11 commenting the lexer a bit more 2010-01-01 12:11:35 -05:00
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