| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
| |
The current lexer uses re2c. It easy to change, but it generates a huge amount of code, and it's easy to forgot to update it.
This PR rewrites the lexer manually, and uses gperf instead to match keywords. The generated source is much smaller.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove Bison dependency
* Remove pre-generated parser files
* Rename build config from no-re2c-bison to no-re2c
* Add a simple make_unique implementation
* Move handling of module bindings into ir.cc
* Simplify lexer
- Remove lookahead, the parser handles this now
- Unify Token/LexerToken, it only contains terminal values now
- Refactor setting token type and value into one function (e.g.
LITERAL, RETURN => RETURN_LITERAL)
* New Parser
- Uses two tokens of lookahead (use Peek(0) or Peek(1))
- Consume() consumes one token of any kind
- Match(t) consumes the current token if it matches
- PeekMatch(t) returns true iff the token matches, but doesn't consume
- Basic error synchronization; plenty of room for improvement here
|
|
|
| |
It isn't installed on Mac. This fixes the mac build (issue #325).
|
| |
|
|
|
|
| |
Also, remove uses of readlink -f because they don't work on OSX.
|
| |
|
| |
|
|
|
|
|
| |
Primarily this is moving the sanitizer builds out of CMakeLists.txt and
into the Makefile. It's much cleaner this way.
|
|
|
|
|
| |
This is used by the Wasm waterfall. Also, rename the CMake "test" target
to "run-tests", to avoid the nasty warning.
|
| |
|
| |
|
|
|
|
|
| |
This will test that the prebuilt C source files are updated along with
the .y and .l files.
|
| |
|
|
|