700 Commits

Author SHA1 Message Date
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
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
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
Sebastian McKenzie
65e1646dbf v0.11.1-35 2015-02-26 08:32:08 +11:00
Sebastian McKenzie
1424c35d13 correctly handle SpreadProperty - fixes babel/babel#897 2015-02-26 08:31:49 +11:00
Marijn Haverbeke
2a0ccb1030 Wording change in readme funding link 2015-02-23 11:49:44 +01:00
Andres Suarez
2b6f24ea86 Add .npmignore 2015-02-23 11:36:37 +01:00
Sebastian McKenzie
631b78e07d v0.11.1-34 2015-02-22 22:42:07 +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
Marijn Haverbeke
b6b1bc2bae [README] Add NPM and funding links 2015-02-19 11:51:27 +01:00
Sebastian McKenzie
f8eba046b3 v0.11.1-33 2015-02-18 10:25:29 +11:00
Sebastian McKenzie
82e3819f38 fix PrivateDeclaration/SpreadProperty strict mode 2015-02-18 10:25:17 +11:00
Marijn Haverbeke
de544da8f3 [walker] Understand ParenthesizedExpression nodes
Closes #210
2015-02-17 15:09:18 +01:00
Marijn Haverbeke
9a617a59e4 [loose parser] Don't tokenize ellipsis when ecmaVersion < 6
Issue marijnh/tern#493
2015-02-17 14:41:33 +01:00
Sebastian McKenzie
f4c39613f5 v0.11.1-32 2015-02-15 17:46:52 +11:00
Sebastian McKenzie
36381d1785 rename to acorn-babel 2015-02-15 17:46:45 +11:00
Sebastian McKenzie
032d66d79f v0.11.1-31 2015-02-14 12:53:40 +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
12768c40d9 update to latest esprima-fb flow tests 2015-02-14 12:52:08 +11:00
Sebastian McKenzie
383fcec1f0 v0.11.1-30 2015-02-13 15:04:54 +11:00
Sebastian McKenzie
04c64c4592 remove this shorthand playground tests 2015-02-13 15:04:33 +11:00
Sebastian McKenzie
91b79e9178 Merge branch 'thetalecrafter-multiline' 2015-02-13 15:03:20 +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
a6a156e039 v0.11.1-29 2015-02-11 10:58:33 +11:00
Sebastian McKenzie
ac2dfced36 add support for class initializer properties - 6to5/6to5#619 2015-02-11 10:57:54 +11:00
Sebastian McKenzie
04cf3f3f9d v0.11.1-28 2015-02-08 20:40:13 +11:00
Sebastian McKenzie
57fccb55ff remove this shorthand - closes 6to5/6to5#717 2015-02-08 20:39:48 +11:00
Sebastian McKenzie
7458d57e4f v0.11.1-27 2015-02-08 16:18:13 +11:00
Sebastian McKenzie
1aa8c6a37c fix function parsing due to faulty merge 2015-02-08 16:17:53 +11:00
Sebastian McKenzie
e268c4eefb v0.11.1-26 2015-02-08 16:10:06 +11:00