3163 Commits

Author SHA1 Message Date
Jeremy Ashkenas
049358d006 after a lot of grammar wrestling, got the if-else chains to parse unambiguously. Now you only need a single period to close chains of any length. 2009-12-18 00:49:23 -05:00
Jeremy Ashkenas
a50446a0ca finally got the function/object/variable assignment indentation straightened out, I think 2009-12-17 23:45:24 -05:00
Jeremy Ashkenas
67bb49ed04 compiling if-else chains into nice flat ones 2009-12-17 23:34:52 -05:00
Jeremy Ashkenas
1395b05d36 first major rework of the nodes -- still need more comments and templatish cleanup, but character tagging is all settled 2009-12-17 23:22:02 -05:00
Jeremy Ashkenas
83944950ac renamed Nodes to Expressions 2009-12-17 22:58:40 -05:00
Jeremy Ashkenas
d124f7fc0d finished commenting everything but the nodes -- they're up next 2009-12-17 22:54:24 -05:00
Jeremy Ashkenas
77704d24a2 finished commenting the grammar 2009-12-17 22:22:35 -05:00
Jeremy Ashkenas
68bc68c1ac many more comments, plus a fix for inner-assignment indentation 2009-12-17 22:13:29 -05:00
Jeremy Ashkenas
8511a33b1e commented the command-line interface 2009-12-17 21:57:21 -05:00
Jeremy Ashkenas
6050cad0f8 moved the TextMate bundle into the gem, added a command to install it 2009-12-17 21:46:12 -05:00
Jeremy Ashkenas
9976de76f5 added the 'delete' operator 2009-12-17 21:21:07 -05:00
Jeremy Ashkenas
0dc445138b removed the 'default' keyword in favor of an 'else' 2009-12-17 21:14:36 -05:00
Jeremy Ashkenas
3ffbf541df removed class checks in favor of statement? 2009-12-17 21:10:49 -05:00
Jeremy Ashkenas
e3c667d49d number examples 2009-12-17 21:00:31 -05:00
Jeremy Ashkenas
2c90e8b002 added exponential and hex numbers 2009-12-17 20:59:19 -05:00
Jeremy Ashkenas
398251ff90 added a nice --watch mode to continually recompile or relint (or reprint) your coffeescripts 2009-12-17 20:37:39 -05:00
Jeremy Ashkenas
9249ceaef5 cleanups getting underscore to compile 2009-12-17 10:33:57 -05:00
Jeremy Ashkenas
1eec05d23a added nice syntax errors 2009-12-17 10:04:43 -05:00
Jeremy Ashkenas
1590713576 passing through values with line number information that look and act like Ruby natives 2009-12-17 09:37:42 -05:00
Jeremy Ashkenas
146b5694c2 cleaned up lexer in order to add line numbers 2009-12-17 09:29:49 -05:00
Jeremy Ashkenas
1d35910567 added the ability to super() 2009-12-17 09:07:42 -05:00
Jeremy Ashkenas
1a8311b9d0 allowing inner slashes in regexes 2009-12-17 08:29:19 -05:00
Jeremy Ashkenas
4e1e119f58 supporting escaped quotes in strings 2009-12-17 08:26:46 -05:00
Jeremy Ashkenas
3dac0f6d84 supporting escaped quotes in strings 2009-12-17 08:26:20 -05:00
Jeremy Ashkenas
962885444e multiline strings 2009-12-17 08:23:17 -05:00
Jeremy Ashkenas
d1682f5b3f multiline strings 2009-12-17 08:23:07 -05:00
Jeremy Ashkenas
c6f11fbfeb built the first gem -- works just fine 2009-12-16 23:10:03 -05:00
Jeremy Ashkenas
290aa257de completely reorganized for a gem and the 'coffee-script' command 2009-12-16 22:42:53 -05:00
Jeremy Ashkenas
5acc91c07c -- 2009-12-16 21:43:26 -05:00
Jeremy Ashkenas
cedb9256b6 down to the last shift reduce conflict -- leading and trailing whitespace 2009-12-16 21:01:47 -05:00
Jeremy Ashkenas
5153ef7c94 a smarter lexer brings us down to three shift/reduces 2009-12-16 20:48:37 -05:00
Jeremy Ashkenas
2753648d65 two more shift/reduces down, 8 to go 2009-12-16 20:19:52 -05:00
Jeremy Ashkenas
5ef10fce4c renamed it all to CoffeeScript 2009-12-16 20:04:01 -05:00
Jeremy Ashkenas
1aad493c75 with an 'expect 10', chapter one of mysterylang is written 2009-12-16 00:00:18 -05:00
Jeremy Ashkenas
56b4379c38 fixed a ton of shift/reduces by adding order of ops -- let's do more 2009-12-15 23:24:09 -05:00
Jeremy Ashkenas
c9fa9b2cb4 -- 2009-12-15 22:38:17 -05:00
Jeremy Ashkenas
e48d49df3b got case statements wokring 2009-12-15 22:30:27 -05:00
Jeremy Ashkenas
c840696f73 -- 2009-12-15 21:38:34 -05:00
Jeremy Ashkenas
8773b43e9a made array comprehensions into expressions 2009-12-15 21:30:37 -05:00
Jeremy Ashkenas
b093a437f4 fixing object assignment indentation 2009-12-15 20:49:24 -05:00
Jeremy Ashkenas
10c281774a -- 2009-12-15 11:36:24 -05:00
Jeremy Ashkenas
a0f4c9f3ba array comprehensions can pass the index 2009-12-15 11:14:14 -05:00
Jeremy Ashkenas
4480900d61 a bit more underscore 2009-12-15 10:35:17 -05:00
Jeremy Ashkenas
aebcc50b05 add free variable name lookup. Now that we have lexical scope, array comprehensions are greatly improved 2009-12-15 10:28:54 -05:00
Jeremy Ashkenas
c7691ecc89 got lexical scoping working -- even fancier returns with assignment as the last statement in a function body 2009-12-15 10:07:10 -05:00
Jeremy Ashkenas
f7a0bf19cb with shelling out to javascript 2009-12-15 09:11:27 -05:00
Jeremy Ashkenas
5dd295bd08 got postfix if and unless onboard 2009-12-15 08:53:21 -05:00
Jeremy Ashkenas
16f80ed963 more todos 2009-12-15 00:30:40 -05:00
Jeremy Ashkenas
44106f3e06 more todos 2009-12-15 00:30:26 -05:00
Jeremy Ashkenas
d68a4fca19 first draft of array comprehensions, but they stink. 2009-12-15 00:27:34 -05:00