Marijn Haverbeke
0fee7a395e
Fix the way 'npm test' loads the library
2015-03-20 17:35:51 +01:00
Ingvar Stepanyan
864268abb6
Add support for meta-properties.
...
estree/estree#32
2015-03-20 17:35:37 +01:00
Ingvar Stepanyan
921e45ab2b
SuperExpression -> Super
2015-03-20 17:23:01 +01:00
Marijn Haverbeke
e88a5431db
Allow init-less destructing bindings in for/in and for/of
2015-03-20 17:19:35 +01:00
Marijn Haverbeke
6dd254d999
Tie everything together in the new build system
2015-03-20 16:36:24 +01:00
Marijn Haverbeke
dd89c6e112
Make loose parser work with minor interface changes introduced by modularization
2015-03-20 12:04:33 +01:00
Mathias Bynens
575421b3c2
Make readRegexp more tolerant
2015-03-19 14:48:43 +01:00
Marijn Haverbeke
9673146cc1
Verify that property name can be bound to in short-hand object pattern properties
...
Issue #221
2015-03-19 14:05:16 +01:00
Marijn Haverbeke
a45172e044
Unify checkLVal and checkFunctionParam
2015-03-19 13:42:26 +01:00
Marijn Haverbeke
5d5b8eb3c8
Don't crash when converting missing array elements to assignable
...
Closes #220
2015-03-19 12:58:34 +01:00
Marijn Haverbeke
b6e8310848
Require an initalization value when let/var/const-declaring a complex pattern
...
Closes #222
2015-03-19 12:46:36 +01:00
Marijn Haverbeke
a75a685610
Add a startsExpr property to token types, use it to properly parse yield
...
Issue #219
2015-03-19 12:34:41 +01:00
Ingvar Stepanyan
0473c368e6
[es6][estree] Add support for sourceType: script|module modes.
...
+ Fix list of keywords and reserved words in ES6.
2015-03-18 13:42:49 +02:00
Ingvar Stepanyan
024a98431d
[estree] Add SuperExpression.
...
(we're almost there)
2015-03-17 23:01:42 +02:00
Ingvar Stepanyan
876e774bfe
[estree] Align method kinds.
...
[loose] Split parseObj and parseClass.
2015-03-17 22:36:34 +02:00
Marijn Haverbeke
16a342082a
Allow trailing commas in array patterns
...
Closes #975
2015-03-12 22:39:00 +01:00
Marijn Haverbeke
4735ef53ef
Replace the forbidReserved option with an allowReserved option
...
For consistency with similar options
2015-03-12 22:02:41 +01:00
Marijn Haverbeke
ba750b253b
Replace strictSemicolons and allowTrailingCommas with onInsertedSemicolon and onTrailingComma
2015-03-12 22:02:41 +01:00
Marijn Haverbeke
9fb3a4f5ce
Move as much as possible code in test driver out of try block
2015-03-12 22:01:33 +01:00
Ingvar Stepanyan
34050d3917
Support for for (const ...).
...
Fixes #213 .
Also changes API to pass token type to `parseVar` to reduce string comparison ops.
2015-03-10 11:36:15 +02:00
Ingvar Stepanyan
ff60ee4fdb
[estree] Align export ... representations.
2015-03-10 10:37:00 +02:00
Ingvar Stepanyan
722bc65e79
[estree] Align Import specifiers.
2015-03-10 02:27:24 +02:00
Marijn Haverbeke
bc48c02a18
Move the parser state into an object
...
Makes almost everything in acorn.js a method of this object.
Performance is not significantly affected on a modern V8. Makes the
code reentrant and allows us to more easily expose more methods
externally in the future.
On the other hand, the proliferation of `this.` is unfortunate.
2015-03-05 15:59:12 +01:00
Marijn Haverbeke
d76ea4b3be
Make the tokenizer aware of multi-byte characters in ES6 mode
...
Add a data structure to recognize astral identifier chars. Parse whole
code points when looking for identifiers.
Issue #215
2015-03-05 15:55:38 +01:00
Marijn Haverbeke
891d5d07dd
Allow braced \u escapes in identifiers
...
We still can't properly recognize code points as ES6-style
identifier chars.
Issue #214
2015-03-04 15:37:26 +01:00
Ingvar Stepanyan
6eb177582d
Fix export default declarations.
...
Closes #184 .
2015-01-27 16:21:41 +02:00
Ingvar Stepanyan
e4a97ab877
Finalized destructuring support in loose parser; fixed startNodeAt.
2015-01-27 15:53:16 +02:00
Ingvar Stepanyan
6660a21b79
Disallow MemberExpression in bindings; clarify function namings.
2015-01-27 15:23:09 +02:00
Ingvar Stepanyan
3d5964ceed
Fix locations for AssignmentPatterns.
2015-01-27 15:10:25 +02:00
Ingvar Stepanyan
5d96bbd781
Simplify & fix rest argument validity checks.
2015-01-24 13:38:14 +02:00
Ingvar Stepanyan
65d09eac6e
Implement shorthand property assignment in ambiguous contexts.
...
Issue #181 .
2015-01-24 12:40:24 +02:00
Ingvar Stepanyan
917de714b1
Switch from Function.{rest,defaults} to AssignmentPattern and RestElement.
...
Closes #182 .
2015-01-23 15:29:37 +02:00
Ingvar Stepanyan
38609ae26d
Closes #205 .
2015-01-23 14:14:02 +02:00
Ingvar Stepanyan
cb94a0851c
Add regex comparison to test driver.
2015-01-23 13:50:01 +02:00
Ingvar Stepanyan
e6f1e1027e
Fix dividing function expression.
...
Fixes #204 .
2015-01-23 13:17:03 +02:00
Ingvar Stepanyan
caa5da6ce1
Improve spread element parsing (fix allowed contexts and error locations).
2015-01-21 23:51:40 +02:00
Marijn Haverbeke
94b5efcd3e
Disallow declaration statements in block-less context
...
Closes #202
2015-01-20 12:55:21 +01:00
Sebastian McKenzie
9f7cb55264
Add stray semicolons as class elements
2015-01-20 11:56:33 +01:00
Marijn Haverbeke
dac747dfa9
Add a test for issue #201
2015-01-17 22:26:34 +01:00
Ingvar Stepanyan
6dee98d1b9
Adapt ES6 template handling to new tokenizer.
...
Avoid need for:
* extra `templates` array in favor of new `tokContext`;
* special location handling for first & last template elements;
* separate `_templateContinued` token in favor of same `_template`.
Adds:
* token types for backQuote and dollarBraceL instead of skipping them
so they can be handled (i.e. highlighted differently).
2015-01-17 22:21:22 +01:00
Ingvar Stepanyan
d34aea63ab
Update tests.
2015-01-14 12:36:25 +02:00
Ingvar Stepanyan
d1f95ece42
Revert "Disallow parentheses in lvalue except as in computed keys or default values."
...
This reverts commit 85087f2a0951f60ca035ca6d785e4bab6d96d8f7.
Fixes #193 .
2015-01-12 20:31:38 +02:00
Ingvar Stepanyan
bc2e01aa03
Allow static as method name in class ( fixes #192 ).
...
Add uncommitted tests for #191 .
2015-01-09 15:31:01 +02:00
Ingvar Stepanyan
85087f2a09
Disallow parentheses in lvalue except as in computed keys or default values.
2015-01-08 23:00:22 +02:00
Ingvar Stepanyan
4d4a76588c
Parse assignment patterns in-place in certain contexts.
...
* Parsing assignables without extra transform step when possible (speed-up).
* Added support for shorthand defaults in such certain contexts (issue #181 ).
2015-01-08 20:19:48 +02:00
Marijn Haverbeke
0897901f1f
Slight cleanup of '/' disambiguation
...
Issue #189
2015-01-06 11:03:50 +01:00
Marijn Haverbeke
b6b085ac8e
Make tokenizer independent of parser (with regards to '/' disambiguation)
...
Issue #189
2015-01-06 10:58:52 +01:00
Marijn Haverbeke
045d8c02f5
Revert "Require superclass expressions to be lvals"
...
This reverts commit 0b59fc198baf2cd970091ee96fe5dd0f90034692.
Issue #187
2015-01-04 22:28:16 +01:00
Marijn Haverbeke
e271168cf6
Make onToken only fire for actual final tokens
...
Issue #189
2015-01-04 22:27:03 +01:00
Ingvar Stepanyan
431a44bc74
Add support for destructuring defaults (not for shorthand props yet).
...
Related to #181 .
2015-01-04 12:15:24 +02:00