chore: update README.
This commit is contained in:
parent
ea56390083
commit
0522cda6c6
|
@ -1,7 +1,6 @@
|
|||
# LexLuthor
|
||||
|
||||
[![Build Status](https://travis-ci.org/jamesotron/lex_luthor.svg)](https://travis-ci.org/jamesotron/lex_luthor)
|
||||
[![Inline docs](http://inch-ci.org/github/jamesotron/lex_luthor.svg)](http://inch-ci.org/github/jamesotron/lex_luthor)
|
||||
[![Build Status](https://drone.harton.nz/api/badges/james/lex_luthor/status.svg)](https://drone.harton.nz/james/lex_luthor)
|
||||
|
||||
LexLuthor is a Lexer in Elixir (say that 10 times fast) which uses macros to generate a reusable lexers. Good times.
|
||||
|
||||
|
@ -22,6 +21,7 @@ Rules are defined by a regular expression, an optional state (as an atom) and an
|
|||
When passed the string `'foo'`, the lexer starts in the `:default` state, so it filters for rules in the default state (the first rule, as it doesn't specify a state), then it filters the available rules by the longest matching regular expression. In this case, since we have only one rule (which happens to match) it's automatically the longest match.
|
||||
|
||||
Once the longest match is found, then it's action is executed and the return value matched:
|
||||
|
||||
- If the return value is a single atom then that atom is assumed to be a state and push onto the top of the state stack.
|
||||
- If the return value is a two element tuple then the first element is expected to be an atom (the token name) and the second element a value for this token.
|
||||
- If the return value is `nil` then the top state is popped off the state stack.
|
||||
|
@ -32,7 +32,7 @@ If lexing fails then you will receive an `:error` tuple which a reason and posit
|
|||
|
||||
## Contributing
|
||||
|
||||
1. Fork it ( https://github.com/jamesotron/lex_luthor/fork )
|
||||
1. Fork it ( https://code.harton.nz/james/lex_luthor/fork )
|
||||
2. Create your feature branch (`git checkout -b my-new-feature`)
|
||||
3. Commit your changes (`git commit -am 'Add some feature'`)
|
||||
4. Push to the branch (`git push origin my-new-feature`)
|
||||
|
|
Loading…
Reference in a new issue