This reverts commit 5cd07648fd.
The separators construct is useful as an optimization. It turns out that
constructing a node for every chunk of whitespace in a document causes a
significant performance regression.
Conflicts:
src/compiler/build_tables/build_lex_table.cc
src/compiler/grammar.cc
src/runtime/parser.c
15 lines
430 B
Text
15 lines
430 B
Text
=====================================================
|
|
recovers from errors at the top level
|
|
=====================================================
|
|
x * * y
|
|
---
|
|
(variable) (ERROR '*')
|
|
|
|
=====================================================
|
|
recovers from errors inside parenthesized expressions
|
|
=====================================================
|
|
x + (y * + z) * 5
|
|
---
|
|
(sum
|
|
(variable)
|
|
(product (group (ERROR '+')) (number)))
|