From 8ab850528e1c05f36668f36db6af4cdcb647180e Mon Sep 17 00:00:00 2001 From: Ryo Nihei Date: Sun, 20 Jun 2021 23:47:29 +0900 Subject: Add syntax of fragment --- grammar/grammar.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'grammar') 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, } -- cgit v1.2.3