| Commit message (Expand) | Author | Age | Files | Lines |
| * | Absorb spec/ | EuAndreh | 2024-11-29 | 3 | -622/+0 |
| * | Avoid panic on spelling inconsistencies errors•••close #5
| Ryo Nihei | 2022-03-21 | 1 | -5/+7 |
| * | Disallow upper cases in an identifier | Ryo Nihei | 2021-09-24 | 2 | -1/+9 |
| * | Add name field to the lexical specification | Ryo Nihei | 2021-09-18 | 1 | -0/+7 |
| * | Generate constant values representing mode IDs, mode names, kind IDs, and kin... | Ryo Nihei | 2021-09-18 | 2 | -15/+350 |
| * | Define a lexical specification interface | Ryo Nihei | 2021-09-11 | 1 | -2/+2 |
| * | Change APIs•••Change fields of tokens, results of lexical analysis, as follows:
- Rename: mode -> mode_id
- Rename: kind_id -> mode_kind_id
- Add: kind_id
The kind ID is unique across all modes, but the mode kind ID is unique only within a mode.
Change fields of a transition table as follows:
- Rename: initial_mode -> initial_mode_id
- Rename: modes -> mode_names
- Rename: kinds -> kind_names
- Rename: specs[].kinds -> specs[].kind_names
- Rename: specs[].dfa.initial_state -> specs[].dfa.initial_state_id
Change public types defined in the spec package as follows:
- Rename: LexModeNum -> LexModeID
- Rename: LexKind -> LexKindName
- Add: LexKindID
- Add: StateID
| Ryo Nihei | 2021-08-01 | 1 | -61/+92 |
| * | Add unique kind IDs to tokens | Ryo Nihei | 2021-08-01 | 1 | -0/+14 |
| * | Add spec.EscapePattern function | Ryo Nihei | 2021-07-22 | 1 | -0/+21 |
| * | Allow duplicate names between fragments and non-fragments | Ryo Nihei | 2021-05-27 | 1 | -3/+12 |
| * | Add fragment expression•••A fragment entry is defined by an entry whose `fragment` field is `true`, and is referenced by a fragment expression (`\f{...}`).
| Ryo Nihei | 2021-05-25 | 1 | -5/+6 |
| * | Add --compression-level option to compile command•••--compression-level specifies a compression level. The default value is 2.
| Ryo Nihei | 2021-05-11 | 1 | -8/+10 |
| * | Change type of acceping_states to slice | Ryo Nihei | 2021-05-07 | 1 | -1/+1 |
| * | Add transition table compressor | Ryo Nihei | 2021-05-07 | 1 | -3/+23 |
| * | Add lex mode•••lex mode is a feature that separates transition tables per each mode.
The lexer starts from an initial state indicated by `initial_state` field and
transitions between modes according to `push` and `pop` fields.
The initial state will always be `default`.
Currently, maleeni doesn't provide the ability to change the initial state.
You can specify the modes of each lex entry using `modes` field.
When the mode isn't indicated explicitly, the entries have `default` mode.
| Ryo Nihei | 2021-05-04 | 1 | -3/+72 |
| * | Add validation of lexical specs and improve error messages | Ryo Nihei | 2021-04-17 | 1 | -7/+82 |
| * | 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 | 1 | -0/+28 |