Jeremy Ashkenas
80230414a2
merging in gfxmonk's major refactor to the way that returns are pushed down into the interior of expressions
2010-03-21 11:28:05 -04:00
gfxmonk
cc3c314988
Cleaned up return logic
...
- ReturnNodes are explicitly added during compilation
- ReturnNode is used instead of scattering "return" throughout
code compilation snippets
- nodes gain a make_return method in order to do the most useful
thing when a return is requested
2010-03-21 22:21:55 +11:00
Jeremy Ashkenas
0c6ee52cfc
merging in matehat's curry branch. cleaning some loose ends up. adding some tests.
2010-03-18 00:42:26 -04:00
matehat
1f87094628
Slightly altered syntax, similar to Underscore's Function#bind form, highly simplified lexing and parsing and no polluted scope. Passing tests included.
2010-03-18 00:19:32 -04:00
matehat
8d098194dd
Added the '<-' currying operator, as heavily discussed in #251 , along with tests.
2010-03-18 00:08:34 -04:00
matehat
33f51d76f4
Added the possibility to end an identifier with '::', refering directly to its prototype.
2010-03-16 17:39:36 -04:00
Jeremy Ashkenas
55cac23976
fixing indentation for prefix while nodes
2010-03-10 20:15:12 -05:00
Jeremy Ashkenas
2a47727641
allowing terminator/comment as a block, so that you can have comment-only blocks
2010-03-10 16:18:17 -05:00
Jeremy Ashkenas
54627f6807
CoffeeScript language extensions are now working.
2010-03-09 23:44:29 -05:00
Jeremy Ashkenas
3d14d362a8
first draft of CoffeeScript language extensions.
2010-03-09 23:04:16 -05:00
Jeremy Ashkenas
4906cf1aff
cleaned and commented the lexer (again) interpolate_string() continues to shrink
2010-03-07 12:47:03 -05:00
Jeremy Ashkenas
1602e0e823
adding complete documentation for the grammar
2010-03-07 11:41:56 -05:00
Jeremy Ashkenas
3e3b71724d
making equality left-associative so that our chaining works properly with it.
2010-03-06 23:48:06 -05:00
Jeremy Ashkenas
e977967eb5
implementing the CoffeeScript compiler using interpolation where appropriate.
2010-03-06 13:59:11 -05:00
Jeremy Ashkenas
1c7e4c4203
first draft of adding classes to CoffeeScript
2010-02-27 18:57:45 -05:00
Jeremy Ashkenas
d2d5f649d3
caching the length property lookup for vanilla array comprehensions and rebuilding docs
2010-02-25 23:39:14 -05:00
Jeremy Ashkenas
2a46e13d33
moving print_tokens (the pretty printer) from coffee_script to command_line
2010-02-24 18:56:32 -05:00
Jeremy Ashkenas
10d335ccb1
adding existence soaks for indexed-lookup property accesses: obj?['property']
2010-02-24 00:06:01 -05:00
Jeremy Ashkenas
4eeb8c4bd2
adding conditional while loops with while ... when
2010-02-23 22:53:43 -05:00
Jeremy Ashkenas
7de4caffca
removing a shift-reduce error from the grammar that worked its way in
2010-02-23 21:22:28 -05:00
Jeremy Ashkenas
a64afe6162
fixing the trailing-else-in-switch-getting-sucked-in-bug, Issue 195.
2010-02-22 19:22:09 -05:00
Jeremy Ashkenas
b027b5cf0d
Allowing @[property] syntax.
2010-02-20 20:09:52 -05:00
Jeremy Ashkenas
dd753d3b78
Removing the notion of a ThisNode so that we don't have to worry about the special cases. Fixes Issue 180
2010-02-19 07:51:52 -05:00
Jeremy Ashkenas
a278d8f018
adding an extra pair of braces to the code produced by object comprehensions, so as to squeak by in JSLint's good graces
2010-02-18 20:22:53 -05:00
Jeremy Ashkenas
fbfa12c733
moving 'throw' to a slightly higher level of precedence
2010-02-17 19:35:34 -05:00
Jeremy Ashkenas
2d0ad73af8
reorganizing lib/coffee_script to plain ol' lib
2010-02-17 00:55:56 -05:00