rust/src/grammar
2015-01-14 00:20:53 +01:00
..
.gitignore Byte/raw binary literal fixes 2014-07-21 10:59:58 -07:00
check.sh src/grammar/check.sh now prints test summary 2014-12-30 16:46:07 +01:00
raw-string-literal-ambiguity.md adding proof of context-sensitivy of raw string literals 2014-07-27 02:13:19 -04:00
README.md Update src/grammar/README.md 2014-12-30 16:49:27 +01:00
RustLexer.g4 Handle question marks in model lexer, closes #15879 2015-01-13 23:31:53 +01:00
verify.rs Update grammar/verify.rs to work with recent master 2015-01-14 00:20:53 +01:00

Reference grammar.

Uses antlr4 and a custom Rust tool to compare ASTs/token streams generated. You can use the check-lexer make target to run all of the available tests.

To use manually:

antlr4 RustLexer.g4
javac *.java
rustc -O verify.rs
for file in ../*/**.rs; do
    echo $file;
    grun RustLexer tokens -tokens < $file | ./verify $file RustLexer.tokens || break
done

Note That the ../*/**.rs glob will match every *.rs file in the above directory and all of its recursive children. This is a zsh extension.