Commit Graph

431 Commits

Author SHA1 Message Date
Sebastian McKenzie
0d143f005f update to latest acorn, better array shortcuts, don't add code frame to error message 2016-03-14 22:40:33 -07:00
Sebastian McKenzie
f830892ab8 fix modules generation logic and remove dead node types 2016-03-14 22:40:24 -07:00
Sebastian McKenzie
7c84db45fd more estree updates - finish flow parsing 2016-03-14 22:40:16 -07:00
Sebastian McKenzie
57af08bea8 move acorn into vendor 2016-03-14 22:39:57 -07:00
Logan Smyth
16e8224ce6 Merge acorn 0.12.1 and acorn-babel (formerly "embed acorn" in the original git history). 2016-03-14 22:39:24 -07:00
Sebastian McKenzie
d08d63b01d support bounded polymorphism in flow facebook/esprima#103 2015-03-13 13:22:09 +11: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
Sebastian McKenzie
854e892cda fix type annotation property on arrow function params returnType to typeAnnotation 2015-02-28 22:33:03 +11:00
Sebastian McKenzie
1424c35d13 correctly handle SpreadProperty - fixes babel/babel#897 2015-02-26 08:31:49 +11:00
Sebastian McKenzie
e9a6f83c00 rewrite async function parsing - fixes #27 2015-02-22 14:05:22 +11:00
Sebastian McKenzie
5a0861c1b9 remove dead _dotQuestion code 2015-02-22 12:33:09 +11:00
Sebastian McKenzie
82e3819f38 fix PrivateDeclaration/SpreadProperty strict mode 2015-02-18 10:25:17 +11:00
Sebastian McKenzie
fe0b679104 add support for flow type casts and import/export types - facebook/react#3143 2015-02-14 12:52:42 +11:00
Sebastian McKenzie
987694bb23 Merge branch 'multiline' of https://github.com/thetalecrafter/acorn-jsx into thetalecrafter-multiline
Conflicts:
	acorn.js
	acorn_loose.js
	package.json
2015-02-13 15:03:03 +11:00
Andy VanWagoner
9f73a10f61 Allow multiline JSX string attributes. 2015-02-12 20:47:00 -07:00
Sebastian McKenzie
ac2dfced36 add support for class initializer properties - 6to5/6to5#619 2015-02-11 10:57:54 +11:00
Sebastian McKenzie
57fccb55ff remove this shorthand - closes 6to5/6to5#717 2015-02-08 20:39:48 +11:00
Sebastian McKenzie
1aa8c6a37c fix function parsing due to faulty merge 2015-02-08 16:17:53 +11:00
Sebastian McKenzie
7ec50ebd57 Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
	acorn_loose.js
2015-02-08 16:09:46 +11:00
Sebastian McKenzie
ce7abeab18 fix strictMode option 2015-02-08 16:06:32 +11:00
Ingvar Stepanyan
7264bc0178 Fix found V8 deopt.
Increases perf from 230K to 360K lines/sec on std bench on my machine.
2015-02-05 00:02:21 +02:00
Ingvar Stepanyan
c034550215 Disallow line break between arrow function params and =>. 2015-02-04 12:57:18 +02:00
Sebastian McKenzie
06c4334808 use all property instead of delegate on await expressions - facebook/regenerator#171 2015-01-29 13:24:22 +11:00
Ingvar Stepanyan
e0bcfca03f Add JSX support to loose parser. 2015-01-27 18:25:49 +02:00
Ingvar Stepanyan
95479ab6aa Optimize JSX text reading. 2015-01-27 16:51:45 +02:00
Ingvar Stepanyan
2f40d7e30e Merge branch 'upstream' into jsx2 2015-01-27 16:27:59 +02:00
Ingvar Stepanyan
6eb177582d Fix export default declarations.
Closes #184.
2015-01-27 16:21:41 +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
Sebastian McKenzie
e14e6473ff fix flow type param parsing position - fixes #24 2015-01-26 20:30:21 +11:00
Sebastian McKenzie
301f639f73 fix incorrect parseExpression arguments - not sure where this came from 2015-01-26 16:58:41 +11:00
Sebastian McKenzie
2fb5a3c46e reference exports.Node so we can replace it if necessary 2015-01-26 01:25:41 +11:00
Sebastian McKenzie
1221112610 add canInsertSemicolon check to async function parsing 2015-01-26 00:12:01 +11:00
Sebastian McKenzie
766e42d140 clean up async function declaration parsing 2015-01-25 23:44:17 +11:00
Sebastian McKenzie
c297f5a57f fix parseAssignableListItem function name misspelling 2015-01-25 22:06:58 +11:00
Sebastian McKenzie
2c3d2ec875 simplify parse assignable list types 2015-01-25 17:22:37 +11:00