Commit Graph

61 Commits

Author SHA1 Message Date
Jeremy Ashkenas
453b43992d fixing line numbers in errors printed prior to parsing 2010-03-06 16:42:40 -05:00
Jeremy Ashkenas
a5e3617015 Adding a starts() helper to avoid substring() calls for simple matches. 2010-03-06 16:24:06 -05:00
Jeremy Ashkenas
c4ad6d1ee6 minor cleanups to balanced_group -> balanced_token, removing optional escaper (unused), and using it to implement interpolated javascript. 2010-03-06 16:06:47 -05:00
Stan Angeloff
f9cde1b46d Improving performance by removing call to bound function for every character in a string. Added a third option to \delimited\ to allow custom escape sequences. 2010-03-06 15:53:37 -05:00
Stan Angeloff
83fd84745d Rewriting string tokenizer; allowing nested double-quoted strings inside expression interpolations. 2010-03-06 15:21:30 -05:00
Jeremy Ashkenas
15b00cb3ca implementing string interpolation using string interpolation 2010-03-06 13:32:43 -05:00
Jeremy Ashkenas
b4ea43cbd0 waypoint -- starting to implement nodes.coffee with interpolations, and fixing/shortening/combining the lexer implementation to allow identifier interpolations to be interleaved with expression interps 2010-03-05 22:52:28 -05:00
Jeremy Ashkenas
08341286a3 adding back parentheses wrapper around interpolated expressions -- we need it 2010-03-05 21:12:13 -05:00
Jeremy Ashkenas
4c3b0b9a74 allowing @properties to be referenced in naked interpolations 2010-03-05 21:05:31 -05:00
Jeremy Ashkenas
d250e9e9cc some edits to the interpolation path 2010-03-05 20:42:36 -05:00
Stan Angeloff
e2f86678a4 Allowing expressions to be used inside strings; syntax is $\{...\} 2010-03-05 19:50:20 -05:00
Stan Angeloff
fe7d5dfd19 Added string interpolation for identifiers 2010-03-05 19:49:48 -05:00
Jeremy Ashkenas
5fd0972b5d improvement to comment handling that should ensure that they have no effect on indentation 2010-03-02 19:23:21 -05:00
Jeremy Ashkenas
c219adffd5 removing special rule from rewriter for naked functions in arrays 2010-03-02 00:43:01 -05:00
Jeremy Ashkenas
cd6dd5abfd couple more tweaks to lexer.coffee 2010-02-28 21:39:07 -05:00
Jeremy Ashkenas
29ece0e6ba better commenting the coffeescript lexer as the first trial for docco 2010-02-28 20:44:33 -05:00
Jeremy Ashkenas
45bad556ab defining __filename and __dirname correctly as local variables for eval'd scripts 2010-02-28 19:56:00 -05:00
Jeremy Ashkenas
969c2e528d a number of refactors to the Lexer. It should be a good bit clearer to read now. 2010-02-28 13:34:52 -05:00
Jeremy Ashkenas
bb2bf7ce57 allowing chaining of property accesses by indentation level (really nice for Node and jQuery work) ticket #221 2010-02-28 12:49:37 -05:00
Jeremy Ashkenas
b08995cbcc fixing heredocs with multiple double quotes (broken regex from the Ruby translation), with tests. 2010-02-28 10:29:30 -05:00
Jeremy Ashkenas
f7427259ee reserving __extends and __hasProp 2010-02-27 20:03:57 -05:00
Jeremy Ashkenas
b5c9d779bd updating the Lexer to use classes and some of the older documentation 2010-02-27 19:40:53 -05:00
Jeremy Ashkenas
1c7e4c4203 first draft of adding classes to CoffeeScript 2010-02-27 18:57:45 -05:00
Jeremy Ashkenas
afa26c37f1 fixing regexp literals versus division, with tests 2010-02-27 14:30:14 -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
b027b5cf0d Allowing @[property] syntax. 2010-02-20 20:09:52 -05:00
Jeremy Ashkenas
45c0d4c2ea fixing standalone @ references 2010-02-18 21:50:42 -05:00
Jeremy Ashkenas
d4a180c413 carefully categorizing JS keywords from JS reserved words from Coffee keywords, so that we can throw syntax errors at compile time if JS keywords are getting assigned to. 2010-02-18 20:09:41 -05:00
Jeremy Ashkenas
dec9950649 Revert "namespacing CoffeeScript in the browser, and sniffing the 'require' function instead of the 'exports' object"
This reverts commit 2f6b69b580.
2010-02-17 23:22:05 -05:00
Jeremy Ashkenas
2f6b69b580 namespacing CoffeeScript in the browser, and sniffing the 'require' function instead of the 'exports' object 2010-02-17 23:15:37 -05:00
Jeremy Ashkenas
0610e20a3c fixing the extends keyword when the expressions are complex, and should only be run once -- not that it's good style -- ticket #143 2010-02-16 23:23:43 -05:00
Jeremy Ashkenas
e4bb6c91e7 adding the list of javascript reserved words as syntax errors in CoffeeScript, so that no one uses them accidentally. 2010-02-16 17:41:38 -05:00
Jeremy Ashkenas
a3c8c0b492 allowing keywords as identifiers, when used as identifiers, because we've got more keywords than JavaScript does. 2010-02-16 08:43:58 -05:00
Jeremy Ashkenas
a90bf75395 got coffeescript compiling in the browser 2010-02-13 15:25:04 -05:00
Jeremy Ashkenas
e6a53bd852 fixing the lexer for indented files 2010-02-13 02:16:31 -05:00
Jeremy Ashkenas
506ea8aa52 adding an if/else/chain test 2010-02-13 02:00:39 -05:00
Jeremy Ashkenas
3dc456572b finally, think we have this if/else/if/else/else thing licke 2010-02-13 01:02:10 -05:00
Jeremy Ashkenas
c9aeae757b pulling the lexer and rewriter updates without the grammar change 2010-02-13 00:15:34 -05:00
Jeremy Ashkenas
094c2682bd Revert "one more bit to pass -- futzing with the if/else chains"
This reverts commit 066ee52615.
2010-02-13 00:11:14 -05:00
Jeremy Ashkenas
066ee52615 one more bit to pass -- futzing with the if/else chains 2010-02-12 23:35:03 -05:00
Jeremy Ashkenas
e2f3c2259b fix prototype_access lexing 2010-02-12 22:21:22 -05:00
Jeremy Ashkenas
249bd99656 fixing if/else rules 2010-02-12 22:16:26 -05:00
Jeremy Ashkenas
b21780b738 safer lexing at the start of the files 2010-02-12 21:04:33 -05:00
Jeremy Ashkenas
207ec81821 waypoint ... somethings still a little off with the parser 2010-02-12 19:45:20 -05:00
Jeremy Ashkenas
19c44c9b62 self-compiling the arguments test 2010-02-12 16:44:29 -05:00
Jeremy Ashkenas
1a6194e9f0 self-compiling switch statements 2010-02-12 16:23:52 -05:00
Jeremy Ashkenas
29267593c2 fixed heredoc lexing regex for JS, now passing test_heredocs.coffee 2010-02-12 00:06:41 -05:00
Jeremy Ashkenas
8e3e06a6e9 Self-compiler: now does while loops 2010-02-09 22:05:17 -05:00
Jeremy Ashkenas
001c915c21 Self-compiler: object literals. 2010-02-09 20:53:25 -05:00
Jeremy Ashkenas
91a7102f11 Self-compiler: array slice literals. 2010-02-09 19:30:28 -05:00