Commit graph

7114 commits

Author SHA1 Message Date
Boshen
5390d3e6b4 refactor(diagnostic): change Err type to miette::Error
This is the prerequisite for breaking up the large Diagnostic enum.
2023-02-22 11:08:21 +08:00
Boshen
4c6407b152 refactor(ast): s/node/span
This corrects the jargon for span. The term `node` came from `estree`,
which is a bit misleading here in Rust.

closes #9
2023-02-21 19:17:49 +08:00
Boshen
f3a7d5a026 feat(ast): add RegExpFlags bitflag for storing regex flags
This reduces `TokenValue` from 56 to 40 bytes, `Token` from 72 to 56 bytes.
2023-02-21 18:22:15 +08:00
Boshen
a733856536 refactor(ast,parser): use u32 for node spans
The next PR will fix the jargon where Node = Span.

relates to #9
2023-02-21 16:02:23 +08:00
Boshen
39a05030d7 refactor(ast,parser): box FormalParameters 2023-02-21 13:11:58 +08:00
Boshen
d57ab2f088 refactor(ast,parser): remove Node::ctx
This is adding too many bytes to the AST
2023-02-21 13:11:58 +08:00
Boshen
c640b4fb08 perf(ast): box PropertyKey enum 2023-02-21 13:11:58 +08:00
Boshen
cf278a2760 perf(parser): a few micro optimizations 2023-02-21 13:11:58 +08:00
Boshen
0bbbc7768f perf(oxc_parser): use u8 for offset 2023-02-21 13:11:58 +08:00
Boshen
73663f274c perf(parser): inline all methods on Context 2023-02-21 13:11:58 +08:00
Boshen
83c3f34af2 feat(lexer): use portable-SIMD to speed up multiline comment scanning 2023-02-20 21:58:08 +08:00
Boshen
4fc112f7dc feat(ast): add visitor 2023-02-20 20:45:14 +08:00
Boshen
ab68cea0b7 perf(lexer): use portable-SIMD to speed up whitespace scanning
closes #13
2023-02-20 19:03:15 +08:00
Boshen
4edd3f75ce feat(benchmark): check parser before benchmark 2023-02-20 18:23:36 +08:00
Boshen
457aa7d1be feat(printer): add printer example 2023-02-20 18:23:36 +08:00
Boshen
978ca362f7 feat(coverage): use test262 to test printer 2023-02-20 18:23:36 +08:00
Boshen
e4b07b7db9 feat(printer): Initialize printer
closes #21
2023-02-20 18:23:36 +08:00
Xuan
362c02f8e1 docs(oxc_parser): add header symbol for parser.unexpected 2023-02-18 09:06:56 +08:00
Boshen
a347e3993e
Revert "perf(lexer): use portable-SIMD to speed up multiline comment scanning"
This reverts commit a51c7f9ba2.
2023-02-17 14:50:42 +08:00
Boshen
a51c7f9ba2 perf(lexer): use portable-SIMD to speed up multiline comment scanning 2023-02-15 19:51:13 -08:00
Boshen
3fee6a5184
ci: fix benchmark not fetching on pr commit 2023-02-13 10:01:31 +08:00
Boshen
22da771cab
chore: update README 2023-02-12 21:42:08 +08:00
Boshen
85955d7147
refactor(parser): clean up some lexer code 2023-02-12 21:34:19 +08:00
Boshen
204ea12d6a
fix(coverage): fix empty being reported as not parsed 2023-02-12 21:24:19 +08:00
Boshen
9de386ecf7
ci: update 2023-02-12 20:27:23 +08:00
Boshen
01ff8eed08
ci: remove unused github_token from benchmark 2023-02-12 20:21:24 +08:00
Boshen
738f52cd0b
ci: fix benchmark.yaml 2023-02-12 20:04:55 +08:00
Boshen
e2d088f754
chore: update README on milestone 2023-02-12 16:38:13 +08:00
Boshen
65cfa48fe5
chore(coverage): add typescript to cargo coverage command 2023-02-12 16:27:26 +08:00
Boshen
d8fd23524a
feat(oxc_parser): allow filename as option in examples/simple.rs 2023-02-12 15:57:40 +08:00
Boshen
6758b0c66c feat(coverage): add typescript conformance (currently 4287/4861 88.19%)
Some of the files are not being parsed because we are currently less
recoverable than TypeScript.
2023-02-11 23:46:28 -08:00
Boshen
a4e04d4f6f feat(coverage): add babel conformance (currently 2043/2057 99.32%) 2023-02-11 22:36:32 -08:00
Boshen
792a0b065a
ci: only run benchmark on 'crates/**' change 2023-02-12 14:32:40 +08:00
Boshen
3daf5bcea9
chore(example): add an example for testing purposes 2023-02-12 11:11:35 +08:00
Boshen
93993978de chore: commit Cargo.lock 2023-02-11 18:45:50 -08:00
Boshen
f50c067ccf fix(benchmark): fix panic on initialization 2023-02-11 18:45:50 -08:00
Boshen
fb8faedb3e perf: add jemallocator 2023-02-11 18:45:50 -08:00
Boshen
6a8d9da75d
ci: add write permission to benchmark 2023-02-12 10:36:48 +08:00
Boshen
ad36a0ebb2
ci: remove useless CARGO_UNSTABLE_SPARSE_REGISTRY env variable 2023-02-12 10:04:47 +08:00
Boshen
35db916db7
ci: move --locked from cargo check 2023-02-12 10:00:58 +08:00
Boshen
1410155a0c
ci: fix invalid benchmark.yaml 2023-02-12 09:53:49 +08:00
Boshen
42932334b2
ci: add pr benchmark workflow 2023-02-12 09:35:27 +08:00
Boshen
f90d660ec5 feat(tasks): add parser benchmark 2023-02-11 08:46:32 -08:00
Boshen
a339ba3f92 feat(coverage): print parsing conformance for test262 (currently 100%) 2023-02-11 08:02:42 -08:00
Boshen
97d0ec64c1
chore(README): add link to discussions 2023-02-11 23:02:09 +08:00
Boshen
b6912513ba chore: Add call for action in README 2023-02-11 22:28:56 +08:00
Boshen
1fdc635638 feat(parser): add parser 2023-02-11 05:26:49 -08:00
Boshen
e964179490 ci: use cargo command instead of dtolnay/rust-toolchain 2023-02-11 21:17:56 +08:00
Boshen
62a4f2b551 feat(ast): add ast 2023-02-11 04:27:34 -08:00
Boshen
4ae70b9592 feat(parser): add lexer 2023-02-11 02:29:54 -08:00