|  | package main | 
|  |  | 
|  | // Code generated by ./peg/peg delocate.peg DO NOT EDIT. | 
|  |  | 
|  | import ( | 
|  | "fmt" | 
|  | "io" | 
|  | "os" | 
|  | "sort" | 
|  | "strconv" | 
|  | "strings" | 
|  | ) | 
|  |  | 
|  | const endSymbol rune = 1114112 | 
|  |  | 
|  | /* The rule types inferred from the grammar are below. */ | 
|  | type pegRule uint8 | 
|  |  | 
|  | const ( | 
|  | ruleUnknown pegRule = iota | 
|  | ruleAsmFile | 
|  | ruleStatement | 
|  | ruleGlobalDirective | 
|  | ruleDirective | 
|  | ruleDirectiveName | 
|  | ruleLocationDirective | 
|  | ruleFileDirective | 
|  | ruleLocDirective | 
|  | ruleArgs | 
|  | ruleArg | 
|  | ruleQuotedArg | 
|  | ruleQuotedText | 
|  | ruleLabelContainingDirective | 
|  | ruleLabelContainingDirectiveName | 
|  | ruleSymbolArgs | 
|  | ruleSymbolArg | 
|  | ruleSymbolExpr | 
|  | ruleSymbolAtom | 
|  | ruleSymbolOperator | 
|  | ruleOpenParen | 
|  | ruleCloseParen | 
|  | ruleSymbolType | 
|  | ruleDot | 
|  | ruleTCMarker | 
|  | ruleEscapedChar | 
|  | ruleWS | 
|  | ruleComment | 
|  | ruleLabel | 
|  | ruleSymbolName | 
|  | ruleLocalSymbol | 
|  | ruleLocalLabel | 
|  | ruleLocalLabelRef | 
|  | ruleInstruction | 
|  | ruleInstructionName | 
|  | ruleInstructionArg | 
|  | ruleGOTLocation | 
|  | ruleGOTSymbolOffset | 
|  | ruleAVX512Token | 
|  | ruleTOCRefHigh | 
|  | ruleTOCRefLow | 
|  | ruleIndirectionIndicator | 
|  | ruleRegisterOrConstant | 
|  | ruleARMConstantTweak | 
|  | ruleARMRegister | 
|  | ruleARMVectorRegister | 
|  | ruleMemoryRef | 
|  | ruleSymbolRef | 
|  | ruleLow12BitsSymbolRef | 
|  | ruleARMBaseIndexScale | 
|  | ruleARMGOTLow12 | 
|  | ruleARMPostincrement | 
|  | ruleBaseIndexScale | 
|  | ruleOperator | 
|  | ruleOffset | 
|  | ruleSection | 
|  | ruleSegmentRegister | 
|  | ) | 
|  |  | 
|  | var rul3s = [...]string{ | 
|  | "Unknown", | 
|  | "AsmFile", | 
|  | "Statement", | 
|  | "GlobalDirective", | 
|  | "Directive", | 
|  | "DirectiveName", | 
|  | "LocationDirective", | 
|  | "FileDirective", | 
|  | "LocDirective", | 
|  | "Args", | 
|  | "Arg", | 
|  | "QuotedArg", | 
|  | "QuotedText", | 
|  | "LabelContainingDirective", | 
|  | "LabelContainingDirectiveName", | 
|  | "SymbolArgs", | 
|  | "SymbolArg", | 
|  | "SymbolExpr", | 
|  | "SymbolAtom", | 
|  | "SymbolOperator", | 
|  | "OpenParen", | 
|  | "CloseParen", | 
|  | "SymbolType", | 
|  | "Dot", | 
|  | "TCMarker", | 
|  | "EscapedChar", | 
|  | "WS", | 
|  | "Comment", | 
|  | "Label", | 
|  | "SymbolName", | 
|  | "LocalSymbol", | 
|  | "LocalLabel", | 
|  | "LocalLabelRef", | 
|  | "Instruction", | 
|  | "InstructionName", | 
|  | "InstructionArg", | 
|  | "GOTLocation", | 
|  | "GOTSymbolOffset", | 
|  | "AVX512Token", | 
|  | "TOCRefHigh", | 
|  | "TOCRefLow", | 
|  | "IndirectionIndicator", | 
|  | "RegisterOrConstant", | 
|  | "ARMConstantTweak", | 
|  | "ARMRegister", | 
|  | "ARMVectorRegister", | 
|  | "MemoryRef", | 
|  | "SymbolRef", | 
|  | "Low12BitsSymbolRef", | 
|  | "ARMBaseIndexScale", | 
|  | "ARMGOTLow12", | 
|  | "ARMPostincrement", | 
|  | "BaseIndexScale", | 
|  | "Operator", | 
|  | "Offset", | 
|  | "Section", | 
|  | "SegmentRegister", | 
|  | } | 
|  |  | 
|  | type token32 struct { | 
|  | pegRule | 
|  | begin, end uint32 | 
|  | } | 
|  |  | 
|  | func (t *token32) String() string { | 
|  | return fmt.Sprintf("\x1B[34m%v\x1B[m %v %v", rul3s[t.pegRule], t.begin, t.end) | 
|  | } | 
|  |  | 
|  | type node32 struct { | 
|  | token32 | 
|  | up, next *node32 | 
|  | } | 
|  |  | 
|  | func (node *node32) print(w io.Writer, pretty bool, buffer string) { | 
|  | var print func(node *node32, depth int) | 
|  | print = func(node *node32, depth int) { | 
|  | for node != nil { | 
|  | for c := 0; c < depth; c++ { | 
|  | fmt.Fprintf(w, " ") | 
|  | } | 
|  | rule := rul3s[node.pegRule] | 
|  | quote := strconv.Quote(string(([]rune(buffer)[node.begin:node.end]))) | 
|  | if !pretty { | 
|  | fmt.Fprintf(w, "%v %v\n", rule, quote) | 
|  | } else { | 
|  | fmt.Fprintf(w, "\x1B[36m%v\x1B[m %v\n", rule, quote) | 
|  | } | 
|  | if node.up != nil { | 
|  | print(node.up, depth+1) | 
|  | } | 
|  | node = node.next | 
|  | } | 
|  | } | 
|  | print(node, 0) | 
|  | } | 
|  |  | 
|  | func (node *node32) Print(w io.Writer, buffer string) { | 
|  | node.print(w, false, buffer) | 
|  | } | 
|  |  | 
|  | func (node *node32) PrettyPrint(w io.Writer, buffer string) { | 
|  | node.print(w, true, buffer) | 
|  | } | 
|  |  | 
|  | type tokens32 struct { | 
|  | tree []token32 | 
|  | } | 
|  |  | 
|  | func (t *tokens32) Trim(length uint32) { | 
|  | t.tree = t.tree[:length] | 
|  | } | 
|  |  | 
|  | func (t *tokens32) Print() { | 
|  | for _, token := range t.tree { | 
|  | fmt.Println(token.String()) | 
|  | } | 
|  | } | 
|  |  | 
|  | func (t *tokens32) AST() *node32 { | 
|  | type element struct { | 
|  | node *node32 | 
|  | down *element | 
|  | } | 
|  | tokens := t.Tokens() | 
|  | var stack *element | 
|  | for _, token := range tokens { | 
|  | if token.begin == token.end { | 
|  | continue | 
|  | } | 
|  | node := &node32{token32: token} | 
|  | for stack != nil && stack.node.begin >= token.begin && stack.node.end <= token.end { | 
|  | stack.node.next = node.up | 
|  | node.up = stack.node | 
|  | stack = stack.down | 
|  | } | 
|  | stack = &element{node: node, down: stack} | 
|  | } | 
|  | if stack != nil { | 
|  | return stack.node | 
|  | } | 
|  | return nil | 
|  | } | 
|  |  | 
|  | func (t *tokens32) PrintSyntaxTree(buffer string) { | 
|  | t.AST().Print(os.Stdout, buffer) | 
|  | } | 
|  |  | 
|  | func (t *tokens32) WriteSyntaxTree(w io.Writer, buffer string) { | 
|  | t.AST().Print(w, buffer) | 
|  | } | 
|  |  | 
|  | func (t *tokens32) PrettyPrintSyntaxTree(buffer string) { | 
|  | t.AST().PrettyPrint(os.Stdout, buffer) | 
|  | } | 
|  |  | 
|  | func (t *tokens32) Add(rule pegRule, begin, end, index uint32) { | 
|  | tree, i := t.tree, int(index) | 
|  | if i >= len(tree) { | 
|  | t.tree = append(tree, token32{pegRule: rule, begin: begin, end: end}) | 
|  | return | 
|  | } | 
|  | tree[i] = token32{pegRule: rule, begin: begin, end: end} | 
|  | } | 
|  |  | 
|  | func (t *tokens32) Tokens() []token32 { | 
|  | return t.tree | 
|  | } | 
|  |  | 
|  | type Asm struct { | 
|  | Buffer string | 
|  | buffer []rune | 
|  | rules  [57]func() bool | 
|  | parse  func(rule ...int) error | 
|  | reset  func() | 
|  | Pretty bool | 
|  | tokens32 | 
|  | } | 
|  |  | 
|  | func (p *Asm) Parse(rule ...int) error { | 
|  | return p.parse(rule...) | 
|  | } | 
|  |  | 
|  | func (p *Asm) Reset() { | 
|  | p.reset() | 
|  | } | 
|  |  | 
|  | type textPosition struct { | 
|  | line, symbol int | 
|  | } | 
|  |  | 
|  | type textPositionMap map[int]textPosition | 
|  |  | 
|  | func translatePositions(buffer []rune, positions []int) textPositionMap { | 
|  | length, translations, j, line, symbol := len(positions), make(textPositionMap, len(positions)), 0, 1, 0 | 
|  | sort.Ints(positions) | 
|  |  | 
|  | search: | 
|  | for i, c := range buffer { | 
|  | if c == '\n' { | 
|  | line, symbol = line+1, 0 | 
|  | } else { | 
|  | symbol++ | 
|  | } | 
|  | if i == positions[j] { | 
|  | translations[positions[j]] = textPosition{line, symbol} | 
|  | for j++; j < length; j++ { | 
|  | if i != positions[j] { | 
|  | continue search | 
|  | } | 
|  | } | 
|  | break search | 
|  | } | 
|  | } | 
|  |  | 
|  | return translations | 
|  | } | 
|  |  | 
|  | type parseError struct { | 
|  | p   *Asm | 
|  | max token32 | 
|  | } | 
|  |  | 
|  | func (e *parseError) Error() string { | 
|  | tokens, err := []token32{e.max}, "\n" | 
|  | positions, p := make([]int, 2*len(tokens)), 0 | 
|  | for _, token := range tokens { | 
|  | positions[p], p = int(token.begin), p+1 | 
|  | positions[p], p = int(token.end), p+1 | 
|  | } | 
|  | translations := translatePositions(e.p.buffer, positions) | 
|  | format := "parse error near %v (line %v symbol %v - line %v symbol %v):\n%v\n" | 
|  | if e.p.Pretty { | 
|  | format = "parse error near \x1B[34m%v\x1B[m (line %v symbol %v - line %v symbol %v):\n%v\n" | 
|  | } | 
|  | for _, token := range tokens { | 
|  | begin, end := int(token.begin), int(token.end) | 
|  | err += fmt.Sprintf(format, | 
|  | rul3s[token.pegRule], | 
|  | translations[begin].line, translations[begin].symbol, | 
|  | translations[end].line, translations[end].symbol, | 
|  | strconv.Quote(string(e.p.buffer[begin:end]))) | 
|  | } | 
|  |  | 
|  | return err | 
|  | } | 
|  |  | 
|  | func (p *Asm) PrintSyntaxTree() { | 
|  | if p.Pretty { | 
|  | p.tokens32.PrettyPrintSyntaxTree(p.Buffer) | 
|  | } else { | 
|  | p.tokens32.PrintSyntaxTree(p.Buffer) | 
|  | } | 
|  | } | 
|  |  | 
|  | func (p *Asm) WriteSyntaxTree(w io.Writer) { | 
|  | p.tokens32.WriteSyntaxTree(w, p.Buffer) | 
|  | } | 
|  |  | 
|  | func (p *Asm) SprintSyntaxTree() string { | 
|  | var bldr strings.Builder | 
|  | p.WriteSyntaxTree(&bldr) | 
|  | return bldr.String() | 
|  | } | 
|  |  | 
|  | func Pretty(pretty bool) func(*Asm) error { | 
|  | return func(p *Asm) error { | 
|  | p.Pretty = pretty | 
|  | return nil | 
|  | } | 
|  | } | 
|  |  | 
|  | func Size(size int) func(*Asm) error { | 
|  | return func(p *Asm) error { | 
|  | p.tokens32 = tokens32{tree: make([]token32, 0, size)} | 
|  | return nil | 
|  | } | 
|  | } | 
|  | func (p *Asm) Init(options ...func(*Asm) error) error { | 
|  | var ( | 
|  | max                  token32 | 
|  | position, tokenIndex uint32 | 
|  | buffer               []rune | 
|  | ) | 
|  | for _, option := range options { | 
|  | err := option(p) | 
|  | if err != nil { | 
|  | return err | 
|  | } | 
|  | } | 
|  | p.reset = func() { | 
|  | max = token32{} | 
|  | position, tokenIndex = 0, 0 | 
|  |  | 
|  | p.buffer = []rune(p.Buffer) | 
|  | if len(p.buffer) == 0 || p.buffer[len(p.buffer)-1] != endSymbol { | 
|  | p.buffer = append(p.buffer, endSymbol) | 
|  | } | 
|  | buffer = p.buffer | 
|  | } | 
|  | p.reset() | 
|  |  | 
|  | _rules := p.rules | 
|  | tree := p.tokens32 | 
|  | p.parse = func(rule ...int) error { | 
|  | r := 1 | 
|  | if len(rule) > 0 { | 
|  | r = rule[0] | 
|  | } | 
|  | matches := p.rules[r]() | 
|  | p.tokens32 = tree | 
|  | if matches { | 
|  | p.Trim(tokenIndex) | 
|  | return nil | 
|  | } | 
|  | return &parseError{p, max} | 
|  | } | 
|  |  | 
|  | add := func(rule pegRule, begin uint32) { | 
|  | tree.Add(rule, begin, position, tokenIndex) | 
|  | tokenIndex++ | 
|  | if begin != position && position > max.end { | 
|  | max = token32{rule, begin, position} | 
|  | } | 
|  | } | 
|  |  | 
|  | matchDot := func() bool { | 
|  | if buffer[position] != endSymbol { | 
|  | position++ | 
|  | return true | 
|  | } | 
|  | return false | 
|  | } | 
|  |  | 
|  | /*matchChar := func(c byte) bool { | 
|  | if buffer[position] == c { | 
|  | position++ | 
|  | return true | 
|  | } | 
|  | return false | 
|  | }*/ | 
|  |  | 
|  | /*matchRange := func(lower byte, upper byte) bool { | 
|  | if c := buffer[position]; c >= lower && c <= upper { | 
|  | position++ | 
|  | return true | 
|  | } | 
|  | return false | 
|  | }*/ | 
|  |  | 
|  | _rules = [...]func() bool{ | 
|  | nil, | 
|  | /* 0 AsmFile <- <(Statement* !.)> */ | 
|  | func() bool { | 
|  | position0, tokenIndex0 := position, tokenIndex | 
|  | { | 
|  | position1 := position | 
|  | l2: | 
|  | { | 
|  | position3, tokenIndex3 := position, tokenIndex | 
|  | if !_rules[ruleStatement]() { | 
|  | goto l3 | 
|  | } | 
|  | goto l2 | 
|  | l3: | 
|  | position, tokenIndex = position3, tokenIndex3 | 
|  | } | 
|  | { | 
|  | position4, tokenIndex4 := position, tokenIndex | 
|  | if !matchDot() { | 
|  | goto l4 | 
|  | } | 
|  | goto l0 | 
|  | l4: | 
|  | position, tokenIndex = position4, tokenIndex4 | 
|  | } | 
|  | add(ruleAsmFile, position1) | 
|  | } | 
|  | return true | 
|  | l0: | 
|  | position, tokenIndex = position0, tokenIndex0 | 
|  | return false | 
|  | }, | 
|  | /* 1 Statement <- <(WS? (Label / ((GlobalDirective / LocationDirective / LabelContainingDirective / Instruction / Directive / Comment / ) WS? ((Comment? '\n') / ';'))))> */ | 
|  | func() bool { | 
|  | position5, tokenIndex5 := position, tokenIndex | 
|  | { | 
|  | position6 := position | 
|  | { | 
|  | position7, tokenIndex7 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l7 | 
|  | } | 
|  | goto l8 | 
|  | l7: | 
|  | position, tokenIndex = position7, tokenIndex7 | 
|  | } | 
|  | l8: | 
|  | { | 
|  | position9, tokenIndex9 := position, tokenIndex | 
|  | if !_rules[ruleLabel]() { | 
|  | goto l10 | 
|  | } | 
|  | goto l9 | 
|  | l10: | 
|  | position, tokenIndex = position9, tokenIndex9 | 
|  | { | 
|  | position11, tokenIndex11 := position, tokenIndex | 
|  | if !_rules[ruleGlobalDirective]() { | 
|  | goto l12 | 
|  | } | 
|  | goto l11 | 
|  | l12: | 
|  | position, tokenIndex = position11, tokenIndex11 | 
|  | if !_rules[ruleLocationDirective]() { | 
|  | goto l13 | 
|  | } | 
|  | goto l11 | 
|  | l13: | 
|  | position, tokenIndex = position11, tokenIndex11 | 
|  | if !_rules[ruleLabelContainingDirective]() { | 
|  | goto l14 | 
|  | } | 
|  | goto l11 | 
|  | l14: | 
|  | position, tokenIndex = position11, tokenIndex11 | 
|  | if !_rules[ruleInstruction]() { | 
|  | goto l15 | 
|  | } | 
|  | goto l11 | 
|  | l15: | 
|  | position, tokenIndex = position11, tokenIndex11 | 
|  | if !_rules[ruleDirective]() { | 
|  | goto l16 | 
|  | } | 
|  | goto l11 | 
|  | l16: | 
|  | position, tokenIndex = position11, tokenIndex11 | 
|  | if !_rules[ruleComment]() { | 
|  | goto l17 | 
|  | } | 
|  | goto l11 | 
|  | l17: | 
|  | position, tokenIndex = position11, tokenIndex11 | 
|  | } | 
|  | l11: | 
|  | { | 
|  | position18, tokenIndex18 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l18 | 
|  | } | 
|  | goto l19 | 
|  | l18: | 
|  | position, tokenIndex = position18, tokenIndex18 | 
|  | } | 
|  | l19: | 
|  | { | 
|  | position20, tokenIndex20 := position, tokenIndex | 
|  | { | 
|  | position22, tokenIndex22 := position, tokenIndex | 
|  | if !_rules[ruleComment]() { | 
|  | goto l22 | 
|  | } | 
|  | goto l23 | 
|  | l22: | 
|  | position, tokenIndex = position22, tokenIndex22 | 
|  | } | 
|  | l23: | 
|  | if buffer[position] != rune('\n') { | 
|  | goto l21 | 
|  | } | 
|  | position++ | 
|  | goto l20 | 
|  | l21: | 
|  | position, tokenIndex = position20, tokenIndex20 | 
|  | if buffer[position] != rune(';') { | 
|  | goto l5 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l20: | 
|  | } | 
|  | l9: | 
|  | add(ruleStatement, position6) | 
|  | } | 
|  | return true | 
|  | l5: | 
|  | position, tokenIndex = position5, tokenIndex5 | 
|  | return false | 
|  | }, | 
|  | /* 2 GlobalDirective <- <((('.' ('g' / 'G') ('l' / 'L') ('o' / 'O') ('b' / 'B') ('a' / 'A') ('l' / 'L')) / ('.' ('g' / 'G') ('l' / 'L') ('o' / 'O') ('b' / 'B') ('l' / 'L'))) WS SymbolName)> */ | 
|  | func() bool { | 
|  | position24, tokenIndex24 := position, tokenIndex | 
|  | { | 
|  | position25 := position | 
|  | { | 
|  | position26, tokenIndex26 := position, tokenIndex | 
|  | if buffer[position] != rune('.') { | 
|  | goto l27 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position28, tokenIndex28 := position, tokenIndex | 
|  | if buffer[position] != rune('g') { | 
|  | goto l29 | 
|  | } | 
|  | position++ | 
|  | goto l28 | 
|  | l29: | 
|  | position, tokenIndex = position28, tokenIndex28 | 
|  | if buffer[position] != rune('G') { | 
|  | goto l27 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l28: | 
|  | { | 
|  | position30, tokenIndex30 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l31 | 
|  | } | 
|  | position++ | 
|  | goto l30 | 
|  | l31: | 
|  | position, tokenIndex = position30, tokenIndex30 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l27 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l30: | 
|  | { | 
|  | position32, tokenIndex32 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l33 | 
|  | } | 
|  | position++ | 
|  | goto l32 | 
|  | l33: | 
|  | position, tokenIndex = position32, tokenIndex32 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l27 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l32: | 
|  | { | 
|  | position34, tokenIndex34 := position, tokenIndex | 
|  | if buffer[position] != rune('b') { | 
|  | goto l35 | 
|  | } | 
|  | position++ | 
|  | goto l34 | 
|  | l35: | 
|  | position, tokenIndex = position34, tokenIndex34 | 
|  | if buffer[position] != rune('B') { | 
|  | goto l27 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l34: | 
|  | { | 
|  | position36, tokenIndex36 := position, tokenIndex | 
|  | if buffer[position] != rune('a') { | 
|  | goto l37 | 
|  | } | 
|  | position++ | 
|  | goto l36 | 
|  | l37: | 
|  | position, tokenIndex = position36, tokenIndex36 | 
|  | if buffer[position] != rune('A') { | 
|  | goto l27 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l36: | 
|  | { | 
|  | position38, tokenIndex38 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l39 | 
|  | } | 
|  | position++ | 
|  | goto l38 | 
|  | l39: | 
|  | position, tokenIndex = position38, tokenIndex38 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l27 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l38: | 
|  | goto l26 | 
|  | l27: | 
|  | position, tokenIndex = position26, tokenIndex26 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l24 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position40, tokenIndex40 := position, tokenIndex | 
|  | if buffer[position] != rune('g') { | 
|  | goto l41 | 
|  | } | 
|  | position++ | 
|  | goto l40 | 
|  | l41: | 
|  | position, tokenIndex = position40, tokenIndex40 | 
|  | if buffer[position] != rune('G') { | 
|  | goto l24 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l40: | 
|  | { | 
|  | position42, tokenIndex42 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l43 | 
|  | } | 
|  | position++ | 
|  | goto l42 | 
|  | l43: | 
|  | position, tokenIndex = position42, tokenIndex42 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l24 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l42: | 
|  | { | 
|  | position44, tokenIndex44 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l45 | 
|  | } | 
|  | position++ | 
|  | goto l44 | 
|  | l45: | 
|  | position, tokenIndex = position44, tokenIndex44 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l24 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l44: | 
|  | { | 
|  | position46, tokenIndex46 := position, tokenIndex | 
|  | if buffer[position] != rune('b') { | 
|  | goto l47 | 
|  | } | 
|  | position++ | 
|  | goto l46 | 
|  | l47: | 
|  | position, tokenIndex = position46, tokenIndex46 | 
|  | if buffer[position] != rune('B') { | 
|  | goto l24 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l46: | 
|  | { | 
|  | position48, tokenIndex48 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l49 | 
|  | } | 
|  | position++ | 
|  | goto l48 | 
|  | l49: | 
|  | position, tokenIndex = position48, tokenIndex48 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l24 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l48: | 
|  | } | 
|  | l26: | 
|  | if !_rules[ruleWS]() { | 
|  | goto l24 | 
|  | } | 
|  | if !_rules[ruleSymbolName]() { | 
|  | goto l24 | 
|  | } | 
|  | add(ruleGlobalDirective, position25) | 
|  | } | 
|  | return true | 
|  | l24: | 
|  | position, tokenIndex = position24, tokenIndex24 | 
|  | return false | 
|  | }, | 
|  | /* 3 Directive <- <('.' DirectiveName (WS Args)?)> */ | 
|  | func() bool { | 
|  | position50, tokenIndex50 := position, tokenIndex | 
|  | { | 
|  | position51 := position | 
|  | if buffer[position] != rune('.') { | 
|  | goto l50 | 
|  | } | 
|  | position++ | 
|  | if !_rules[ruleDirectiveName]() { | 
|  | goto l50 | 
|  | } | 
|  | { | 
|  | position52, tokenIndex52 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l52 | 
|  | } | 
|  | if !_rules[ruleArgs]() { | 
|  | goto l52 | 
|  | } | 
|  | goto l53 | 
|  | l52: | 
|  | position, tokenIndex = position52, tokenIndex52 | 
|  | } | 
|  | l53: | 
|  | add(ruleDirective, position51) | 
|  | } | 
|  | return true | 
|  | l50: | 
|  | position, tokenIndex = position50, tokenIndex50 | 
|  | return false | 
|  | }, | 
|  | /* 4 DirectiveName <- <([a-z] / [A-Z] / ([0-9] / [0-9]) / '_')+> */ | 
|  | func() bool { | 
|  | position54, tokenIndex54 := position, tokenIndex | 
|  | { | 
|  | position55 := position | 
|  | { | 
|  | position58, tokenIndex58 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l59 | 
|  | } | 
|  | position++ | 
|  | goto l58 | 
|  | l59: | 
|  | position, tokenIndex = position58, tokenIndex58 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l60 | 
|  | } | 
|  | position++ | 
|  | goto l58 | 
|  | l60: | 
|  | position, tokenIndex = position58, tokenIndex58 | 
|  | { | 
|  | position62, tokenIndex62 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l63 | 
|  | } | 
|  | position++ | 
|  | goto l62 | 
|  | l63: | 
|  | position, tokenIndex = position62, tokenIndex62 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l61 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l62: | 
|  | goto l58 | 
|  | l61: | 
|  | position, tokenIndex = position58, tokenIndex58 | 
|  | if buffer[position] != rune('_') { | 
|  | goto l54 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l58: | 
|  | l56: | 
|  | { | 
|  | position57, tokenIndex57 := position, tokenIndex | 
|  | { | 
|  | position64, tokenIndex64 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l65 | 
|  | } | 
|  | position++ | 
|  | goto l64 | 
|  | l65: | 
|  | position, tokenIndex = position64, tokenIndex64 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l66 | 
|  | } | 
|  | position++ | 
|  | goto l64 | 
|  | l66: | 
|  | position, tokenIndex = position64, tokenIndex64 | 
|  | { | 
|  | position68, tokenIndex68 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l69 | 
|  | } | 
|  | position++ | 
|  | goto l68 | 
|  | l69: | 
|  | position, tokenIndex = position68, tokenIndex68 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l67 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l68: | 
|  | goto l64 | 
|  | l67: | 
|  | position, tokenIndex = position64, tokenIndex64 | 
|  | if buffer[position] != rune('_') { | 
|  | goto l57 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l64: | 
|  | goto l56 | 
|  | l57: | 
|  | position, tokenIndex = position57, tokenIndex57 | 
|  | } | 
|  | add(ruleDirectiveName, position55) | 
|  | } | 
|  | return true | 
|  | l54: | 
|  | position, tokenIndex = position54, tokenIndex54 | 
|  | return false | 
|  | }, | 
|  | /* 5 LocationDirective <- <(FileDirective / LocDirective)> */ | 
|  | func() bool { | 
|  | position70, tokenIndex70 := position, tokenIndex | 
|  | { | 
|  | position71 := position | 
|  | { | 
|  | position72, tokenIndex72 := position, tokenIndex | 
|  | if !_rules[ruleFileDirective]() { | 
|  | goto l73 | 
|  | } | 
|  | goto l72 | 
|  | l73: | 
|  | position, tokenIndex = position72, tokenIndex72 | 
|  | if !_rules[ruleLocDirective]() { | 
|  | goto l70 | 
|  | } | 
|  | } | 
|  | l72: | 
|  | add(ruleLocationDirective, position71) | 
|  | } | 
|  | return true | 
|  | l70: | 
|  | position, tokenIndex = position70, tokenIndex70 | 
|  | return false | 
|  | }, | 
|  | /* 6 FileDirective <- <('.' ('f' / 'F') ('i' / 'I') ('l' / 'L') ('e' / 'E') WS (!('#' / '\n') .)+)> */ | 
|  | func() bool { | 
|  | position74, tokenIndex74 := position, tokenIndex | 
|  | { | 
|  | position75 := position | 
|  | if buffer[position] != rune('.') { | 
|  | goto l74 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position76, tokenIndex76 := position, tokenIndex | 
|  | if buffer[position] != rune('f') { | 
|  | goto l77 | 
|  | } | 
|  | position++ | 
|  | goto l76 | 
|  | l77: | 
|  | position, tokenIndex = position76, tokenIndex76 | 
|  | if buffer[position] != rune('F') { | 
|  | goto l74 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l76: | 
|  | { | 
|  | position78, tokenIndex78 := position, tokenIndex | 
|  | if buffer[position] != rune('i') { | 
|  | goto l79 | 
|  | } | 
|  | position++ | 
|  | goto l78 | 
|  | l79: | 
|  | position, tokenIndex = position78, tokenIndex78 | 
|  | if buffer[position] != rune('I') { | 
|  | goto l74 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l78: | 
|  | { | 
|  | position80, tokenIndex80 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l81 | 
|  | } | 
|  | position++ | 
|  | goto l80 | 
|  | l81: | 
|  | position, tokenIndex = position80, tokenIndex80 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l74 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l80: | 
|  | { | 
|  | position82, tokenIndex82 := position, tokenIndex | 
|  | if buffer[position] != rune('e') { | 
|  | goto l83 | 
|  | } | 
|  | position++ | 
|  | goto l82 | 
|  | l83: | 
|  | position, tokenIndex = position82, tokenIndex82 | 
|  | if buffer[position] != rune('E') { | 
|  | goto l74 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l82: | 
|  | if !_rules[ruleWS]() { | 
|  | goto l74 | 
|  | } | 
|  | { | 
|  | position86, tokenIndex86 := position, tokenIndex | 
|  | { | 
|  | position87, tokenIndex87 := position, tokenIndex | 
|  | if buffer[position] != rune('#') { | 
|  | goto l88 | 
|  | } | 
|  | position++ | 
|  | goto l87 | 
|  | l88: | 
|  | position, tokenIndex = position87, tokenIndex87 | 
|  | if buffer[position] != rune('\n') { | 
|  | goto l86 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l87: | 
|  | goto l74 | 
|  | l86: | 
|  | position, tokenIndex = position86, tokenIndex86 | 
|  | } | 
|  | if !matchDot() { | 
|  | goto l74 | 
|  | } | 
|  | l84: | 
|  | { | 
|  | position85, tokenIndex85 := position, tokenIndex | 
|  | { | 
|  | position89, tokenIndex89 := position, tokenIndex | 
|  | { | 
|  | position90, tokenIndex90 := position, tokenIndex | 
|  | if buffer[position] != rune('#') { | 
|  | goto l91 | 
|  | } | 
|  | position++ | 
|  | goto l90 | 
|  | l91: | 
|  | position, tokenIndex = position90, tokenIndex90 | 
|  | if buffer[position] != rune('\n') { | 
|  | goto l89 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l90: | 
|  | goto l85 | 
|  | l89: | 
|  | position, tokenIndex = position89, tokenIndex89 | 
|  | } | 
|  | if !matchDot() { | 
|  | goto l85 | 
|  | } | 
|  | goto l84 | 
|  | l85: | 
|  | position, tokenIndex = position85, tokenIndex85 | 
|  | } | 
|  | add(ruleFileDirective, position75) | 
|  | } | 
|  | return true | 
|  | l74: | 
|  | position, tokenIndex = position74, tokenIndex74 | 
|  | return false | 
|  | }, | 
|  | /* 7 LocDirective <- <('.' ('l' / 'L') ('o' / 'O') ('c' / 'C') WS (!('#' / '/' / '\n') .)+)> */ | 
|  | func() bool { | 
|  | position92, tokenIndex92 := position, tokenIndex | 
|  | { | 
|  | position93 := position | 
|  | if buffer[position] != rune('.') { | 
|  | goto l92 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position94, tokenIndex94 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l95 | 
|  | } | 
|  | position++ | 
|  | goto l94 | 
|  | l95: | 
|  | position, tokenIndex = position94, tokenIndex94 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l92 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l94: | 
|  | { | 
|  | position96, tokenIndex96 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l97 | 
|  | } | 
|  | position++ | 
|  | goto l96 | 
|  | l97: | 
|  | position, tokenIndex = position96, tokenIndex96 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l92 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l96: | 
|  | { | 
|  | position98, tokenIndex98 := position, tokenIndex | 
|  | if buffer[position] != rune('c') { | 
|  | goto l99 | 
|  | } | 
|  | position++ | 
|  | goto l98 | 
|  | l99: | 
|  | position, tokenIndex = position98, tokenIndex98 | 
|  | if buffer[position] != rune('C') { | 
|  | goto l92 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l98: | 
|  | if !_rules[ruleWS]() { | 
|  | goto l92 | 
|  | } | 
|  | { | 
|  | position102, tokenIndex102 := position, tokenIndex | 
|  | { | 
|  | position103, tokenIndex103 := position, tokenIndex | 
|  | if buffer[position] != rune('#') { | 
|  | goto l104 | 
|  | } | 
|  | position++ | 
|  | goto l103 | 
|  | l104: | 
|  | position, tokenIndex = position103, tokenIndex103 | 
|  | if buffer[position] != rune('/') { | 
|  | goto l105 | 
|  | } | 
|  | position++ | 
|  | goto l103 | 
|  | l105: | 
|  | position, tokenIndex = position103, tokenIndex103 | 
|  | if buffer[position] != rune('\n') { | 
|  | goto l102 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l103: | 
|  | goto l92 | 
|  | l102: | 
|  | position, tokenIndex = position102, tokenIndex102 | 
|  | } | 
|  | if !matchDot() { | 
|  | goto l92 | 
|  | } | 
|  | l100: | 
|  | { | 
|  | position101, tokenIndex101 := position, tokenIndex | 
|  | { | 
|  | position106, tokenIndex106 := position, tokenIndex | 
|  | { | 
|  | position107, tokenIndex107 := position, tokenIndex | 
|  | if buffer[position] != rune('#') { | 
|  | goto l108 | 
|  | } | 
|  | position++ | 
|  | goto l107 | 
|  | l108: | 
|  | position, tokenIndex = position107, tokenIndex107 | 
|  | if buffer[position] != rune('/') { | 
|  | goto l109 | 
|  | } | 
|  | position++ | 
|  | goto l107 | 
|  | l109: | 
|  | position, tokenIndex = position107, tokenIndex107 | 
|  | if buffer[position] != rune('\n') { | 
|  | goto l106 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l107: | 
|  | goto l101 | 
|  | l106: | 
|  | position, tokenIndex = position106, tokenIndex106 | 
|  | } | 
|  | if !matchDot() { | 
|  | goto l101 | 
|  | } | 
|  | goto l100 | 
|  | l101: | 
|  | position, tokenIndex = position101, tokenIndex101 | 
|  | } | 
|  | add(ruleLocDirective, position93) | 
|  | } | 
|  | return true | 
|  | l92: | 
|  | position, tokenIndex = position92, tokenIndex92 | 
|  | return false | 
|  | }, | 
|  | /* 8 Args <- <(Arg (WS? ',' WS? Arg)*)> */ | 
|  | func() bool { | 
|  | position110, tokenIndex110 := position, tokenIndex | 
|  | { | 
|  | position111 := position | 
|  | if !_rules[ruleArg]() { | 
|  | goto l110 | 
|  | } | 
|  | l112: | 
|  | { | 
|  | position113, tokenIndex113 := position, tokenIndex | 
|  | { | 
|  | position114, tokenIndex114 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l114 | 
|  | } | 
|  | goto l115 | 
|  | l114: | 
|  | position, tokenIndex = position114, tokenIndex114 | 
|  | } | 
|  | l115: | 
|  | if buffer[position] != rune(',') { | 
|  | goto l113 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position116, tokenIndex116 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l116 | 
|  | } | 
|  | goto l117 | 
|  | l116: | 
|  | position, tokenIndex = position116, tokenIndex116 | 
|  | } | 
|  | l117: | 
|  | if !_rules[ruleArg]() { | 
|  | goto l113 | 
|  | } | 
|  | goto l112 | 
|  | l113: | 
|  | position, tokenIndex = position113, tokenIndex113 | 
|  | } | 
|  | add(ruleArgs, position111) | 
|  | } | 
|  | return true | 
|  | l110: | 
|  | position, tokenIndex = position110, tokenIndex110 | 
|  | return false | 
|  | }, | 
|  | /* 9 Arg <- <(QuotedArg / ([0-9] / [0-9] / ([a-z] / [A-Z]) / '%' / '+' / '-' / '*' / '_' / '@' / '.')*)> */ | 
|  | func() bool { | 
|  | { | 
|  | position119 := position | 
|  | { | 
|  | position120, tokenIndex120 := position, tokenIndex | 
|  | if !_rules[ruleQuotedArg]() { | 
|  | goto l121 | 
|  | } | 
|  | goto l120 | 
|  | l121: | 
|  | position, tokenIndex = position120, tokenIndex120 | 
|  | l122: | 
|  | { | 
|  | position123, tokenIndex123 := position, tokenIndex | 
|  | { | 
|  | position124, tokenIndex124 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l125 | 
|  | } | 
|  | position++ | 
|  | goto l124 | 
|  | l125: | 
|  | position, tokenIndex = position124, tokenIndex124 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l126 | 
|  | } | 
|  | position++ | 
|  | goto l124 | 
|  | l126: | 
|  | position, tokenIndex = position124, tokenIndex124 | 
|  | { | 
|  | position128, tokenIndex128 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l129 | 
|  | } | 
|  | position++ | 
|  | goto l128 | 
|  | l129: | 
|  | position, tokenIndex = position128, tokenIndex128 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l127 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l128: | 
|  | goto l124 | 
|  | l127: | 
|  | position, tokenIndex = position124, tokenIndex124 | 
|  | if buffer[position] != rune('%') { | 
|  | goto l130 | 
|  | } | 
|  | position++ | 
|  | goto l124 | 
|  | l130: | 
|  | position, tokenIndex = position124, tokenIndex124 | 
|  | if buffer[position] != rune('+') { | 
|  | goto l131 | 
|  | } | 
|  | position++ | 
|  | goto l124 | 
|  | l131: | 
|  | position, tokenIndex = position124, tokenIndex124 | 
|  | if buffer[position] != rune('-') { | 
|  | goto l132 | 
|  | } | 
|  | position++ | 
|  | goto l124 | 
|  | l132: | 
|  | position, tokenIndex = position124, tokenIndex124 | 
|  | if buffer[position] != rune('*') { | 
|  | goto l133 | 
|  | } | 
|  | position++ | 
|  | goto l124 | 
|  | l133: | 
|  | position, tokenIndex = position124, tokenIndex124 | 
|  | if buffer[position] != rune('_') { | 
|  | goto l134 | 
|  | } | 
|  | position++ | 
|  | goto l124 | 
|  | l134: | 
|  | position, tokenIndex = position124, tokenIndex124 | 
|  | if buffer[position] != rune('@') { | 
|  | goto l135 | 
|  | } | 
|  | position++ | 
|  | goto l124 | 
|  | l135: | 
|  | position, tokenIndex = position124, tokenIndex124 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l123 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l124: | 
|  | goto l122 | 
|  | l123: | 
|  | position, tokenIndex = position123, tokenIndex123 | 
|  | } | 
|  | } | 
|  | l120: | 
|  | add(ruleArg, position119) | 
|  | } | 
|  | return true | 
|  | }, | 
|  | /* 10 QuotedArg <- <('"' QuotedText '"')> */ | 
|  | func() bool { | 
|  | position136, tokenIndex136 := position, tokenIndex | 
|  | { | 
|  | position137 := position | 
|  | if buffer[position] != rune('"') { | 
|  | goto l136 | 
|  | } | 
|  | position++ | 
|  | if !_rules[ruleQuotedText]() { | 
|  | goto l136 | 
|  | } | 
|  | if buffer[position] != rune('"') { | 
|  | goto l136 | 
|  | } | 
|  | position++ | 
|  | add(ruleQuotedArg, position137) | 
|  | } | 
|  | return true | 
|  | l136: | 
|  | position, tokenIndex = position136, tokenIndex136 | 
|  | return false | 
|  | }, | 
|  | /* 11 QuotedText <- <(EscapedChar / (!'"' .))*> */ | 
|  | func() bool { | 
|  | { | 
|  | position139 := position | 
|  | l140: | 
|  | { | 
|  | position141, tokenIndex141 := position, tokenIndex | 
|  | { | 
|  | position142, tokenIndex142 := position, tokenIndex | 
|  | if !_rules[ruleEscapedChar]() { | 
|  | goto l143 | 
|  | } | 
|  | goto l142 | 
|  | l143: | 
|  | position, tokenIndex = position142, tokenIndex142 | 
|  | { | 
|  | position144, tokenIndex144 := position, tokenIndex | 
|  | if buffer[position] != rune('"') { | 
|  | goto l144 | 
|  | } | 
|  | position++ | 
|  | goto l141 | 
|  | l144: | 
|  | position, tokenIndex = position144, tokenIndex144 | 
|  | } | 
|  | if !matchDot() { | 
|  | goto l141 | 
|  | } | 
|  | } | 
|  | l142: | 
|  | goto l140 | 
|  | l141: | 
|  | position, tokenIndex = position141, tokenIndex141 | 
|  | } | 
|  | add(ruleQuotedText, position139) | 
|  | } | 
|  | return true | 
|  | }, | 
|  | /* 12 LabelContainingDirective <- <(LabelContainingDirectiveName WS SymbolArgs)> */ | 
|  | func() bool { | 
|  | position145, tokenIndex145 := position, tokenIndex | 
|  | { | 
|  | position146 := position | 
|  | if !_rules[ruleLabelContainingDirectiveName]() { | 
|  | goto l145 | 
|  | } | 
|  | if !_rules[ruleWS]() { | 
|  | goto l145 | 
|  | } | 
|  | if !_rules[ruleSymbolArgs]() { | 
|  | goto l145 | 
|  | } | 
|  | add(ruleLabelContainingDirective, position146) | 
|  | } | 
|  | return true | 
|  | l145: | 
|  | position, tokenIndex = position145, tokenIndex145 | 
|  | return false | 
|  | }, | 
|  | /* 13 LabelContainingDirectiveName <- <(('.' ('x' / 'X') ('w' / 'W') ('o' / 'O') ('r' / 'R') ('d' / 'D')) / ('.' ('w' / 'W') ('o' / 'O') ('r' / 'R') ('d' / 'D')) / ('.' ('h' / 'H') ('w' / 'W') ('o' / 'O') ('r' / 'R') ('d' / 'D')) / ('.' ('l' / 'L') ('o' / 'O') ('n' / 'N') ('g' / 'G')) / ('.' ('s' / 'S') ('e' / 'E') ('t' / 'T')) / ('.' ('b' / 'B') ('y' / 'Y') ('t' / 'T') ('e' / 'E')) / ('.' '8' ('b' / 'B') ('y' / 'Y') ('t' / 'T') ('e' / 'E')) / ('.' '4' ('b' / 'B') ('y' / 'Y') ('t' / 'T') ('e' / 'E')) / ('.' ('q' / 'Q') ('u' / 'U') ('a' / 'A') ('d' / 'D')) / ('.' ('t' / 'T') ('c' / 'C')) / ('.' ('l' / 'L') ('o' / 'O') ('c' / 'C') ('a' / 'A') ('l' / 'L') ('e' / 'E') ('n' / 'N') ('t' / 'T') ('r' / 'R') ('y' / 'Y')) / ('.' ('s' / 'S') ('i' / 'I') ('z' / 'Z') ('e' / 'E')) / ('.' ('t' / 'T') ('y' / 'Y') ('p' / 'P') ('e' / 'E')) / ('.' ('u' / 'U') ('l' / 'L') ('e' / 'E') ('b' / 'B') '1' '2' '8') / ('.' ('s' / 'S') ('l' / 'L') ('e' / 'E') ('b' / 'B') '1' '2' '8'))> */ | 
|  | func() bool { | 
|  | position147, tokenIndex147 := position, tokenIndex | 
|  | { | 
|  | position148 := position | 
|  | { | 
|  | position149, tokenIndex149 := position, tokenIndex | 
|  | if buffer[position] != rune('.') { | 
|  | goto l150 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position151, tokenIndex151 := position, tokenIndex | 
|  | if buffer[position] != rune('x') { | 
|  | goto l152 | 
|  | } | 
|  | position++ | 
|  | goto l151 | 
|  | l152: | 
|  | position, tokenIndex = position151, tokenIndex151 | 
|  | if buffer[position] != rune('X') { | 
|  | goto l150 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l151: | 
|  | { | 
|  | position153, tokenIndex153 := position, tokenIndex | 
|  | if buffer[position] != rune('w') { | 
|  | goto l154 | 
|  | } | 
|  | position++ | 
|  | goto l153 | 
|  | l154: | 
|  | position, tokenIndex = position153, tokenIndex153 | 
|  | if buffer[position] != rune('W') { | 
|  | goto l150 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l153: | 
|  | { | 
|  | position155, tokenIndex155 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l156 | 
|  | } | 
|  | position++ | 
|  | goto l155 | 
|  | l156: | 
|  | position, tokenIndex = position155, tokenIndex155 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l150 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l155: | 
|  | { | 
|  | position157, tokenIndex157 := position, tokenIndex | 
|  | if buffer[position] != rune('r') { | 
|  | goto l158 | 
|  | } | 
|  | position++ | 
|  | goto l157 | 
|  | l158: | 
|  | position, tokenIndex = position157, tokenIndex157 | 
|  | if buffer[position] != rune('R') { | 
|  | goto l150 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l157: | 
|  | { | 
|  | position159, tokenIndex159 := position, tokenIndex | 
|  | if buffer[position] != rune('d') { | 
|  | goto l160 | 
|  | } | 
|  | position++ | 
|  | goto l159 | 
|  | l160: | 
|  | position, tokenIndex = position159, tokenIndex159 | 
|  | if buffer[position] != rune('D') { | 
|  | goto l150 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l159: | 
|  | goto l149 | 
|  | l150: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l161 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position162, tokenIndex162 := position, tokenIndex | 
|  | if buffer[position] != rune('w') { | 
|  | goto l163 | 
|  | } | 
|  | position++ | 
|  | goto l162 | 
|  | l163: | 
|  | position, tokenIndex = position162, tokenIndex162 | 
|  | if buffer[position] != rune('W') { | 
|  | goto l161 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l162: | 
|  | { | 
|  | position164, tokenIndex164 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l165 | 
|  | } | 
|  | position++ | 
|  | goto l164 | 
|  | l165: | 
|  | position, tokenIndex = position164, tokenIndex164 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l161 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l164: | 
|  | { | 
|  | position166, tokenIndex166 := position, tokenIndex | 
|  | if buffer[position] != rune('r') { | 
|  | goto l167 | 
|  | } | 
|  | position++ | 
|  | goto l166 | 
|  | l167: | 
|  | position, tokenIndex = position166, tokenIndex166 | 
|  | if buffer[position] != rune('R') { | 
|  | goto l161 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l166: | 
|  | { | 
|  | position168, tokenIndex168 := position, tokenIndex | 
|  | if buffer[position] != rune('d') { | 
|  | goto l169 | 
|  | } | 
|  | position++ | 
|  | goto l168 | 
|  | l169: | 
|  | position, tokenIndex = position168, tokenIndex168 | 
|  | if buffer[position] != rune('D') { | 
|  | goto l161 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l168: | 
|  | goto l149 | 
|  | l161: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l170 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position171, tokenIndex171 := position, tokenIndex | 
|  | if buffer[position] != rune('h') { | 
|  | goto l172 | 
|  | } | 
|  | position++ | 
|  | goto l171 | 
|  | l172: | 
|  | position, tokenIndex = position171, tokenIndex171 | 
|  | if buffer[position] != rune('H') { | 
|  | goto l170 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l171: | 
|  | { | 
|  | position173, tokenIndex173 := position, tokenIndex | 
|  | if buffer[position] != rune('w') { | 
|  | goto l174 | 
|  | } | 
|  | position++ | 
|  | goto l173 | 
|  | l174: | 
|  | position, tokenIndex = position173, tokenIndex173 | 
|  | if buffer[position] != rune('W') { | 
|  | goto l170 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l173: | 
|  | { | 
|  | position175, tokenIndex175 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l176 | 
|  | } | 
|  | position++ | 
|  | goto l175 | 
|  | l176: | 
|  | position, tokenIndex = position175, tokenIndex175 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l170 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l175: | 
|  | { | 
|  | position177, tokenIndex177 := position, tokenIndex | 
|  | if buffer[position] != rune('r') { | 
|  | goto l178 | 
|  | } | 
|  | position++ | 
|  | goto l177 | 
|  | l178: | 
|  | position, tokenIndex = position177, tokenIndex177 | 
|  | if buffer[position] != rune('R') { | 
|  | goto l170 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l177: | 
|  | { | 
|  | position179, tokenIndex179 := position, tokenIndex | 
|  | if buffer[position] != rune('d') { | 
|  | goto l180 | 
|  | } | 
|  | position++ | 
|  | goto l179 | 
|  | l180: | 
|  | position, tokenIndex = position179, tokenIndex179 | 
|  | if buffer[position] != rune('D') { | 
|  | goto l170 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l179: | 
|  | goto l149 | 
|  | l170: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l181 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position182, tokenIndex182 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l183 | 
|  | } | 
|  | position++ | 
|  | goto l182 | 
|  | l183: | 
|  | position, tokenIndex = position182, tokenIndex182 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l181 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l182: | 
|  | { | 
|  | position184, tokenIndex184 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l185 | 
|  | } | 
|  | position++ | 
|  | goto l184 | 
|  | l185: | 
|  | position, tokenIndex = position184, tokenIndex184 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l181 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l184: | 
|  | { | 
|  | position186, tokenIndex186 := position, tokenIndex | 
|  | if buffer[position] != rune('n') { | 
|  | goto l187 | 
|  | } | 
|  | position++ | 
|  | goto l186 | 
|  | l187: | 
|  | position, tokenIndex = position186, tokenIndex186 | 
|  | if buffer[position] != rune('N') { | 
|  | goto l181 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l186: | 
|  | { | 
|  | position188, tokenIndex188 := position, tokenIndex | 
|  | if buffer[position] != rune('g') { | 
|  | goto l189 | 
|  | } | 
|  | position++ | 
|  | goto l188 | 
|  | l189: | 
|  | position, tokenIndex = position188, tokenIndex188 | 
|  | if buffer[position] != rune('G') { | 
|  | goto l181 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l188: | 
|  | goto l149 | 
|  | l181: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l190 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position191, tokenIndex191 := position, tokenIndex | 
|  | if buffer[position] != rune('s') { | 
|  | goto l192 | 
|  | } | 
|  | position++ | 
|  | goto l191 | 
|  | l192: | 
|  | position, tokenIndex = position191, tokenIndex191 | 
|  | if buffer[position] != rune('S') { | 
|  | goto l190 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l191: | 
|  | { | 
|  | position193, tokenIndex193 := position, tokenIndex | 
|  | if buffer[position] != rune('e') { | 
|  | goto l194 | 
|  | } | 
|  | position++ | 
|  | goto l193 | 
|  | l194: | 
|  | position, tokenIndex = position193, tokenIndex193 | 
|  | if buffer[position] != rune('E') { | 
|  | goto l190 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l193: | 
|  | { | 
|  | position195, tokenIndex195 := position, tokenIndex | 
|  | if buffer[position] != rune('t') { | 
|  | goto l196 | 
|  | } | 
|  | position++ | 
|  | goto l195 | 
|  | l196: | 
|  | position, tokenIndex = position195, tokenIndex195 | 
|  | if buffer[position] != rune('T') { | 
|  | goto l190 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l195: | 
|  | goto l149 | 
|  | l190: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l197 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position198, tokenIndex198 := position, tokenIndex | 
|  | if buffer[position] != rune('b') { | 
|  | goto l199 | 
|  | } | 
|  | position++ | 
|  | goto l198 | 
|  | l199: | 
|  | position, tokenIndex = position198, tokenIndex198 | 
|  | if buffer[position] != rune('B') { | 
|  | goto l197 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l198: | 
|  | { | 
|  | position200, tokenIndex200 := position, tokenIndex | 
|  | if buffer[position] != rune('y') { | 
|  | goto l201 | 
|  | } | 
|  | position++ | 
|  | goto l200 | 
|  | l201: | 
|  | position, tokenIndex = position200, tokenIndex200 | 
|  | if buffer[position] != rune('Y') { | 
|  | goto l197 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l200: | 
|  | { | 
|  | position202, tokenIndex202 := position, tokenIndex | 
|  | if buffer[position] != rune('t') { | 
|  | goto l203 | 
|  | } | 
|  | position++ | 
|  | goto l202 | 
|  | l203: | 
|  | position, tokenIndex = position202, tokenIndex202 | 
|  | if buffer[position] != rune('T') { | 
|  | goto l197 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l202: | 
|  | { | 
|  | position204, tokenIndex204 := position, tokenIndex | 
|  | if buffer[position] != rune('e') { | 
|  | goto l205 | 
|  | } | 
|  | position++ | 
|  | goto l204 | 
|  | l205: | 
|  | position, tokenIndex = position204, tokenIndex204 | 
|  | if buffer[position] != rune('E') { | 
|  | goto l197 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l204: | 
|  | goto l149 | 
|  | l197: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l206 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('8') { | 
|  | goto l206 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position207, tokenIndex207 := position, tokenIndex | 
|  | if buffer[position] != rune('b') { | 
|  | goto l208 | 
|  | } | 
|  | position++ | 
|  | goto l207 | 
|  | l208: | 
|  | position, tokenIndex = position207, tokenIndex207 | 
|  | if buffer[position] != rune('B') { | 
|  | goto l206 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l207: | 
|  | { | 
|  | position209, tokenIndex209 := position, tokenIndex | 
|  | if buffer[position] != rune('y') { | 
|  | goto l210 | 
|  | } | 
|  | position++ | 
|  | goto l209 | 
|  | l210: | 
|  | position, tokenIndex = position209, tokenIndex209 | 
|  | if buffer[position] != rune('Y') { | 
|  | goto l206 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l209: | 
|  | { | 
|  | position211, tokenIndex211 := position, tokenIndex | 
|  | if buffer[position] != rune('t') { | 
|  | goto l212 | 
|  | } | 
|  | position++ | 
|  | goto l211 | 
|  | l212: | 
|  | position, tokenIndex = position211, tokenIndex211 | 
|  | if buffer[position] != rune('T') { | 
|  | goto l206 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l211: | 
|  | { | 
|  | position213, tokenIndex213 := position, tokenIndex | 
|  | if buffer[position] != rune('e') { | 
|  | goto l214 | 
|  | } | 
|  | position++ | 
|  | goto l213 | 
|  | l214: | 
|  | position, tokenIndex = position213, tokenIndex213 | 
|  | if buffer[position] != rune('E') { | 
|  | goto l206 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l213: | 
|  | goto l149 | 
|  | l206: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l215 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('4') { | 
|  | goto l215 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position216, tokenIndex216 := position, tokenIndex | 
|  | if buffer[position] != rune('b') { | 
|  | goto l217 | 
|  | } | 
|  | position++ | 
|  | goto l216 | 
|  | l217: | 
|  | position, tokenIndex = position216, tokenIndex216 | 
|  | if buffer[position] != rune('B') { | 
|  | goto l215 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l216: | 
|  | { | 
|  | position218, tokenIndex218 := position, tokenIndex | 
|  | if buffer[position] != rune('y') { | 
|  | goto l219 | 
|  | } | 
|  | position++ | 
|  | goto l218 | 
|  | l219: | 
|  | position, tokenIndex = position218, tokenIndex218 | 
|  | if buffer[position] != rune('Y') { | 
|  | goto l215 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l218: | 
|  | { | 
|  | position220, tokenIndex220 := position, tokenIndex | 
|  | if buffer[position] != rune('t') { | 
|  | goto l221 | 
|  | } | 
|  | position++ | 
|  | goto l220 | 
|  | l221: | 
|  | position, tokenIndex = position220, tokenIndex220 | 
|  | if buffer[position] != rune('T') { | 
|  | goto l215 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l220: | 
|  | { | 
|  | position222, tokenIndex222 := position, tokenIndex | 
|  | if buffer[position] != rune('e') { | 
|  | goto l223 | 
|  | } | 
|  | position++ | 
|  | goto l222 | 
|  | l223: | 
|  | position, tokenIndex = position222, tokenIndex222 | 
|  | if buffer[position] != rune('E') { | 
|  | goto l215 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l222: | 
|  | goto l149 | 
|  | l215: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l224 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position225, tokenIndex225 := position, tokenIndex | 
|  | if buffer[position] != rune('q') { | 
|  | goto l226 | 
|  | } | 
|  | position++ | 
|  | goto l225 | 
|  | l226: | 
|  | position, tokenIndex = position225, tokenIndex225 | 
|  | if buffer[position] != rune('Q') { | 
|  | goto l224 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l225: | 
|  | { | 
|  | position227, tokenIndex227 := position, tokenIndex | 
|  | if buffer[position] != rune('u') { | 
|  | goto l228 | 
|  | } | 
|  | position++ | 
|  | goto l227 | 
|  | l228: | 
|  | position, tokenIndex = position227, tokenIndex227 | 
|  | if buffer[position] != rune('U') { | 
|  | goto l224 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l227: | 
|  | { | 
|  | position229, tokenIndex229 := position, tokenIndex | 
|  | if buffer[position] != rune('a') { | 
|  | goto l230 | 
|  | } | 
|  | position++ | 
|  | goto l229 | 
|  | l230: | 
|  | position, tokenIndex = position229, tokenIndex229 | 
|  | if buffer[position] != rune('A') { | 
|  | goto l224 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l229: | 
|  | { | 
|  | position231, tokenIndex231 := position, tokenIndex | 
|  | if buffer[position] != rune('d') { | 
|  | goto l232 | 
|  | } | 
|  | position++ | 
|  | goto l231 | 
|  | l232: | 
|  | position, tokenIndex = position231, tokenIndex231 | 
|  | if buffer[position] != rune('D') { | 
|  | goto l224 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l231: | 
|  | goto l149 | 
|  | l224: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l233 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position234, tokenIndex234 := position, tokenIndex | 
|  | if buffer[position] != rune('t') { | 
|  | goto l235 | 
|  | } | 
|  | position++ | 
|  | goto l234 | 
|  | l235: | 
|  | position, tokenIndex = position234, tokenIndex234 | 
|  | if buffer[position] != rune('T') { | 
|  | goto l233 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l234: | 
|  | { | 
|  | position236, tokenIndex236 := position, tokenIndex | 
|  | if buffer[position] != rune('c') { | 
|  | goto l237 | 
|  | } | 
|  | position++ | 
|  | goto l236 | 
|  | l237: | 
|  | position, tokenIndex = position236, tokenIndex236 | 
|  | if buffer[position] != rune('C') { | 
|  | goto l233 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l236: | 
|  | goto l149 | 
|  | l233: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l238 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position239, tokenIndex239 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l240 | 
|  | } | 
|  | position++ | 
|  | goto l239 | 
|  | l240: | 
|  | position, tokenIndex = position239, tokenIndex239 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l238 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l239: | 
|  | { | 
|  | position241, tokenIndex241 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l242 | 
|  | } | 
|  | position++ | 
|  | goto l241 | 
|  | l242: | 
|  | position, tokenIndex = position241, tokenIndex241 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l238 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l241: | 
|  | { | 
|  | position243, tokenIndex243 := position, tokenIndex | 
|  | if buffer[position] != rune('c') { | 
|  | goto l244 | 
|  | } | 
|  | position++ | 
|  | goto l243 | 
|  | l244: | 
|  | position, tokenIndex = position243, tokenIndex243 | 
|  | if buffer[position] != rune('C') { | 
|  | goto l238 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l243: | 
|  | { | 
|  | position245, tokenIndex245 := position, tokenIndex | 
|  | if buffer[position] != rune('a') { | 
|  | goto l246 | 
|  | } | 
|  | position++ | 
|  | goto l245 | 
|  | l246: | 
|  | position, tokenIndex = position245, tokenIndex245 | 
|  | if buffer[position] != rune('A') { | 
|  | goto l238 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l245: | 
|  | { | 
|  | position247, tokenIndex247 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l248 | 
|  | } | 
|  | position++ | 
|  | goto l247 | 
|  | l248: | 
|  | position, tokenIndex = position247, tokenIndex247 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l238 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l247: | 
|  | { | 
|  | position249, tokenIndex249 := position, tokenIndex | 
|  | if buffer[position] != rune('e') { | 
|  | goto l250 | 
|  | } | 
|  | position++ | 
|  | goto l249 | 
|  | l250: | 
|  | position, tokenIndex = position249, tokenIndex249 | 
|  | if buffer[position] != rune('E') { | 
|  | goto l238 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l249: | 
|  | { | 
|  | position251, tokenIndex251 := position, tokenIndex | 
|  | if buffer[position] != rune('n') { | 
|  | goto l252 | 
|  | } | 
|  | position++ | 
|  | goto l251 | 
|  | l252: | 
|  | position, tokenIndex = position251, tokenIndex251 | 
|  | if buffer[position] != rune('N') { | 
|  | goto l238 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l251: | 
|  | { | 
|  | position253, tokenIndex253 := position, tokenIndex | 
|  | if buffer[position] != rune('t') { | 
|  | goto l254 | 
|  | } | 
|  | position++ | 
|  | goto l253 | 
|  | l254: | 
|  | position, tokenIndex = position253, tokenIndex253 | 
|  | if buffer[position] != rune('T') { | 
|  | goto l238 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l253: | 
|  | { | 
|  | position255, tokenIndex255 := position, tokenIndex | 
|  | if buffer[position] != rune('r') { | 
|  | goto l256 | 
|  | } | 
|  | position++ | 
|  | goto l255 | 
|  | l256: | 
|  | position, tokenIndex = position255, tokenIndex255 | 
|  | if buffer[position] != rune('R') { | 
|  | goto l238 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l255: | 
|  | { | 
|  | position257, tokenIndex257 := position, tokenIndex | 
|  | if buffer[position] != rune('y') { | 
|  | goto l258 | 
|  | } | 
|  | position++ | 
|  | goto l257 | 
|  | l258: | 
|  | position, tokenIndex = position257, tokenIndex257 | 
|  | if buffer[position] != rune('Y') { | 
|  | goto l238 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l257: | 
|  | goto l149 | 
|  | l238: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l259 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position260, tokenIndex260 := position, tokenIndex | 
|  | if buffer[position] != rune('s') { | 
|  | goto l261 | 
|  | } | 
|  | position++ | 
|  | goto l260 | 
|  | l261: | 
|  | position, tokenIndex = position260, tokenIndex260 | 
|  | if buffer[position] != rune('S') { | 
|  | goto l259 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l260: | 
|  | { | 
|  | position262, tokenIndex262 := position, tokenIndex | 
|  | if buffer[position] != rune('i') { | 
|  | goto l263 | 
|  | } | 
|  | position++ | 
|  | goto l262 | 
|  | l263: | 
|  | position, tokenIndex = position262, tokenIndex262 | 
|  | if buffer[position] != rune('I') { | 
|  | goto l259 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l262: | 
|  | { | 
|  | position264, tokenIndex264 := position, tokenIndex | 
|  | if buffer[position] != rune('z') { | 
|  | goto l265 | 
|  | } | 
|  | position++ | 
|  | goto l264 | 
|  | l265: | 
|  | position, tokenIndex = position264, tokenIndex264 | 
|  | if buffer[position] != rune('Z') { | 
|  | goto l259 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l264: | 
|  | { | 
|  | position266, tokenIndex266 := position, tokenIndex | 
|  | if buffer[position] != rune('e') { | 
|  | goto l267 | 
|  | } | 
|  | position++ | 
|  | goto l266 | 
|  | l267: | 
|  | position, tokenIndex = position266, tokenIndex266 | 
|  | if buffer[position] != rune('E') { | 
|  | goto l259 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l266: | 
|  | goto l149 | 
|  | l259: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l268 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position269, tokenIndex269 := position, tokenIndex | 
|  | if buffer[position] != rune('t') { | 
|  | goto l270 | 
|  | } | 
|  | position++ | 
|  | goto l269 | 
|  | l270: | 
|  | position, tokenIndex = position269, tokenIndex269 | 
|  | if buffer[position] != rune('T') { | 
|  | goto l268 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l269: | 
|  | { | 
|  | position271, tokenIndex271 := position, tokenIndex | 
|  | if buffer[position] != rune('y') { | 
|  | goto l272 | 
|  | } | 
|  | position++ | 
|  | goto l271 | 
|  | l272: | 
|  | position, tokenIndex = position271, tokenIndex271 | 
|  | if buffer[position] != rune('Y') { | 
|  | goto l268 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l271: | 
|  | { | 
|  | position273, tokenIndex273 := position, tokenIndex | 
|  | if buffer[position] != rune('p') { | 
|  | goto l274 | 
|  | } | 
|  | position++ | 
|  | goto l273 | 
|  | l274: | 
|  | position, tokenIndex = position273, tokenIndex273 | 
|  | if buffer[position] != rune('P') { | 
|  | goto l268 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l273: | 
|  | { | 
|  | position275, tokenIndex275 := position, tokenIndex | 
|  | if buffer[position] != rune('e') { | 
|  | goto l276 | 
|  | } | 
|  | position++ | 
|  | goto l275 | 
|  | l276: | 
|  | position, tokenIndex = position275, tokenIndex275 | 
|  | if buffer[position] != rune('E') { | 
|  | goto l268 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l275: | 
|  | goto l149 | 
|  | l268: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l277 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position278, tokenIndex278 := position, tokenIndex | 
|  | if buffer[position] != rune('u') { | 
|  | goto l279 | 
|  | } | 
|  | position++ | 
|  | goto l278 | 
|  | l279: | 
|  | position, tokenIndex = position278, tokenIndex278 | 
|  | if buffer[position] != rune('U') { | 
|  | goto l277 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l278: | 
|  | { | 
|  | position280, tokenIndex280 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l281 | 
|  | } | 
|  | position++ | 
|  | goto l280 | 
|  | l281: | 
|  | position, tokenIndex = position280, tokenIndex280 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l277 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l280: | 
|  | { | 
|  | position282, tokenIndex282 := position, tokenIndex | 
|  | if buffer[position] != rune('e') { | 
|  | goto l283 | 
|  | } | 
|  | position++ | 
|  | goto l282 | 
|  | l283: | 
|  | position, tokenIndex = position282, tokenIndex282 | 
|  | if buffer[position] != rune('E') { | 
|  | goto l277 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l282: | 
|  | { | 
|  | position284, tokenIndex284 := position, tokenIndex | 
|  | if buffer[position] != rune('b') { | 
|  | goto l285 | 
|  | } | 
|  | position++ | 
|  | goto l284 | 
|  | l285: | 
|  | position, tokenIndex = position284, tokenIndex284 | 
|  | if buffer[position] != rune('B') { | 
|  | goto l277 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l284: | 
|  | if buffer[position] != rune('1') { | 
|  | goto l277 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('2') { | 
|  | goto l277 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('8') { | 
|  | goto l277 | 
|  | } | 
|  | position++ | 
|  | goto l149 | 
|  | l277: | 
|  | position, tokenIndex = position149, tokenIndex149 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l147 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position286, tokenIndex286 := position, tokenIndex | 
|  | if buffer[position] != rune('s') { | 
|  | goto l287 | 
|  | } | 
|  | position++ | 
|  | goto l286 | 
|  | l287: | 
|  | position, tokenIndex = position286, tokenIndex286 | 
|  | if buffer[position] != rune('S') { | 
|  | goto l147 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l286: | 
|  | { | 
|  | position288, tokenIndex288 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l289 | 
|  | } | 
|  | position++ | 
|  | goto l288 | 
|  | l289: | 
|  | position, tokenIndex = position288, tokenIndex288 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l147 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l288: | 
|  | { | 
|  | position290, tokenIndex290 := position, tokenIndex | 
|  | if buffer[position] != rune('e') { | 
|  | goto l291 | 
|  | } | 
|  | position++ | 
|  | goto l290 | 
|  | l291: | 
|  | position, tokenIndex = position290, tokenIndex290 | 
|  | if buffer[position] != rune('E') { | 
|  | goto l147 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l290: | 
|  | { | 
|  | position292, tokenIndex292 := position, tokenIndex | 
|  | if buffer[position] != rune('b') { | 
|  | goto l293 | 
|  | } | 
|  | position++ | 
|  | goto l292 | 
|  | l293: | 
|  | position, tokenIndex = position292, tokenIndex292 | 
|  | if buffer[position] != rune('B') { | 
|  | goto l147 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l292: | 
|  | if buffer[position] != rune('1') { | 
|  | goto l147 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('2') { | 
|  | goto l147 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('8') { | 
|  | goto l147 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l149: | 
|  | add(ruleLabelContainingDirectiveName, position148) | 
|  | } | 
|  | return true | 
|  | l147: | 
|  | position, tokenIndex = position147, tokenIndex147 | 
|  | return false | 
|  | }, | 
|  | /* 14 SymbolArgs <- <(SymbolArg (WS? ',' WS? SymbolArg)*)> */ | 
|  | func() bool { | 
|  | position294, tokenIndex294 := position, tokenIndex | 
|  | { | 
|  | position295 := position | 
|  | if !_rules[ruleSymbolArg]() { | 
|  | goto l294 | 
|  | } | 
|  | l296: | 
|  | { | 
|  | position297, tokenIndex297 := position, tokenIndex | 
|  | { | 
|  | position298, tokenIndex298 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l298 | 
|  | } | 
|  | goto l299 | 
|  | l298: | 
|  | position, tokenIndex = position298, tokenIndex298 | 
|  | } | 
|  | l299: | 
|  | if buffer[position] != rune(',') { | 
|  | goto l297 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position300, tokenIndex300 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l300 | 
|  | } | 
|  | goto l301 | 
|  | l300: | 
|  | position, tokenIndex = position300, tokenIndex300 | 
|  | } | 
|  | l301: | 
|  | if !_rules[ruleSymbolArg]() { | 
|  | goto l297 | 
|  | } | 
|  | goto l296 | 
|  | l297: | 
|  | position, tokenIndex = position297, tokenIndex297 | 
|  | } | 
|  | add(ruleSymbolArgs, position295) | 
|  | } | 
|  | return true | 
|  | l294: | 
|  | position, tokenIndex = position294, tokenIndex294 | 
|  | return false | 
|  | }, | 
|  | /* 15 SymbolArg <- <SymbolExpr> */ | 
|  | func() bool { | 
|  | position302, tokenIndex302 := position, tokenIndex | 
|  | { | 
|  | position303 := position | 
|  | if !_rules[ruleSymbolExpr]() { | 
|  | goto l302 | 
|  | } | 
|  | add(ruleSymbolArg, position303) | 
|  | } | 
|  | return true | 
|  | l302: | 
|  | position, tokenIndex = position302, tokenIndex302 | 
|  | return false | 
|  | }, | 
|  | /* 16 SymbolExpr <- <(SymbolAtom (WS? SymbolOperator WS? SymbolExpr)?)> */ | 
|  | func() bool { | 
|  | position304, tokenIndex304 := position, tokenIndex | 
|  | { | 
|  | position305 := position | 
|  | if !_rules[ruleSymbolAtom]() { | 
|  | goto l304 | 
|  | } | 
|  | { | 
|  | position306, tokenIndex306 := position, tokenIndex | 
|  | { | 
|  | position308, tokenIndex308 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l308 | 
|  | } | 
|  | goto l309 | 
|  | l308: | 
|  | position, tokenIndex = position308, tokenIndex308 | 
|  | } | 
|  | l309: | 
|  | if !_rules[ruleSymbolOperator]() { | 
|  | goto l306 | 
|  | } | 
|  | { | 
|  | position310, tokenIndex310 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l310 | 
|  | } | 
|  | goto l311 | 
|  | l310: | 
|  | position, tokenIndex = position310, tokenIndex310 | 
|  | } | 
|  | l311: | 
|  | if !_rules[ruleSymbolExpr]() { | 
|  | goto l306 | 
|  | } | 
|  | goto l307 | 
|  | l306: | 
|  | position, tokenIndex = position306, tokenIndex306 | 
|  | } | 
|  | l307: | 
|  | add(ruleSymbolExpr, position305) | 
|  | } | 
|  | return true | 
|  | l304: | 
|  | position, tokenIndex = position304, tokenIndex304 | 
|  | return false | 
|  | }, | 
|  | /* 17 SymbolAtom <- <(Offset / SymbolType / (LocalSymbol TCMarker?) / (SymbolName Offset) / (SymbolName TCMarker?) / Dot / (OpenParen WS? SymbolExpr WS? CloseParen))> */ | 
|  | func() bool { | 
|  | position312, tokenIndex312 := position, tokenIndex | 
|  | { | 
|  | position313 := position | 
|  | { | 
|  | position314, tokenIndex314 := position, tokenIndex | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l315 | 
|  | } | 
|  | goto l314 | 
|  | l315: | 
|  | position, tokenIndex = position314, tokenIndex314 | 
|  | if !_rules[ruleSymbolType]() { | 
|  | goto l316 | 
|  | } | 
|  | goto l314 | 
|  | l316: | 
|  | position, tokenIndex = position314, tokenIndex314 | 
|  | if !_rules[ruleLocalSymbol]() { | 
|  | goto l317 | 
|  | } | 
|  | { | 
|  | position318, tokenIndex318 := position, tokenIndex | 
|  | if !_rules[ruleTCMarker]() { | 
|  | goto l318 | 
|  | } | 
|  | goto l319 | 
|  | l318: | 
|  | position, tokenIndex = position318, tokenIndex318 | 
|  | } | 
|  | l319: | 
|  | goto l314 | 
|  | l317: | 
|  | position, tokenIndex = position314, tokenIndex314 | 
|  | if !_rules[ruleSymbolName]() { | 
|  | goto l320 | 
|  | } | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l320 | 
|  | } | 
|  | goto l314 | 
|  | l320: | 
|  | position, tokenIndex = position314, tokenIndex314 | 
|  | if !_rules[ruleSymbolName]() { | 
|  | goto l321 | 
|  | } | 
|  | { | 
|  | position322, tokenIndex322 := position, tokenIndex | 
|  | if !_rules[ruleTCMarker]() { | 
|  | goto l322 | 
|  | } | 
|  | goto l323 | 
|  | l322: | 
|  | position, tokenIndex = position322, tokenIndex322 | 
|  | } | 
|  | l323: | 
|  | goto l314 | 
|  | l321: | 
|  | position, tokenIndex = position314, tokenIndex314 | 
|  | if !_rules[ruleDot]() { | 
|  | goto l324 | 
|  | } | 
|  | goto l314 | 
|  | l324: | 
|  | position, tokenIndex = position314, tokenIndex314 | 
|  | if !_rules[ruleOpenParen]() { | 
|  | goto l312 | 
|  | } | 
|  | { | 
|  | position325, tokenIndex325 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l325 | 
|  | } | 
|  | goto l326 | 
|  | l325: | 
|  | position, tokenIndex = position325, tokenIndex325 | 
|  | } | 
|  | l326: | 
|  | if !_rules[ruleSymbolExpr]() { | 
|  | goto l312 | 
|  | } | 
|  | { | 
|  | position327, tokenIndex327 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l327 | 
|  | } | 
|  | goto l328 | 
|  | l327: | 
|  | position, tokenIndex = position327, tokenIndex327 | 
|  | } | 
|  | l328: | 
|  | if !_rules[ruleCloseParen]() { | 
|  | goto l312 | 
|  | } | 
|  | } | 
|  | l314: | 
|  | add(ruleSymbolAtom, position313) | 
|  | } | 
|  | return true | 
|  | l312: | 
|  | position, tokenIndex = position312, tokenIndex312 | 
|  | return false | 
|  | }, | 
|  | /* 18 SymbolOperator <- <('+' / '-' / '|' / ('<' '<') / ('>' '>'))> */ | 
|  | func() bool { | 
|  | position329, tokenIndex329 := position, tokenIndex | 
|  | { | 
|  | position330 := position | 
|  | { | 
|  | position331, tokenIndex331 := position, tokenIndex | 
|  | if buffer[position] != rune('+') { | 
|  | goto l332 | 
|  | } | 
|  | position++ | 
|  | goto l331 | 
|  | l332: | 
|  | position, tokenIndex = position331, tokenIndex331 | 
|  | if buffer[position] != rune('-') { | 
|  | goto l333 | 
|  | } | 
|  | position++ | 
|  | goto l331 | 
|  | l333: | 
|  | position, tokenIndex = position331, tokenIndex331 | 
|  | if buffer[position] != rune('|') { | 
|  | goto l334 | 
|  | } | 
|  | position++ | 
|  | goto l331 | 
|  | l334: | 
|  | position, tokenIndex = position331, tokenIndex331 | 
|  | if buffer[position] != rune('<') { | 
|  | goto l335 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('<') { | 
|  | goto l335 | 
|  | } | 
|  | position++ | 
|  | goto l331 | 
|  | l335: | 
|  | position, tokenIndex = position331, tokenIndex331 | 
|  | if buffer[position] != rune('>') { | 
|  | goto l329 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('>') { | 
|  | goto l329 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l331: | 
|  | add(ruleSymbolOperator, position330) | 
|  | } | 
|  | return true | 
|  | l329: | 
|  | position, tokenIndex = position329, tokenIndex329 | 
|  | return false | 
|  | }, | 
|  | /* 19 OpenParen <- <'('> */ | 
|  | func() bool { | 
|  | position336, tokenIndex336 := position, tokenIndex | 
|  | { | 
|  | position337 := position | 
|  | if buffer[position] != rune('(') { | 
|  | goto l336 | 
|  | } | 
|  | position++ | 
|  | add(ruleOpenParen, position337) | 
|  | } | 
|  | return true | 
|  | l336: | 
|  | position, tokenIndex = position336, tokenIndex336 | 
|  | return false | 
|  | }, | 
|  | /* 20 CloseParen <- <')'> */ | 
|  | func() bool { | 
|  | position338, tokenIndex338 := position, tokenIndex | 
|  | { | 
|  | position339 := position | 
|  | if buffer[position] != rune(')') { | 
|  | goto l338 | 
|  | } | 
|  | position++ | 
|  | add(ruleCloseParen, position339) | 
|  | } | 
|  | return true | 
|  | l338: | 
|  | position, tokenIndex = position338, tokenIndex338 | 
|  | return false | 
|  | }, | 
|  | /* 21 SymbolType <- <(('@' / '%') (('f' 'u' 'n' 'c' 't' 'i' 'o' 'n') / ('o' 'b' 'j' 'e' 'c' 't')))> */ | 
|  | func() bool { | 
|  | position340, tokenIndex340 := position, tokenIndex | 
|  | { | 
|  | position341 := position | 
|  | { | 
|  | position342, tokenIndex342 := position, tokenIndex | 
|  | if buffer[position] != rune('@') { | 
|  | goto l343 | 
|  | } | 
|  | position++ | 
|  | goto l342 | 
|  | l343: | 
|  | position, tokenIndex = position342, tokenIndex342 | 
|  | if buffer[position] != rune('%') { | 
|  | goto l340 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l342: | 
|  | { | 
|  | position344, tokenIndex344 := position, tokenIndex | 
|  | if buffer[position] != rune('f') { | 
|  | goto l345 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('u') { | 
|  | goto l345 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('n') { | 
|  | goto l345 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('c') { | 
|  | goto l345 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('t') { | 
|  | goto l345 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('i') { | 
|  | goto l345 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('o') { | 
|  | goto l345 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('n') { | 
|  | goto l345 | 
|  | } | 
|  | position++ | 
|  | goto l344 | 
|  | l345: | 
|  | position, tokenIndex = position344, tokenIndex344 | 
|  | if buffer[position] != rune('o') { | 
|  | goto l340 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('b') { | 
|  | goto l340 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('j') { | 
|  | goto l340 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('e') { | 
|  | goto l340 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('c') { | 
|  | goto l340 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('t') { | 
|  | goto l340 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l344: | 
|  | add(ruleSymbolType, position341) | 
|  | } | 
|  | return true | 
|  | l340: | 
|  | position, tokenIndex = position340, tokenIndex340 | 
|  | return false | 
|  | }, | 
|  | /* 22 Dot <- <'.'> */ | 
|  | func() bool { | 
|  | position346, tokenIndex346 := position, tokenIndex | 
|  | { | 
|  | position347 := position | 
|  | if buffer[position] != rune('.') { | 
|  | goto l346 | 
|  | } | 
|  | position++ | 
|  | add(ruleDot, position347) | 
|  | } | 
|  | return true | 
|  | l346: | 
|  | position, tokenIndex = position346, tokenIndex346 | 
|  | return false | 
|  | }, | 
|  | /* 23 TCMarker <- <('[' 'T' 'C' ']')> */ | 
|  | func() bool { | 
|  | position348, tokenIndex348 := position, tokenIndex | 
|  | { | 
|  | position349 := position | 
|  | if buffer[position] != rune('[') { | 
|  | goto l348 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('T') { | 
|  | goto l348 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('C') { | 
|  | goto l348 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune(']') { | 
|  | goto l348 | 
|  | } | 
|  | position++ | 
|  | add(ruleTCMarker, position349) | 
|  | } | 
|  | return true | 
|  | l348: | 
|  | position, tokenIndex = position348, tokenIndex348 | 
|  | return false | 
|  | }, | 
|  | /* 24 EscapedChar <- <('\\' .)> */ | 
|  | func() bool { | 
|  | position350, tokenIndex350 := position, tokenIndex | 
|  | { | 
|  | position351 := position | 
|  | if buffer[position] != rune('\\') { | 
|  | goto l350 | 
|  | } | 
|  | position++ | 
|  | if !matchDot() { | 
|  | goto l350 | 
|  | } | 
|  | add(ruleEscapedChar, position351) | 
|  | } | 
|  | return true | 
|  | l350: | 
|  | position, tokenIndex = position350, tokenIndex350 | 
|  | return false | 
|  | }, | 
|  | /* 25 WS <- <(' ' / '\t')+> */ | 
|  | func() bool { | 
|  | position352, tokenIndex352 := position, tokenIndex | 
|  | { | 
|  | position353 := position | 
|  | { | 
|  | position356, tokenIndex356 := position, tokenIndex | 
|  | if buffer[position] != rune(' ') { | 
|  | goto l357 | 
|  | } | 
|  | position++ | 
|  | goto l356 | 
|  | l357: | 
|  | position, tokenIndex = position356, tokenIndex356 | 
|  | if buffer[position] != rune('\t') { | 
|  | goto l352 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l356: | 
|  | l354: | 
|  | { | 
|  | position355, tokenIndex355 := position, tokenIndex | 
|  | { | 
|  | position358, tokenIndex358 := position, tokenIndex | 
|  | if buffer[position] != rune(' ') { | 
|  | goto l359 | 
|  | } | 
|  | position++ | 
|  | goto l358 | 
|  | l359: | 
|  | position, tokenIndex = position358, tokenIndex358 | 
|  | if buffer[position] != rune('\t') { | 
|  | goto l355 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l358: | 
|  | goto l354 | 
|  | l355: | 
|  | position, tokenIndex = position355, tokenIndex355 | 
|  | } | 
|  | add(ruleWS, position353) | 
|  | } | 
|  | return true | 
|  | l352: | 
|  | position, tokenIndex = position352, tokenIndex352 | 
|  | return false | 
|  | }, | 
|  | /* 26 Comment <- <((('/' '/') / '#') (!'\n' .)*)> */ | 
|  | func() bool { | 
|  | position360, tokenIndex360 := position, tokenIndex | 
|  | { | 
|  | position361 := position | 
|  | { | 
|  | position362, tokenIndex362 := position, tokenIndex | 
|  | if buffer[position] != rune('/') { | 
|  | goto l363 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('/') { | 
|  | goto l363 | 
|  | } | 
|  | position++ | 
|  | goto l362 | 
|  | l363: | 
|  | position, tokenIndex = position362, tokenIndex362 | 
|  | if buffer[position] != rune('#') { | 
|  | goto l360 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l362: | 
|  | l364: | 
|  | { | 
|  | position365, tokenIndex365 := position, tokenIndex | 
|  | { | 
|  | position366, tokenIndex366 := position, tokenIndex | 
|  | if buffer[position] != rune('\n') { | 
|  | goto l366 | 
|  | } | 
|  | position++ | 
|  | goto l365 | 
|  | l366: | 
|  | position, tokenIndex = position366, tokenIndex366 | 
|  | } | 
|  | if !matchDot() { | 
|  | goto l365 | 
|  | } | 
|  | goto l364 | 
|  | l365: | 
|  | position, tokenIndex = position365, tokenIndex365 | 
|  | } | 
|  | add(ruleComment, position361) | 
|  | } | 
|  | return true | 
|  | l360: | 
|  | position, tokenIndex = position360, tokenIndex360 | 
|  | return false | 
|  | }, | 
|  | /* 27 Label <- <((LocalSymbol / LocalLabel / SymbolName) ':')> */ | 
|  | func() bool { | 
|  | position367, tokenIndex367 := position, tokenIndex | 
|  | { | 
|  | position368 := position | 
|  | { | 
|  | position369, tokenIndex369 := position, tokenIndex | 
|  | if !_rules[ruleLocalSymbol]() { | 
|  | goto l370 | 
|  | } | 
|  | goto l369 | 
|  | l370: | 
|  | position, tokenIndex = position369, tokenIndex369 | 
|  | if !_rules[ruleLocalLabel]() { | 
|  | goto l371 | 
|  | } | 
|  | goto l369 | 
|  | l371: | 
|  | position, tokenIndex = position369, tokenIndex369 | 
|  | if !_rules[ruleSymbolName]() { | 
|  | goto l367 | 
|  | } | 
|  | } | 
|  | l369: | 
|  | if buffer[position] != rune(':') { | 
|  | goto l367 | 
|  | } | 
|  | position++ | 
|  | add(ruleLabel, position368) | 
|  | } | 
|  | return true | 
|  | l367: | 
|  | position, tokenIndex = position367, tokenIndex367 | 
|  | return false | 
|  | }, | 
|  | /* 28 SymbolName <- <(([a-z] / [A-Z] / '.' / '_') ([a-z] / [A-Z] / '.' / ([0-9] / [0-9]) / '$' / '_')*)> */ | 
|  | func() bool { | 
|  | position372, tokenIndex372 := position, tokenIndex | 
|  | { | 
|  | position373 := position | 
|  | { | 
|  | position374, tokenIndex374 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l375 | 
|  | } | 
|  | position++ | 
|  | goto l374 | 
|  | l375: | 
|  | position, tokenIndex = position374, tokenIndex374 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l376 | 
|  | } | 
|  | position++ | 
|  | goto l374 | 
|  | l376: | 
|  | position, tokenIndex = position374, tokenIndex374 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l377 | 
|  | } | 
|  | position++ | 
|  | goto l374 | 
|  | l377: | 
|  | position, tokenIndex = position374, tokenIndex374 | 
|  | if buffer[position] != rune('_') { | 
|  | goto l372 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l374: | 
|  | l378: | 
|  | { | 
|  | position379, tokenIndex379 := position, tokenIndex | 
|  | { | 
|  | position380, tokenIndex380 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l381 | 
|  | } | 
|  | position++ | 
|  | goto l380 | 
|  | l381: | 
|  | position, tokenIndex = position380, tokenIndex380 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l382 | 
|  | } | 
|  | position++ | 
|  | goto l380 | 
|  | l382: | 
|  | position, tokenIndex = position380, tokenIndex380 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l383 | 
|  | } | 
|  | position++ | 
|  | goto l380 | 
|  | l383: | 
|  | position, tokenIndex = position380, tokenIndex380 | 
|  | { | 
|  | position385, tokenIndex385 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l386 | 
|  | } | 
|  | position++ | 
|  | goto l385 | 
|  | l386: | 
|  | position, tokenIndex = position385, tokenIndex385 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l384 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l385: | 
|  | goto l380 | 
|  | l384: | 
|  | position, tokenIndex = position380, tokenIndex380 | 
|  | if buffer[position] != rune('$') { | 
|  | goto l387 | 
|  | } | 
|  | position++ | 
|  | goto l380 | 
|  | l387: | 
|  | position, tokenIndex = position380, tokenIndex380 | 
|  | if buffer[position] != rune('_') { | 
|  | goto l379 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l380: | 
|  | goto l378 | 
|  | l379: | 
|  | position, tokenIndex = position379, tokenIndex379 | 
|  | } | 
|  | add(ruleSymbolName, position373) | 
|  | } | 
|  | return true | 
|  | l372: | 
|  | position, tokenIndex = position372, tokenIndex372 | 
|  | return false | 
|  | }, | 
|  | /* 29 LocalSymbol <- <('.' 'L' ([a-z] / [A-Z] / ([a-z] / [A-Z]) / '.' / ([0-9] / [0-9]) / '$' / '_')+)> */ | 
|  | func() bool { | 
|  | position388, tokenIndex388 := position, tokenIndex | 
|  | { | 
|  | position389 := position | 
|  | if buffer[position] != rune('.') { | 
|  | goto l388 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('L') { | 
|  | goto l388 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position392, tokenIndex392 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l393 | 
|  | } | 
|  | position++ | 
|  | goto l392 | 
|  | l393: | 
|  | position, tokenIndex = position392, tokenIndex392 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l394 | 
|  | } | 
|  | position++ | 
|  | goto l392 | 
|  | l394: | 
|  | position, tokenIndex = position392, tokenIndex392 | 
|  | { | 
|  | position396, tokenIndex396 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l397 | 
|  | } | 
|  | position++ | 
|  | goto l396 | 
|  | l397: | 
|  | position, tokenIndex = position396, tokenIndex396 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l395 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l396: | 
|  | goto l392 | 
|  | l395: | 
|  | position, tokenIndex = position392, tokenIndex392 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l398 | 
|  | } | 
|  | position++ | 
|  | goto l392 | 
|  | l398: | 
|  | position, tokenIndex = position392, tokenIndex392 | 
|  | { | 
|  | position400, tokenIndex400 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l401 | 
|  | } | 
|  | position++ | 
|  | goto l400 | 
|  | l401: | 
|  | position, tokenIndex = position400, tokenIndex400 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l399 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l400: | 
|  | goto l392 | 
|  | l399: | 
|  | position, tokenIndex = position392, tokenIndex392 | 
|  | if buffer[position] != rune('$') { | 
|  | goto l402 | 
|  | } | 
|  | position++ | 
|  | goto l392 | 
|  | l402: | 
|  | position, tokenIndex = position392, tokenIndex392 | 
|  | if buffer[position] != rune('_') { | 
|  | goto l388 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l392: | 
|  | l390: | 
|  | { | 
|  | position391, tokenIndex391 := position, tokenIndex | 
|  | { | 
|  | position403, tokenIndex403 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l404 | 
|  | } | 
|  | position++ | 
|  | goto l403 | 
|  | l404: | 
|  | position, tokenIndex = position403, tokenIndex403 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l405 | 
|  | } | 
|  | position++ | 
|  | goto l403 | 
|  | l405: | 
|  | position, tokenIndex = position403, tokenIndex403 | 
|  | { | 
|  | position407, tokenIndex407 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l408 | 
|  | } | 
|  | position++ | 
|  | goto l407 | 
|  | l408: | 
|  | position, tokenIndex = position407, tokenIndex407 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l406 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l407: | 
|  | goto l403 | 
|  | l406: | 
|  | position, tokenIndex = position403, tokenIndex403 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l409 | 
|  | } | 
|  | position++ | 
|  | goto l403 | 
|  | l409: | 
|  | position, tokenIndex = position403, tokenIndex403 | 
|  | { | 
|  | position411, tokenIndex411 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l412 | 
|  | } | 
|  | position++ | 
|  | goto l411 | 
|  | l412: | 
|  | position, tokenIndex = position411, tokenIndex411 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l410 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l411: | 
|  | goto l403 | 
|  | l410: | 
|  | position, tokenIndex = position403, tokenIndex403 | 
|  | if buffer[position] != rune('$') { | 
|  | goto l413 | 
|  | } | 
|  | position++ | 
|  | goto l403 | 
|  | l413: | 
|  | position, tokenIndex = position403, tokenIndex403 | 
|  | if buffer[position] != rune('_') { | 
|  | goto l391 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l403: | 
|  | goto l390 | 
|  | l391: | 
|  | position, tokenIndex = position391, tokenIndex391 | 
|  | } | 
|  | add(ruleLocalSymbol, position389) | 
|  | } | 
|  | return true | 
|  | l388: | 
|  | position, tokenIndex = position388, tokenIndex388 | 
|  | return false | 
|  | }, | 
|  | /* 30 LocalLabel <- <([0-9] ([0-9] / '$')*)> */ | 
|  | func() bool { | 
|  | position414, tokenIndex414 := position, tokenIndex | 
|  | { | 
|  | position415 := position | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l414 | 
|  | } | 
|  | position++ | 
|  | l416: | 
|  | { | 
|  | position417, tokenIndex417 := position, tokenIndex | 
|  | { | 
|  | position418, tokenIndex418 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l419 | 
|  | } | 
|  | position++ | 
|  | goto l418 | 
|  | l419: | 
|  | position, tokenIndex = position418, tokenIndex418 | 
|  | if buffer[position] != rune('$') { | 
|  | goto l417 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l418: | 
|  | goto l416 | 
|  | l417: | 
|  | position, tokenIndex = position417, tokenIndex417 | 
|  | } | 
|  | add(ruleLocalLabel, position415) | 
|  | } | 
|  | return true | 
|  | l414: | 
|  | position, tokenIndex = position414, tokenIndex414 | 
|  | return false | 
|  | }, | 
|  | /* 31 LocalLabelRef <- <([0-9] ([0-9] / '$')* ('b' / 'f'))> */ | 
|  | func() bool { | 
|  | position420, tokenIndex420 := position, tokenIndex | 
|  | { | 
|  | position421 := position | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l420 | 
|  | } | 
|  | position++ | 
|  | l422: | 
|  | { | 
|  | position423, tokenIndex423 := position, tokenIndex | 
|  | { | 
|  | position424, tokenIndex424 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l425 | 
|  | } | 
|  | position++ | 
|  | goto l424 | 
|  | l425: | 
|  | position, tokenIndex = position424, tokenIndex424 | 
|  | if buffer[position] != rune('$') { | 
|  | goto l423 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l424: | 
|  | goto l422 | 
|  | l423: | 
|  | position, tokenIndex = position423, tokenIndex423 | 
|  | } | 
|  | { | 
|  | position426, tokenIndex426 := position, tokenIndex | 
|  | if buffer[position] != rune('b') { | 
|  | goto l427 | 
|  | } | 
|  | position++ | 
|  | goto l426 | 
|  | l427: | 
|  | position, tokenIndex = position426, tokenIndex426 | 
|  | if buffer[position] != rune('f') { | 
|  | goto l420 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l426: | 
|  | add(ruleLocalLabelRef, position421) | 
|  | } | 
|  | return true | 
|  | l420: | 
|  | position, tokenIndex = position420, tokenIndex420 | 
|  | return false | 
|  | }, | 
|  | /* 32 Instruction <- <(InstructionName (WS InstructionArg (WS? ',' WS? InstructionArg)*)?)> */ | 
|  | func() bool { | 
|  | position428, tokenIndex428 := position, tokenIndex | 
|  | { | 
|  | position429 := position | 
|  | if !_rules[ruleInstructionName]() { | 
|  | goto l428 | 
|  | } | 
|  | { | 
|  | position430, tokenIndex430 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l430 | 
|  | } | 
|  | if !_rules[ruleInstructionArg]() { | 
|  | goto l430 | 
|  | } | 
|  | l432: | 
|  | { | 
|  | position433, tokenIndex433 := position, tokenIndex | 
|  | { | 
|  | position434, tokenIndex434 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l434 | 
|  | } | 
|  | goto l435 | 
|  | l434: | 
|  | position, tokenIndex = position434, tokenIndex434 | 
|  | } | 
|  | l435: | 
|  | if buffer[position] != rune(',') { | 
|  | goto l433 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position436, tokenIndex436 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l436 | 
|  | } | 
|  | goto l437 | 
|  | l436: | 
|  | position, tokenIndex = position436, tokenIndex436 | 
|  | } | 
|  | l437: | 
|  | if !_rules[ruleInstructionArg]() { | 
|  | goto l433 | 
|  | } | 
|  | goto l432 | 
|  | l433: | 
|  | position, tokenIndex = position433, tokenIndex433 | 
|  | } | 
|  | goto l431 | 
|  | l430: | 
|  | position, tokenIndex = position430, tokenIndex430 | 
|  | } | 
|  | l431: | 
|  | add(ruleInstruction, position429) | 
|  | } | 
|  | return true | 
|  | l428: | 
|  | position, tokenIndex = position428, tokenIndex428 | 
|  | return false | 
|  | }, | 
|  | /* 33 InstructionName <- <(([a-z] / [A-Z]) ([a-z] / [A-Z] / '.' / ([0-9] / [0-9]))* ('.' / '+' / '-')?)> */ | 
|  | func() bool { | 
|  | position438, tokenIndex438 := position, tokenIndex | 
|  | { | 
|  | position439 := position | 
|  | { | 
|  | position440, tokenIndex440 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l441 | 
|  | } | 
|  | position++ | 
|  | goto l440 | 
|  | l441: | 
|  | position, tokenIndex = position440, tokenIndex440 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l438 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l440: | 
|  | l442: | 
|  | { | 
|  | position443, tokenIndex443 := position, tokenIndex | 
|  | { | 
|  | position444, tokenIndex444 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l445 | 
|  | } | 
|  | position++ | 
|  | goto l444 | 
|  | l445: | 
|  | position, tokenIndex = position444, tokenIndex444 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l446 | 
|  | } | 
|  | position++ | 
|  | goto l444 | 
|  | l446: | 
|  | position, tokenIndex = position444, tokenIndex444 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l447 | 
|  | } | 
|  | position++ | 
|  | goto l444 | 
|  | l447: | 
|  | position, tokenIndex = position444, tokenIndex444 | 
|  | { | 
|  | position448, tokenIndex448 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l449 | 
|  | } | 
|  | position++ | 
|  | goto l448 | 
|  | l449: | 
|  | position, tokenIndex = position448, tokenIndex448 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l443 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l448: | 
|  | } | 
|  | l444: | 
|  | goto l442 | 
|  | l443: | 
|  | position, tokenIndex = position443, tokenIndex443 | 
|  | } | 
|  | { | 
|  | position450, tokenIndex450 := position, tokenIndex | 
|  | { | 
|  | position452, tokenIndex452 := position, tokenIndex | 
|  | if buffer[position] != rune('.') { | 
|  | goto l453 | 
|  | } | 
|  | position++ | 
|  | goto l452 | 
|  | l453: | 
|  | position, tokenIndex = position452, tokenIndex452 | 
|  | if buffer[position] != rune('+') { | 
|  | goto l454 | 
|  | } | 
|  | position++ | 
|  | goto l452 | 
|  | l454: | 
|  | position, tokenIndex = position452, tokenIndex452 | 
|  | if buffer[position] != rune('-') { | 
|  | goto l450 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l452: | 
|  | goto l451 | 
|  | l450: | 
|  | position, tokenIndex = position450, tokenIndex450 | 
|  | } | 
|  | l451: | 
|  | add(ruleInstructionName, position439) | 
|  | } | 
|  | return true | 
|  | l438: | 
|  | position, tokenIndex = position438, tokenIndex438 | 
|  | return false | 
|  | }, | 
|  | /* 34 InstructionArg <- <(IndirectionIndicator? (ARMConstantTweak / RegisterOrConstant / LocalLabelRef / TOCRefHigh / TOCRefLow / GOTLocation / GOTSymbolOffset / MemoryRef) AVX512Token*)> */ | 
|  | func() bool { | 
|  | position455, tokenIndex455 := position, tokenIndex | 
|  | { | 
|  | position456 := position | 
|  | { | 
|  | position457, tokenIndex457 := position, tokenIndex | 
|  | if !_rules[ruleIndirectionIndicator]() { | 
|  | goto l457 | 
|  | } | 
|  | goto l458 | 
|  | l457: | 
|  | position, tokenIndex = position457, tokenIndex457 | 
|  | } | 
|  | l458: | 
|  | { | 
|  | position459, tokenIndex459 := position, tokenIndex | 
|  | if !_rules[ruleARMConstantTweak]() { | 
|  | goto l460 | 
|  | } | 
|  | goto l459 | 
|  | l460: | 
|  | position, tokenIndex = position459, tokenIndex459 | 
|  | if !_rules[ruleRegisterOrConstant]() { | 
|  | goto l461 | 
|  | } | 
|  | goto l459 | 
|  | l461: | 
|  | position, tokenIndex = position459, tokenIndex459 | 
|  | if !_rules[ruleLocalLabelRef]() { | 
|  | goto l462 | 
|  | } | 
|  | goto l459 | 
|  | l462: | 
|  | position, tokenIndex = position459, tokenIndex459 | 
|  | if !_rules[ruleTOCRefHigh]() { | 
|  | goto l463 | 
|  | } | 
|  | goto l459 | 
|  | l463: | 
|  | position, tokenIndex = position459, tokenIndex459 | 
|  | if !_rules[ruleTOCRefLow]() { | 
|  | goto l464 | 
|  | } | 
|  | goto l459 | 
|  | l464: | 
|  | position, tokenIndex = position459, tokenIndex459 | 
|  | if !_rules[ruleGOTLocation]() { | 
|  | goto l465 | 
|  | } | 
|  | goto l459 | 
|  | l465: | 
|  | position, tokenIndex = position459, tokenIndex459 | 
|  | if !_rules[ruleGOTSymbolOffset]() { | 
|  | goto l466 | 
|  | } | 
|  | goto l459 | 
|  | l466: | 
|  | position, tokenIndex = position459, tokenIndex459 | 
|  | if !_rules[ruleMemoryRef]() { | 
|  | goto l455 | 
|  | } | 
|  | } | 
|  | l459: | 
|  | l467: | 
|  | { | 
|  | position468, tokenIndex468 := position, tokenIndex | 
|  | if !_rules[ruleAVX512Token]() { | 
|  | goto l468 | 
|  | } | 
|  | goto l467 | 
|  | l468: | 
|  | position, tokenIndex = position468, tokenIndex468 | 
|  | } | 
|  | add(ruleInstructionArg, position456) | 
|  | } | 
|  | return true | 
|  | l455: | 
|  | position, tokenIndex = position455, tokenIndex455 | 
|  | return false | 
|  | }, | 
|  | /* 35 GOTLocation <- <('$' '_' 'G' 'L' 'O' 'B' 'A' 'L' '_' 'O' 'F' 'F' 'S' 'E' 'T' '_' 'T' 'A' 'B' 'L' 'E' '_' '-' LocalSymbol)> */ | 
|  | func() bool { | 
|  | position469, tokenIndex469 := position, tokenIndex | 
|  | { | 
|  | position470 := position | 
|  | if buffer[position] != rune('$') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('_') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('G') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('L') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('O') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('B') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('A') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('L') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('_') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('O') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('F') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('F') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('S') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('E') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('T') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('_') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('T') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('A') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('B') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('L') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('E') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('_') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('-') { | 
|  | goto l469 | 
|  | } | 
|  | position++ | 
|  | if !_rules[ruleLocalSymbol]() { | 
|  | goto l469 | 
|  | } | 
|  | add(ruleGOTLocation, position470) | 
|  | } | 
|  | return true | 
|  | l469: | 
|  | position, tokenIndex = position469, tokenIndex469 | 
|  | return false | 
|  | }, | 
|  | /* 36 GOTSymbolOffset <- <(('$' SymbolName ('@' 'G' 'O' 'T') ('O' 'F' 'F')?) / (':' ('g' / 'G') ('o' / 'O') ('t' / 'T') ':' SymbolName))> */ | 
|  | func() bool { | 
|  | position471, tokenIndex471 := position, tokenIndex | 
|  | { | 
|  | position472 := position | 
|  | { | 
|  | position473, tokenIndex473 := position, tokenIndex | 
|  | if buffer[position] != rune('$') { | 
|  | goto l474 | 
|  | } | 
|  | position++ | 
|  | if !_rules[ruleSymbolName]() { | 
|  | goto l474 | 
|  | } | 
|  | if buffer[position] != rune('@') { | 
|  | goto l474 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('G') { | 
|  | goto l474 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('O') { | 
|  | goto l474 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('T') { | 
|  | goto l474 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position475, tokenIndex475 := position, tokenIndex | 
|  | if buffer[position] != rune('O') { | 
|  | goto l475 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('F') { | 
|  | goto l475 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('F') { | 
|  | goto l475 | 
|  | } | 
|  | position++ | 
|  | goto l476 | 
|  | l475: | 
|  | position, tokenIndex = position475, tokenIndex475 | 
|  | } | 
|  | l476: | 
|  | goto l473 | 
|  | l474: | 
|  | position, tokenIndex = position473, tokenIndex473 | 
|  | if buffer[position] != rune(':') { | 
|  | goto l471 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position477, tokenIndex477 := position, tokenIndex | 
|  | if buffer[position] != rune('g') { | 
|  | goto l478 | 
|  | } | 
|  | position++ | 
|  | goto l477 | 
|  | l478: | 
|  | position, tokenIndex = position477, tokenIndex477 | 
|  | if buffer[position] != rune('G') { | 
|  | goto l471 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l477: | 
|  | { | 
|  | position479, tokenIndex479 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l480 | 
|  | } | 
|  | position++ | 
|  | goto l479 | 
|  | l480: | 
|  | position, tokenIndex = position479, tokenIndex479 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l471 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l479: | 
|  | { | 
|  | position481, tokenIndex481 := position, tokenIndex | 
|  | if buffer[position] != rune('t') { | 
|  | goto l482 | 
|  | } | 
|  | position++ | 
|  | goto l481 | 
|  | l482: | 
|  | position, tokenIndex = position481, tokenIndex481 | 
|  | if buffer[position] != rune('T') { | 
|  | goto l471 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l481: | 
|  | if buffer[position] != rune(':') { | 
|  | goto l471 | 
|  | } | 
|  | position++ | 
|  | if !_rules[ruleSymbolName]() { | 
|  | goto l471 | 
|  | } | 
|  | } | 
|  | l473: | 
|  | add(ruleGOTSymbolOffset, position472) | 
|  | } | 
|  | return true | 
|  | l471: | 
|  | position, tokenIndex = position471, tokenIndex471 | 
|  | return false | 
|  | }, | 
|  | /* 37 AVX512Token <- <(WS? '{' '%'? ([0-9] / [a-z])* '}')> */ | 
|  | func() bool { | 
|  | position483, tokenIndex483 := position, tokenIndex | 
|  | { | 
|  | position484 := position | 
|  | { | 
|  | position485, tokenIndex485 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l485 | 
|  | } | 
|  | goto l486 | 
|  | l485: | 
|  | position, tokenIndex = position485, tokenIndex485 | 
|  | } | 
|  | l486: | 
|  | if buffer[position] != rune('{') { | 
|  | goto l483 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position487, tokenIndex487 := position, tokenIndex | 
|  | if buffer[position] != rune('%') { | 
|  | goto l487 | 
|  | } | 
|  | position++ | 
|  | goto l488 | 
|  | l487: | 
|  | position, tokenIndex = position487, tokenIndex487 | 
|  | } | 
|  | l488: | 
|  | l489: | 
|  | { | 
|  | position490, tokenIndex490 := position, tokenIndex | 
|  | { | 
|  | position491, tokenIndex491 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l492 | 
|  | } | 
|  | position++ | 
|  | goto l491 | 
|  | l492: | 
|  | position, tokenIndex = position491, tokenIndex491 | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l490 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l491: | 
|  | goto l489 | 
|  | l490: | 
|  | position, tokenIndex = position490, tokenIndex490 | 
|  | } | 
|  | if buffer[position] != rune('}') { | 
|  | goto l483 | 
|  | } | 
|  | position++ | 
|  | add(ruleAVX512Token, position484) | 
|  | } | 
|  | return true | 
|  | l483: | 
|  | position, tokenIndex = position483, tokenIndex483 | 
|  | return false | 
|  | }, | 
|  | /* 38 TOCRefHigh <- <('.' 'T' 'O' 'C' '.' '-' (('0' 'b') / ('.' 'L' ([a-z] / [A-Z] / '_' / [0-9])+)) ('@' ('h' / 'H') ('a' / 'A')))> */ | 
|  | func() bool { | 
|  | position493, tokenIndex493 := position, tokenIndex | 
|  | { | 
|  | position494 := position | 
|  | if buffer[position] != rune('.') { | 
|  | goto l493 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('T') { | 
|  | goto l493 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('O') { | 
|  | goto l493 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('C') { | 
|  | goto l493 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('.') { | 
|  | goto l493 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('-') { | 
|  | goto l493 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position495, tokenIndex495 := position, tokenIndex | 
|  | if buffer[position] != rune('0') { | 
|  | goto l496 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('b') { | 
|  | goto l496 | 
|  | } | 
|  | position++ | 
|  | goto l495 | 
|  | l496: | 
|  | position, tokenIndex = position495, tokenIndex495 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l493 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('L') { | 
|  | goto l493 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position499, tokenIndex499 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l500 | 
|  | } | 
|  | position++ | 
|  | goto l499 | 
|  | l500: | 
|  | position, tokenIndex = position499, tokenIndex499 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l501 | 
|  | } | 
|  | position++ | 
|  | goto l499 | 
|  | l501: | 
|  | position, tokenIndex = position499, tokenIndex499 | 
|  | if buffer[position] != rune('_') { | 
|  | goto l502 | 
|  | } | 
|  | position++ | 
|  | goto l499 | 
|  | l502: | 
|  | position, tokenIndex = position499, tokenIndex499 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l493 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l499: | 
|  | l497: | 
|  | { | 
|  | position498, tokenIndex498 := position, tokenIndex | 
|  | { | 
|  | position503, tokenIndex503 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l504 | 
|  | } | 
|  | position++ | 
|  | goto l503 | 
|  | l504: | 
|  | position, tokenIndex = position503, tokenIndex503 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l505 | 
|  | } | 
|  | position++ | 
|  | goto l503 | 
|  | l505: | 
|  | position, tokenIndex = position503, tokenIndex503 | 
|  | if buffer[position] != rune('_') { | 
|  | goto l506 | 
|  | } | 
|  | position++ | 
|  | goto l503 | 
|  | l506: | 
|  | position, tokenIndex = position503, tokenIndex503 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l498 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l503: | 
|  | goto l497 | 
|  | l498: | 
|  | position, tokenIndex = position498, tokenIndex498 | 
|  | } | 
|  | } | 
|  | l495: | 
|  | if buffer[position] != rune('@') { | 
|  | goto l493 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position507, tokenIndex507 := position, tokenIndex | 
|  | if buffer[position] != rune('h') { | 
|  | goto l508 | 
|  | } | 
|  | position++ | 
|  | goto l507 | 
|  | l508: | 
|  | position, tokenIndex = position507, tokenIndex507 | 
|  | if buffer[position] != rune('H') { | 
|  | goto l493 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l507: | 
|  | { | 
|  | position509, tokenIndex509 := position, tokenIndex | 
|  | if buffer[position] != rune('a') { | 
|  | goto l510 | 
|  | } | 
|  | position++ | 
|  | goto l509 | 
|  | l510: | 
|  | position, tokenIndex = position509, tokenIndex509 | 
|  | if buffer[position] != rune('A') { | 
|  | goto l493 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l509: | 
|  | add(ruleTOCRefHigh, position494) | 
|  | } | 
|  | return true | 
|  | l493: | 
|  | position, tokenIndex = position493, tokenIndex493 | 
|  | return false | 
|  | }, | 
|  | /* 39 TOCRefLow <- <('.' 'T' 'O' 'C' '.' '-' (('0' 'b') / ('.' 'L' ([a-z] / [A-Z] / '_' / [0-9])+)) ('@' ('l' / 'L')))> */ | 
|  | func() bool { | 
|  | position511, tokenIndex511 := position, tokenIndex | 
|  | { | 
|  | position512 := position | 
|  | if buffer[position] != rune('.') { | 
|  | goto l511 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('T') { | 
|  | goto l511 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('O') { | 
|  | goto l511 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('C') { | 
|  | goto l511 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('.') { | 
|  | goto l511 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('-') { | 
|  | goto l511 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position513, tokenIndex513 := position, tokenIndex | 
|  | if buffer[position] != rune('0') { | 
|  | goto l514 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('b') { | 
|  | goto l514 | 
|  | } | 
|  | position++ | 
|  | goto l513 | 
|  | l514: | 
|  | position, tokenIndex = position513, tokenIndex513 | 
|  | if buffer[position] != rune('.') { | 
|  | goto l511 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('L') { | 
|  | goto l511 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position517, tokenIndex517 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l518 | 
|  | } | 
|  | position++ | 
|  | goto l517 | 
|  | l518: | 
|  | position, tokenIndex = position517, tokenIndex517 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l519 | 
|  | } | 
|  | position++ | 
|  | goto l517 | 
|  | l519: | 
|  | position, tokenIndex = position517, tokenIndex517 | 
|  | if buffer[position] != rune('_') { | 
|  | goto l520 | 
|  | } | 
|  | position++ | 
|  | goto l517 | 
|  | l520: | 
|  | position, tokenIndex = position517, tokenIndex517 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l511 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l517: | 
|  | l515: | 
|  | { | 
|  | position516, tokenIndex516 := position, tokenIndex | 
|  | { | 
|  | position521, tokenIndex521 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l522 | 
|  | } | 
|  | position++ | 
|  | goto l521 | 
|  | l522: | 
|  | position, tokenIndex = position521, tokenIndex521 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l523 | 
|  | } | 
|  | position++ | 
|  | goto l521 | 
|  | l523: | 
|  | position, tokenIndex = position521, tokenIndex521 | 
|  | if buffer[position] != rune('_') { | 
|  | goto l524 | 
|  | } | 
|  | position++ | 
|  | goto l521 | 
|  | l524: | 
|  | position, tokenIndex = position521, tokenIndex521 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l516 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l521: | 
|  | goto l515 | 
|  | l516: | 
|  | position, tokenIndex = position516, tokenIndex516 | 
|  | } | 
|  | } | 
|  | l513: | 
|  | if buffer[position] != rune('@') { | 
|  | goto l511 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position525, tokenIndex525 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l526 | 
|  | } | 
|  | position++ | 
|  | goto l525 | 
|  | l526: | 
|  | position, tokenIndex = position525, tokenIndex525 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l511 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l525: | 
|  | add(ruleTOCRefLow, position512) | 
|  | } | 
|  | return true | 
|  | l511: | 
|  | position, tokenIndex = position511, tokenIndex511 | 
|  | return false | 
|  | }, | 
|  | /* 40 IndirectionIndicator <- <'*'> */ | 
|  | func() bool { | 
|  | position527, tokenIndex527 := position, tokenIndex | 
|  | { | 
|  | position528 := position | 
|  | if buffer[position] != rune('*') { | 
|  | goto l527 | 
|  | } | 
|  | position++ | 
|  | add(ruleIndirectionIndicator, position528) | 
|  | } | 
|  | return true | 
|  | l527: | 
|  | position, tokenIndex = position527, tokenIndex527 | 
|  | return false | 
|  | }, | 
|  | /* 41 RegisterOrConstant <- <((('%' ([a-z] / [A-Z]) ([a-z] / [A-Z] / ([0-9] / [0-9]))*) / ('$'? ((Offset Offset) / Offset)) / ('#' Offset ('*' [0-9]+ ('-' [0-9] [0-9]*)?)?) / ('#' '~'? '(' [0-9] WS? ('<' '<') WS? [0-9] ')') / ARMRegister) !('f' / 'b' / ':' / '(' / '+' / '-'))> */ | 
|  | func() bool { | 
|  | position529, tokenIndex529 := position, tokenIndex | 
|  | { | 
|  | position530 := position | 
|  | { | 
|  | position531, tokenIndex531 := position, tokenIndex | 
|  | if buffer[position] != rune('%') { | 
|  | goto l532 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position533, tokenIndex533 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l534 | 
|  | } | 
|  | position++ | 
|  | goto l533 | 
|  | l534: | 
|  | position, tokenIndex = position533, tokenIndex533 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l532 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l533: | 
|  | l535: | 
|  | { | 
|  | position536, tokenIndex536 := position, tokenIndex | 
|  | { | 
|  | position537, tokenIndex537 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l538 | 
|  | } | 
|  | position++ | 
|  | goto l537 | 
|  | l538: | 
|  | position, tokenIndex = position537, tokenIndex537 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l539 | 
|  | } | 
|  | position++ | 
|  | goto l537 | 
|  | l539: | 
|  | position, tokenIndex = position537, tokenIndex537 | 
|  | { | 
|  | position540, tokenIndex540 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l541 | 
|  | } | 
|  | position++ | 
|  | goto l540 | 
|  | l541: | 
|  | position, tokenIndex = position540, tokenIndex540 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l536 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l540: | 
|  | } | 
|  | l537: | 
|  | goto l535 | 
|  | l536: | 
|  | position, tokenIndex = position536, tokenIndex536 | 
|  | } | 
|  | goto l531 | 
|  | l532: | 
|  | position, tokenIndex = position531, tokenIndex531 | 
|  | { | 
|  | position543, tokenIndex543 := position, tokenIndex | 
|  | if buffer[position] != rune('$') { | 
|  | goto l543 | 
|  | } | 
|  | position++ | 
|  | goto l544 | 
|  | l543: | 
|  | position, tokenIndex = position543, tokenIndex543 | 
|  | } | 
|  | l544: | 
|  | { | 
|  | position545, tokenIndex545 := position, tokenIndex | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l546 | 
|  | } | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l546 | 
|  | } | 
|  | goto l545 | 
|  | l546: | 
|  | position, tokenIndex = position545, tokenIndex545 | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l542 | 
|  | } | 
|  | } | 
|  | l545: | 
|  | goto l531 | 
|  | l542: | 
|  | position, tokenIndex = position531, tokenIndex531 | 
|  | if buffer[position] != rune('#') { | 
|  | goto l547 | 
|  | } | 
|  | position++ | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l547 | 
|  | } | 
|  | { | 
|  | position548, tokenIndex548 := position, tokenIndex | 
|  | if buffer[position] != rune('*') { | 
|  | goto l548 | 
|  | } | 
|  | position++ | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l548 | 
|  | } | 
|  | position++ | 
|  | l550: | 
|  | { | 
|  | position551, tokenIndex551 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l551 | 
|  | } | 
|  | position++ | 
|  | goto l550 | 
|  | l551: | 
|  | position, tokenIndex = position551, tokenIndex551 | 
|  | } | 
|  | { | 
|  | position552, tokenIndex552 := position, tokenIndex | 
|  | if buffer[position] != rune('-') { | 
|  | goto l552 | 
|  | } | 
|  | position++ | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l552 | 
|  | } | 
|  | position++ | 
|  | l554: | 
|  | { | 
|  | position555, tokenIndex555 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l555 | 
|  | } | 
|  | position++ | 
|  | goto l554 | 
|  | l555: | 
|  | position, tokenIndex = position555, tokenIndex555 | 
|  | } | 
|  | goto l553 | 
|  | l552: | 
|  | position, tokenIndex = position552, tokenIndex552 | 
|  | } | 
|  | l553: | 
|  | goto l549 | 
|  | l548: | 
|  | position, tokenIndex = position548, tokenIndex548 | 
|  | } | 
|  | l549: | 
|  | goto l531 | 
|  | l547: | 
|  | position, tokenIndex = position531, tokenIndex531 | 
|  | if buffer[position] != rune('#') { | 
|  | goto l556 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position557, tokenIndex557 := position, tokenIndex | 
|  | if buffer[position] != rune('~') { | 
|  | goto l557 | 
|  | } | 
|  | position++ | 
|  | goto l558 | 
|  | l557: | 
|  | position, tokenIndex = position557, tokenIndex557 | 
|  | } | 
|  | l558: | 
|  | if buffer[position] != rune('(') { | 
|  | goto l556 | 
|  | } | 
|  | position++ | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l556 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position559, tokenIndex559 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l559 | 
|  | } | 
|  | goto l560 | 
|  | l559: | 
|  | position, tokenIndex = position559, tokenIndex559 | 
|  | } | 
|  | l560: | 
|  | if buffer[position] != rune('<') { | 
|  | goto l556 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('<') { | 
|  | goto l556 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position561, tokenIndex561 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l561 | 
|  | } | 
|  | goto l562 | 
|  | l561: | 
|  | position, tokenIndex = position561, tokenIndex561 | 
|  | } | 
|  | l562: | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l556 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune(')') { | 
|  | goto l556 | 
|  | } | 
|  | position++ | 
|  | goto l531 | 
|  | l556: | 
|  | position, tokenIndex = position531, tokenIndex531 | 
|  | if !_rules[ruleARMRegister]() { | 
|  | goto l529 | 
|  | } | 
|  | } | 
|  | l531: | 
|  | { | 
|  | position563, tokenIndex563 := position, tokenIndex | 
|  | { | 
|  | position564, tokenIndex564 := position, tokenIndex | 
|  | if buffer[position] != rune('f') { | 
|  | goto l565 | 
|  | } | 
|  | position++ | 
|  | goto l564 | 
|  | l565: | 
|  | position, tokenIndex = position564, tokenIndex564 | 
|  | if buffer[position] != rune('b') { | 
|  | goto l566 | 
|  | } | 
|  | position++ | 
|  | goto l564 | 
|  | l566: | 
|  | position, tokenIndex = position564, tokenIndex564 | 
|  | if buffer[position] != rune(':') { | 
|  | goto l567 | 
|  | } | 
|  | position++ | 
|  | goto l564 | 
|  | l567: | 
|  | position, tokenIndex = position564, tokenIndex564 | 
|  | if buffer[position] != rune('(') { | 
|  | goto l568 | 
|  | } | 
|  | position++ | 
|  | goto l564 | 
|  | l568: | 
|  | position, tokenIndex = position564, tokenIndex564 | 
|  | if buffer[position] != rune('+') { | 
|  | goto l569 | 
|  | } | 
|  | position++ | 
|  | goto l564 | 
|  | l569: | 
|  | position, tokenIndex = position564, tokenIndex564 | 
|  | if buffer[position] != rune('-') { | 
|  | goto l563 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l564: | 
|  | goto l529 | 
|  | l563: | 
|  | position, tokenIndex = position563, tokenIndex563 | 
|  | } | 
|  | add(ruleRegisterOrConstant, position530) | 
|  | } | 
|  | return true | 
|  | l529: | 
|  | position, tokenIndex = position529, tokenIndex529 | 
|  | return false | 
|  | }, | 
|  | /* 42 ARMConstantTweak <- <(((('u' / 's') (('x' / 'X') ('t' / 'T')) ('x' / 'w' / 'h' / 'b')) / (('l' / 'L') ('s' / 'S') ('l' / 'L')) / (('l' / 'L') ('s' / 'S') ('r' / 'R')) / (('r' / 'R') ('o' / 'O') ('r' / 'R')) / (('a' / 'A') ('s' / 'S') ('r' / 'R'))) (WS '#' Offset)?)> */ | 
|  | func() bool { | 
|  | position570, tokenIndex570 := position, tokenIndex | 
|  | { | 
|  | position571 := position | 
|  | { | 
|  | position572, tokenIndex572 := position, tokenIndex | 
|  | { | 
|  | position574, tokenIndex574 := position, tokenIndex | 
|  | if buffer[position] != rune('u') { | 
|  | goto l575 | 
|  | } | 
|  | position++ | 
|  | goto l574 | 
|  | l575: | 
|  | position, tokenIndex = position574, tokenIndex574 | 
|  | if buffer[position] != rune('s') { | 
|  | goto l573 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l574: | 
|  | { | 
|  | position576, tokenIndex576 := position, tokenIndex | 
|  | if buffer[position] != rune('x') { | 
|  | goto l577 | 
|  | } | 
|  | position++ | 
|  | goto l576 | 
|  | l577: | 
|  | position, tokenIndex = position576, tokenIndex576 | 
|  | if buffer[position] != rune('X') { | 
|  | goto l573 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l576: | 
|  | { | 
|  | position578, tokenIndex578 := position, tokenIndex | 
|  | if buffer[position] != rune('t') { | 
|  | goto l579 | 
|  | } | 
|  | position++ | 
|  | goto l578 | 
|  | l579: | 
|  | position, tokenIndex = position578, tokenIndex578 | 
|  | if buffer[position] != rune('T') { | 
|  | goto l573 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l578: | 
|  | { | 
|  | position580, tokenIndex580 := position, tokenIndex | 
|  | if buffer[position] != rune('x') { | 
|  | goto l581 | 
|  | } | 
|  | position++ | 
|  | goto l580 | 
|  | l581: | 
|  | position, tokenIndex = position580, tokenIndex580 | 
|  | if buffer[position] != rune('w') { | 
|  | goto l582 | 
|  | } | 
|  | position++ | 
|  | goto l580 | 
|  | l582: | 
|  | position, tokenIndex = position580, tokenIndex580 | 
|  | if buffer[position] != rune('h') { | 
|  | goto l583 | 
|  | } | 
|  | position++ | 
|  | goto l580 | 
|  | l583: | 
|  | position, tokenIndex = position580, tokenIndex580 | 
|  | if buffer[position] != rune('b') { | 
|  | goto l573 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l580: | 
|  | goto l572 | 
|  | l573: | 
|  | position, tokenIndex = position572, tokenIndex572 | 
|  | { | 
|  | position585, tokenIndex585 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l586 | 
|  | } | 
|  | position++ | 
|  | goto l585 | 
|  | l586: | 
|  | position, tokenIndex = position585, tokenIndex585 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l584 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l585: | 
|  | { | 
|  | position587, tokenIndex587 := position, tokenIndex | 
|  | if buffer[position] != rune('s') { | 
|  | goto l588 | 
|  | } | 
|  | position++ | 
|  | goto l587 | 
|  | l588: | 
|  | position, tokenIndex = position587, tokenIndex587 | 
|  | if buffer[position] != rune('S') { | 
|  | goto l584 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l587: | 
|  | { | 
|  | position589, tokenIndex589 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l590 | 
|  | } | 
|  | position++ | 
|  | goto l589 | 
|  | l590: | 
|  | position, tokenIndex = position589, tokenIndex589 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l584 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l589: | 
|  | goto l572 | 
|  | l584: | 
|  | position, tokenIndex = position572, tokenIndex572 | 
|  | { | 
|  | position592, tokenIndex592 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l593 | 
|  | } | 
|  | position++ | 
|  | goto l592 | 
|  | l593: | 
|  | position, tokenIndex = position592, tokenIndex592 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l591 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l592: | 
|  | { | 
|  | position594, tokenIndex594 := position, tokenIndex | 
|  | if buffer[position] != rune('s') { | 
|  | goto l595 | 
|  | } | 
|  | position++ | 
|  | goto l594 | 
|  | l595: | 
|  | position, tokenIndex = position594, tokenIndex594 | 
|  | if buffer[position] != rune('S') { | 
|  | goto l591 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l594: | 
|  | { | 
|  | position596, tokenIndex596 := position, tokenIndex | 
|  | if buffer[position] != rune('r') { | 
|  | goto l597 | 
|  | } | 
|  | position++ | 
|  | goto l596 | 
|  | l597: | 
|  | position, tokenIndex = position596, tokenIndex596 | 
|  | if buffer[position] != rune('R') { | 
|  | goto l591 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l596: | 
|  | goto l572 | 
|  | l591: | 
|  | position, tokenIndex = position572, tokenIndex572 | 
|  | { | 
|  | position599, tokenIndex599 := position, tokenIndex | 
|  | if buffer[position] != rune('r') { | 
|  | goto l600 | 
|  | } | 
|  | position++ | 
|  | goto l599 | 
|  | l600: | 
|  | position, tokenIndex = position599, tokenIndex599 | 
|  | if buffer[position] != rune('R') { | 
|  | goto l598 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l599: | 
|  | { | 
|  | position601, tokenIndex601 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l602 | 
|  | } | 
|  | position++ | 
|  | goto l601 | 
|  | l602: | 
|  | position, tokenIndex = position601, tokenIndex601 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l598 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l601: | 
|  | { | 
|  | position603, tokenIndex603 := position, tokenIndex | 
|  | if buffer[position] != rune('r') { | 
|  | goto l604 | 
|  | } | 
|  | position++ | 
|  | goto l603 | 
|  | l604: | 
|  | position, tokenIndex = position603, tokenIndex603 | 
|  | if buffer[position] != rune('R') { | 
|  | goto l598 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l603: | 
|  | goto l572 | 
|  | l598: | 
|  | position, tokenIndex = position572, tokenIndex572 | 
|  | { | 
|  | position605, tokenIndex605 := position, tokenIndex | 
|  | if buffer[position] != rune('a') { | 
|  | goto l606 | 
|  | } | 
|  | position++ | 
|  | goto l605 | 
|  | l606: | 
|  | position, tokenIndex = position605, tokenIndex605 | 
|  | if buffer[position] != rune('A') { | 
|  | goto l570 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l605: | 
|  | { | 
|  | position607, tokenIndex607 := position, tokenIndex | 
|  | if buffer[position] != rune('s') { | 
|  | goto l608 | 
|  | } | 
|  | position++ | 
|  | goto l607 | 
|  | l608: | 
|  | position, tokenIndex = position607, tokenIndex607 | 
|  | if buffer[position] != rune('S') { | 
|  | goto l570 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l607: | 
|  | { | 
|  | position609, tokenIndex609 := position, tokenIndex | 
|  | if buffer[position] != rune('r') { | 
|  | goto l610 | 
|  | } | 
|  | position++ | 
|  | goto l609 | 
|  | l610: | 
|  | position, tokenIndex = position609, tokenIndex609 | 
|  | if buffer[position] != rune('R') { | 
|  | goto l570 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l609: | 
|  | } | 
|  | l572: | 
|  | { | 
|  | position611, tokenIndex611 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l611 | 
|  | } | 
|  | if buffer[position] != rune('#') { | 
|  | goto l611 | 
|  | } | 
|  | position++ | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l611 | 
|  | } | 
|  | goto l612 | 
|  | l611: | 
|  | position, tokenIndex = position611, tokenIndex611 | 
|  | } | 
|  | l612: | 
|  | add(ruleARMConstantTweak, position571) | 
|  | } | 
|  | return true | 
|  | l570: | 
|  | position, tokenIndex = position570, tokenIndex570 | 
|  | return false | 
|  | }, | 
|  | /* 43 ARMRegister <- <((('s' / 'S') ('p' / 'P')) / (('x' / 'w' / 'd' / 'q' / 's' / 'h' / 'b') [0-9] [0-9]?) / (('x' / 'X') ('z' / 'Z') ('r' / 'R')) / (('w' / 'W') ('z' / 'Z') ('r' / 'R')) / (('n' / 'N') ('z' / 'Z') ('c' / 'C') ('v' / 'V')) / ARMVectorRegister / ('{' WS? ARMVectorRegister (',' WS? ARMVectorRegister)* WS? '}' ('[' [0-9] [0-9]? ']')?))> */ | 
|  | func() bool { | 
|  | position613, tokenIndex613 := position, tokenIndex | 
|  | { | 
|  | position614 := position | 
|  | { | 
|  | position615, tokenIndex615 := position, tokenIndex | 
|  | { | 
|  | position617, tokenIndex617 := position, tokenIndex | 
|  | if buffer[position] != rune('s') { | 
|  | goto l618 | 
|  | } | 
|  | position++ | 
|  | goto l617 | 
|  | l618: | 
|  | position, tokenIndex = position617, tokenIndex617 | 
|  | if buffer[position] != rune('S') { | 
|  | goto l616 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l617: | 
|  | { | 
|  | position619, tokenIndex619 := position, tokenIndex | 
|  | if buffer[position] != rune('p') { | 
|  | goto l620 | 
|  | } | 
|  | position++ | 
|  | goto l619 | 
|  | l620: | 
|  | position, tokenIndex = position619, tokenIndex619 | 
|  | if buffer[position] != rune('P') { | 
|  | goto l616 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l619: | 
|  | goto l615 | 
|  | l616: | 
|  | position, tokenIndex = position615, tokenIndex615 | 
|  | { | 
|  | position622, tokenIndex622 := position, tokenIndex | 
|  | if buffer[position] != rune('x') { | 
|  | goto l623 | 
|  | } | 
|  | position++ | 
|  | goto l622 | 
|  | l623: | 
|  | position, tokenIndex = position622, tokenIndex622 | 
|  | if buffer[position] != rune('w') { | 
|  | goto l624 | 
|  | } | 
|  | position++ | 
|  | goto l622 | 
|  | l624: | 
|  | position, tokenIndex = position622, tokenIndex622 | 
|  | if buffer[position] != rune('d') { | 
|  | goto l625 | 
|  | } | 
|  | position++ | 
|  | goto l622 | 
|  | l625: | 
|  | position, tokenIndex = position622, tokenIndex622 | 
|  | if buffer[position] != rune('q') { | 
|  | goto l626 | 
|  | } | 
|  | position++ | 
|  | goto l622 | 
|  | l626: | 
|  | position, tokenIndex = position622, tokenIndex622 | 
|  | if buffer[position] != rune('s') { | 
|  | goto l627 | 
|  | } | 
|  | position++ | 
|  | goto l622 | 
|  | l627: | 
|  | position, tokenIndex = position622, tokenIndex622 | 
|  | if buffer[position] != rune('h') { | 
|  | goto l628 | 
|  | } | 
|  | position++ | 
|  | goto l622 | 
|  | l628: | 
|  | position, tokenIndex = position622, tokenIndex622 | 
|  | if buffer[position] != rune('b') { | 
|  | goto l621 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l622: | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l621 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position629, tokenIndex629 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l629 | 
|  | } | 
|  | position++ | 
|  | goto l630 | 
|  | l629: | 
|  | position, tokenIndex = position629, tokenIndex629 | 
|  | } | 
|  | l630: | 
|  | goto l615 | 
|  | l621: | 
|  | position, tokenIndex = position615, tokenIndex615 | 
|  | { | 
|  | position632, tokenIndex632 := position, tokenIndex | 
|  | if buffer[position] != rune('x') { | 
|  | goto l633 | 
|  | } | 
|  | position++ | 
|  | goto l632 | 
|  | l633: | 
|  | position, tokenIndex = position632, tokenIndex632 | 
|  | if buffer[position] != rune('X') { | 
|  | goto l631 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l632: | 
|  | { | 
|  | position634, tokenIndex634 := position, tokenIndex | 
|  | if buffer[position] != rune('z') { | 
|  | goto l635 | 
|  | } | 
|  | position++ | 
|  | goto l634 | 
|  | l635: | 
|  | position, tokenIndex = position634, tokenIndex634 | 
|  | if buffer[position] != rune('Z') { | 
|  | goto l631 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l634: | 
|  | { | 
|  | position636, tokenIndex636 := position, tokenIndex | 
|  | if buffer[position] != rune('r') { | 
|  | goto l637 | 
|  | } | 
|  | position++ | 
|  | goto l636 | 
|  | l637: | 
|  | position, tokenIndex = position636, tokenIndex636 | 
|  | if buffer[position] != rune('R') { | 
|  | goto l631 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l636: | 
|  | goto l615 | 
|  | l631: | 
|  | position, tokenIndex = position615, tokenIndex615 | 
|  | { | 
|  | position639, tokenIndex639 := position, tokenIndex | 
|  | if buffer[position] != rune('w') { | 
|  | goto l640 | 
|  | } | 
|  | position++ | 
|  | goto l639 | 
|  | l640: | 
|  | position, tokenIndex = position639, tokenIndex639 | 
|  | if buffer[position] != rune('W') { | 
|  | goto l638 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l639: | 
|  | { | 
|  | position641, tokenIndex641 := position, tokenIndex | 
|  | if buffer[position] != rune('z') { | 
|  | goto l642 | 
|  | } | 
|  | position++ | 
|  | goto l641 | 
|  | l642: | 
|  | position, tokenIndex = position641, tokenIndex641 | 
|  | if buffer[position] != rune('Z') { | 
|  | goto l638 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l641: | 
|  | { | 
|  | position643, tokenIndex643 := position, tokenIndex | 
|  | if buffer[position] != rune('r') { | 
|  | goto l644 | 
|  | } | 
|  | position++ | 
|  | goto l643 | 
|  | l644: | 
|  | position, tokenIndex = position643, tokenIndex643 | 
|  | if buffer[position] != rune('R') { | 
|  | goto l638 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l643: | 
|  | goto l615 | 
|  | l638: | 
|  | position, tokenIndex = position615, tokenIndex615 | 
|  | { | 
|  | position646, tokenIndex646 := position, tokenIndex | 
|  | if buffer[position] != rune('n') { | 
|  | goto l647 | 
|  | } | 
|  | position++ | 
|  | goto l646 | 
|  | l647: | 
|  | position, tokenIndex = position646, tokenIndex646 | 
|  | if buffer[position] != rune('N') { | 
|  | goto l645 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l646: | 
|  | { | 
|  | position648, tokenIndex648 := position, tokenIndex | 
|  | if buffer[position] != rune('z') { | 
|  | goto l649 | 
|  | } | 
|  | position++ | 
|  | goto l648 | 
|  | l649: | 
|  | position, tokenIndex = position648, tokenIndex648 | 
|  | if buffer[position] != rune('Z') { | 
|  | goto l645 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l648: | 
|  | { | 
|  | position650, tokenIndex650 := position, tokenIndex | 
|  | if buffer[position] != rune('c') { | 
|  | goto l651 | 
|  | } | 
|  | position++ | 
|  | goto l650 | 
|  | l651: | 
|  | position, tokenIndex = position650, tokenIndex650 | 
|  | if buffer[position] != rune('C') { | 
|  | goto l645 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l650: | 
|  | { | 
|  | position652, tokenIndex652 := position, tokenIndex | 
|  | if buffer[position] != rune('v') { | 
|  | goto l653 | 
|  | } | 
|  | position++ | 
|  | goto l652 | 
|  | l653: | 
|  | position, tokenIndex = position652, tokenIndex652 | 
|  | if buffer[position] != rune('V') { | 
|  | goto l645 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l652: | 
|  | goto l615 | 
|  | l645: | 
|  | position, tokenIndex = position615, tokenIndex615 | 
|  | if !_rules[ruleARMVectorRegister]() { | 
|  | goto l654 | 
|  | } | 
|  | goto l615 | 
|  | l654: | 
|  | position, tokenIndex = position615, tokenIndex615 | 
|  | if buffer[position] != rune('{') { | 
|  | goto l613 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position655, tokenIndex655 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l655 | 
|  | } | 
|  | goto l656 | 
|  | l655: | 
|  | position, tokenIndex = position655, tokenIndex655 | 
|  | } | 
|  | l656: | 
|  | if !_rules[ruleARMVectorRegister]() { | 
|  | goto l613 | 
|  | } | 
|  | l657: | 
|  | { | 
|  | position658, tokenIndex658 := position, tokenIndex | 
|  | if buffer[position] != rune(',') { | 
|  | goto l658 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position659, tokenIndex659 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l659 | 
|  | } | 
|  | goto l660 | 
|  | l659: | 
|  | position, tokenIndex = position659, tokenIndex659 | 
|  | } | 
|  | l660: | 
|  | if !_rules[ruleARMVectorRegister]() { | 
|  | goto l658 | 
|  | } | 
|  | goto l657 | 
|  | l658: | 
|  | position, tokenIndex = position658, tokenIndex658 | 
|  | } | 
|  | { | 
|  | position661, tokenIndex661 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l661 | 
|  | } | 
|  | goto l662 | 
|  | l661: | 
|  | position, tokenIndex = position661, tokenIndex661 | 
|  | } | 
|  | l662: | 
|  | if buffer[position] != rune('}') { | 
|  | goto l613 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position663, tokenIndex663 := position, tokenIndex | 
|  | if buffer[position] != rune('[') { | 
|  | goto l663 | 
|  | } | 
|  | position++ | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l663 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position665, tokenIndex665 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l665 | 
|  | } | 
|  | position++ | 
|  | goto l666 | 
|  | l665: | 
|  | position, tokenIndex = position665, tokenIndex665 | 
|  | } | 
|  | l666: | 
|  | if buffer[position] != rune(']') { | 
|  | goto l663 | 
|  | } | 
|  | position++ | 
|  | goto l664 | 
|  | l663: | 
|  | position, tokenIndex = position663, tokenIndex663 | 
|  | } | 
|  | l664: | 
|  | } | 
|  | l615: | 
|  | add(ruleARMRegister, position614) | 
|  | } | 
|  | return true | 
|  | l613: | 
|  | position, tokenIndex = position613, tokenIndex613 | 
|  | return false | 
|  | }, | 
|  | /* 44 ARMVectorRegister <- <(('v' / 'V') [0-9] [0-9]? ('.' [0-9]* ('b' / 's' / 'd' / 'h' / 'q') ('[' [0-9] [0-9]? ']')?)?)> */ | 
|  | func() bool { | 
|  | position667, tokenIndex667 := position, tokenIndex | 
|  | { | 
|  | position668 := position | 
|  | { | 
|  | position669, tokenIndex669 := position, tokenIndex | 
|  | if buffer[position] != rune('v') { | 
|  | goto l670 | 
|  | } | 
|  | position++ | 
|  | goto l669 | 
|  | l670: | 
|  | position, tokenIndex = position669, tokenIndex669 | 
|  | if buffer[position] != rune('V') { | 
|  | goto l667 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l669: | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l667 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position671, tokenIndex671 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l671 | 
|  | } | 
|  | position++ | 
|  | goto l672 | 
|  | l671: | 
|  | position, tokenIndex = position671, tokenIndex671 | 
|  | } | 
|  | l672: | 
|  | { | 
|  | position673, tokenIndex673 := position, tokenIndex | 
|  | if buffer[position] != rune('.') { | 
|  | goto l673 | 
|  | } | 
|  | position++ | 
|  | l675: | 
|  | { | 
|  | position676, tokenIndex676 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l676 | 
|  | } | 
|  | position++ | 
|  | goto l675 | 
|  | l676: | 
|  | position, tokenIndex = position676, tokenIndex676 | 
|  | } | 
|  | { | 
|  | position677, tokenIndex677 := position, tokenIndex | 
|  | if buffer[position] != rune('b') { | 
|  | goto l678 | 
|  | } | 
|  | position++ | 
|  | goto l677 | 
|  | l678: | 
|  | position, tokenIndex = position677, tokenIndex677 | 
|  | if buffer[position] != rune('s') { | 
|  | goto l679 | 
|  | } | 
|  | position++ | 
|  | goto l677 | 
|  | l679: | 
|  | position, tokenIndex = position677, tokenIndex677 | 
|  | if buffer[position] != rune('d') { | 
|  | goto l680 | 
|  | } | 
|  | position++ | 
|  | goto l677 | 
|  | l680: | 
|  | position, tokenIndex = position677, tokenIndex677 | 
|  | if buffer[position] != rune('h') { | 
|  | goto l681 | 
|  | } | 
|  | position++ | 
|  | goto l677 | 
|  | l681: | 
|  | position, tokenIndex = position677, tokenIndex677 | 
|  | if buffer[position] != rune('q') { | 
|  | goto l673 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l677: | 
|  | { | 
|  | position682, tokenIndex682 := position, tokenIndex | 
|  | if buffer[position] != rune('[') { | 
|  | goto l682 | 
|  | } | 
|  | position++ | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l682 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position684, tokenIndex684 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l684 | 
|  | } | 
|  | position++ | 
|  | goto l685 | 
|  | l684: | 
|  | position, tokenIndex = position684, tokenIndex684 | 
|  | } | 
|  | l685: | 
|  | if buffer[position] != rune(']') { | 
|  | goto l682 | 
|  | } | 
|  | position++ | 
|  | goto l683 | 
|  | l682: | 
|  | position, tokenIndex = position682, tokenIndex682 | 
|  | } | 
|  | l683: | 
|  | goto l674 | 
|  | l673: | 
|  | position, tokenIndex = position673, tokenIndex673 | 
|  | } | 
|  | l674: | 
|  | add(ruleARMVectorRegister, position668) | 
|  | } | 
|  | return true | 
|  | l667: | 
|  | position, tokenIndex = position667, tokenIndex667 | 
|  | return false | 
|  | }, | 
|  | /* 45 MemoryRef <- <((SymbolRef BaseIndexScale) / SymbolRef / Low12BitsSymbolRef / (Offset* BaseIndexScale) / (SegmentRegister Offset BaseIndexScale) / (SegmentRegister BaseIndexScale) / (SegmentRegister Offset) / ARMBaseIndexScale / BaseIndexScale)> */ | 
|  | func() bool { | 
|  | position686, tokenIndex686 := position, tokenIndex | 
|  | { | 
|  | position687 := position | 
|  | { | 
|  | position688, tokenIndex688 := position, tokenIndex | 
|  | if !_rules[ruleSymbolRef]() { | 
|  | goto l689 | 
|  | } | 
|  | if !_rules[ruleBaseIndexScale]() { | 
|  | goto l689 | 
|  | } | 
|  | goto l688 | 
|  | l689: | 
|  | position, tokenIndex = position688, tokenIndex688 | 
|  | if !_rules[ruleSymbolRef]() { | 
|  | goto l690 | 
|  | } | 
|  | goto l688 | 
|  | l690: | 
|  | position, tokenIndex = position688, tokenIndex688 | 
|  | if !_rules[ruleLow12BitsSymbolRef]() { | 
|  | goto l691 | 
|  | } | 
|  | goto l688 | 
|  | l691: | 
|  | position, tokenIndex = position688, tokenIndex688 | 
|  | l693: | 
|  | { | 
|  | position694, tokenIndex694 := position, tokenIndex | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l694 | 
|  | } | 
|  | goto l693 | 
|  | l694: | 
|  | position, tokenIndex = position694, tokenIndex694 | 
|  | } | 
|  | if !_rules[ruleBaseIndexScale]() { | 
|  | goto l692 | 
|  | } | 
|  | goto l688 | 
|  | l692: | 
|  | position, tokenIndex = position688, tokenIndex688 | 
|  | if !_rules[ruleSegmentRegister]() { | 
|  | goto l695 | 
|  | } | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l695 | 
|  | } | 
|  | if !_rules[ruleBaseIndexScale]() { | 
|  | goto l695 | 
|  | } | 
|  | goto l688 | 
|  | l695: | 
|  | position, tokenIndex = position688, tokenIndex688 | 
|  | if !_rules[ruleSegmentRegister]() { | 
|  | goto l696 | 
|  | } | 
|  | if !_rules[ruleBaseIndexScale]() { | 
|  | goto l696 | 
|  | } | 
|  | goto l688 | 
|  | l696: | 
|  | position, tokenIndex = position688, tokenIndex688 | 
|  | if !_rules[ruleSegmentRegister]() { | 
|  | goto l697 | 
|  | } | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l697 | 
|  | } | 
|  | goto l688 | 
|  | l697: | 
|  | position, tokenIndex = position688, tokenIndex688 | 
|  | if !_rules[ruleARMBaseIndexScale]() { | 
|  | goto l698 | 
|  | } | 
|  | goto l688 | 
|  | l698: | 
|  | position, tokenIndex = position688, tokenIndex688 | 
|  | if !_rules[ruleBaseIndexScale]() { | 
|  | goto l686 | 
|  | } | 
|  | } | 
|  | l688: | 
|  | add(ruleMemoryRef, position687) | 
|  | } | 
|  | return true | 
|  | l686: | 
|  | position, tokenIndex = position686, tokenIndex686 | 
|  | return false | 
|  | }, | 
|  | /* 46 SymbolRef <- <((Offset* '+')? (LocalSymbol / SymbolName) Offset* ('@' Section Offset*)?)> */ | 
|  | func() bool { | 
|  | position699, tokenIndex699 := position, tokenIndex | 
|  | { | 
|  | position700 := position | 
|  | { | 
|  | position701, tokenIndex701 := position, tokenIndex | 
|  | l703: | 
|  | { | 
|  | position704, tokenIndex704 := position, tokenIndex | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l704 | 
|  | } | 
|  | goto l703 | 
|  | l704: | 
|  | position, tokenIndex = position704, tokenIndex704 | 
|  | } | 
|  | if buffer[position] != rune('+') { | 
|  | goto l701 | 
|  | } | 
|  | position++ | 
|  | goto l702 | 
|  | l701: | 
|  | position, tokenIndex = position701, tokenIndex701 | 
|  | } | 
|  | l702: | 
|  | { | 
|  | position705, tokenIndex705 := position, tokenIndex | 
|  | if !_rules[ruleLocalSymbol]() { | 
|  | goto l706 | 
|  | } | 
|  | goto l705 | 
|  | l706: | 
|  | position, tokenIndex = position705, tokenIndex705 | 
|  | if !_rules[ruleSymbolName]() { | 
|  | goto l699 | 
|  | } | 
|  | } | 
|  | l705: | 
|  | l707: | 
|  | { | 
|  | position708, tokenIndex708 := position, tokenIndex | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l708 | 
|  | } | 
|  | goto l707 | 
|  | l708: | 
|  | position, tokenIndex = position708, tokenIndex708 | 
|  | } | 
|  | { | 
|  | position709, tokenIndex709 := position, tokenIndex | 
|  | if buffer[position] != rune('@') { | 
|  | goto l709 | 
|  | } | 
|  | position++ | 
|  | if !_rules[ruleSection]() { | 
|  | goto l709 | 
|  | } | 
|  | l711: | 
|  | { | 
|  | position712, tokenIndex712 := position, tokenIndex | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l712 | 
|  | } | 
|  | goto l711 | 
|  | l712: | 
|  | position, tokenIndex = position712, tokenIndex712 | 
|  | } | 
|  | goto l710 | 
|  | l709: | 
|  | position, tokenIndex = position709, tokenIndex709 | 
|  | } | 
|  | l710: | 
|  | add(ruleSymbolRef, position700) | 
|  | } | 
|  | return true | 
|  | l699: | 
|  | position, tokenIndex = position699, tokenIndex699 | 
|  | return false | 
|  | }, | 
|  | /* 47 Low12BitsSymbolRef <- <(':' ('l' / 'L') ('o' / 'O') '1' '2' ':' (LocalSymbol / SymbolName) Offset?)> */ | 
|  | func() bool { | 
|  | position713, tokenIndex713 := position, tokenIndex | 
|  | { | 
|  | position714 := position | 
|  | if buffer[position] != rune(':') { | 
|  | goto l713 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position715, tokenIndex715 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l716 | 
|  | } | 
|  | position++ | 
|  | goto l715 | 
|  | l716: | 
|  | position, tokenIndex = position715, tokenIndex715 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l713 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l715: | 
|  | { | 
|  | position717, tokenIndex717 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l718 | 
|  | } | 
|  | position++ | 
|  | goto l717 | 
|  | l718: | 
|  | position, tokenIndex = position717, tokenIndex717 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l713 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l717: | 
|  | if buffer[position] != rune('1') { | 
|  | goto l713 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('2') { | 
|  | goto l713 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune(':') { | 
|  | goto l713 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position719, tokenIndex719 := position, tokenIndex | 
|  | if !_rules[ruleLocalSymbol]() { | 
|  | goto l720 | 
|  | } | 
|  | goto l719 | 
|  | l720: | 
|  | position, tokenIndex = position719, tokenIndex719 | 
|  | if !_rules[ruleSymbolName]() { | 
|  | goto l713 | 
|  | } | 
|  | } | 
|  | l719: | 
|  | { | 
|  | position721, tokenIndex721 := position, tokenIndex | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l721 | 
|  | } | 
|  | goto l722 | 
|  | l721: | 
|  | position, tokenIndex = position721, tokenIndex721 | 
|  | } | 
|  | l722: | 
|  | add(ruleLow12BitsSymbolRef, position714) | 
|  | } | 
|  | return true | 
|  | l713: | 
|  | position, tokenIndex = position713, tokenIndex713 | 
|  | return false | 
|  | }, | 
|  | /* 48 ARMBaseIndexScale <- <('[' ARMRegister (',' WS? (('#' Offset (('*' [0-9]+) / ('*' '(' [0-9]+ Operator [0-9]+ ')') / ('+' [0-9]+)*)?) / ARMGOTLow12 / Low12BitsSymbolRef / ARMRegister) (',' WS? ARMConstantTweak)?)? ']' ARMPostincrement?)> */ | 
|  | func() bool { | 
|  | position723, tokenIndex723 := position, tokenIndex | 
|  | { | 
|  | position724 := position | 
|  | if buffer[position] != rune('[') { | 
|  | goto l723 | 
|  | } | 
|  | position++ | 
|  | if !_rules[ruleARMRegister]() { | 
|  | goto l723 | 
|  | } | 
|  | { | 
|  | position725, tokenIndex725 := position, tokenIndex | 
|  | if buffer[position] != rune(',') { | 
|  | goto l725 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position727, tokenIndex727 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l727 | 
|  | } | 
|  | goto l728 | 
|  | l727: | 
|  | position, tokenIndex = position727, tokenIndex727 | 
|  | } | 
|  | l728: | 
|  | { | 
|  | position729, tokenIndex729 := position, tokenIndex | 
|  | if buffer[position] != rune('#') { | 
|  | goto l730 | 
|  | } | 
|  | position++ | 
|  | if !_rules[ruleOffset]() { | 
|  | goto l730 | 
|  | } | 
|  | { | 
|  | position731, tokenIndex731 := position, tokenIndex | 
|  | { | 
|  | position733, tokenIndex733 := position, tokenIndex | 
|  | if buffer[position] != rune('*') { | 
|  | goto l734 | 
|  | } | 
|  | position++ | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l734 | 
|  | } | 
|  | position++ | 
|  | l735: | 
|  | { | 
|  | position736, tokenIndex736 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l736 | 
|  | } | 
|  | position++ | 
|  | goto l735 | 
|  | l736: | 
|  | position, tokenIndex = position736, tokenIndex736 | 
|  | } | 
|  | goto l733 | 
|  | l734: | 
|  | position, tokenIndex = position733, tokenIndex733 | 
|  | if buffer[position] != rune('*') { | 
|  | goto l737 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('(') { | 
|  | goto l737 | 
|  | } | 
|  | position++ | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l737 | 
|  | } | 
|  | position++ | 
|  | l738: | 
|  | { | 
|  | position739, tokenIndex739 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l739 | 
|  | } | 
|  | position++ | 
|  | goto l738 | 
|  | l739: | 
|  | position, tokenIndex = position739, tokenIndex739 | 
|  | } | 
|  | if !_rules[ruleOperator]() { | 
|  | goto l737 | 
|  | } | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l737 | 
|  | } | 
|  | position++ | 
|  | l740: | 
|  | { | 
|  | position741, tokenIndex741 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l741 | 
|  | } | 
|  | position++ | 
|  | goto l740 | 
|  | l741: | 
|  | position, tokenIndex = position741, tokenIndex741 | 
|  | } | 
|  | if buffer[position] != rune(')') { | 
|  | goto l737 | 
|  | } | 
|  | position++ | 
|  | goto l733 | 
|  | l737: | 
|  | position, tokenIndex = position733, tokenIndex733 | 
|  | l742: | 
|  | { | 
|  | position743, tokenIndex743 := position, tokenIndex | 
|  | if buffer[position] != rune('+') { | 
|  | goto l743 | 
|  | } | 
|  | position++ | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l743 | 
|  | } | 
|  | position++ | 
|  | l744: | 
|  | { | 
|  | position745, tokenIndex745 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l745 | 
|  | } | 
|  | position++ | 
|  | goto l744 | 
|  | l745: | 
|  | position, tokenIndex = position745, tokenIndex745 | 
|  | } | 
|  | goto l742 | 
|  | l743: | 
|  | position, tokenIndex = position743, tokenIndex743 | 
|  | } | 
|  | } | 
|  | l733: | 
|  | goto l732 | 
|  |  | 
|  | position, tokenIndex = position731, tokenIndex731 | 
|  | } | 
|  | l732: | 
|  | goto l729 | 
|  | l730: | 
|  | position, tokenIndex = position729, tokenIndex729 | 
|  | if !_rules[ruleARMGOTLow12]() { | 
|  | goto l746 | 
|  | } | 
|  | goto l729 | 
|  | l746: | 
|  | position, tokenIndex = position729, tokenIndex729 | 
|  | if !_rules[ruleLow12BitsSymbolRef]() { | 
|  | goto l747 | 
|  | } | 
|  | goto l729 | 
|  | l747: | 
|  | position, tokenIndex = position729, tokenIndex729 | 
|  | if !_rules[ruleARMRegister]() { | 
|  | goto l725 | 
|  | } | 
|  | } | 
|  | l729: | 
|  | { | 
|  | position748, tokenIndex748 := position, tokenIndex | 
|  | if buffer[position] != rune(',') { | 
|  | goto l748 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position750, tokenIndex750 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l750 | 
|  | } | 
|  | goto l751 | 
|  | l750: | 
|  | position, tokenIndex = position750, tokenIndex750 | 
|  | } | 
|  | l751: | 
|  | if !_rules[ruleARMConstantTweak]() { | 
|  | goto l748 | 
|  | } | 
|  | goto l749 | 
|  | l748: | 
|  | position, tokenIndex = position748, tokenIndex748 | 
|  | } | 
|  | l749: | 
|  | goto l726 | 
|  | l725: | 
|  | position, tokenIndex = position725, tokenIndex725 | 
|  | } | 
|  | l726: | 
|  | if buffer[position] != rune(']') { | 
|  | goto l723 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position752, tokenIndex752 := position, tokenIndex | 
|  | if !_rules[ruleARMPostincrement]() { | 
|  | goto l752 | 
|  | } | 
|  | goto l753 | 
|  | l752: | 
|  | position, tokenIndex = position752, tokenIndex752 | 
|  | } | 
|  | l753: | 
|  | add(ruleARMBaseIndexScale, position724) | 
|  | } | 
|  | return true | 
|  | l723: | 
|  | position, tokenIndex = position723, tokenIndex723 | 
|  | return false | 
|  | }, | 
|  | /* 49 ARMGOTLow12 <- <(':' ('g' / 'G') ('o' / 'O') ('t' / 'T') '_' ('l' / 'L') ('o' / 'O') '1' '2' ':' SymbolName)> */ | 
|  | func() bool { | 
|  | position754, tokenIndex754 := position, tokenIndex | 
|  | { | 
|  | position755 := position | 
|  | if buffer[position] != rune(':') { | 
|  | goto l754 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position756, tokenIndex756 := position, tokenIndex | 
|  | if buffer[position] != rune('g') { | 
|  | goto l757 | 
|  | } | 
|  | position++ | 
|  | goto l756 | 
|  | l757: | 
|  | position, tokenIndex = position756, tokenIndex756 | 
|  | if buffer[position] != rune('G') { | 
|  | goto l754 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l756: | 
|  | { | 
|  | position758, tokenIndex758 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l759 | 
|  | } | 
|  | position++ | 
|  | goto l758 | 
|  | l759: | 
|  | position, tokenIndex = position758, tokenIndex758 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l754 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l758: | 
|  | { | 
|  | position760, tokenIndex760 := position, tokenIndex | 
|  | if buffer[position] != rune('t') { | 
|  | goto l761 | 
|  | } | 
|  | position++ | 
|  | goto l760 | 
|  | l761: | 
|  | position, tokenIndex = position760, tokenIndex760 | 
|  | if buffer[position] != rune('T') { | 
|  | goto l754 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l760: | 
|  | if buffer[position] != rune('_') { | 
|  | goto l754 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position762, tokenIndex762 := position, tokenIndex | 
|  | if buffer[position] != rune('l') { | 
|  | goto l763 | 
|  | } | 
|  | position++ | 
|  | goto l762 | 
|  | l763: | 
|  | position, tokenIndex = position762, tokenIndex762 | 
|  | if buffer[position] != rune('L') { | 
|  | goto l754 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l762: | 
|  | { | 
|  | position764, tokenIndex764 := position, tokenIndex | 
|  | if buffer[position] != rune('o') { | 
|  | goto l765 | 
|  | } | 
|  | position++ | 
|  | goto l764 | 
|  | l765: | 
|  | position, tokenIndex = position764, tokenIndex764 | 
|  | if buffer[position] != rune('O') { | 
|  | goto l754 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l764: | 
|  | if buffer[position] != rune('1') { | 
|  | goto l754 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune('2') { | 
|  | goto l754 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune(':') { | 
|  | goto l754 | 
|  | } | 
|  | position++ | 
|  | if !_rules[ruleSymbolName]() { | 
|  | goto l754 | 
|  | } | 
|  | add(ruleARMGOTLow12, position755) | 
|  | } | 
|  | return true | 
|  | l754: | 
|  | position, tokenIndex = position754, tokenIndex754 | 
|  | return false | 
|  | }, | 
|  | /* 50 ARMPostincrement <- <'!'> */ | 
|  | func() bool { | 
|  | position766, tokenIndex766 := position, tokenIndex | 
|  | { | 
|  | position767 := position | 
|  | if buffer[position] != rune('!') { | 
|  | goto l766 | 
|  | } | 
|  | position++ | 
|  | add(ruleARMPostincrement, position767) | 
|  | } | 
|  | return true | 
|  | l766: | 
|  | position, tokenIndex = position766, tokenIndex766 | 
|  | return false | 
|  | }, | 
|  | /* 51 BaseIndexScale <- <('(' RegisterOrConstant? WS? (',' WS? RegisterOrConstant WS? (',' [0-9]+)?)? ')')> */ | 
|  | func() bool { | 
|  | position768, tokenIndex768 := position, tokenIndex | 
|  | { | 
|  | position769 := position | 
|  | if buffer[position] != rune('(') { | 
|  | goto l768 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position770, tokenIndex770 := position, tokenIndex | 
|  | if !_rules[ruleRegisterOrConstant]() { | 
|  | goto l770 | 
|  | } | 
|  | goto l771 | 
|  | l770: | 
|  | position, tokenIndex = position770, tokenIndex770 | 
|  | } | 
|  | l771: | 
|  | { | 
|  | position772, tokenIndex772 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l772 | 
|  | } | 
|  | goto l773 | 
|  | l772: | 
|  | position, tokenIndex = position772, tokenIndex772 | 
|  | } | 
|  | l773: | 
|  | { | 
|  | position774, tokenIndex774 := position, tokenIndex | 
|  | if buffer[position] != rune(',') { | 
|  | goto l774 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position776, tokenIndex776 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l776 | 
|  | } | 
|  | goto l777 | 
|  | l776: | 
|  | position, tokenIndex = position776, tokenIndex776 | 
|  | } | 
|  | l777: | 
|  | if !_rules[ruleRegisterOrConstant]() { | 
|  | goto l774 | 
|  | } | 
|  | { | 
|  | position778, tokenIndex778 := position, tokenIndex | 
|  | if !_rules[ruleWS]() { | 
|  | goto l778 | 
|  | } | 
|  | goto l779 | 
|  | l778: | 
|  | position, tokenIndex = position778, tokenIndex778 | 
|  | } | 
|  | l779: | 
|  | { | 
|  | position780, tokenIndex780 := position, tokenIndex | 
|  | if buffer[position] != rune(',') { | 
|  | goto l780 | 
|  | } | 
|  | position++ | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l780 | 
|  | } | 
|  | position++ | 
|  | l782: | 
|  | { | 
|  | position783, tokenIndex783 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l783 | 
|  | } | 
|  | position++ | 
|  | goto l782 | 
|  | l783: | 
|  | position, tokenIndex = position783, tokenIndex783 | 
|  | } | 
|  | goto l781 | 
|  | l780: | 
|  | position, tokenIndex = position780, tokenIndex780 | 
|  | } | 
|  | l781: | 
|  | goto l775 | 
|  | l774: | 
|  | position, tokenIndex = position774, tokenIndex774 | 
|  | } | 
|  | l775: | 
|  | if buffer[position] != rune(')') { | 
|  | goto l768 | 
|  | } | 
|  | position++ | 
|  | add(ruleBaseIndexScale, position769) | 
|  | } | 
|  | return true | 
|  | l768: | 
|  | position, tokenIndex = position768, tokenIndex768 | 
|  | return false | 
|  | }, | 
|  | /* 52 Operator <- <('+' / '-')> */ | 
|  | func() bool { | 
|  | position784, tokenIndex784 := position, tokenIndex | 
|  | { | 
|  | position785 := position | 
|  | { | 
|  | position786, tokenIndex786 := position, tokenIndex | 
|  | if buffer[position] != rune('+') { | 
|  | goto l787 | 
|  | } | 
|  | position++ | 
|  | goto l786 | 
|  | l787: | 
|  | position, tokenIndex = position786, tokenIndex786 | 
|  | if buffer[position] != rune('-') { | 
|  | goto l784 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l786: | 
|  | add(ruleOperator, position785) | 
|  | } | 
|  | return true | 
|  | l784: | 
|  | position, tokenIndex = position784, tokenIndex784 | 
|  | return false | 
|  | }, | 
|  | /* 53 Offset <- <('+'? '-'? (('0' ('b' / 'B') ('0' / '1')+) / ('0' ('x' / 'X') ([0-9] / [0-9] / ([a-f] / [A-F]))+) / [0-9]+))> */ | 
|  | func() bool { | 
|  | position788, tokenIndex788 := position, tokenIndex | 
|  | { | 
|  | position789 := position | 
|  | { | 
|  | position790, tokenIndex790 := position, tokenIndex | 
|  | if buffer[position] != rune('+') { | 
|  | goto l790 | 
|  | } | 
|  | position++ | 
|  | goto l791 | 
|  | l790: | 
|  | position, tokenIndex = position790, tokenIndex790 | 
|  | } | 
|  | l791: | 
|  | { | 
|  | position792, tokenIndex792 := position, tokenIndex | 
|  | if buffer[position] != rune('-') { | 
|  | goto l792 | 
|  | } | 
|  | position++ | 
|  | goto l793 | 
|  | l792: | 
|  | position, tokenIndex = position792, tokenIndex792 | 
|  | } | 
|  | l793: | 
|  | { | 
|  | position794, tokenIndex794 := position, tokenIndex | 
|  | if buffer[position] != rune('0') { | 
|  | goto l795 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position796, tokenIndex796 := position, tokenIndex | 
|  | if buffer[position] != rune('b') { | 
|  | goto l797 | 
|  | } | 
|  | position++ | 
|  | goto l796 | 
|  | l797: | 
|  | position, tokenIndex = position796, tokenIndex796 | 
|  | if buffer[position] != rune('B') { | 
|  | goto l795 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l796: | 
|  | { | 
|  | position800, tokenIndex800 := position, tokenIndex | 
|  | if buffer[position] != rune('0') { | 
|  | goto l801 | 
|  | } | 
|  | position++ | 
|  | goto l800 | 
|  | l801: | 
|  | position, tokenIndex = position800, tokenIndex800 | 
|  | if buffer[position] != rune('1') { | 
|  | goto l795 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l800: | 
|  | l798: | 
|  | { | 
|  | position799, tokenIndex799 := position, tokenIndex | 
|  | { | 
|  | position802, tokenIndex802 := position, tokenIndex | 
|  | if buffer[position] != rune('0') { | 
|  | goto l803 | 
|  | } | 
|  | position++ | 
|  | goto l802 | 
|  | l803: | 
|  | position, tokenIndex = position802, tokenIndex802 | 
|  | if buffer[position] != rune('1') { | 
|  | goto l799 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l802: | 
|  | goto l798 | 
|  | l799: | 
|  | position, tokenIndex = position799, tokenIndex799 | 
|  | } | 
|  | goto l794 | 
|  | l795: | 
|  | position, tokenIndex = position794, tokenIndex794 | 
|  | if buffer[position] != rune('0') { | 
|  | goto l804 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position805, tokenIndex805 := position, tokenIndex | 
|  | if buffer[position] != rune('x') { | 
|  | goto l806 | 
|  | } | 
|  | position++ | 
|  | goto l805 | 
|  | l806: | 
|  | position, tokenIndex = position805, tokenIndex805 | 
|  | if buffer[position] != rune('X') { | 
|  | goto l804 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l805: | 
|  | { | 
|  | position809, tokenIndex809 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l810 | 
|  | } | 
|  | position++ | 
|  | goto l809 | 
|  | l810: | 
|  | position, tokenIndex = position809, tokenIndex809 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l811 | 
|  | } | 
|  | position++ | 
|  | goto l809 | 
|  | l811: | 
|  | position, tokenIndex = position809, tokenIndex809 | 
|  | { | 
|  | position812, tokenIndex812 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('f') { | 
|  | goto l813 | 
|  | } | 
|  | position++ | 
|  | goto l812 | 
|  | l813: | 
|  | position, tokenIndex = position812, tokenIndex812 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('F') { | 
|  | goto l804 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l812: | 
|  | } | 
|  | l809: | 
|  | l807: | 
|  | { | 
|  | position808, tokenIndex808 := position, tokenIndex | 
|  | { | 
|  | position814, tokenIndex814 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l815 | 
|  | } | 
|  | position++ | 
|  | goto l814 | 
|  | l815: | 
|  | position, tokenIndex = position814, tokenIndex814 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l816 | 
|  | } | 
|  | position++ | 
|  | goto l814 | 
|  | l816: | 
|  | position, tokenIndex = position814, tokenIndex814 | 
|  | { | 
|  | position817, tokenIndex817 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('f') { | 
|  | goto l818 | 
|  | } | 
|  | position++ | 
|  | goto l817 | 
|  | l818: | 
|  | position, tokenIndex = position817, tokenIndex817 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('F') { | 
|  | goto l808 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l817: | 
|  | } | 
|  | l814: | 
|  | goto l807 | 
|  | l808: | 
|  | position, tokenIndex = position808, tokenIndex808 | 
|  | } | 
|  | goto l794 | 
|  | l804: | 
|  | position, tokenIndex = position794, tokenIndex794 | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l788 | 
|  | } | 
|  | position++ | 
|  | l819: | 
|  | { | 
|  | position820, tokenIndex820 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('0') || c > rune('9') { | 
|  | goto l820 | 
|  | } | 
|  | position++ | 
|  | goto l819 | 
|  | l820: | 
|  | position, tokenIndex = position820, tokenIndex820 | 
|  | } | 
|  | } | 
|  | l794: | 
|  | add(ruleOffset, position789) | 
|  | } | 
|  | return true | 
|  | l788: | 
|  | position, tokenIndex = position788, tokenIndex788 | 
|  | return false | 
|  | }, | 
|  | /* 54 Section <- <([a-z] / [A-Z] / '@')+> */ | 
|  | func() bool { | 
|  | position821, tokenIndex821 := position, tokenIndex | 
|  | { | 
|  | position822 := position | 
|  | { | 
|  | position825, tokenIndex825 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l826 | 
|  | } | 
|  | position++ | 
|  | goto l825 | 
|  | l826: | 
|  | position, tokenIndex = position825, tokenIndex825 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l827 | 
|  | } | 
|  | position++ | 
|  | goto l825 | 
|  | l827: | 
|  | position, tokenIndex = position825, tokenIndex825 | 
|  | if buffer[position] != rune('@') { | 
|  | goto l821 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l825: | 
|  | l823: | 
|  | { | 
|  | position824, tokenIndex824 := position, tokenIndex | 
|  | { | 
|  | position828, tokenIndex828 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('a') || c > rune('z') { | 
|  | goto l829 | 
|  | } | 
|  | position++ | 
|  | goto l828 | 
|  | l829: | 
|  | position, tokenIndex = position828, tokenIndex828 | 
|  | if c := buffer[position]; c < rune('A') || c > rune('Z') { | 
|  | goto l830 | 
|  | } | 
|  | position++ | 
|  | goto l828 | 
|  | l830: | 
|  | position, tokenIndex = position828, tokenIndex828 | 
|  | if buffer[position] != rune('@') { | 
|  | goto l824 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l828: | 
|  | goto l823 | 
|  | l824: | 
|  | position, tokenIndex = position824, tokenIndex824 | 
|  | } | 
|  | add(ruleSection, position822) | 
|  | } | 
|  | return true | 
|  | l821: | 
|  | position, tokenIndex = position821, tokenIndex821 | 
|  | return false | 
|  | }, | 
|  | /* 55 SegmentRegister <- <('%' ([c-g] / 's') ('s' ':'))> */ | 
|  | func() bool { | 
|  | position831, tokenIndex831 := position, tokenIndex | 
|  | { | 
|  | position832 := position | 
|  | if buffer[position] != rune('%') { | 
|  | goto l831 | 
|  | } | 
|  | position++ | 
|  | { | 
|  | position833, tokenIndex833 := position, tokenIndex | 
|  | if c := buffer[position]; c < rune('c') || c > rune('g') { | 
|  | goto l834 | 
|  | } | 
|  | position++ | 
|  | goto l833 | 
|  | l834: | 
|  | position, tokenIndex = position833, tokenIndex833 | 
|  | if buffer[position] != rune('s') { | 
|  | goto l831 | 
|  | } | 
|  | position++ | 
|  | } | 
|  | l833: | 
|  | if buffer[position] != rune('s') { | 
|  | goto l831 | 
|  | } | 
|  | position++ | 
|  | if buffer[position] != rune(':') { | 
|  | goto l831 | 
|  | } | 
|  | position++ | 
|  | add(ruleSegmentRegister, position832) | 
|  | } | 
|  | return true | 
|  | l831: | 
|  | position, tokenIndex = position831, tokenIndex831 | 
|  | return false | 
|  | }, | 
|  | } | 
|  | p.rules = _rules | 
|  | return nil | 
|  | } |