aboutsummaryrefslogtreecommitdiff
path: root/compiler/compiler.go
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/compiler.go')
-rw-r--r--compiler/compiler.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/compiler/compiler.go b/compiler/compiler.go
index 0c89737..3469044 100644
--- a/compiler/compiler.go
+++ b/compiler/compiler.go
@@ -201,8 +201,19 @@ func compile(entries []*spec.LexEntry, modeName2ID map[spec.LexModeName]spec.Lex
var root astNode
var symTab *symbolTable
{
+ pats := make([]*patternEntry, len(patterns)+1)
+ pats[spec.LexModeKindIDNil] = &patternEntry{
+ id: spec.LexModeKindIDNil,
+ }
+ for id, pattern := range patterns {
+ pats[id] = &patternEntry{
+ id: id,
+ pattern: pattern,
+ }
+ }
+
var err error
- root, symTab, err = parse(patterns, fragmentPatterns)
+ root, symTab, err = parse(pats, fragmentPatterns)
if err != nil {
return nil, err
}