diff options
Diffstat (limited to 'grammar/grammar.go')
-rw-r--r-- | grammar/grammar.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/grammar/grammar.go b/grammar/grammar.go index e7271c0..7479683 100644 --- a/grammar/grammar.go +++ b/grammar/grammar.go @@ -103,6 +103,7 @@ func NewGrammar(root *spec.RootNode) (*Grammar, error) { } } } + for i, p := range anonPats { kind := fmt.Sprintf("__%v__", i+1) @@ -118,6 +119,14 @@ func NewGrammar(root *spec.RootNode) (*Grammar, error) { }) } + for _, fragment := range root.Fragments { + entries = append(entries, &mlspec.LexEntry{ + Fragment: true, + Kind: mlspec.LexKind(fragment.LHS), + Pattern: mlspec.LexPattern(fragment.RHS), + }) + } + lexSpec = &mlspec.LexSpec{ Entries: entries, } |