Skip to content

Files

Latest commit

28b64dc · Nov 27, 2016

History

History
 
 

grammar

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jul 21, 2014
Nov 16, 2016
Oct 27, 2015
Nov 16, 2016
Oct 27, 2015
Jan 21, 2015
Dec 25, 2015
Jul 27, 2014
Feb 6, 2015
Sep 3, 2015
Nov 27, 2016
Apr 19, 2015
Apr 19, 2015

Reference grammar.

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

The build of the rust part is included with make tidy and can be run with make check-build-lexer-verifier.

Manual build

To use manually, assuming antlr4 ist installed at /usr/share/java/antlr-complete.jar:

antlr4 RustLexer.g4
javac -classpath /usr/share/java/antlr-complete.jar *.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.

Cleanup

To cleanup you can use a command like this:

rm -f verify *.class *.java *.tokens