Commit Graph

102 Commits

Author SHA1 Message Date
Jeremy Ashkenas
c435647589 removing the ability to force an if/else chain to be compiled as a statement. Ternaries will now be used as much as possible. 2010-09-22 00:41:17 -04:00
satyr
7bc91bf6c6 removed global dependency from grammer 2010-09-21 16:50:32 +09:00
Jeremy Ashkenas
c0796da7b9 hacking around Jison patch to remove module dependency. 2010-09-20 23:13:02 -04:00
Jeremy Ashkenas
08e1101c1f fixing static class properties that are implicit objects. 2010-09-18 22:25:45 -04:00
Jeremy Ashkenas
d8465ce767 First draft of real switch statements for CoffeeScript switch statements. 2010-09-15 23:46:01 -04:00
Jeremy Ashkenas
a3c224e57a Fixing issue #676, chained accesses against the super() keyword. 2010-09-12 16:33:38 -04:00
Jeremy Ashkenas
18cbddff6a Fix for Issue #655. Leading empty commas in ArgLists are now disallowed. 2010-09-08 21:39:51 -04:00
Jeremy Ashkenas
3b60aad487 simplifying RangeNode grammar a bit. 2010-09-04 06:48:20 -04:00
Jeremy Ashkenas
704fbf499b Merging in Tesco and rofrankel's soaks for function calls. A soaked check that fails will return undefined. 2010-08-28 09:00:04 -04:00
Jeremy Ashkenas
04fd24e068 Treat 'debugger' as a pure-statement keyword, not and identifier. 2010-08-28 08:26:47 -04:00
Timothy Jones
6224edd6ce Existence checks on functions now supported. 2010-08-26 07:39:30 +12:00
Timothy Jones
9598b11c77 Existence functions now parsing. 2010-08-26 06:31:56 +12:00
Jeremy Ashkenas
13adc44867 Issue #633. 'not instanceof' 2010-08-21 08:56:25 -04:00
Jeremy Ashkenas
4ddd65a4c4 Issue #621. Added the ability to leave the start and end index off of arrays. list[5..] is now valid CoffeeScript, slicing to the end of the array. 2010-08-18 21:51:44 -04:00
Jeremy Ashkenas
bf6bafa3ac Disallowing Splats outside of ParamLists and ArgLists ... where they belong. This is in anticipation of the next commit... 2010-08-18 21:27:10 -04:00
Jeremy Ashkenas
ec54b50c67 allowing empty parens. 2010-08-17 21:31:32 -04:00
Jeremy Ashkenas
129e950c59 Fixing naked chained existential checks -- the associativity recently got reversed. 2010-08-14 16:33:20 -04:00
Jeremy Ashkenas
c71f2794eb Fixing compound assignment as a right-hand sub expression of a larger operation. Invalid in JS, valid in Coffee. 2010-08-14 14:43:25 -04:00
Jeremy Ashkenas
fd6e9a1e66 Adding support for compound assignment to indented implicit objects. 2010-08-11 23:14:50 -04:00
Jeremy Ashkenas
8c45aa480b Reduced the time it takes to build the grammar from 80 seconds to 15, by consolidating Operation terminals by precedence level. 2010-08-11 23:04:33 -04:00
Jeremy Ashkenas
ba02ebc3dc Fixes Issue #603 -- a longstanding precedence issue involving prefix vs postfix if and unless, involving using the entire single-line if statment as an expression. 2010-08-11 21:28:22 -04:00
Jeremy Ashkenas
398ec3be5a Issue #602. Adding JS's Bitwise Assignment operators. 2010-08-11 19:24:59 -04:00
Timothy Jones
c9421cbfcd Implement @-prefixed parameters. 2010-07-28 17:54:36 +12:00
Jeremy Ashkenas
051a863ff5 adding slightly optimized syntax for range comprehensions that could care less about the index variable. Issue #547 2010-07-27 22:38:38 -04:00
Jeremy Ashkenas
8d544ce80b Adding anonymous class support (gets a temporary variable for a name.) Issue #548 2010-07-27 22:05:55 -04:00
Jeremy Ashkenas
27e5c42023 fixing some implicit object parses for issue #541 2010-07-25 17:46:08 -07:00
Jeremy Ashkenas
a0b2b78962 adding nice support for fancy implicit hashes 2010-07-24 23:52:02 -07:00
Jeremy Ashkenas
d1ffffab04 Using an experimental version of new optional-brace object literals. 2010-07-24 23:42:37 -07:00
Jeremy Ashkenas
88847df70b tests are now passing on symbology 2010-07-24 22:23:37 -07:00
Jeremy Ashkenas
989d539af3 adding no-argument super calls. 2010-07-18 14:46:21 -04:00
Jeremy Ashkenas
72c4efbc39 adding a new comprehension 'for all key, value of object', which compiles to the naked JS for..in, including enumerable properties inherited from prototypes. 2010-07-15 21:18:35 -04:00
Jeremy Ashkenas
1c7d51a2c4 fixing issue #485, unary minus following an existential operator. 2010-07-10 11:27:43 -04:00
Jeremy Ashkenas
e281133f12 fixing empty catch clauses ... Issue #470 2010-07-04 12:50:04 -04:00
Jeremy Ashkenas
77a75ed365 adding passed-through block comments back to the grammar/lexer/rewriter/nodes ... thanks, Trevor Burnham. 2010-07-01 21:26:33 -04:00
Jeremy Ashkenas
364ec2a694 better syntax errors for tokens-not-in-the-grammar. Coming soon to a Jison near you (hopefully) 2010-07-01 20:40:08 -04:00
Jeremy Ashkenas
5ca5a504a4 allowing empty bodies in try blocks and in catch blocks 2010-06-30 20:53:09 -04:00
Jeremy Ashkenas
7d79d73b58 allowing paren-less instance creation, a la 'new Class' 2010-06-29 21:03:50 -04:00
Jeremy Ashkenas
e56af4967c removing our vendor'd copy of Jison ... you should install it from NPM now. 2010-06-28 00:26:45 -04:00
Jeremy Ashkenas
3881324007 cleaning up the grammar rule for Super 2010-06-27 16:50:31 -04:00
Jeremy Ashkenas
ec570c46bf Big commit. First draft of stripping comments from generated JS output. Issue #41 2010-06-27 12:59:54 -04:00
Jeremy Ashkenas
f7345ffaac removing extensions from CoffeeScript 2010-06-26 13:36:31 -04:00
Jeremy Ashkenas
0fcfb80be4 switching 'a in b' to 'a of b', and adding an array presence check for 'a in b'. 2010-06-21 23:51:12 -04:00
Jeremy Ashkenas
38a9b7166b Adding TrevorBurnham's suggestion for 'a not in b' 2010-06-21 22:25:28 -04:00
Jeremy Ashkenas
e14f4c5db1 First draft of switching the CoffeeScript Compiler over to camelCase. Pour one on the ground for underscores... 2010-06-12 19:05:13 -04:00
Jeremy Ashkenas
969740a263 slight simplification to if/else in the grammar. 2010-06-12 13:53:11 -04:00
Jeremy Ashkenas
0222d90fa3 adding a 'loop' keyword to CoffeeScript. Takes an expression or a block. Runs it until you break or return out. 2010-06-12 12:15:53 -04:00
Jeremy Ashkenas
c2d1ae06c5 removing the <- bind operator from CoffeeScript... 2010-06-12 11:00:56 -04:00
Jeremy Ashkenas
676e893c14 reworking parser for more permissive non-comma-separated array elements. 2010-06-09 00:37:23 -04:00
Jeremy Ashkenas
59de6b505a ahh, finally. switched up our Jison configuration to provide better syntax errors. Now you get the unexpected token, instead of the expected one. 2010-06-01 20:21:12 -04:00
Jeremy Ashkenas
45f442bd73 allowing Klass::['dynamic-property'] syntax. Issue #392 2010-05-31 22:32:43 -04:00