lrlex

Crates.iolrlex
lib.rslrlex
version0.13.8
sourcesrc
created_at2018-12-13 18:32:29.514942
updated_at2024-11-07 15:33:46.945628
descriptionSimple lexer generator
homepage
repositoryhttps://github.com/softdevteam/grmtools
max_upload_size
id101776
size150,161
Owners (github:softdevteam:owners)

documentation

README

lrlex

lrlex is a partial replacement for lex / flex. It takes an input string and splits it into lexemes based on a .l file. Unfortunately, many real-world languages have corner cases which exceed the power that lrlex can provide. However, when it is suitable, it is a very convenient way of expressing lexing.

lrlex also has a simple command-line interface, allowing you to check whether your lexing rules are working as expected:

$ cat C.java
class C {
    int x = 0;
}
$ cargo run --lrlex java.l /tmp/C.java
    Finished dev [unoptimized + debuginfo] target(s) in 0.18s
     Running `target/debug/lrlex ../grammars/java7/java.l /tmp/C.java`
CLASS class
IDENTIFIER C
LBRACE {
INT int
IDENTIFIER x
EQ =
INTEGER_LITERAL 0
SEMICOLON ;
RBRACE }
Commit count: 1773

cargo fmt