Boshen
d4ff0bb40e
refactor(oxc_parser): parser and lexer does not need to share the errors vec
2023-04-01 15:59:42 +08:00
Boshen
174330561c
fix(parser): fix panic on multi-byte characaters ( #233 )
...
* fix(oxc_parser): fix panic when EOF on a multi-byte character
relates #232
* fix(parser): fix panic on multi-byte char in private identifer
relates #232
2023-04-01 13:34:18 +08:00
Boshen
d232199e1c
refactor(parser): return Rc<Trivias> from TriviaBuilder ( #231 )
...
closes #229
2023-03-31 09:02:48 -07:00
Boshen
ff9a2c3ab0
feat(linter): eslint disable comments ( #196 )
...
feat(linter): eslint disable comments
closes #100
closes #170
2023-03-22 11:27:42 +08:00
Boshen
57f3065d68
refactor: remove unused #[allow(clippy:..)]
2023-03-17 13:28:06 +08:00
Boshen
2fe8fba5b6
refactor(lexer): make TokenValue 8 bytes smaller by changing RegExp.pattern to &'a str ( #175 )
2023-03-13 23:20:52 +08:00
Boshen
f36e3301fd
refactor(lexer): change TokenValue::String(Atom) to TokenValue::String(&str) ( #174 )
2023-03-13 09:33:44 +08:00
Boshen
66207e74a4
refactor(lexer): remove LexerContext::JsxChild ( #172 )
2023-03-12 20:19:51 +08:00
Boshen
94fdd54368
perf(lexer): fine tune identifier checking with less redundant branches ( #154 )
...
perf(lexer): fine tune checking of identifiers with less redundant branches
2023-03-08 22:00:15 +08:00
Boshen
4d32bfb55e
refactor: remove all declarations of const fn, which is useless for us
2023-03-07 21:29:47 +08:00
Boshen
6b9bbaa091
perf(lexer): try &static Atom for match_keyword ( #143 )
...
* perf(lexer): try phf_map for `match_keyword`
* wip
2023-03-07 13:14:22 +08:00
Yoni Feng
dcfdce5bb7
refactor(lexer): avoid copying of self in SIMD functions ( #104 )
2023-03-03 21:46:55 -08:00
Ye Yangchen
d8c6caf57f
feat(oxc_parser): Parse modifiers before declaration
2023-03-01 22:50:23 -08:00
Boshen
73ea3d6361
feat(ast,lexer,linter): save and check comments
2023-02-27 12:31:57 +08:00
Boshen
915518b614
refactor(oxc_diagnostics): s/PError/Error
2023-02-26 02:02:05 +08:00
Boshen
4f4a9802b7
refactor(diagnostics,parser): move diagnostics to parser
2023-02-22 19:23:01 +08:00
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
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
83c3f34af2
feat(lexer): use portable-SIMD to speed up multiline comment scanning
2023-02-20 21:58:08 +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
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
85955d7147
refactor(parser): clean up some lexer code
2023-02-12 21:34:19 +08:00
Boshen
1fdc635638
feat(parser): add parser
2023-02-11 05:26:49 -08:00
Boshen
4ae70b9592
feat(parser): add lexer
2023-02-11 02:29:54 -08:00