강동윤
79f3660f0f
Downgrade rust toolchain to 2018-02-01 ( #37 )
2018-03-09 16:56:43 +09:00
강동윤
c9b10168e7
Merge pull request #36 from kdy1/ast-self-contained
...
Make ast nodes contain span
2018-03-08 11:19:21 +09:00
강동윤
4d5efb4a9b
Fix test262-parser-tests
2018-03-08 11:17:41 +09:00
강동윤
442302553d
Fix library tests for parser
2018-03-08 11:04:25 +09:00
강동윤
0be4a5ef40
Implement #[fold(ignore)]
2018-03-08 11:00:03 +09:00
강동윤
57944ab70e
Update parser to new ast.
...
Tests are not updated yet.
2018-03-07 17:14:16 +09:00
강동윤
6141206963
Use spanned, interned string instead of raw string.
2018-03-07 16:50:25 +09:00
강동윤
7908aaa6c1
Some more refinements for ast.
...
* All fields are public.
* Enabled some lints.
2018-03-07 14:05:09 +09:00
강동윤
f11434ee3c
[WIP] Update parser
2018-03-06 22:34:42 +09:00
강동윤
160f5dc367
Add RestPat
2018-03-06 15:44:28 +09:00
강동윤
00bcd8f9af
Don't use #[ast_node] for temporary for-head
2018-03-06 15:07:52 +09:00
강동윤
077e0c551f
implement #[span]
2018-03-04 15:17:52 +09:00
강동윤
3321ca590d
implement Spanned for {Span, BytePos}
2018-03-04 14:41:59 +09:00
강동윤
d5ef2be32a
reexport Fold properly
2018-03-04 14:12:17 +09:00
강동윤
ffe6fb9030
Add formatOnSave to settings.json
2018-03-04 14:09:36 +09:00
강동윤
e1764f907b
[WIP] Make ast nodes contain span
...
* `struct Expr` + `enum ExprKind` -> `enum Expr`
`Expr` / `ExprKind` approach does not work well with recursive
processing based on the type system because we can't access common
fields like span while processing child node like `MemberExpr`.
As ast processing is inherently recursive, we should use a
recursive-friendly approach.
* `#[derive(FromVariants)]`
It creates lots of `From<T>` to help using ast enums as a real sum type.
* `#[derive(Spanned)]`
Inspired by https://docs.rs/syn/0.12.13/syn/spanned/trait.Spanned.html
It does not handle attributes yet.
* Parser is not updated yet.
2018-03-03 19:37:01 +09:00
bors[bot]
5f4bcdc98c
Merge #35
...
35: #[derive(StringEnum)] r=kdy1 a=kdy1
2018-03-02 06:10:46 +00:00
강동윤
9843be331b
Disable coverage temporarily.
2018-03-02 15:10:08 +09:00
강동윤
27d9b1e154
Update rustfmt to 0.3.8
2018-03-02 15:07:09 +09:00
강동윤
171abda3c0
Implement #[derive(StringEnum)]
2018-03-02 14:50:50 +09:00
bors[bot]
e128ba64c4
Merge #34
...
34: Use Span::def_site() instead of Span::call_site() r=kdy1 a=kdy1
* Now rustdoc contains derived implementations.
2018-03-01 05:18:03 +00:00
강동윤
8370b78ee0
Enable backtrace and disable incr-comp.
2018-03-01 14:16:47 +09:00
강동윤
c37454ca1f
Use Span::def_site() instead of Span::call_site()
...
* Now rustdoc contains derived implementations.
2018-03-01 14:09:22 +09:00
강동윤
10f83f3f02
Fix rls (again) ( #33 )
...
* Don't use `#[parser]` in lexer
* Don't use `#[parser]` in parser/util.rs
* Pin rust toolchain to nightly-2018-02-28
2018-02-28 14:35:52 +09:00
강동윤
67daa4c4e4
Fix a test about float parser ( #32 )
...
See https://github.com/rust-lang/rust/pull/48235
2018-02-27 15:31:50 +09:00
강동윤
4a30fb3436
Testing framework ( #31 )
...
- Make rls happy.
- Some minor parser error improvements.
- Add reference files for ecmascript parser errors.
- Improve error message of import/export used outside of a module
2018-02-27 13:21:57 +09:00
bors[bot]
ca663aa33d
Merge #30
...
30: Make rls work r=kdy1 a=kdy1
rust-analysis chokes with `Option<Box<Expr>>` style fields.
Rls only shows a warning on the crate with that fields, but ICEs on
dependent crates.
This can be workarounded by using `Option<(Box<Expr>)>`.
Also, using multiple glob imports is bad for rls.
So this commit deglobs them.
2018-02-03 11:01:14 +00:00
강동윤
fa40c8ddf3
Make rls work
...
rust-analysis chokes with `Option<Box<Expr>>` style fields.
Rls only shows a warning on the crate with that fields, but ICEs on
dependent crates.
This can be workarounded by using `Option<(Box<Expr>)>`.
Also, using multiple glob imports is bad for rls.
So this commit deglobs them.
2018-02-03 20:00:03 +09:00
bors[bot]
f4bbd69547
Merge #28
...
28: chores: cleanup for docs; no email from travis r=kdy1 a=kdy1
2018-01-27 06:17:23 +00:00
강동윤
056a11dd06
chores: cleanup for docs; no email from travis
2018-01-27 15:14:53 +09:00
bors[bot]
d4e2c90caf
Merge #27
...
27: Ecma parser errors r=kdy1 a=kdy1
I stored context in lexer because lexer should have access to parser's context.
2018-01-27 04:42:40 +00:00
강동윤
59f11a83d1
fixup! fix tests
2018-01-27 13:42:04 +09:00
강동윤
92c7defc2e
fix tests
2018-01-27 11:31:45 +09:00
강동윤
5602c376e5
Implement error reporting for ecmascript parser
...
Passes all test262-identity tests and all fail tests.
2018-01-26 21:53:30 +09:00
bors[bot]
d046adf14c
Merge #26
...
26: Use FileMap as an input. r=kdy1 a=kdy1
2018-01-23 12:39:56 +00:00
강동윤
9b2a5880bb
Use FileMap as an input.
2018-01-23 21:38:48 +09:00
bors[bot]
e2f75ec0a2
Merge #25
...
25: Error reporting like rustc r=kdy1 a=kdy1
Error reporting is implementing using rustc
2018-01-22 13:09:21 +00:00
강동윤
a0ece79b0d
Add cli api to parse js file.
2018-01-22 22:07:39 +09:00
강동윤
0a2473fe1c
Improve error reporting of ecmascript parser
...
And drop nll because it's currently too slow.
2018-01-22 21:47:16 +09:00
강동윤
e75836882b
Use box for Diagnostic
2018-01-21 19:33:27 +09:00
강동윤
4d52cb49d4
Implement error reporting.
...
* Use syntax_pos and rustc_error.
* Use syntax_pos::Span
2018-01-21 17:47:37 +09:00
bors[bot]
bab2b73483
Merge #24
...
24: Fix parser r=kdy1 a=kdy1
2018-01-18 03:23:54 +00:00
강동윤
7742eaebfe
Rebase
2018-01-17 14:09:37 +09:00
강동윤
9c646596c5
Fix ecmascript parser.
...
* Make span inclusive-exclusive.
* Fix array parsing.
2018-01-17 14:06:05 +09:00
bors[bot]
135e606f38
Merge #23
...
23: Update rustfmt to 0.3.5 and format literals. r=kdy1 a=kdy1
2018-01-16 11:11:55 +00:00
강동윤
11b12b8142
Update rustfmt to 0.3.5 and format literals.
2018-01-16 20:11:08 +09:00
bors[bot]
ac82bc4245
Merge #21
...
21: enable travis for master to update docs r=kdy1 a=kdy1
2018-01-16 02:56:42 +00:00
강동윤
5ff4e759e5
enable travis for master to update docs
2018-01-16 11:54:42 +09:00
bors[bot]
58f899414e
Merge #20
...
20: Make expression and statement consistent. Fixes #19 r=kdy1 a=kdy1
2018-01-16 02:36:28 +00:00
강동윤
d6e61f9638
Make expression and statement consistent. Fixes #19
2018-01-16 11:35:05 +09:00