diff options
author | Ben Smith <binjimin@gmail.com> | 2017-06-07 12:45:08 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-07 12:45:08 -0700 |
commit | d999df990e41634e45c199ca1e391b06f4734ebe (patch) | |
tree | 99335c60f7262b94e76204f35748ced7b62f5b85 /Makefile | |
parent | 044a198e827521f54b5260486ad3c89350b79450 (diff) | |
download | wabt-d999df990e41634e45c199ca1e391b06f4734ebe.tar.gz wabt-d999df990e41634e45c199ca1e391b06f4734ebe.tar.bz2 wabt-d999df990e41634e45c199ca1e391b06f4734ebe.zip |
Update testsuite; various lexing/parsing fixes (#482)
* Update testsuite; various lexing/parsing fixes
Lexer changes:
* Switch re2c parser to UTF-8 parser. This can almost be done "for
free" with a flag, but required a bit of work to allow us to catch
malformed UTF-8 as well.
* Change the re2c fill value to 0xff, since it's never a valid UTF-8 byte.
* Allow for more reserved tokens (basically any ascii aside from
parentheses, double-quote, and semi-colon)
* Remove "infinity" from lexer, only "inf" is allowed now.
* Change definition of EOF token, it was implemented incorrectly. The
correct way to handle it is to only return it from FILL when there is no
more data to fill.
* \r is a valid escape.
Parser changes:
* Changes to match the spec parser:
- block signatures use (result <type>) syntax
- func/global/table/memory can have multiple inline exports
- inline imports are handled in func definition instead of import
definition
- allow for inline modules (i.e. no "(module ...)" s-expr required)
* Remove FuncField. This was previously used for parsing
params/results/locals, but it's less code to just parse
right-recursive (i.e. backward) and insert everything at the front.
This requires reversing the indexes in the BindingHash too.
* Remove the nasty macros `APPEND_FIELD_TO_LIST`,
`APPEND_ITEM_TO_VECTOR`, `APPEND_INLINE_EXPORT`, and
`CHECK_IMPORT_ORDERING`. This behavior is all handled by
`append_module_fields` now.
* All inline imports/exports are handled by returning additional
ModuleFields in a list. This removes the need for `OptionalExport`,
`ExportedFunc`, `ExportedGlobal`, `ExportedTable`, and
`ExportedMemory`.
* Use "_opt" suffix instead of "non_empty_" prefix, e.g.:
- text_list => text_list_opt, non_empty_text_list => text_list
* The locations changed for some symbols, typically the use the name
following the LPAR now, e.g. (import
^^^^^^
* Add PPA for re2c 0.16
* add -y to skip confirmation on travis
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -148,7 +148,7 @@ src/prebuilt/wast-parser-gen.cc: src/wast-parser.y bison -o $@ $< --defines=src/prebuilt/wast-parser-gen.hh --report=state src/prebuilt/wast-lexer-gen.cc: src/wast-lexer.cc - re2c --no-generation-date -bc -o $@ $< + re2c --no-generation-date -bc8 -o $@ $< # running CMake $(foreach CONFIG,$(CONFIGS), \ |