| Commit message (Expand) | Author | Age | Files | Lines |
| * | Add logging to lex command•••lex command writes logs out to the maleeni-lex.log file.
When you generate a lexer using driver.NewLexer(), you can choose whether the lexer writes logs or not.
| Ryo Nihei | 2021-02-16 | 3 | -5/+126 |
| * | Add CLI | Ryo Nihei | 2021-02-16 | 6 | -0/+433 |
| * | Add types of lexical specifications•••APIs of compiler and driver packages use these types. Because CompiledLexSpec struct a lexer takes has kind names of lexical specification entries, the lexer sets them to tokens.
| Ryo Nihei | 2021-02-16 | 5 | -90/+133 |
| * | Add bracket expression matching specified character•••The bracket expression matches any single character specified in it. In the bracket expression, the special characters like ., *, and so on are also handled as normal characters.
| Ryo Nihei | 2021-02-14 | 4 | -9/+127 |
| * | Add dot symbol matching any single character•••The dot symbol matches any single character. When the dot symbol appears, the parser generates an AST matching all of the well-formed UTF-8 byte sequences.
Refelences:
* https://www.unicode.org/versions/Unicode13.0.0/ch03.pdf#G7404
* Table 3-6. UTF-8 Bit Distribution
* Table 3-7. Well-Formed UTF-8 Byte Sequences
| Ryo Nihei | 2021-02-14 | 7 | -21/+201 |
| * | Add driver•••The driver takes a DFA and an input text and generates a lexer. The lexer tokenizes the input text according to the lexical specification that the DFA expresses.
| Ryo Nihei | 2021-02-14 | 2 | -0/+309 |
| * | Add compiler•••The compiler takes a lexical specification expressed by regular expressions and generates a DFA accepting the tokens.
Operators that you can use in the regular expressions are concatenation, alternation, repeat, and grouping.
| Ryo Nihei | 2021-02-14 | 9 | -0/+1268 |
| * | Initial commit | Ryo Nihei | 2021-02-13 | 2 | -0/+23 |