Marijn Haverbeke
35c417d02b
Remove remnants of docco-based homepage
2015-03-20 17:05:23 +01:00
Marijn Haverbeke
f538706db3
Code style -- less semicolons, more let variables
2015-03-20 17:00:32 +01:00
Marijn Haverbeke
6dd254d999
Tie everything together in the new build system
2015-03-20 16:36:24 +01:00
Marijn Haverbeke
cf613ce287
Split up the loose parser, set up a build script
2015-03-20 14:41:55 +01:00
Marijn Haverbeke
dd89c6e112
Make loose parser work with minor interface changes introduced by modularization
2015-03-20 12:04:33 +01:00
Marijn Haverbeke
a1fe3a1859
Finish splitting up main parser
2015-03-20 11:47:31 +01:00
Marijn Haverbeke
7b05e660b4
Move location-related code into location.js
2015-03-19 16:28:28 +01:00
Marijn Haverbeke
fec42cb596
Move tokenizer into modules
2015-03-19 16:17:43 +01:00
Marijn Haverbeke
93b919c1a0
Split out identifier-related code
2015-03-19 15:49:58 +01:00
Marijn Haverbeke
9808459940
Start on ES6 port
2015-03-19 15:40:12 +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
0a755156a8
Ignore backslash-escapes in identifiers in ES6 mode
2015-03-19 13:11:17 +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
19ef4ef69c
Require semicolon after 'import * from ...'
2015-03-17 12:30:12 +01:00
Sebastian McKenzie
f651807069
v0.11.1-38
2015-03-13 13:22:32 +11:00
Sebastian McKenzie
d08d63b01d
support bounded polymorphism in flow facebook/esprima#103
2015-03-13 13:22:09 +11:00
Marijn Haverbeke
57bc9b1b0a
Move parsing of yield into parseMaybeAssign
...
Issue #219
2015-03-12 23:11:33 +01:00
Marijn Haverbeke
16a342082a
Allow trailing commas in array patterns
...
Closes #975
2015-03-12 22:39:00 +01:00
Marijn Haverbeke
811d19ab76
Allow any number of digits when killing \u{} sequences in regexps
2015-03-12 22:26:31 +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
12558821c5
Use an object argument in the TokenType constuctor
2015-03-06 10:37:35 +01:00
Marijn Haverbeke
4e0a7fac71
Linting changes
2015-03-06 10:36:17 +01:00
Marijn Haverbeke
8459481e65
Represent a tokenizer as an instance of the parser
...
This completely changes the interface, and removes most of the complexity
in the old tokenizer interface (jump-to-position was removed, since it is
all kinds of unreliable given the new tokenizer context system).
2015-03-05 17:30:48 +01:00
Marijn Haverbeke
0df2affdfe
Move loose parser to object style
...
Drop dependency on tokenizer interface
2015-03-05 17:22:06 +01:00
Marijn Haverbeke
3365478645
Add a plugin mechanism to allow JSX parser to be a module
...
And export a few more things
2015-03-05 16:00:34 +01:00
Marijn Haverbeke
06f3b3c224
Attach context update algorithm to token types
...
For, theoretically, easier extendability
2015-03-05 15:59:12 +01:00
Marijn Haverbeke
6bd1013f2c
Use uniform object type for node types
...
Speeds things up by about 9% on io.js 1.3
2015-03-05 15:59:12 +01:00
Marijn Haverbeke
141905f9fd
Consume whitespace before, rather than after, reading a token
...
Simplifies several things
2015-03-05 15:59:12 +01: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
33307e789a
Update tools/generate-identifier-regex.js
...
So that it can also spit out the astral maps.
2015-03-05 15:55:38 +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
Marijn Haverbeke
59dc29f3f0
In ES6-mode, don't treat keywords with escaped characters as regular identifiers
...
See https://mathiasbynens.be/notes/javascript-identifiers-es6
2015-03-04 15:29:15 +01:00
Marijn Haverbeke
cbd8aa8f06
Bump version number post-0.12
2015-03-02 11:31:27 +01:00
Marijn Haverbeke
99f1989f72
Mark release 0.12
2015-03-02 11:31:11 +01:00
Marijn Haverbeke
8c98acf5d6
Make sure all ignored files are ignored in npmigore
2015-03-02 11:30:47 +01:00
Sebastian McKenzie
ec131eaecc
v0.11.1-37
2015-02-28 22:34:32 +11:00
Sebastian McKenzie
854e892cda
fix type annotation property on arrow function params returnType to typeAnnotation
2015-02-28 22:33:03 +11:00