aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Support White_Space property (Meet RL1.2 of UTS #18 partially)Ryo Nihei2021-11-247-26/+161
|
* Fix key of generalCategoryCodePoints mapRyo Nihei2021-11-233-731/+740
| | | | Use the abbreviation `cn` of the general category value `unassigned` as a key of the `generalCategoryCodePoints` map.
* Refactor the UCD file parsersRyo Nihei2021-11-233-155/+202
|
* Update CHANGELOGRyo Nihei2021-10-091-0/+12
|
* Update godocRyo Nihei2021-10-052-8/+16
|
* Remove the ModeName and KindName fields from the driver.Token structRyo Nihei2021-10-035-270/+313
|
* Format the source code of a lexer maleeni-go generatesRyo Nihei2021-10-021-40/+140
|
* Disallow upper cases in an identifierRyo Nihei2021-09-244-99/+116
|
* Remove --debug option from compile commandRyo Nihei2021-09-233-107/+2
|
* Keep the order of AST nodes constantRyo Nihei2021-09-224-20/+50
|
* Add name field to the lexical specificationRyo Nihei2021-09-188-23/+97
|
* Generate constant values representing mode IDs, mode names, kind IDs, and ↵Ryo Nihei2021-09-184-106/+515
| | | | kind names
* Update CHANGELOGRyo Nihei2021-09-141-0/+7
|
* Add maleeni-go commandRyo Nihei2021-09-144-37/+668
| | | | maleeni-go generates a lexer that recognizes a specific lexical specification.
* Define a lexical specification interfaceRyo Nihei2021-09-116-353/+370
|
* Remove --debug option from the lex commandRyo Nihei2021-09-082-63/+1
|
* Update CHANGELOGRyo Nihei2021-08-221-0/+7
|
* Add lexeme positions to tokensRyo Nihei2021-08-073-39/+226
| | | | close #1
* Use Go 1.16Ryo Nihei2021-08-072-2/+2
|
* Update CHANGELOGRyo Nihei2021-08-021-0/+7
|
* Change APIsRyo Nihei2021-08-0111-231/+289
| | | | | | | | | | | | | | | | | | | | | | 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
* Add unique kind IDs to tokensRyo Nihei2021-08-015-178/+239
|
* Fix CHANGELOGRyo Nihei2021-07-291-1/+1
|
* Update CHANGELOGRyo Nihei2021-07-221-0/+7
|
* Add CHANGELOGRyo Nihei2021-07-221-0/+17
|
* Add spec.EscapePattern functionRyo Nihei2021-07-222-0/+49
|
* Support passive mode transitionRyo Nihei2021-06-103-25/+140
|
* Update READMERyo Nihei2021-06-081-1/+1
|
* Update READMERyo Nihei2021-06-041-2/+30
|
* Add status badgeRyo Nihei2021-06-031-0/+2
|
* Set up CIRyo Nihei2021-06-031-0/+22
|
* Update READMERyo Nihei2021-06-021-0/+13
|
* Update READMERyo Nihei2021-05-281-0/+59
|
* Add example lexical specificationRyo Nihei2021-05-273-0/+604
|
* Allow duplicate names between fragments and non-fragmentsRyo Nihei2021-05-273-11/+123
|
* Add fragment expressionRyo Nihei2021-05-2511-61/+540
| | | | A fragment entry is defined by an entry whose `fragment` field is `true`, and is referenced by a fragment expression (`\f{...}`).
* Fix the initial state numberRyo Nihei2021-05-191-1/+5
| | | | Since 0 represents an invalid value in a transition table, assign a number greater than or equal to 1 to states.
* Remove the shorthand for --compression-level option from the compile commandRyo Nihei2021-05-131-1/+1
|
* Rename fields of driver.TokenRyo Nihei2021-05-133-26/+25
|
* Use go fmt instead of gofmtRyo Nihei2021-05-121-1/+1
|
* Add --compression-level option to compile commandRyo Nihei2021-05-116-45/+119
| | | | --compression-level specifies a compression level. The default value is 2.
* Fix a text representation of an error tokenRyo Nihei2021-05-112-22/+51
| | | | This commit fixes a bug that caused the second and subsequent characters of the text representation of an error token to be missing.
* Update README and godocRyo Nihei2021-05-102-8/+227
|
* Change package structureRyo Nihei2021-05-086-7/+5
| | | | The executable can be installed using `go install ./cmd/maleeni`.
* Add --break-on-error option to lex commandRyo Nihei2021-05-082-3/+9
| | | | As you use --break-on-error option, break lexical analysis with exit status 1 immediately when an error token appears.
* Add CLI optionsRyo Nihei2021-05-084-56/+117
|
* Change type of acceping_states to sliceRyo Nihei2021-05-073-5/+9
|
* Add transition table compressorRyo Nihei2021-05-076-18/+431
|
* Remove Peek* functionsRyo Nihei2021-05-052-86/+0
|
* Improve performance of the symbolPositionSetRyo Nihei2021-05-044-63/+98
| | | | | | | | | | When using a map to represent a set, performance degrades due to the increased number of calls of runtime.mapassign. Especially when the number of symbols is large, as in compiling a pattern that contains character properties like \p{Letter}, adding elements to the set alone may take several tens of seconds of CPU time. Therefore, this commit solves this problem by changing the representation of the set from map to array.