From 6f785fab5acfa0f0bd2e7d16f289befd87902563 Mon Sep 17 00:00:00 2001 From: Adam Langley Date: Thu, 26 Oct 2023 01:45:05 +0000 Subject: [PATCH] Teach delocate about a new directive that Clang is using. The latest Clang will generate `.hword`. Change-Id: Ibdb0356049725c758c20f23fc3c9b60a75c28751 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/63646 Reviewed-by: David Benjamin Auto-Submit: Adam Langley Commit-Queue: David Benjamin (cherry picked from commit 672813c21e7f25d1e5c3475e97779d683ce1ec42) --- util/fipstools/delocate/delocate.peg | 2 +- util/fipstools/delocate/delocate.peg.go | 5502 ++++++++++++----------- 2 files changed, 2793 insertions(+), 2711 deletions(-) diff --git a/util/fipstools/delocate/delocate.peg b/util/fipstools/delocate/delocate.peg index d7c7779543..20d3c32405 100644 --- a/util/fipstools/delocate/delocate.peg +++ b/util/fipstools/delocate/delocate.peg @@ -45,7 +45,7 @@ Arg <- QuotedArg / [[0-9a-z%+\-*_@.]]* QuotedArg <- '"' QuotedText '"' QuotedText <- (EscapedChar / [^"])* LabelContainingDirective <- LabelContainingDirectiveName WS SymbolArgs -LabelContainingDirectiveName <- ".xword" / ".word" / ".long" / ".set" / ".byte" / ".8byte" / ".4byte" / ".quad" / ".tc" / ".localentry" / ".size" / ".type" / ".uleb128" / ".sleb128" +LabelContainingDirectiveName <- ".xword" / ".word" / ".hword" / ".long" / ".set" / ".byte" / ".8byte" / ".4byte" / ".quad" / ".tc" / ".localentry" / ".size" / ".type" / ".uleb128" / ".sleb128" SymbolArgs <- SymbolArg ((WS? ',' WS?) SymbolArg)* SymbolArg <- SymbolExpr SymbolExpr <- SymbolAtom (WS? SymbolOperator WS? SymbolExpr)? diff --git a/util/fipstools/delocate/delocate.peg.go b/util/fipstools/delocate/delocate.peg.go index 37c9fc76f7..62114546c0 100644 --- a/util/fipstools/delocate/delocate.peg.go +++ b/util/fipstools/delocate/delocate.peg.go @@ -1,6 +1,6 @@ package main -// Code generated by ~/go/bin/peg delocate.peg DO NOT EDIT. +// Code generated by /Users/justsmth/go/bin/peg delocate.peg DO NOT EDIT. import ( "fmt" @@ -1427,7 +1427,7 @@ func (p *Asm) Init(options ...func(*Asm) error) error { 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')) / ('.' ('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'))> */ + /* 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 { @@ -1589,14 +1589,14 @@ func (p *Asm) Init(options ...func(*Asm) error) error { position++ { position171, tokenIndex171 := position, tokenIndex - if buffer[position] != rune('l') { + if buffer[position] != rune('h') { goto l172 } position++ goto l171 l172: position, tokenIndex = position171, tokenIndex171 - if buffer[position] != rune('L') { + if buffer[position] != rune('H') { goto l170 } position++ @@ -1604,14 +1604,14 @@ func (p *Asm) Init(options ...func(*Asm) error) error { l171: { position173, tokenIndex173 := position, tokenIndex - if buffer[position] != rune('o') { + if buffer[position] != rune('w') { goto l174 } position++ goto l173 l174: position, tokenIndex = position173, tokenIndex173 - if buffer[position] != rune('O') { + if buffer[position] != rune('W') { goto l170 } position++ @@ -1619,14 +1619,14 @@ func (p *Asm) Init(options ...func(*Asm) error) error { l173: { position175, tokenIndex175 := position, tokenIndex - if buffer[position] != rune('n') { + if buffer[position] != rune('o') { goto l176 } position++ goto l175 l176: position, tokenIndex = position175, tokenIndex175 - if buffer[position] != rune('N') { + if buffer[position] != rune('O') { goto l170 } position++ @@ -1634,119 +1634,119 @@ func (p *Asm) Init(options ...func(*Asm) error) error { l175: { position177, tokenIndex177 := position, tokenIndex - if buffer[position] != rune('g') { + if buffer[position] != rune('r') { goto l178 } position++ goto l177 l178: position, tokenIndex = position177, tokenIndex177 - if buffer[position] != rune('G') { + if buffer[position] != rune('R') { goto l170 } position++ } l177: - goto l149 - l170: - position, tokenIndex = position149, tokenIndex149 - if buffer[position] != rune('.') { - goto l179 - } - position++ { - position180, tokenIndex180 := position, tokenIndex - if buffer[position] != rune('s') { - goto l181 + position179, tokenIndex179 := position, tokenIndex + if buffer[position] != rune('d') { + goto l180 } position++ - goto l180 - l181: - position, tokenIndex = position180, tokenIndex180 - if buffer[position] != rune('S') { - goto l179 + goto l179 + l180: + position, tokenIndex = position179, tokenIndex179 + if buffer[position] != rune('D') { + goto l170 } position++ } - l180: + l179: + goto l149 + l170: + position, tokenIndex = position149, tokenIndex149 + if buffer[position] != rune('.') { + goto l181 + } + position++ { position182, tokenIndex182 := position, tokenIndex - if buffer[position] != rune('e') { + if buffer[position] != rune('l') { goto l183 } position++ goto l182 l183: position, tokenIndex = position182, tokenIndex182 - if buffer[position] != rune('E') { - goto l179 + if buffer[position] != rune('L') { + goto l181 } position++ } l182: { position184, tokenIndex184 := position, tokenIndex - if buffer[position] != rune('t') { + if buffer[position] != rune('o') { goto l185 } position++ goto l184 l185: position, tokenIndex = position184, tokenIndex184 - if buffer[position] != rune('T') { - goto l179 + if buffer[position] != rune('O') { + goto l181 } position++ } l184: - goto l149 - l179: - position, tokenIndex = position149, tokenIndex149 - if buffer[position] != rune('.') { - goto l186 - } - position++ { - position187, tokenIndex187 := position, tokenIndex - if buffer[position] != rune('b') { - goto l188 + position186, tokenIndex186 := position, tokenIndex + if buffer[position] != rune('n') { + goto l187 } position++ - goto l187 - l188: - position, tokenIndex = position187, tokenIndex187 - if buffer[position] != rune('B') { - goto l186 + goto l186 + l187: + position, tokenIndex = position186, tokenIndex186 + if buffer[position] != rune('N') { + goto l181 } position++ } - l187: + l186: { - position189, tokenIndex189 := position, tokenIndex - if buffer[position] != rune('y') { - goto l190 + position188, tokenIndex188 := position, tokenIndex + if buffer[position] != rune('g') { + goto l189 } position++ - goto l189 - l190: - position, tokenIndex = position189, tokenIndex189 - if buffer[position] != rune('Y') { - goto l186 + goto l188 + l189: + position, tokenIndex = position188, tokenIndex188 + if buffer[position] != rune('G') { + goto l181 } position++ } - l189: + l188: + goto l149 + l181: + position, tokenIndex = position149, tokenIndex149 + if buffer[position] != rune('.') { + goto l190 + } + position++ { position191, tokenIndex191 := position, tokenIndex - if buffer[position] != rune('t') { + if buffer[position] != rune('s') { goto l192 } position++ goto l191 l192: position, tokenIndex = position191, tokenIndex191 - if buffer[position] != rune('T') { - goto l186 + if buffer[position] != rune('S') { + goto l190 } position++ } @@ -1761,694 +1761,776 @@ func (p *Asm) Init(options ...func(*Asm) error) error { l194: position, tokenIndex = position193, tokenIndex193 if buffer[position] != rune('E') { - goto l186 + goto l190 } position++ } l193: - goto l149 - l186: - position, tokenIndex = position149, tokenIndex149 - if buffer[position] != rune('.') { - goto l195 - } - position++ - if buffer[position] != rune('8') { - goto l195 - } - position++ { - position196, tokenIndex196 := position, tokenIndex - if buffer[position] != rune('b') { - goto l197 + position195, tokenIndex195 := position, tokenIndex + if buffer[position] != rune('t') { + goto l196 } position++ - goto l196 - l197: - position, tokenIndex = position196, tokenIndex196 - if buffer[position] != rune('B') { - goto l195 + goto l195 + l196: + position, tokenIndex = position195, tokenIndex195 + if buffer[position] != rune('T') { + goto l190 } position++ } - l196: + l195: + goto l149 + l190: + position, tokenIndex = position149, tokenIndex149 + if buffer[position] != rune('.') { + goto l197 + } + position++ { position198, tokenIndex198 := position, tokenIndex - if buffer[position] != rune('y') { + if buffer[position] != rune('b') { goto l199 } position++ goto l198 l199: position, tokenIndex = position198, tokenIndex198 - if buffer[position] != rune('Y') { - goto l195 + if buffer[position] != rune('B') { + goto l197 } position++ } l198: { position200, tokenIndex200 := position, tokenIndex - if buffer[position] != rune('t') { + if buffer[position] != rune('y') { goto l201 } position++ goto l200 l201: position, tokenIndex = position200, tokenIndex200 - if buffer[position] != rune('T') { - goto l195 + if buffer[position] != rune('Y') { + goto l197 } position++ } l200: { position202, tokenIndex202 := position, tokenIndex - if buffer[position] != rune('e') { + if buffer[position] != rune('t') { goto l203 } position++ goto l202 l203: position, tokenIndex = position202, tokenIndex202 - if buffer[position] != rune('E') { - goto l195 + 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 - l195: + l197: position, tokenIndex = position149, tokenIndex149 if buffer[position] != rune('.') { - goto l204 + goto l206 } position++ - if buffer[position] != rune('4') { - goto l204 + if buffer[position] != rune('8') { + goto l206 } position++ - { - position205, tokenIndex205 := position, tokenIndex - if buffer[position] != rune('b') { - goto l206 - } - position++ - goto l205 - l206: - position, tokenIndex = position205, tokenIndex205 - if buffer[position] != rune('B') { - goto l204 - } - position++ - } - l205: { position207, tokenIndex207 := position, tokenIndex - if buffer[position] != rune('y') { + if buffer[position] != rune('b') { goto l208 } position++ goto l207 l208: position, tokenIndex = position207, tokenIndex207 - if buffer[position] != rune('Y') { - goto l204 + if buffer[position] != rune('B') { + goto l206 } position++ } l207: { position209, tokenIndex209 := position, tokenIndex - if buffer[position] != rune('t') { + if buffer[position] != rune('y') { goto l210 } position++ goto l209 l210: position, tokenIndex = position209, tokenIndex209 - if buffer[position] != rune('T') { - goto l204 + if buffer[position] != rune('Y') { + goto l206 } position++ } l209: { position211, tokenIndex211 := position, tokenIndex - if buffer[position] != rune('e') { + if buffer[position] != rune('t') { goto l212 } position++ goto l211 l212: position, tokenIndex = position211, tokenIndex211 - if buffer[position] != rune('E') { - goto l204 + if buffer[position] != rune('T') { + goto l206 } position++ } l211: - goto l149 - l204: - position, tokenIndex = position149, tokenIndex149 - if buffer[position] != rune('.') { - goto l213 - } - position++ { - position214, tokenIndex214 := position, tokenIndex - if buffer[position] != rune('q') { - goto l215 + position213, tokenIndex213 := position, tokenIndex + if buffer[position] != rune('e') { + goto l214 } position++ - goto l214 - l215: - position, tokenIndex = position214, tokenIndex214 - if buffer[position] != rune('Q') { - goto l213 + goto l213 + l214: + position, tokenIndex = position213, tokenIndex213 + if buffer[position] != rune('E') { + goto l206 } position++ } - l214: + 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('u') { + if buffer[position] != rune('b') { goto l217 } position++ goto l216 l217: position, tokenIndex = position216, tokenIndex216 - if buffer[position] != rune('U') { - goto l213 + if buffer[position] != rune('B') { + goto l215 } position++ } l216: { position218, tokenIndex218 := position, tokenIndex - if buffer[position] != rune('a') { + if buffer[position] != rune('y') { goto l219 } position++ goto l218 l219: position, tokenIndex = position218, tokenIndex218 - if buffer[position] != rune('A') { - goto l213 + if buffer[position] != rune('Y') { + goto l215 } position++ } l218: { position220, tokenIndex220 := position, tokenIndex - if buffer[position] != rune('d') { + if buffer[position] != rune('t') { goto l221 } position++ goto l220 l221: position, tokenIndex = position220, tokenIndex220 - if buffer[position] != rune('D') { - goto l213 + if buffer[position] != rune('T') { + goto l215 } position++ } l220: - goto l149 - l213: - position, tokenIndex = position149, tokenIndex149 - if buffer[position] != rune('.') { - goto l222 - } - position++ { - position223, tokenIndex223 := position, tokenIndex - if buffer[position] != rune('t') { - goto l224 + position222, tokenIndex222 := position, tokenIndex + if buffer[position] != rune('e') { + goto l223 } position++ - goto l223 - l224: - position, tokenIndex = position223, tokenIndex223 - if buffer[position] != rune('T') { - goto l222 + goto l222 + l223: + position, tokenIndex = position222, tokenIndex222 + if buffer[position] != rune('E') { + goto l215 } position++ } - l223: + l222: + goto l149 + l215: + position, tokenIndex = position149, tokenIndex149 + if buffer[position] != rune('.') { + goto l224 + } + position++ { position225, tokenIndex225 := position, tokenIndex - if buffer[position] != rune('c') { + if buffer[position] != rune('q') { goto l226 } position++ goto l225 l226: position, tokenIndex = position225, tokenIndex225 - if buffer[position] != rune('C') { - goto l222 + if buffer[position] != rune('Q') { + goto l224 } position++ } l225: - goto l149 - l222: - position, tokenIndex = position149, tokenIndex149 - if buffer[position] != rune('.') { - goto l227 - } - position++ { - position228, tokenIndex228 := position, tokenIndex - if buffer[position] != rune('l') { - goto l229 + position227, tokenIndex227 := position, tokenIndex + if buffer[position] != rune('u') { + goto l228 } position++ - goto l228 - l229: - position, tokenIndex = position228, tokenIndex228 - if buffer[position] != rune('L') { - goto l227 + goto l227 + l228: + position, tokenIndex = position227, tokenIndex227 + if buffer[position] != rune('U') { + goto l224 } position++ } - l228: + l227: { - position230, tokenIndex230 := position, tokenIndex - if buffer[position] != rune('o') { - goto l231 + position229, tokenIndex229 := position, tokenIndex + if buffer[position] != rune('a') { + goto l230 } position++ - goto l230 - l231: - position, tokenIndex = position230, tokenIndex230 - if buffer[position] != rune('O') { - goto l227 + goto l229 + l230: + position, tokenIndex = position229, tokenIndex229 + if buffer[position] != rune('A') { + goto l224 } position++ } - l230: + l229: { - position232, tokenIndex232 := position, tokenIndex - if buffer[position] != rune('c') { - goto l233 + position231, tokenIndex231 := position, tokenIndex + if buffer[position] != rune('d') { + goto l232 } position++ - goto l232 - l233: - position, tokenIndex = position232, tokenIndex232 - if buffer[position] != rune('C') { - goto l227 + goto l231 + l232: + position, tokenIndex = position231, tokenIndex231 + if buffer[position] != rune('D') { + goto l224 } position++ } - l232: + l231: + goto l149 + l224: + position, tokenIndex = position149, tokenIndex149 + if buffer[position] != rune('.') { + goto l233 + } + position++ { position234, tokenIndex234 := position, tokenIndex - if buffer[position] != rune('a') { + if buffer[position] != rune('t') { goto l235 } position++ goto l234 l235: position, tokenIndex = position234, tokenIndex234 - if buffer[position] != rune('A') { - goto l227 + if buffer[position] != rune('T') { + goto l233 } position++ } l234: { position236, tokenIndex236 := position, tokenIndex - if buffer[position] != rune('l') { + if buffer[position] != rune('c') { goto l237 } position++ goto l236 l237: position, tokenIndex = position236, tokenIndex236 - if buffer[position] != rune('L') { - goto l227 + if buffer[position] != rune('C') { + goto l233 } position++ } l236: + goto l149 + l233: + position, tokenIndex = position149, tokenIndex149 + if buffer[position] != rune('.') { + goto l238 + } + position++ { - position238, tokenIndex238 := position, tokenIndex - if buffer[position] != rune('e') { - goto l239 + position239, tokenIndex239 := position, tokenIndex + if buffer[position] != rune('l') { + goto l240 } position++ - goto l238 - l239: - position, tokenIndex = position238, tokenIndex238 - if buffer[position] != rune('E') { - goto l227 + goto l239 + l240: + position, tokenIndex = position239, tokenIndex239 + if buffer[position] != rune('L') { + goto l238 } position++ } - l238: + l239: { - position240, tokenIndex240 := position, tokenIndex - if buffer[position] != rune('n') { - goto l241 + position241, tokenIndex241 := position, tokenIndex + if buffer[position] != rune('o') { + goto l242 } position++ - goto l240 - l241: - position, tokenIndex = position240, tokenIndex240 - if buffer[position] != rune('N') { - goto l227 + goto l241 + l242: + position, tokenIndex = position241, tokenIndex241 + if buffer[position] != rune('O') { + goto l238 } position++ } - l240: + l241: { - position242, tokenIndex242 := position, tokenIndex - if buffer[position] != rune('t') { - goto l243 + position243, tokenIndex243 := position, tokenIndex + if buffer[position] != rune('c') { + goto l244 } position++ - goto l242 - l243: - position, tokenIndex = position242, tokenIndex242 - if buffer[position] != rune('T') { - goto l227 + goto l243 + l244: + position, tokenIndex = position243, tokenIndex243 + if buffer[position] != rune('C') { + goto l238 } position++ } - l242: + l243: { - position244, tokenIndex244 := position, tokenIndex - if buffer[position] != rune('r') { - goto l245 + position245, tokenIndex245 := position, tokenIndex + if buffer[position] != rune('a') { + goto l246 } position++ - goto l244 - l245: - position, tokenIndex = position244, tokenIndex244 - if buffer[position] != rune('R') { - goto l227 + goto l245 + l246: + position, tokenIndex = position245, tokenIndex245 + if buffer[position] != rune('A') { + goto l238 } position++ } - l244: + l245: { - position246, tokenIndex246 := position, tokenIndex - if buffer[position] != rune('y') { - goto l247 + position247, tokenIndex247 := position, tokenIndex + if buffer[position] != rune('l') { + goto l248 } position++ - goto l246 - l247: - position, tokenIndex = position246, tokenIndex246 - if buffer[position] != rune('Y') { - goto l227 + goto l247 + l248: + position, tokenIndex = position247, tokenIndex247 + if buffer[position] != rune('L') { + goto l238 } position++ } - l246: - goto l149 - l227: - position, tokenIndex = position149, tokenIndex149 - if buffer[position] != rune('.') { - goto l248 - } - position++ + l247: { position249, tokenIndex249 := position, tokenIndex - if buffer[position] != rune('s') { + if buffer[position] != rune('e') { goto l250 } position++ goto l249 l250: position, tokenIndex = position249, tokenIndex249 - if buffer[position] != rune('S') { - goto l248 + if buffer[position] != rune('E') { + goto l238 } position++ } l249: { position251, tokenIndex251 := position, tokenIndex - if buffer[position] != rune('i') { + if buffer[position] != rune('n') { goto l252 } position++ goto l251 l252: position, tokenIndex = position251, tokenIndex251 - if buffer[position] != rune('I') { - goto l248 + if buffer[position] != rune('N') { + goto l238 } position++ } l251: { position253, tokenIndex253 := position, tokenIndex - if buffer[position] != rune('z') { + if buffer[position] != rune('t') { goto l254 } position++ goto l253 l254: position, tokenIndex = position253, tokenIndex253 - if buffer[position] != rune('Z') { - goto l248 + if buffer[position] != rune('T') { + goto l238 } position++ } l253: { position255, tokenIndex255 := position, tokenIndex - if buffer[position] != rune('e') { + if buffer[position] != rune('r') { goto l256 } position++ goto l255 l256: position, tokenIndex = position255, tokenIndex255 - if buffer[position] != rune('E') { - goto l248 + if buffer[position] != rune('R') { + goto l238 } position++ } l255: - goto l149 - l248: - position, tokenIndex = position149, tokenIndex149 - if buffer[position] != rune('.') { - goto l257 - } - position++ { - position258, tokenIndex258 := position, tokenIndex - if buffer[position] != rune('t') { - goto l259 + position257, tokenIndex257 := position, tokenIndex + if buffer[position] != rune('y') { + goto l258 } position++ - goto l258 - l259: - position, tokenIndex = position258, tokenIndex258 - if buffer[position] != rune('T') { - goto l257 + goto l257 + l258: + position, tokenIndex = position257, tokenIndex257 + if buffer[position] != rune('Y') { + goto l238 } position++ } - l258: + l257: + goto l149 + l238: + position, tokenIndex = position149, tokenIndex149 + if buffer[position] != rune('.') { + goto l259 + } + position++ { position260, tokenIndex260 := position, tokenIndex - if buffer[position] != rune('y') { + if buffer[position] != rune('s') { goto l261 } position++ goto l260 l261: position, tokenIndex = position260, tokenIndex260 - if buffer[position] != rune('Y') { - goto l257 + if buffer[position] != rune('S') { + goto l259 } position++ } l260: { position262, tokenIndex262 := position, tokenIndex - if buffer[position] != rune('p') { + if buffer[position] != rune('i') { goto l263 } position++ goto l262 l263: position, tokenIndex = position262, tokenIndex262 - if buffer[position] != rune('P') { - goto l257 + if buffer[position] != rune('I') { + goto l259 } position++ } l262: { position264, tokenIndex264 := position, tokenIndex - if buffer[position] != rune('e') { + if buffer[position] != rune('z') { goto l265 } position++ goto l264 l265: position, tokenIndex = position264, tokenIndex264 - if buffer[position] != rune('E') { - goto l257 + if buffer[position] != rune('Z') { + goto l259 } position++ } l264: - goto l149 - l257: - position, tokenIndex = position149, tokenIndex149 - if buffer[position] != rune('.') { - goto l266 - } - position++ { - position267, tokenIndex267 := position, tokenIndex - if buffer[position] != rune('u') { - goto l268 + position266, tokenIndex266 := position, tokenIndex + if buffer[position] != rune('e') { + goto l267 } position++ - goto l267 - l268: - position, tokenIndex = position267, tokenIndex267 - if buffer[position] != rune('U') { - goto l266 + goto l266 + l267: + position, tokenIndex = position266, tokenIndex266 + if buffer[position] != rune('E') { + goto l259 } position++ } - l267: + l266: + goto l149 + l259: + position, tokenIndex = position149, tokenIndex149 + if buffer[position] != rune('.') { + goto l268 + } + position++ { position269, tokenIndex269 := position, tokenIndex - if buffer[position] != rune('l') { + if buffer[position] != rune('t') { goto l270 } position++ goto l269 l270: position, tokenIndex = position269, tokenIndex269 - if buffer[position] != rune('L') { - goto l266 + if buffer[position] != rune('T') { + goto l268 } position++ } l269: { position271, tokenIndex271 := position, tokenIndex - if buffer[position] != rune('e') { + if buffer[position] != rune('y') { goto l272 } position++ goto l271 l272: position, tokenIndex = position271, tokenIndex271 - if buffer[position] != rune('E') { - goto l266 + if buffer[position] != rune('Y') { + goto l268 } position++ } l271: { position273, tokenIndex273 := position, tokenIndex - if buffer[position] != rune('b') { + if buffer[position] != rune('p') { goto l274 } position++ goto l273 l274: position, tokenIndex = position273, tokenIndex273 - if buffer[position] != rune('B') { - goto l266 + 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 l266 + goto l277 } position++ if buffer[position] != rune('2') { - goto l266 + goto l277 } position++ if buffer[position] != rune('8') { - goto l266 + goto l277 } position++ goto l149 - l266: + l277: position, tokenIndex = position149, tokenIndex149 if buffer[position] != rune('.') { goto l147 } position++ { - position275, tokenIndex275 := position, tokenIndex + position286, tokenIndex286 := position, tokenIndex if buffer[position] != rune('s') { - goto l276 + goto l287 } position++ - goto l275 - l276: - position, tokenIndex = position275, tokenIndex275 + goto l286 + l287: + position, tokenIndex = position286, tokenIndex286 if buffer[position] != rune('S') { goto l147 } position++ } - l275: + l286: { - position277, tokenIndex277 := position, tokenIndex + position288, tokenIndex288 := position, tokenIndex if buffer[position] != rune('l') { - goto l278 + goto l289 } position++ - goto l277 - l278: - position, tokenIndex = position277, tokenIndex277 + goto l288 + l289: + position, tokenIndex = position288, tokenIndex288 if buffer[position] != rune('L') { goto l147 } position++ } - l277: + l288: { - position279, tokenIndex279 := position, tokenIndex + position290, tokenIndex290 := position, tokenIndex if buffer[position] != rune('e') { - goto l280 + goto l291 } position++ - goto l279 - l280: - position, tokenIndex = position279, tokenIndex279 + goto l290 + l291: + position, tokenIndex = position290, tokenIndex290 if buffer[position] != rune('E') { goto l147 } position++ } - l279: + l290: { - position281, tokenIndex281 := position, tokenIndex + position292, tokenIndex292 := position, tokenIndex if buffer[position] != rune('b') { - goto l282 + goto l293 } position++ - goto l281 - l282: - position, tokenIndex = position281, tokenIndex281 + goto l292 + l293: + position, tokenIndex = position292, tokenIndex292 if buffer[position] != rune('B') { goto l147 } position++ } - l281: + l292: if buffer[position] != rune('1') { goto l147 } @@ -2472,4868 +2554,4868 @@ func (p *Asm) Init(options ...func(*Asm) error) error { }, /* 14 SymbolArgs <- <(SymbolArg (WS? ',' WS? SymbolArg)*)> */ func() bool { - position283, tokenIndex283 := position, tokenIndex + position294, tokenIndex294 := position, tokenIndex { - position284 := position + position295 := position if !_rules[ruleSymbolArg]() { - goto l283 + goto l294 } - l285: + l296: { - position286, tokenIndex286 := position, tokenIndex + position297, tokenIndex297 := position, tokenIndex { - position287, tokenIndex287 := position, tokenIndex + position298, tokenIndex298 := position, tokenIndex if !_rules[ruleWS]() { - goto l287 + goto l298 } - goto l288 - l287: - position, tokenIndex = position287, tokenIndex287 + goto l299 + l298: + position, tokenIndex = position298, tokenIndex298 } - l288: + l299: if buffer[position] != rune(',') { - goto l286 + goto l297 } position++ { - position289, tokenIndex289 := position, tokenIndex + position300, tokenIndex300 := position, tokenIndex if !_rules[ruleWS]() { - goto l289 + goto l300 } - goto l290 - l289: - position, tokenIndex = position289, tokenIndex289 + goto l301 + l300: + position, tokenIndex = position300, tokenIndex300 } - l290: + l301: if !_rules[ruleSymbolArg]() { - goto l286 + goto l297 } - goto l285 - l286: - position, tokenIndex = position286, tokenIndex286 + goto l296 + l297: + position, tokenIndex = position297, tokenIndex297 } - add(ruleSymbolArgs, position284) + add(ruleSymbolArgs, position295) } return true - l283: - position, tokenIndex = position283, tokenIndex283 + l294: + position, tokenIndex = position294, tokenIndex294 return false }, /* 15 SymbolArg <- */ func() bool { - position291, tokenIndex291 := position, tokenIndex + position302, tokenIndex302 := position, tokenIndex { - position292 := position + position303 := position if !_rules[ruleSymbolExpr]() { - goto l291 + goto l302 } - add(ruleSymbolArg, position292) + add(ruleSymbolArg, position303) } return true - l291: - position, tokenIndex = position291, tokenIndex291 + l302: + position, tokenIndex = position302, tokenIndex302 return false }, /* 16 SymbolExpr <- <(SymbolAtom (WS? SymbolOperator WS? SymbolExpr)?)> */ func() bool { - position293, tokenIndex293 := position, tokenIndex + position304, tokenIndex304 := position, tokenIndex { - position294 := position + position305 := position if !_rules[ruleSymbolAtom]() { - goto l293 + goto l304 } { - position295, tokenIndex295 := position, tokenIndex + position306, tokenIndex306 := position, tokenIndex { - position297, tokenIndex297 := position, tokenIndex + position308, tokenIndex308 := position, tokenIndex if !_rules[ruleWS]() { - goto l297 + goto l308 } - goto l298 - l297: - position, tokenIndex = position297, tokenIndex297 + goto l309 + l308: + position, tokenIndex = position308, tokenIndex308 } - l298: + l309: if !_rules[ruleSymbolOperator]() { - goto l295 + goto l306 } { - position299, tokenIndex299 := position, tokenIndex + position310, tokenIndex310 := position, tokenIndex if !_rules[ruleWS]() { - goto l299 + goto l310 } - goto l300 - l299: - position, tokenIndex = position299, tokenIndex299 + goto l311 + l310: + position, tokenIndex = position310, tokenIndex310 } - l300: + l311: if !_rules[ruleSymbolExpr]() { - goto l295 + goto l306 } - goto l296 - l295: - position, tokenIndex = position295, tokenIndex295 + goto l307 + l306: + position, tokenIndex = position306, tokenIndex306 } - l296: - add(ruleSymbolExpr, position294) + l307: + add(ruleSymbolExpr, position305) } return true - l293: - position, tokenIndex = position293, tokenIndex293 + l304: + position, tokenIndex = position304, tokenIndex304 return false }, /* 17 SymbolAtom <- <(Offset / SymbolType / LocalLabelRef / (LocalSymbol TCMarker?) / (SymbolName Offset) / (SymbolName TCMarker?) / Dot / (OpenParen WS? SymbolExpr WS? CloseParen))> */ func() bool { - position301, tokenIndex301 := position, tokenIndex + position312, tokenIndex312 := position, tokenIndex { - position302 := position + position313 := position { - position303, tokenIndex303 := position, tokenIndex + position314, tokenIndex314 := position, tokenIndex if !_rules[ruleOffset]() { - goto l304 + goto l315 } - goto l303 - l304: - position, tokenIndex = position303, tokenIndex303 + goto l314 + l315: + position, tokenIndex = position314, tokenIndex314 if !_rules[ruleSymbolType]() { - goto l305 + goto l316 } - goto l303 - l305: - position, tokenIndex = position303, tokenIndex303 + goto l314 + l316: + position, tokenIndex = position314, tokenIndex314 if !_rules[ruleLocalLabelRef]() { - goto l306 + goto l317 } - goto l303 - l306: - position, tokenIndex = position303, tokenIndex303 + goto l314 + l317: + position, tokenIndex = position314, tokenIndex314 if !_rules[ruleLocalSymbol]() { - goto l307 + goto l318 } { - position308, tokenIndex308 := position, tokenIndex + position319, tokenIndex319 := position, tokenIndex if !_rules[ruleTCMarker]() { - goto l308 + goto l319 } - goto l309 - l308: - position, tokenIndex = position308, tokenIndex308 + goto l320 + l319: + position, tokenIndex = position319, tokenIndex319 } - l309: - goto l303 - l307: - position, tokenIndex = position303, tokenIndex303 + l320: + goto l314 + l318: + position, tokenIndex = position314, tokenIndex314 if !_rules[ruleSymbolName]() { - goto l310 + goto l321 } if !_rules[ruleOffset]() { - goto l310 + goto l321 } - goto l303 - l310: - position, tokenIndex = position303, tokenIndex303 + goto l314 + l321: + position, tokenIndex = position314, tokenIndex314 if !_rules[ruleSymbolName]() { - goto l311 + goto l322 } { - position312, tokenIndex312 := position, tokenIndex + position323, tokenIndex323 := position, tokenIndex if !_rules[ruleTCMarker]() { - goto l312 + goto l323 } - goto l313 - l312: - position, tokenIndex = position312, tokenIndex312 + goto l324 + l323: + position, tokenIndex = position323, tokenIndex323 } - l313: - goto l303 - l311: - position, tokenIndex = position303, tokenIndex303 + l324: + goto l314 + l322: + position, tokenIndex = position314, tokenIndex314 if !_rules[ruleDot]() { - goto l314 + goto l325 } - goto l303 - l314: - position, tokenIndex = position303, tokenIndex303 + goto l314 + l325: + position, tokenIndex = position314, tokenIndex314 if !_rules[ruleOpenParen]() { - goto l301 + goto l312 } { - position315, tokenIndex315 := position, tokenIndex + position326, tokenIndex326 := position, tokenIndex if !_rules[ruleWS]() { - goto l315 + goto l326 } - goto l316 - l315: - position, tokenIndex = position315, tokenIndex315 + goto l327 + l326: + position, tokenIndex = position326, tokenIndex326 } - l316: + l327: if !_rules[ruleSymbolExpr]() { - goto l301 + goto l312 } { - position317, tokenIndex317 := position, tokenIndex + position328, tokenIndex328 := position, tokenIndex if !_rules[ruleWS]() { - goto l317 + goto l328 } - goto l318 - l317: - position, tokenIndex = position317, tokenIndex317 + goto l329 + l328: + position, tokenIndex = position328, tokenIndex328 } - l318: + l329: if !_rules[ruleCloseParen]() { - goto l301 + goto l312 } } - l303: - add(ruleSymbolAtom, position302) + l314: + add(ruleSymbolAtom, position313) } return true - l301: - position, tokenIndex = position301, tokenIndex301 + l312: + position, tokenIndex = position312, tokenIndex312 return false }, /* 18 SymbolOperator <- <('+' / '-' / '|' / ('<' '<') / ('>' '>'))> */ func() bool { - position319, tokenIndex319 := position, tokenIndex + position330, tokenIndex330 := position, tokenIndex { - position320 := position + position331 := position { - position321, tokenIndex321 := position, tokenIndex + position332, tokenIndex332 := position, tokenIndex if buffer[position] != rune('+') { - goto l322 + goto l333 } position++ - goto l321 - l322: - position, tokenIndex = position321, tokenIndex321 + goto l332 + l333: + position, tokenIndex = position332, tokenIndex332 if buffer[position] != rune('-') { - goto l323 + goto l334 } position++ - goto l321 - l323: - position, tokenIndex = position321, tokenIndex321 + goto l332 + l334: + position, tokenIndex = position332, tokenIndex332 if buffer[position] != rune('|') { - goto l324 + goto l335 } position++ - goto l321 - l324: - position, tokenIndex = position321, tokenIndex321 + goto l332 + l335: + position, tokenIndex = position332, tokenIndex332 if buffer[position] != rune('<') { - goto l325 + goto l336 } position++ if buffer[position] != rune('<') { - goto l325 + goto l336 } position++ - goto l321 - l325: - position, tokenIndex = position321, tokenIndex321 + goto l332 + l336: + position, tokenIndex = position332, tokenIndex332 if buffer[position] != rune('>') { - goto l319 + goto l330 } position++ if buffer[position] != rune('>') { - goto l319 + goto l330 } position++ } - l321: - add(ruleSymbolOperator, position320) + l332: + add(ruleSymbolOperator, position331) } return true - l319: - position, tokenIndex = position319, tokenIndex319 + l330: + position, tokenIndex = position330, tokenIndex330 return false }, /* 19 OpenParen <- <'('> */ func() bool { - position326, tokenIndex326 := position, tokenIndex + position337, tokenIndex337 := position, tokenIndex { - position327 := position + position338 := position if buffer[position] != rune('(') { - goto l326 + goto l337 } position++ - add(ruleOpenParen, position327) + add(ruleOpenParen, position338) } return true - l326: - position, tokenIndex = position326, tokenIndex326 + l337: + position, tokenIndex = position337, tokenIndex337 return false }, /* 20 CloseParen <- <')'> */ func() bool { - position328, tokenIndex328 := position, tokenIndex + position339, tokenIndex339 := position, tokenIndex { - position329 := position + position340 := position if buffer[position] != rune(')') { - goto l328 + goto l339 } position++ - add(ruleCloseParen, position329) + add(ruleCloseParen, position340) } return true - l328: - position, tokenIndex = position328, tokenIndex328 + l339: + position, tokenIndex = position339, tokenIndex339 return false }, /* 21 SymbolType <- <(('@' / '%') (('f' 'u' 'n' 'c' 't' 'i' 'o' 'n') / ('o' 'b' 'j' 'e' 'c' 't')))> */ func() bool { - position330, tokenIndex330 := position, tokenIndex + position341, tokenIndex341 := position, tokenIndex { - position331 := position + position342 := position { - position332, tokenIndex332 := position, tokenIndex + position343, tokenIndex343 := position, tokenIndex if buffer[position] != rune('@') { - goto l333 + goto l344 } position++ - goto l332 - l333: - position, tokenIndex = position332, tokenIndex332 + goto l343 + l344: + position, tokenIndex = position343, tokenIndex343 if buffer[position] != rune('%') { - goto l330 + goto l341 } position++ } - l332: + l343: { - position334, tokenIndex334 := position, tokenIndex + position345, tokenIndex345 := position, tokenIndex if buffer[position] != rune('f') { - goto l335 + goto l346 } position++ if buffer[position] != rune('u') { - goto l335 + goto l346 } position++ if buffer[position] != rune('n') { - goto l335 + goto l346 } position++ if buffer[position] != rune('c') { - goto l335 + goto l346 } position++ if buffer[position] != rune('t') { - goto l335 + goto l346 } position++ if buffer[position] != rune('i') { - goto l335 + goto l346 } position++ if buffer[position] != rune('o') { - goto l335 + goto l346 } position++ if buffer[position] != rune('n') { - goto l335 + goto l346 } position++ - goto l334 - l335: - position, tokenIndex = position334, tokenIndex334 + goto l345 + l346: + position, tokenIndex = position345, tokenIndex345 if buffer[position] != rune('o') { - goto l330 + goto l341 } position++ if buffer[position] != rune('b') { - goto l330 + goto l341 } position++ if buffer[position] != rune('j') { - goto l330 + goto l341 } position++ if buffer[position] != rune('e') { - goto l330 + goto l341 } position++ if buffer[position] != rune('c') { - goto l330 + goto l341 } position++ if buffer[position] != rune('t') { - goto l330 + goto l341 } position++ } - l334: - add(ruleSymbolType, position331) + l345: + add(ruleSymbolType, position342) } return true - l330: - position, tokenIndex = position330, tokenIndex330 + l341: + position, tokenIndex = position341, tokenIndex341 return false }, /* 22 Dot <- <'.'> */ func() bool { - position336, tokenIndex336 := position, tokenIndex + position347, tokenIndex347 := position, tokenIndex { - position337 := position + position348 := position if buffer[position] != rune('.') { - goto l336 + goto l347 } position++ - add(ruleDot, position337) + add(ruleDot, position348) } return true - l336: - position, tokenIndex = position336, tokenIndex336 + l347: + position, tokenIndex = position347, tokenIndex347 return false }, /* 23 TCMarker <- <('[' 'T' 'C' ']')> */ func() bool { - position338, tokenIndex338 := position, tokenIndex + position349, tokenIndex349 := position, tokenIndex { - position339 := position + position350 := position if buffer[position] != rune('[') { - goto l338 + goto l349 } position++ if buffer[position] != rune('T') { - goto l338 + goto l349 } position++ if buffer[position] != rune('C') { - goto l338 + goto l349 } position++ if buffer[position] != rune(']') { - goto l338 + goto l349 } position++ - add(ruleTCMarker, position339) + add(ruleTCMarker, position350) } return true - l338: - position, tokenIndex = position338, tokenIndex338 + l349: + position, tokenIndex = position349, tokenIndex349 return false }, /* 24 EscapedChar <- <('\\' .)> */ func() bool { - position340, tokenIndex340 := position, tokenIndex + position351, tokenIndex351 := position, tokenIndex { - position341 := position + position352 := position if buffer[position] != rune('\\') { - goto l340 + goto l351 } position++ if !matchDot() { - goto l340 + goto l351 } - add(ruleEscapedChar, position341) + add(ruleEscapedChar, position352) } return true - l340: - position, tokenIndex = position340, tokenIndex340 + l351: + position, tokenIndex = position351, tokenIndex351 return false }, /* 25 WS <- <(' ' / '\t')+> */ func() bool { - position342, tokenIndex342 := position, tokenIndex + position353, tokenIndex353 := position, tokenIndex { - position343 := position + position354 := position { - position346, tokenIndex346 := position, tokenIndex + position357, tokenIndex357 := position, tokenIndex if buffer[position] != rune(' ') { - goto l347 + goto l358 } position++ - goto l346 - l347: - position, tokenIndex = position346, tokenIndex346 + goto l357 + l358: + position, tokenIndex = position357, tokenIndex357 if buffer[position] != rune('\t') { - goto l342 + goto l353 } position++ } - l346: - l344: + l357: + l355: { - position345, tokenIndex345 := position, tokenIndex + position356, tokenIndex356 := position, tokenIndex { - position348, tokenIndex348 := position, tokenIndex + position359, tokenIndex359 := position, tokenIndex if buffer[position] != rune(' ') { - goto l349 + goto l360 } position++ - goto l348 - l349: - position, tokenIndex = position348, tokenIndex348 + goto l359 + l360: + position, tokenIndex = position359, tokenIndex359 if buffer[position] != rune('\t') { - goto l345 + goto l356 } position++ } - l348: - goto l344 - l345: - position, tokenIndex = position345, tokenIndex345 + l359: + goto l355 + l356: + position, tokenIndex = position356, tokenIndex356 } - add(ruleWS, position343) + add(ruleWS, position354) } return true - l342: - position, tokenIndex = position342, tokenIndex342 + l353: + position, tokenIndex = position353, tokenIndex353 return false }, /* 26 Comment <- <((('/' '/') / '#') (!'\n' .)*)> */ func() bool { - position350, tokenIndex350 := position, tokenIndex + position361, tokenIndex361 := position, tokenIndex { - position351 := position + position362 := position { - position352, tokenIndex352 := position, tokenIndex + position363, tokenIndex363 := position, tokenIndex if buffer[position] != rune('/') { - goto l353 + goto l364 } position++ if buffer[position] != rune('/') { - goto l353 + goto l364 } position++ - goto l352 - l353: - position, tokenIndex = position352, tokenIndex352 + goto l363 + l364: + position, tokenIndex = position363, tokenIndex363 if buffer[position] != rune('#') { - goto l350 + goto l361 } position++ } - l352: - l354: + l363: + l365: { - position355, tokenIndex355 := position, tokenIndex + position366, tokenIndex366 := position, tokenIndex { - position356, tokenIndex356 := position, tokenIndex + position367, tokenIndex367 := position, tokenIndex if buffer[position] != rune('\n') { - goto l356 + goto l367 } position++ - goto l355 - l356: - position, tokenIndex = position356, tokenIndex356 + goto l366 + l367: + position, tokenIndex = position367, tokenIndex367 } if !matchDot() { - goto l355 + goto l366 } - goto l354 - l355: - position, tokenIndex = position355, tokenIndex355 + goto l365 + l366: + position, tokenIndex = position366, tokenIndex366 } - add(ruleComment, position351) + add(ruleComment, position362) } return true - l350: - position, tokenIndex = position350, tokenIndex350 + l361: + position, tokenIndex = position361, tokenIndex361 return false }, /* 27 Label <- <((LocalSymbol / LocalLabel / SymbolName) ':')> */ func() bool { - position357, tokenIndex357 := position, tokenIndex + position368, tokenIndex368 := position, tokenIndex { - position358 := position + position369 := position { - position359, tokenIndex359 := position, tokenIndex + position370, tokenIndex370 := position, tokenIndex if !_rules[ruleLocalSymbol]() { - goto l360 + goto l371 } - goto l359 - l360: - position, tokenIndex = position359, tokenIndex359 + goto l370 + l371: + position, tokenIndex = position370, tokenIndex370 if !_rules[ruleLocalLabel]() { - goto l361 + goto l372 } - goto l359 - l361: - position, tokenIndex = position359, tokenIndex359 + goto l370 + l372: + position, tokenIndex = position370, tokenIndex370 if !_rules[ruleSymbolName]() { - goto l357 + goto l368 } } - l359: + l370: if buffer[position] != rune(':') { - goto l357 + goto l368 } position++ - add(ruleLabel, position358) + add(ruleLabel, position369) } return true - l357: - position, tokenIndex = position357, tokenIndex357 + l368: + position, tokenIndex = position368, tokenIndex368 return false }, /* 28 SymbolName <- <(([a-z] / [A-Z] / '.' / '_') ([a-z] / [A-Z] / '.' / ([0-9] / [0-9]) / '$' / '_')*)> */ func() bool { - position362, tokenIndex362 := position, tokenIndex + position373, tokenIndex373 := position, tokenIndex { - position363 := position + position374 := position { - position364, tokenIndex364 := position, tokenIndex + position375, tokenIndex375 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l365 + goto l376 } position++ - goto l364 - l365: - position, tokenIndex = position364, tokenIndex364 + goto l375 + l376: + position, tokenIndex = position375, tokenIndex375 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l366 + goto l377 } position++ - goto l364 - l366: - position, tokenIndex = position364, tokenIndex364 + goto l375 + l377: + position, tokenIndex = position375, tokenIndex375 if buffer[position] != rune('.') { - goto l367 + goto l378 } position++ - goto l364 - l367: - position, tokenIndex = position364, tokenIndex364 + goto l375 + l378: + position, tokenIndex = position375, tokenIndex375 if buffer[position] != rune('_') { - goto l362 + goto l373 } position++ } - l364: - l368: + l375: + l379: { - position369, tokenIndex369 := position, tokenIndex + position380, tokenIndex380 := position, tokenIndex { - position370, tokenIndex370 := position, tokenIndex + position381, tokenIndex381 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l371 + goto l382 } position++ - goto l370 - l371: - position, tokenIndex = position370, tokenIndex370 + goto l381 + l382: + position, tokenIndex = position381, tokenIndex381 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l372 + goto l383 } position++ - goto l370 - l372: - position, tokenIndex = position370, tokenIndex370 + goto l381 + l383: + position, tokenIndex = position381, tokenIndex381 if buffer[position] != rune('.') { - goto l373 + goto l384 } position++ - goto l370 - l373: - position, tokenIndex = position370, tokenIndex370 + goto l381 + l384: + position, tokenIndex = position381, tokenIndex381 { - position375, tokenIndex375 := position, tokenIndex + position386, tokenIndex386 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l376 + goto l387 } position++ - goto l375 - l376: - position, tokenIndex = position375, tokenIndex375 + goto l386 + l387: + position, tokenIndex = position386, tokenIndex386 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l374 + goto l385 } position++ } - l375: - goto l370 - l374: - position, tokenIndex = position370, tokenIndex370 + l386: + goto l381 + l385: + position, tokenIndex = position381, tokenIndex381 if buffer[position] != rune('$') { - goto l377 + goto l388 } position++ - goto l370 - l377: - position, tokenIndex = position370, tokenIndex370 + goto l381 + l388: + position, tokenIndex = position381, tokenIndex381 if buffer[position] != rune('_') { - goto l369 + goto l380 } position++ } - l370: - goto l368 - l369: - position, tokenIndex = position369, tokenIndex369 + l381: + goto l379 + l380: + position, tokenIndex = position380, tokenIndex380 } - add(ruleSymbolName, position363) + add(ruleSymbolName, position374) } return true - l362: - position, tokenIndex = position362, tokenIndex362 + l373: + position, tokenIndex = position373, tokenIndex373 return false }, /* 29 LocalSymbol <- <('.' 'L' ([a-z] / [A-Z] / ([a-z] / [A-Z]) / '.' / ([0-9] / [0-9]) / '$' / '_')+)> */ func() bool { - position378, tokenIndex378 := position, tokenIndex + position389, tokenIndex389 := position, tokenIndex { - position379 := position + position390 := position if buffer[position] != rune('.') { - goto l378 + goto l389 } position++ if buffer[position] != rune('L') { - goto l378 + goto l389 } position++ { - position382, tokenIndex382 := position, tokenIndex + position393, tokenIndex393 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l383 + goto l394 } position++ - goto l382 - l383: - position, tokenIndex = position382, tokenIndex382 + goto l393 + l394: + position, tokenIndex = position393, tokenIndex393 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l384 + goto l395 } position++ - goto l382 - l384: - position, tokenIndex = position382, tokenIndex382 + goto l393 + l395: + position, tokenIndex = position393, tokenIndex393 { - position386, tokenIndex386 := position, tokenIndex + position397, tokenIndex397 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l387 + goto l398 } position++ - goto l386 - l387: - position, tokenIndex = position386, tokenIndex386 + goto l397 + l398: + position, tokenIndex = position397, tokenIndex397 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l385 + goto l396 } position++ } - l386: - goto l382 - l385: - position, tokenIndex = position382, tokenIndex382 + l397: + goto l393 + l396: + position, tokenIndex = position393, tokenIndex393 if buffer[position] != rune('.') { - goto l388 + goto l399 } position++ - goto l382 - l388: - position, tokenIndex = position382, tokenIndex382 + goto l393 + l399: + position, tokenIndex = position393, tokenIndex393 { - position390, tokenIndex390 := position, tokenIndex + position401, tokenIndex401 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l391 + goto l402 } position++ - goto l390 - l391: - position, tokenIndex = position390, tokenIndex390 + goto l401 + l402: + position, tokenIndex = position401, tokenIndex401 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l389 + goto l400 } position++ } - l390: - goto l382 - l389: - position, tokenIndex = position382, tokenIndex382 + l401: + goto l393 + l400: + position, tokenIndex = position393, tokenIndex393 if buffer[position] != rune('$') { - goto l392 + goto l403 } position++ - goto l382 - l392: - position, tokenIndex = position382, tokenIndex382 + goto l393 + l403: + position, tokenIndex = position393, tokenIndex393 if buffer[position] != rune('_') { - goto l378 + goto l389 } position++ } - l382: - l380: + l393: + l391: { - position381, tokenIndex381 := position, tokenIndex + position392, tokenIndex392 := position, tokenIndex { - position393, tokenIndex393 := position, tokenIndex + position404, tokenIndex404 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l394 + goto l405 } position++ - goto l393 - l394: - position, tokenIndex = position393, tokenIndex393 + goto l404 + l405: + position, tokenIndex = position404, tokenIndex404 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l395 + goto l406 } position++ - goto l393 - l395: - position, tokenIndex = position393, tokenIndex393 + goto l404 + l406: + position, tokenIndex = position404, tokenIndex404 { - position397, tokenIndex397 := position, tokenIndex + position408, tokenIndex408 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l398 + goto l409 } position++ - goto l397 - l398: - position, tokenIndex = position397, tokenIndex397 + goto l408 + l409: + position, tokenIndex = position408, tokenIndex408 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l396 + goto l407 } position++ } - l397: - goto l393 - l396: - position, tokenIndex = position393, tokenIndex393 + l408: + goto l404 + l407: + position, tokenIndex = position404, tokenIndex404 if buffer[position] != rune('.') { - goto l399 + goto l410 } position++ - goto l393 - l399: - position, tokenIndex = position393, tokenIndex393 + goto l404 + l410: + position, tokenIndex = position404, tokenIndex404 { - position401, tokenIndex401 := position, tokenIndex + position412, tokenIndex412 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l402 + goto l413 } position++ - goto l401 - l402: - position, tokenIndex = position401, tokenIndex401 + goto l412 + l413: + position, tokenIndex = position412, tokenIndex412 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l400 + goto l411 } position++ } - l401: - goto l393 - l400: - position, tokenIndex = position393, tokenIndex393 + l412: + goto l404 + l411: + position, tokenIndex = position404, tokenIndex404 if buffer[position] != rune('$') { - goto l403 + goto l414 } position++ - goto l393 - l403: - position, tokenIndex = position393, tokenIndex393 + goto l404 + l414: + position, tokenIndex = position404, tokenIndex404 if buffer[position] != rune('_') { - goto l381 + goto l392 } position++ } - l393: - goto l380 - l381: - position, tokenIndex = position381, tokenIndex381 + l404: + goto l391 + l392: + position, tokenIndex = position392, tokenIndex392 } - add(ruleLocalSymbol, position379) + add(ruleLocalSymbol, position390) } return true - l378: - position, tokenIndex = position378, tokenIndex378 + l389: + position, tokenIndex = position389, tokenIndex389 return false }, /* 30 LocalLabel <- <([0-9] ([0-9] / '$')*)> */ func() bool { - position404, tokenIndex404 := position, tokenIndex + position415, tokenIndex415 := position, tokenIndex { - position405 := position + position416 := position if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l404 + goto l415 } position++ - l406: + l417: { - position407, tokenIndex407 := position, tokenIndex + position418, tokenIndex418 := position, tokenIndex { - position408, tokenIndex408 := position, tokenIndex + position419, tokenIndex419 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l409 + goto l420 } position++ - goto l408 - l409: - position, tokenIndex = position408, tokenIndex408 + goto l419 + l420: + position, tokenIndex = position419, tokenIndex419 if buffer[position] != rune('$') { - goto l407 + goto l418 } position++ } - l408: - goto l406 - l407: - position, tokenIndex = position407, tokenIndex407 + l419: + goto l417 + l418: + position, tokenIndex = position418, tokenIndex418 } - add(ruleLocalLabel, position405) + add(ruleLocalLabel, position416) } return true - l404: - position, tokenIndex = position404, tokenIndex404 + l415: + position, tokenIndex = position415, tokenIndex415 return false }, /* 31 LocalLabelRef <- <([0-9] ([0-9] / '$')* ('b' / 'f'))> */ func() bool { - position410, tokenIndex410 := position, tokenIndex + position421, tokenIndex421 := position, tokenIndex { - position411 := position + position422 := position if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l410 + goto l421 } position++ - l412: + l423: { - position413, tokenIndex413 := position, tokenIndex + position424, tokenIndex424 := position, tokenIndex { - position414, tokenIndex414 := position, tokenIndex + position425, tokenIndex425 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l415 + goto l426 } position++ - goto l414 - l415: - position, tokenIndex = position414, tokenIndex414 + goto l425 + l426: + position, tokenIndex = position425, tokenIndex425 if buffer[position] != rune('$') { - goto l413 + goto l424 } position++ } - l414: - goto l412 - l413: - position, tokenIndex = position413, tokenIndex413 + l425: + goto l423 + l424: + position, tokenIndex = position424, tokenIndex424 } { - position416, tokenIndex416 := position, tokenIndex + position427, tokenIndex427 := position, tokenIndex if buffer[position] != rune('b') { - goto l417 + goto l428 } position++ - goto l416 - l417: - position, tokenIndex = position416, tokenIndex416 + goto l427 + l428: + position, tokenIndex = position427, tokenIndex427 if buffer[position] != rune('f') { - goto l410 + goto l421 } position++ } - l416: - add(ruleLocalLabelRef, position411) + l427: + add(ruleLocalLabelRef, position422) } return true - l410: - position, tokenIndex = position410, tokenIndex410 + l421: + position, tokenIndex = position421, tokenIndex421 return false }, /* 32 Instruction <- <(InstructionName (WS InstructionArg (WS? ','? WS? InstructionArg)*)?)> */ func() bool { - position418, tokenIndex418 := position, tokenIndex + position429, tokenIndex429 := position, tokenIndex { - position419 := position + position430 := position if !_rules[ruleInstructionName]() { - goto l418 + goto l429 } { - position420, tokenIndex420 := position, tokenIndex + position431, tokenIndex431 := position, tokenIndex if !_rules[ruleWS]() { - goto l420 + goto l431 } if !_rules[ruleInstructionArg]() { - goto l420 + goto l431 } - l422: + l433: { - position423, tokenIndex423 := position, tokenIndex + position434, tokenIndex434 := position, tokenIndex { - position424, tokenIndex424 := position, tokenIndex + position435, tokenIndex435 := position, tokenIndex if !_rules[ruleWS]() { - goto l424 + goto l435 } - goto l425 - l424: - position, tokenIndex = position424, tokenIndex424 + goto l436 + l435: + position, tokenIndex = position435, tokenIndex435 } - l425: + l436: { - position426, tokenIndex426 := position, tokenIndex + position437, tokenIndex437 := position, tokenIndex if buffer[position] != rune(',') { - goto l426 + goto l437 } position++ - goto l427 - l426: - position, tokenIndex = position426, tokenIndex426 + goto l438 + l437: + position, tokenIndex = position437, tokenIndex437 } - l427: + l438: { - position428, tokenIndex428 := position, tokenIndex + position439, tokenIndex439 := position, tokenIndex if !_rules[ruleWS]() { - goto l428 + goto l439 } - goto l429 - l428: - position, tokenIndex = position428, tokenIndex428 + goto l440 + l439: + position, tokenIndex = position439, tokenIndex439 } - l429: + l440: if !_rules[ruleInstructionArg]() { - goto l423 + goto l434 } - goto l422 - l423: - position, tokenIndex = position423, tokenIndex423 + goto l433 + l434: + position, tokenIndex = position434, tokenIndex434 } - goto l421 - l420: - position, tokenIndex = position420, tokenIndex420 + goto l432 + l431: + position, tokenIndex = position431, tokenIndex431 } - l421: - add(ruleInstruction, position419) + l432: + add(ruleInstruction, position430) } return true - l418: - position, tokenIndex = position418, tokenIndex418 + l429: + position, tokenIndex = position429, tokenIndex429 return false }, /* 33 InstructionName <- <(([a-z] / [A-Z]) ([a-z] / [A-Z] / '.' / ([0-9] / [0-9]))* ('.' / '+' / '-')?)> */ func() bool { - position430, tokenIndex430 := position, tokenIndex + position441, tokenIndex441 := position, tokenIndex { - position431 := position + position442 := position { - position432, tokenIndex432 := position, tokenIndex + position443, tokenIndex443 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l433 + goto l444 } position++ - goto l432 - l433: - position, tokenIndex = position432, tokenIndex432 + goto l443 + l444: + position, tokenIndex = position443, tokenIndex443 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l430 + goto l441 } position++ } - l432: - l434: + l443: + l445: { - position435, tokenIndex435 := position, tokenIndex + position446, tokenIndex446 := position, tokenIndex { - position436, tokenIndex436 := position, tokenIndex + position447, tokenIndex447 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l437 + goto l448 } position++ - goto l436 - l437: - position, tokenIndex = position436, tokenIndex436 + goto l447 + l448: + position, tokenIndex = position447, tokenIndex447 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l438 + goto l449 } position++ - goto l436 - l438: - position, tokenIndex = position436, tokenIndex436 + goto l447 + l449: + position, tokenIndex = position447, tokenIndex447 if buffer[position] != rune('.') { - goto l439 + goto l450 } position++ - goto l436 - l439: - position, tokenIndex = position436, tokenIndex436 + goto l447 + l450: + position, tokenIndex = position447, tokenIndex447 { - position440, tokenIndex440 := position, tokenIndex + position451, tokenIndex451 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l441 + goto l452 } position++ - goto l440 - l441: - position, tokenIndex = position440, tokenIndex440 + goto l451 + l452: + position, tokenIndex = position451, tokenIndex451 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l435 + goto l446 } position++ } - l440: + l451: } - l436: - goto l434 - l435: - position, tokenIndex = position435, tokenIndex435 + l447: + goto l445 + l446: + position, tokenIndex = position446, tokenIndex446 } { - position442, tokenIndex442 := position, tokenIndex + position453, tokenIndex453 := position, tokenIndex { - position444, tokenIndex444 := position, tokenIndex + position455, tokenIndex455 := position, tokenIndex if buffer[position] != rune('.') { - goto l445 + goto l456 } position++ - goto l444 - l445: - position, tokenIndex = position444, tokenIndex444 + goto l455 + l456: + position, tokenIndex = position455, tokenIndex455 if buffer[position] != rune('+') { - goto l446 + goto l457 } position++ - goto l444 - l446: - position, tokenIndex = position444, tokenIndex444 + goto l455 + l457: + position, tokenIndex = position455, tokenIndex455 if buffer[position] != rune('-') { - goto l442 + goto l453 } position++ } - l444: - goto l443 - l442: - position, tokenIndex = position442, tokenIndex442 + l455: + goto l454 + l453: + position, tokenIndex = position453, tokenIndex453 } - l443: - add(ruleInstructionName, position431) + l454: + add(ruleInstructionName, position442) } return true - l430: - position, tokenIndex = position430, tokenIndex430 + l441: + position, tokenIndex = position441, tokenIndex441 return false }, /* 34 InstructionArg <- <(IndirectionIndicator? (ARMConstantTweak / RegisterOrConstant / LocalLabelRef / TOCRefHigh / TOCRefLow / GOTLocation / GOTSymbolOffset / MemoryRef) AVX512Token*)> */ func() bool { - position447, tokenIndex447 := position, tokenIndex + position458, tokenIndex458 := position, tokenIndex { - position448 := position + position459 := position { - position449, tokenIndex449 := position, tokenIndex + position460, tokenIndex460 := position, tokenIndex if !_rules[ruleIndirectionIndicator]() { - goto l449 + goto l460 } - goto l450 - l449: - position, tokenIndex = position449, tokenIndex449 + goto l461 + l460: + position, tokenIndex = position460, tokenIndex460 } - l450: + l461: { - position451, tokenIndex451 := position, tokenIndex + position462, tokenIndex462 := position, tokenIndex if !_rules[ruleARMConstantTweak]() { - goto l452 + goto l463 } - goto l451 - l452: - position, tokenIndex = position451, tokenIndex451 + goto l462 + l463: + position, tokenIndex = position462, tokenIndex462 if !_rules[ruleRegisterOrConstant]() { - goto l453 + goto l464 } - goto l451 - l453: - position, tokenIndex = position451, tokenIndex451 + goto l462 + l464: + position, tokenIndex = position462, tokenIndex462 if !_rules[ruleLocalLabelRef]() { - goto l454 + goto l465 } - goto l451 - l454: - position, tokenIndex = position451, tokenIndex451 + goto l462 + l465: + position, tokenIndex = position462, tokenIndex462 if !_rules[ruleTOCRefHigh]() { - goto l455 + goto l466 } - goto l451 - l455: - position, tokenIndex = position451, tokenIndex451 + goto l462 + l466: + position, tokenIndex = position462, tokenIndex462 if !_rules[ruleTOCRefLow]() { - goto l456 + goto l467 } - goto l451 - l456: - position, tokenIndex = position451, tokenIndex451 + goto l462 + l467: + position, tokenIndex = position462, tokenIndex462 if !_rules[ruleGOTLocation]() { - goto l457 + goto l468 } - goto l451 - l457: - position, tokenIndex = position451, tokenIndex451 + goto l462 + l468: + position, tokenIndex = position462, tokenIndex462 if !_rules[ruleGOTSymbolOffset]() { - goto l458 + goto l469 } - goto l451 - l458: - position, tokenIndex = position451, tokenIndex451 + goto l462 + l469: + position, tokenIndex = position462, tokenIndex462 if !_rules[ruleMemoryRef]() { - goto l447 + goto l458 } } - l451: - l459: + l462: + l470: { - position460, tokenIndex460 := position, tokenIndex + position471, tokenIndex471 := position, tokenIndex if !_rules[ruleAVX512Token]() { - goto l460 + goto l471 } - goto l459 - l460: - position, tokenIndex = position460, tokenIndex460 + goto l470 + l471: + position, tokenIndex = position471, tokenIndex471 } - add(ruleInstructionArg, position448) + add(ruleInstructionArg, position459) } return true - l447: - position, tokenIndex = position447, tokenIndex447 + l458: + position, tokenIndex = position458, tokenIndex458 return false }, /* 35 GOTLocation <- <('$' '_' 'G' 'L' 'O' 'B' 'A' 'L' '_' 'O' 'F' 'F' 'S' 'E' 'T' '_' 'T' 'A' 'B' 'L' 'E' '_' '-' LocalSymbol)> */ func() bool { - position461, tokenIndex461 := position, tokenIndex + position472, tokenIndex472 := position, tokenIndex { - position462 := position + position473 := position if buffer[position] != rune('$') { - goto l461 + goto l472 } position++ if buffer[position] != rune('_') { - goto l461 + goto l472 } position++ if buffer[position] != rune('G') { - goto l461 + goto l472 } position++ if buffer[position] != rune('L') { - goto l461 + goto l472 } position++ if buffer[position] != rune('O') { - goto l461 + goto l472 } position++ if buffer[position] != rune('B') { - goto l461 + goto l472 } position++ if buffer[position] != rune('A') { - goto l461 + goto l472 } position++ if buffer[position] != rune('L') { - goto l461 + goto l472 } position++ if buffer[position] != rune('_') { - goto l461 + goto l472 } position++ if buffer[position] != rune('O') { - goto l461 + goto l472 } position++ if buffer[position] != rune('F') { - goto l461 + goto l472 } position++ if buffer[position] != rune('F') { - goto l461 + goto l472 } position++ if buffer[position] != rune('S') { - goto l461 + goto l472 } position++ if buffer[position] != rune('E') { - goto l461 + goto l472 } position++ if buffer[position] != rune('T') { - goto l461 + goto l472 } position++ if buffer[position] != rune('_') { - goto l461 + goto l472 } position++ if buffer[position] != rune('T') { - goto l461 + goto l472 } position++ if buffer[position] != rune('A') { - goto l461 + goto l472 } position++ if buffer[position] != rune('B') { - goto l461 + goto l472 } position++ if buffer[position] != rune('L') { - goto l461 + goto l472 } position++ if buffer[position] != rune('E') { - goto l461 + goto l472 } position++ if buffer[position] != rune('_') { - goto l461 + goto l472 } position++ if buffer[position] != rune('-') { - goto l461 + goto l472 } position++ if !_rules[ruleLocalSymbol]() { - goto l461 + goto l472 } - add(ruleGOTLocation, position462) + add(ruleGOTLocation, position473) } return true - l461: - position, tokenIndex = position461, tokenIndex461 + l472: + position, tokenIndex = position472, tokenIndex472 return false }, /* 36 GOTSymbolOffset <- <(('$' SymbolName ('@' 'G' 'O' 'T') ('O' 'F' 'F')?) / (':' ('g' / 'G') ('o' / 'O') ('t' / 'T') ':' SymbolName))> */ func() bool { - position463, tokenIndex463 := position, tokenIndex + position474, tokenIndex474 := position, tokenIndex { - position464 := position + position475 := position { - position465, tokenIndex465 := position, tokenIndex + position476, tokenIndex476 := position, tokenIndex if buffer[position] != rune('$') { - goto l466 + goto l477 } position++ if !_rules[ruleSymbolName]() { - goto l466 + goto l477 } if buffer[position] != rune('@') { - goto l466 + goto l477 } position++ if buffer[position] != rune('G') { - goto l466 + goto l477 } position++ if buffer[position] != rune('O') { - goto l466 + goto l477 } position++ if buffer[position] != rune('T') { - goto l466 + goto l477 } position++ { - position467, tokenIndex467 := position, tokenIndex + position478, tokenIndex478 := position, tokenIndex if buffer[position] != rune('O') { - goto l467 + goto l478 } position++ if buffer[position] != rune('F') { - goto l467 + goto l478 } position++ if buffer[position] != rune('F') { - goto l467 + goto l478 } position++ - goto l468 - l467: - position, tokenIndex = position467, tokenIndex467 + goto l479 + l478: + position, tokenIndex = position478, tokenIndex478 } - l468: - goto l465 - l466: - position, tokenIndex = position465, tokenIndex465 + l479: + goto l476 + l477: + position, tokenIndex = position476, tokenIndex476 if buffer[position] != rune(':') { - goto l463 + goto l474 } position++ { - position469, tokenIndex469 := position, tokenIndex + position480, tokenIndex480 := position, tokenIndex if buffer[position] != rune('g') { - goto l470 + goto l481 } position++ - goto l469 - l470: - position, tokenIndex = position469, tokenIndex469 + goto l480 + l481: + position, tokenIndex = position480, tokenIndex480 if buffer[position] != rune('G') { - goto l463 + goto l474 } position++ } - l469: + l480: { - position471, tokenIndex471 := position, tokenIndex + position482, tokenIndex482 := position, tokenIndex if buffer[position] != rune('o') { - goto l472 + goto l483 } position++ - goto l471 - l472: - position, tokenIndex = position471, tokenIndex471 + goto l482 + l483: + position, tokenIndex = position482, tokenIndex482 if buffer[position] != rune('O') { - goto l463 + goto l474 } position++ } - l471: + l482: { - position473, tokenIndex473 := position, tokenIndex + position484, tokenIndex484 := position, tokenIndex if buffer[position] != rune('t') { - goto l474 + goto l485 } position++ - goto l473 - l474: - position, tokenIndex = position473, tokenIndex473 + goto l484 + l485: + position, tokenIndex = position484, tokenIndex484 if buffer[position] != rune('T') { - goto l463 + goto l474 } position++ } - l473: + l484: if buffer[position] != rune(':') { - goto l463 + goto l474 } position++ if !_rules[ruleSymbolName]() { - goto l463 + goto l474 } } - l465: - add(ruleGOTSymbolOffset, position464) + l476: + add(ruleGOTSymbolOffset, position475) } return true - l463: - position, tokenIndex = position463, tokenIndex463 + l474: + position, tokenIndex = position474, tokenIndex474 return false }, /* 37 AVX512Token <- <(WS? '{' '%'? ([0-9] / [a-z])* '}')> */ func() bool { - position475, tokenIndex475 := position, tokenIndex + position486, tokenIndex486 := position, tokenIndex { - position476 := position + position487 := position { - position477, tokenIndex477 := position, tokenIndex + position488, tokenIndex488 := position, tokenIndex if !_rules[ruleWS]() { - goto l477 + goto l488 } - goto l478 - l477: - position, tokenIndex = position477, tokenIndex477 + goto l489 + l488: + position, tokenIndex = position488, tokenIndex488 } - l478: + l489: if buffer[position] != rune('{') { - goto l475 + goto l486 } position++ { - position479, tokenIndex479 := position, tokenIndex + position490, tokenIndex490 := position, tokenIndex if buffer[position] != rune('%') { - goto l479 + goto l490 } position++ - goto l480 - l479: - position, tokenIndex = position479, tokenIndex479 + goto l491 + l490: + position, tokenIndex = position490, tokenIndex490 } - l480: - l481: + l491: + l492: { - position482, tokenIndex482 := position, tokenIndex + position493, tokenIndex493 := position, tokenIndex { - position483, tokenIndex483 := position, tokenIndex + position494, tokenIndex494 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l484 + goto l495 } position++ - goto l483 - l484: - position, tokenIndex = position483, tokenIndex483 + goto l494 + l495: + position, tokenIndex = position494, tokenIndex494 if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l482 + goto l493 } position++ } - l483: - goto l481 - l482: - position, tokenIndex = position482, tokenIndex482 + l494: + goto l492 + l493: + position, tokenIndex = position493, tokenIndex493 } if buffer[position] != rune('}') { - goto l475 + goto l486 } position++ - add(ruleAVX512Token, position476) + add(ruleAVX512Token, position487) } return true - l475: - position, tokenIndex = position475, tokenIndex475 + l486: + position, tokenIndex = position486, tokenIndex486 return false }, /* 38 TOCRefHigh <- <('.' 'T' 'O' 'C' '.' '-' (('0' 'b') / ('.' 'L' ([a-z] / [A-Z] / '_' / [0-9])+)) ('@' ('h' / 'H') ('a' / 'A')))> */ func() bool { - position485, tokenIndex485 := position, tokenIndex + position496, tokenIndex496 := position, tokenIndex { - position486 := position + position497 := position if buffer[position] != rune('.') { - goto l485 + goto l496 } position++ if buffer[position] != rune('T') { - goto l485 + goto l496 } position++ if buffer[position] != rune('O') { - goto l485 + goto l496 } position++ if buffer[position] != rune('C') { - goto l485 + goto l496 } position++ if buffer[position] != rune('.') { - goto l485 + goto l496 } position++ if buffer[position] != rune('-') { - goto l485 + goto l496 } position++ { - position487, tokenIndex487 := position, tokenIndex + position498, tokenIndex498 := position, tokenIndex if buffer[position] != rune('0') { - goto l488 + goto l499 } position++ if buffer[position] != rune('b') { - goto l488 + goto l499 } position++ - goto l487 - l488: - position, tokenIndex = position487, tokenIndex487 + goto l498 + l499: + position, tokenIndex = position498, tokenIndex498 if buffer[position] != rune('.') { - goto l485 + goto l496 } position++ if buffer[position] != rune('L') { - goto l485 + goto l496 } position++ { - position491, tokenIndex491 := position, tokenIndex + position502, tokenIndex502 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l492 + goto l503 } position++ - goto l491 - l492: - position, tokenIndex = position491, tokenIndex491 + goto l502 + l503: + position, tokenIndex = position502, tokenIndex502 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l493 + goto l504 } position++ - goto l491 - l493: - position, tokenIndex = position491, tokenIndex491 + goto l502 + l504: + position, tokenIndex = position502, tokenIndex502 if buffer[position] != rune('_') { - goto l494 + goto l505 } position++ - goto l491 - l494: - position, tokenIndex = position491, tokenIndex491 + goto l502 + l505: + position, tokenIndex = position502, tokenIndex502 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l485 + goto l496 } position++ } - l491: - l489: + l502: + l500: { - position490, tokenIndex490 := position, tokenIndex + position501, tokenIndex501 := position, tokenIndex { - position495, tokenIndex495 := position, tokenIndex + position506, tokenIndex506 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l496 + goto l507 } position++ - goto l495 - l496: - position, tokenIndex = position495, tokenIndex495 + goto l506 + l507: + position, tokenIndex = position506, tokenIndex506 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l497 + goto l508 } position++ - goto l495 - l497: - position, tokenIndex = position495, tokenIndex495 + goto l506 + l508: + position, tokenIndex = position506, tokenIndex506 if buffer[position] != rune('_') { - goto l498 + goto l509 } position++ - goto l495 - l498: - position, tokenIndex = position495, tokenIndex495 + goto l506 + l509: + position, tokenIndex = position506, tokenIndex506 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l490 + goto l501 } position++ } - l495: - goto l489 - l490: - position, tokenIndex = position490, tokenIndex490 + l506: + goto l500 + l501: + position, tokenIndex = position501, tokenIndex501 } } - l487: + l498: if buffer[position] != rune('@') { - goto l485 + goto l496 } position++ { - position499, tokenIndex499 := position, tokenIndex + position510, tokenIndex510 := position, tokenIndex if buffer[position] != rune('h') { - goto l500 + goto l511 } position++ - goto l499 - l500: - position, tokenIndex = position499, tokenIndex499 + goto l510 + l511: + position, tokenIndex = position510, tokenIndex510 if buffer[position] != rune('H') { - goto l485 + goto l496 } position++ } - l499: + l510: { - position501, tokenIndex501 := position, tokenIndex + position512, tokenIndex512 := position, tokenIndex if buffer[position] != rune('a') { - goto l502 + goto l513 } position++ - goto l501 - l502: - position, tokenIndex = position501, tokenIndex501 + goto l512 + l513: + position, tokenIndex = position512, tokenIndex512 if buffer[position] != rune('A') { - goto l485 + goto l496 } position++ } - l501: - add(ruleTOCRefHigh, position486) + l512: + add(ruleTOCRefHigh, position497) } return true - l485: - position, tokenIndex = position485, tokenIndex485 + l496: + position, tokenIndex = position496, tokenIndex496 return false }, /* 39 TOCRefLow <- <('.' 'T' 'O' 'C' '.' '-' (('0' 'b') / ('.' 'L' ([a-z] / [A-Z] / '_' / [0-9])+)) ('@' ('l' / 'L')))> */ func() bool { - position503, tokenIndex503 := position, tokenIndex + position514, tokenIndex514 := position, tokenIndex { - position504 := position + position515 := position if buffer[position] != rune('.') { - goto l503 + goto l514 } position++ if buffer[position] != rune('T') { - goto l503 + goto l514 } position++ if buffer[position] != rune('O') { - goto l503 + goto l514 } position++ if buffer[position] != rune('C') { - goto l503 + goto l514 } position++ if buffer[position] != rune('.') { - goto l503 + goto l514 } position++ if buffer[position] != rune('-') { - goto l503 + goto l514 } position++ { - position505, tokenIndex505 := position, tokenIndex + position516, tokenIndex516 := position, tokenIndex if buffer[position] != rune('0') { - goto l506 + goto l517 } position++ if buffer[position] != rune('b') { - goto l506 + goto l517 } position++ - goto l505 - l506: - position, tokenIndex = position505, tokenIndex505 + goto l516 + l517: + position, tokenIndex = position516, tokenIndex516 if buffer[position] != rune('.') { - goto l503 + goto l514 } position++ if buffer[position] != rune('L') { - goto l503 + goto l514 } position++ { - position509, tokenIndex509 := position, tokenIndex + position520, tokenIndex520 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l510 + goto l521 } position++ - goto l509 - l510: - position, tokenIndex = position509, tokenIndex509 + goto l520 + l521: + position, tokenIndex = position520, tokenIndex520 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l511 + goto l522 } position++ - goto l509 - l511: - position, tokenIndex = position509, tokenIndex509 + goto l520 + l522: + position, tokenIndex = position520, tokenIndex520 if buffer[position] != rune('_') { - goto l512 + goto l523 } position++ - goto l509 - l512: - position, tokenIndex = position509, tokenIndex509 + goto l520 + l523: + position, tokenIndex = position520, tokenIndex520 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l503 + goto l514 } position++ } - l509: - l507: + l520: + l518: { - position508, tokenIndex508 := position, tokenIndex + position519, tokenIndex519 := position, tokenIndex { - position513, tokenIndex513 := position, tokenIndex + position524, tokenIndex524 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l514 + goto l525 } position++ - goto l513 - l514: - position, tokenIndex = position513, tokenIndex513 + goto l524 + l525: + position, tokenIndex = position524, tokenIndex524 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l515 + goto l526 } position++ - goto l513 - l515: - position, tokenIndex = position513, tokenIndex513 + goto l524 + l526: + position, tokenIndex = position524, tokenIndex524 if buffer[position] != rune('_') { - goto l516 + goto l527 } position++ - goto l513 - l516: - position, tokenIndex = position513, tokenIndex513 + goto l524 + l527: + position, tokenIndex = position524, tokenIndex524 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l508 + goto l519 } position++ } - l513: - goto l507 - l508: - position, tokenIndex = position508, tokenIndex508 + l524: + goto l518 + l519: + position, tokenIndex = position519, tokenIndex519 } } - l505: + l516: if buffer[position] != rune('@') { - goto l503 + goto l514 } position++ { - position517, tokenIndex517 := position, tokenIndex + position528, tokenIndex528 := position, tokenIndex if buffer[position] != rune('l') { - goto l518 + goto l529 } position++ - goto l517 - l518: - position, tokenIndex = position517, tokenIndex517 + goto l528 + l529: + position, tokenIndex = position528, tokenIndex528 if buffer[position] != rune('L') { - goto l503 + goto l514 } position++ } - l517: - add(ruleTOCRefLow, position504) + l528: + add(ruleTOCRefLow, position515) } return true - l503: - position, tokenIndex = position503, tokenIndex503 + l514: + position, tokenIndex = position514, tokenIndex514 return false }, /* 40 IndirectionIndicator <- <'*'> */ func() bool { - position519, tokenIndex519 := position, tokenIndex + position530, tokenIndex530 := position, tokenIndex { - position520 := position + position531 := position if buffer[position] != rune('*') { - goto l519 + goto l530 } position++ - add(ruleIndirectionIndicator, position520) + add(ruleIndirectionIndicator, position531) } return true - l519: - position, tokenIndex = position519, tokenIndex519 + l530: + position, tokenIndex = position530, tokenIndex530 return false }, /* 41 RegisterOrConstant <- <((('%' ([a-z] / [A-Z]) ([a-z] / [A-Z] / ([0-9] / [0-9]))*) / ('$' [0-9]+ WS? '*' WS? '(' [0-9]+ WS? '-' WS? [0-9]+ ')') / ('$'? ((Offset Offset) / Offset)) / ('#' Offset ('*' [0-9]+ ('-' [0-9] [0-9]*)?)?) / ('#' '~'? '(' [0-9] WS? ('<' '<') WS? [0-9] [0-9]? ')') / (('#' / '$') '~'? ('0' 'x')? ([0-9] / [0-9] / ([a-f] / [A-F]))+) / ('$' '(' '-' [0-9]+ ')') / ARMRegister) !('f' / 'b' / ':' / '(' / '+' / '-'))> */ func() bool { - position521, tokenIndex521 := position, tokenIndex + position532, tokenIndex532 := position, tokenIndex { - position522 := position + position533 := position { - position523, tokenIndex523 := position, tokenIndex + position534, tokenIndex534 := position, tokenIndex if buffer[position] != rune('%') { - goto l524 + goto l535 } position++ { - position525, tokenIndex525 := position, tokenIndex + position536, tokenIndex536 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l526 + goto l537 } position++ - goto l525 - l526: - position, tokenIndex = position525, tokenIndex525 + goto l536 + l537: + position, tokenIndex = position536, tokenIndex536 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l524 + goto l535 } position++ } - l525: - l527: + l536: + l538: { - position528, tokenIndex528 := position, tokenIndex + position539, tokenIndex539 := position, tokenIndex { - position529, tokenIndex529 := position, tokenIndex + position540, tokenIndex540 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l530 + goto l541 } position++ - goto l529 - l530: - position, tokenIndex = position529, tokenIndex529 + goto l540 + l541: + position, tokenIndex = position540, tokenIndex540 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l531 + goto l542 } position++ - goto l529 - l531: - position, tokenIndex = position529, tokenIndex529 + goto l540 + l542: + position, tokenIndex = position540, tokenIndex540 { - position532, tokenIndex532 := position, tokenIndex + position543, tokenIndex543 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l533 + goto l544 } position++ - goto l532 - l533: - position, tokenIndex = position532, tokenIndex532 + goto l543 + l544: + position, tokenIndex = position543, tokenIndex543 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l528 + goto l539 } position++ } - l532: + l543: } - l529: - goto l527 - l528: - position, tokenIndex = position528, tokenIndex528 + l540: + goto l538 + l539: + position, tokenIndex = position539, tokenIndex539 } - goto l523 - l524: - position, tokenIndex = position523, tokenIndex523 + goto l534 + l535: + position, tokenIndex = position534, tokenIndex534 if buffer[position] != rune('$') { - goto l534 + goto l545 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l534 + goto l545 } position++ - l535: + l546: { - position536, tokenIndex536 := position, tokenIndex + position547, tokenIndex547 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l536 + goto l547 } position++ - goto l535 - l536: - position, tokenIndex = position536, tokenIndex536 + goto l546 + l547: + position, tokenIndex = position547, tokenIndex547 } { - position537, tokenIndex537 := position, tokenIndex + position548, tokenIndex548 := position, tokenIndex if !_rules[ruleWS]() { - goto l537 + goto l548 } - goto l538 - l537: - position, tokenIndex = position537, tokenIndex537 + goto l549 + l548: + position, tokenIndex = position548, tokenIndex548 } - l538: + l549: if buffer[position] != rune('*') { - goto l534 + goto l545 } position++ { - position539, tokenIndex539 := position, tokenIndex + position550, tokenIndex550 := position, tokenIndex if !_rules[ruleWS]() { - goto l539 + goto l550 } - goto l540 - l539: - position, tokenIndex = position539, tokenIndex539 + goto l551 + l550: + position, tokenIndex = position550, tokenIndex550 } - l540: + l551: if buffer[position] != rune('(') { - goto l534 + goto l545 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l534 + goto l545 } position++ - l541: + l552: { - position542, tokenIndex542 := position, tokenIndex + position553, tokenIndex553 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l542 + goto l553 } position++ - goto l541 - l542: - position, tokenIndex = position542, tokenIndex542 + goto l552 + l553: + position, tokenIndex = position553, tokenIndex553 } { - position543, tokenIndex543 := position, tokenIndex + position554, tokenIndex554 := position, tokenIndex if !_rules[ruleWS]() { - goto l543 + goto l554 } - goto l544 - l543: - position, tokenIndex = position543, tokenIndex543 + goto l555 + l554: + position, tokenIndex = position554, tokenIndex554 } - l544: + l555: if buffer[position] != rune('-') { - goto l534 + goto l545 } position++ { - position545, tokenIndex545 := position, tokenIndex + position556, tokenIndex556 := position, tokenIndex if !_rules[ruleWS]() { - goto l545 + goto l556 } - goto l546 - l545: - position, tokenIndex = position545, tokenIndex545 + goto l557 + l556: + position, tokenIndex = position556, tokenIndex556 } - l546: + l557: if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l534 + goto l545 } position++ - l547: + l558: { - position548, tokenIndex548 := position, tokenIndex + position559, tokenIndex559 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l548 + goto l559 } position++ - goto l547 - l548: - position, tokenIndex = position548, tokenIndex548 + goto l558 + l559: + position, tokenIndex = position559, tokenIndex559 } if buffer[position] != rune(')') { - goto l534 + goto l545 } position++ - goto l523 - l534: - position, tokenIndex = position523, tokenIndex523 + goto l534 + l545: + position, tokenIndex = position534, tokenIndex534 { - position550, tokenIndex550 := position, tokenIndex + position561, tokenIndex561 := position, tokenIndex if buffer[position] != rune('$') { - goto l550 + goto l561 } position++ - goto l551 - l550: - position, tokenIndex = position550, tokenIndex550 + goto l562 + l561: + position, tokenIndex = position561, tokenIndex561 } - l551: + l562: { - position552, tokenIndex552 := position, tokenIndex + position563, tokenIndex563 := position, tokenIndex if !_rules[ruleOffset]() { - goto l553 + goto l564 } if !_rules[ruleOffset]() { - goto l553 + goto l564 } - goto l552 - l553: - position, tokenIndex = position552, tokenIndex552 + goto l563 + l564: + position, tokenIndex = position563, tokenIndex563 if !_rules[ruleOffset]() { - goto l549 + goto l560 } } - l552: - goto l523 - l549: - position, tokenIndex = position523, tokenIndex523 + l563: + goto l534 + l560: + position, tokenIndex = position534, tokenIndex534 if buffer[position] != rune('#') { - goto l554 + goto l565 } position++ if !_rules[ruleOffset]() { - goto l554 + goto l565 } { - position555, tokenIndex555 := position, tokenIndex + position566, tokenIndex566 := position, tokenIndex if buffer[position] != rune('*') { - goto l555 + goto l566 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l555 + goto l566 } position++ - l557: + l568: { - position558, tokenIndex558 := position, tokenIndex + position569, tokenIndex569 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l558 + goto l569 } position++ - goto l557 - l558: - position, tokenIndex = position558, tokenIndex558 + goto l568 + l569: + position, tokenIndex = position569, tokenIndex569 } { - position559, tokenIndex559 := position, tokenIndex + position570, tokenIndex570 := position, tokenIndex if buffer[position] != rune('-') { - goto l559 + goto l570 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l559 + goto l570 } position++ - l561: + l572: { - position562, tokenIndex562 := position, tokenIndex + position573, tokenIndex573 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l562 + goto l573 } position++ - goto l561 - l562: - position, tokenIndex = position562, tokenIndex562 + goto l572 + l573: + position, tokenIndex = position573, tokenIndex573 } - goto l560 - l559: - position, tokenIndex = position559, tokenIndex559 - } - l560: - goto l556 - l555: - position, tokenIndex = position555, tokenIndex555 - } - l556: - goto l523 - l554: - position, tokenIndex = position523, tokenIndex523 + goto l571 + l570: + position, tokenIndex = position570, tokenIndex570 + } + l571: + goto l567 + l566: + position, tokenIndex = position566, tokenIndex566 + } + l567: + goto l534 + l565: + position, tokenIndex = position534, tokenIndex534 if buffer[position] != rune('#') { - goto l563 + goto l574 } position++ { - position564, tokenIndex564 := position, tokenIndex + position575, tokenIndex575 := position, tokenIndex if buffer[position] != rune('~') { - goto l564 + goto l575 } position++ - goto l565 - l564: - position, tokenIndex = position564, tokenIndex564 + goto l576 + l575: + position, tokenIndex = position575, tokenIndex575 } - l565: + l576: if buffer[position] != rune('(') { - goto l563 + goto l574 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l563 + goto l574 } position++ { - position566, tokenIndex566 := position, tokenIndex + position577, tokenIndex577 := position, tokenIndex if !_rules[ruleWS]() { - goto l566 + goto l577 } - goto l567 - l566: - position, tokenIndex = position566, tokenIndex566 + goto l578 + l577: + position, tokenIndex = position577, tokenIndex577 } - l567: + l578: if buffer[position] != rune('<') { - goto l563 + goto l574 } position++ if buffer[position] != rune('<') { - goto l563 + goto l574 } position++ { - position568, tokenIndex568 := position, tokenIndex + position579, tokenIndex579 := position, tokenIndex if !_rules[ruleWS]() { - goto l568 + goto l579 } - goto l569 - l568: - position, tokenIndex = position568, tokenIndex568 + goto l580 + l579: + position, tokenIndex = position579, tokenIndex579 } - l569: + l580: if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l563 + goto l574 } position++ { - position570, tokenIndex570 := position, tokenIndex + position581, tokenIndex581 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l570 + goto l581 } position++ - goto l571 - l570: - position, tokenIndex = position570, tokenIndex570 + goto l582 + l581: + position, tokenIndex = position581, tokenIndex581 } - l571: + l582: if buffer[position] != rune(')') { - goto l563 + goto l574 } position++ - goto l523 - l563: - position, tokenIndex = position523, tokenIndex523 + goto l534 + l574: + position, tokenIndex = position534, tokenIndex534 { - position573, tokenIndex573 := position, tokenIndex + position584, tokenIndex584 := position, tokenIndex if buffer[position] != rune('#') { - goto l574 + goto l585 } position++ - goto l573 - l574: - position, tokenIndex = position573, tokenIndex573 + goto l584 + l585: + position, tokenIndex = position584, tokenIndex584 if buffer[position] != rune('$') { - goto l572 + goto l583 } position++ } - l573: + l584: { - position575, tokenIndex575 := position, tokenIndex + position586, tokenIndex586 := position, tokenIndex if buffer[position] != rune('~') { - goto l575 + goto l586 } position++ - goto l576 - l575: - position, tokenIndex = position575, tokenIndex575 + goto l587 + l586: + position, tokenIndex = position586, tokenIndex586 } - l576: + l587: { - position577, tokenIndex577 := position, tokenIndex + position588, tokenIndex588 := position, tokenIndex if buffer[position] != rune('0') { - goto l577 + goto l588 } position++ if buffer[position] != rune('x') { - goto l577 + goto l588 } position++ - goto l578 - l577: - position, tokenIndex = position577, tokenIndex577 + goto l589 + l588: + position, tokenIndex = position588, tokenIndex588 } - l578: + l589: { - position581, tokenIndex581 := position, tokenIndex + position592, tokenIndex592 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l582 + goto l593 } position++ - goto l581 - l582: - position, tokenIndex = position581, tokenIndex581 + goto l592 + l593: + position, tokenIndex = position592, tokenIndex592 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l583 + goto l594 } position++ - goto l581 - l583: - position, tokenIndex = position581, tokenIndex581 + goto l592 + l594: + position, tokenIndex = position592, tokenIndex592 { - position584, tokenIndex584 := position, tokenIndex + position595, tokenIndex595 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('f') { - goto l585 + goto l596 } position++ - goto l584 - l585: - position, tokenIndex = position584, tokenIndex584 + goto l595 + l596: + position, tokenIndex = position595, tokenIndex595 if c := buffer[position]; c < rune('A') || c > rune('F') { - goto l572 + goto l583 } position++ } - l584: + l595: } - l581: - l579: + l592: + l590: { - position580, tokenIndex580 := position, tokenIndex + position591, tokenIndex591 := position, tokenIndex { - position586, tokenIndex586 := position, tokenIndex + position597, tokenIndex597 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l587 + goto l598 } position++ - goto l586 - l587: - position, tokenIndex = position586, tokenIndex586 + goto l597 + l598: + position, tokenIndex = position597, tokenIndex597 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l588 + goto l599 } position++ - goto l586 - l588: - position, tokenIndex = position586, tokenIndex586 + goto l597 + l599: + position, tokenIndex = position597, tokenIndex597 { - position589, tokenIndex589 := position, tokenIndex + position600, tokenIndex600 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('f') { - goto l590 + goto l601 } position++ - goto l589 - l590: - position, tokenIndex = position589, tokenIndex589 + goto l600 + l601: + position, tokenIndex = position600, tokenIndex600 if c := buffer[position]; c < rune('A') || c > rune('F') { - goto l580 + goto l591 } position++ } - l589: + l600: } - l586: - goto l579 - l580: - position, tokenIndex = position580, tokenIndex580 + l597: + goto l590 + l591: + position, tokenIndex = position591, tokenIndex591 } - goto l523 - l572: - position, tokenIndex = position523, tokenIndex523 + goto l534 + l583: + position, tokenIndex = position534, tokenIndex534 if buffer[position] != rune('$') { - goto l591 + goto l602 } position++ if buffer[position] != rune('(') { - goto l591 + goto l602 } position++ if buffer[position] != rune('-') { - goto l591 + goto l602 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l591 + goto l602 } position++ - l592: + l603: { - position593, tokenIndex593 := position, tokenIndex + position604, tokenIndex604 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l593 + goto l604 } position++ - goto l592 - l593: - position, tokenIndex = position593, tokenIndex593 + goto l603 + l604: + position, tokenIndex = position604, tokenIndex604 } if buffer[position] != rune(')') { - goto l591 + goto l602 } position++ - goto l523 - l591: - position, tokenIndex = position523, tokenIndex523 + goto l534 + l602: + position, tokenIndex = position534, tokenIndex534 if !_rules[ruleARMRegister]() { - goto l521 + goto l532 } } - l523: + l534: { - position594, tokenIndex594 := position, tokenIndex + position605, tokenIndex605 := position, tokenIndex { - position595, tokenIndex595 := position, tokenIndex + position606, tokenIndex606 := position, tokenIndex if buffer[position] != rune('f') { - goto l596 + goto l607 } position++ - goto l595 - l596: - position, tokenIndex = position595, tokenIndex595 + goto l606 + l607: + position, tokenIndex = position606, tokenIndex606 if buffer[position] != rune('b') { - goto l597 + goto l608 } position++ - goto l595 - l597: - position, tokenIndex = position595, tokenIndex595 + goto l606 + l608: + position, tokenIndex = position606, tokenIndex606 if buffer[position] != rune(':') { - goto l598 + goto l609 } position++ - goto l595 - l598: - position, tokenIndex = position595, tokenIndex595 + goto l606 + l609: + position, tokenIndex = position606, tokenIndex606 if buffer[position] != rune('(') { - goto l599 + goto l610 } position++ - goto l595 - l599: - position, tokenIndex = position595, tokenIndex595 + goto l606 + l610: + position, tokenIndex = position606, tokenIndex606 if buffer[position] != rune('+') { - goto l600 + goto l611 } position++ - goto l595 - l600: - position, tokenIndex = position595, tokenIndex595 + goto l606 + l611: + position, tokenIndex = position606, tokenIndex606 if buffer[position] != rune('-') { - goto l594 + goto l605 } position++ } - l595: - goto l521 - l594: - position, tokenIndex = position594, tokenIndex594 + l606: + goto l532 + l605: + position, tokenIndex = position605, tokenIndex605 } - add(ruleRegisterOrConstant, position522) + add(ruleRegisterOrConstant, position533) } return true - l521: - position, tokenIndex = position521, tokenIndex521 + l532: + position, tokenIndex = position532, tokenIndex532 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 { - position601, tokenIndex601 := position, tokenIndex + position612, tokenIndex612 := position, tokenIndex { - position602 := position + position613 := position { - position603, tokenIndex603 := position, tokenIndex + position614, tokenIndex614 := position, tokenIndex { - position605, tokenIndex605 := position, tokenIndex + position616, tokenIndex616 := position, tokenIndex if buffer[position] != rune('u') { - goto l606 + goto l617 } position++ - goto l605 - l606: - position, tokenIndex = position605, tokenIndex605 + goto l616 + l617: + position, tokenIndex = position616, tokenIndex616 if buffer[position] != rune('s') { - goto l604 + goto l615 } position++ } - l605: + l616: { - position607, tokenIndex607 := position, tokenIndex + position618, tokenIndex618 := position, tokenIndex if buffer[position] != rune('x') { - goto l608 + goto l619 } position++ - goto l607 - l608: - position, tokenIndex = position607, tokenIndex607 + goto l618 + l619: + position, tokenIndex = position618, tokenIndex618 if buffer[position] != rune('X') { - goto l604 + goto l615 } position++ } - l607: + l618: { - position609, tokenIndex609 := position, tokenIndex + position620, tokenIndex620 := position, tokenIndex if buffer[position] != rune('t') { - goto l610 + goto l621 } position++ - goto l609 - l610: - position, tokenIndex = position609, tokenIndex609 + goto l620 + l621: + position, tokenIndex = position620, tokenIndex620 if buffer[position] != rune('T') { - goto l604 + goto l615 } position++ } - l609: + l620: { - position611, tokenIndex611 := position, tokenIndex + position622, tokenIndex622 := position, tokenIndex if buffer[position] != rune('x') { - goto l612 + goto l623 } position++ - goto l611 - l612: - position, tokenIndex = position611, tokenIndex611 + goto l622 + l623: + position, tokenIndex = position622, tokenIndex622 if buffer[position] != rune('w') { - goto l613 + goto l624 } position++ - goto l611 - l613: - position, tokenIndex = position611, tokenIndex611 + goto l622 + l624: + position, tokenIndex = position622, tokenIndex622 if buffer[position] != rune('h') { - goto l614 + goto l625 } position++ - goto l611 - l614: - position, tokenIndex = position611, tokenIndex611 + goto l622 + l625: + position, tokenIndex = position622, tokenIndex622 if buffer[position] != rune('b') { - goto l604 + goto l615 } position++ } - l611: - goto l603 - l604: - position, tokenIndex = position603, tokenIndex603 + l622: + goto l614 + l615: + position, tokenIndex = position614, tokenIndex614 { - position616, tokenIndex616 := position, tokenIndex + position627, tokenIndex627 := position, tokenIndex if buffer[position] != rune('l') { - goto l617 + goto l628 } position++ - goto l616 - l617: - position, tokenIndex = position616, tokenIndex616 + goto l627 + l628: + position, tokenIndex = position627, tokenIndex627 if buffer[position] != rune('L') { - goto l615 + goto l626 } position++ } - l616: + l627: { - position618, tokenIndex618 := position, tokenIndex + position629, tokenIndex629 := position, tokenIndex if buffer[position] != rune('s') { - goto l619 + goto l630 } position++ - goto l618 - l619: - position, tokenIndex = position618, tokenIndex618 + goto l629 + l630: + position, tokenIndex = position629, tokenIndex629 if buffer[position] != rune('S') { - goto l615 + goto l626 } position++ } - l618: + l629: { - position620, tokenIndex620 := position, tokenIndex + position631, tokenIndex631 := position, tokenIndex if buffer[position] != rune('l') { - goto l621 + goto l632 } position++ - goto l620 - l621: - position, tokenIndex = position620, tokenIndex620 + goto l631 + l632: + position, tokenIndex = position631, tokenIndex631 if buffer[position] != rune('L') { - goto l615 + goto l626 } position++ } - l620: - goto l603 - l615: - position, tokenIndex = position603, tokenIndex603 + l631: + goto l614 + l626: + position, tokenIndex = position614, tokenIndex614 { - position623, tokenIndex623 := position, tokenIndex + position634, tokenIndex634 := position, tokenIndex if buffer[position] != rune('l') { - goto l624 + goto l635 } position++ - goto l623 - l624: - position, tokenIndex = position623, tokenIndex623 + goto l634 + l635: + position, tokenIndex = position634, tokenIndex634 if buffer[position] != rune('L') { - goto l622 + goto l633 } position++ } - l623: + l634: { - position625, tokenIndex625 := position, tokenIndex + position636, tokenIndex636 := position, tokenIndex if buffer[position] != rune('s') { - goto l626 + goto l637 } position++ - goto l625 - l626: - position, tokenIndex = position625, tokenIndex625 + goto l636 + l637: + position, tokenIndex = position636, tokenIndex636 if buffer[position] != rune('S') { - goto l622 + goto l633 } position++ } - l625: + l636: { - position627, tokenIndex627 := position, tokenIndex + position638, tokenIndex638 := position, tokenIndex if buffer[position] != rune('r') { - goto l628 + goto l639 } position++ - goto l627 - l628: - position, tokenIndex = position627, tokenIndex627 + goto l638 + l639: + position, tokenIndex = position638, tokenIndex638 if buffer[position] != rune('R') { - goto l622 + goto l633 } position++ } - l627: - goto l603 - l622: - position, tokenIndex = position603, tokenIndex603 + l638: + goto l614 + l633: + position, tokenIndex = position614, tokenIndex614 { - position630, tokenIndex630 := position, tokenIndex + position641, tokenIndex641 := position, tokenIndex if buffer[position] != rune('r') { - goto l631 + goto l642 } position++ - goto l630 - l631: - position, tokenIndex = position630, tokenIndex630 + goto l641 + l642: + position, tokenIndex = position641, tokenIndex641 if buffer[position] != rune('R') { - goto l629 + goto l640 } position++ } - l630: + l641: { - position632, tokenIndex632 := position, tokenIndex + position643, tokenIndex643 := position, tokenIndex if buffer[position] != rune('o') { - goto l633 + goto l644 } position++ - goto l632 - l633: - position, tokenIndex = position632, tokenIndex632 + goto l643 + l644: + position, tokenIndex = position643, tokenIndex643 if buffer[position] != rune('O') { - goto l629 + goto l640 } position++ } - l632: + l643: { - position634, tokenIndex634 := position, tokenIndex + position645, tokenIndex645 := position, tokenIndex if buffer[position] != rune('r') { - goto l635 + goto l646 } position++ - goto l634 - l635: - position, tokenIndex = position634, tokenIndex634 + goto l645 + l646: + position, tokenIndex = position645, tokenIndex645 if buffer[position] != rune('R') { - goto l629 + goto l640 } position++ } - l634: - goto l603 - l629: - position, tokenIndex = position603, tokenIndex603 + l645: + goto l614 + l640: + position, tokenIndex = position614, tokenIndex614 { - position636, tokenIndex636 := position, tokenIndex + position647, tokenIndex647 := position, tokenIndex if buffer[position] != rune('a') { - goto l637 + goto l648 } position++ - goto l636 - l637: - position, tokenIndex = position636, tokenIndex636 + goto l647 + l648: + position, tokenIndex = position647, tokenIndex647 if buffer[position] != rune('A') { - goto l601 + goto l612 } position++ } - l636: + l647: { - position638, tokenIndex638 := position, tokenIndex + position649, tokenIndex649 := position, tokenIndex if buffer[position] != rune('s') { - goto l639 + goto l650 } position++ - goto l638 - l639: - position, tokenIndex = position638, tokenIndex638 + goto l649 + l650: + position, tokenIndex = position649, tokenIndex649 if buffer[position] != rune('S') { - goto l601 + goto l612 } position++ } - l638: + l649: { - position640, tokenIndex640 := position, tokenIndex + position651, tokenIndex651 := position, tokenIndex if buffer[position] != rune('r') { - goto l641 + goto l652 } position++ - goto l640 - l641: - position, tokenIndex = position640, tokenIndex640 + goto l651 + l652: + position, tokenIndex = position651, tokenIndex651 if buffer[position] != rune('R') { - goto l601 + goto l612 } position++ } - l640: + l651: } - l603: + l614: { - position642, tokenIndex642 := position, tokenIndex + position653, tokenIndex653 := position, tokenIndex if !_rules[ruleWS]() { - goto l642 + goto l653 } { - position644, tokenIndex644 := position, tokenIndex + position655, tokenIndex655 := position, tokenIndex if buffer[position] != rune('#') { - goto l644 + goto l655 } position++ - goto l645 - l644: - position, tokenIndex = position644, tokenIndex644 + goto l656 + l655: + position, tokenIndex = position655, tokenIndex655 } - l645: + l656: if !_rules[ruleOffset]() { - goto l642 + goto l653 } - goto l643 - l642: - position, tokenIndex = position642, tokenIndex642 + goto l654 + l653: + position, tokenIndex = position653, tokenIndex653 } - l643: - add(ruleARMConstantTweak, position602) + l654: + add(ruleARMConstantTweak, position613) } return true - l601: - position, tokenIndex = position601, tokenIndex601 + l612: + position, tokenIndex = position612, tokenIndex612 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? ((',' / '-') WS? ARMVectorRegister)* WS? '}' ('[' [0-9] [0-9]? ']')?))> */ func() bool { - position646, tokenIndex646 := position, tokenIndex + position657, tokenIndex657 := position, tokenIndex { - position647 := position + position658 := position { - position648, tokenIndex648 := position, tokenIndex + position659, tokenIndex659 := position, tokenIndex { - position650, tokenIndex650 := position, tokenIndex + position661, tokenIndex661 := position, tokenIndex if buffer[position] != rune('s') { - goto l651 + goto l662 } position++ - goto l650 - l651: - position, tokenIndex = position650, tokenIndex650 + goto l661 + l662: + position, tokenIndex = position661, tokenIndex661 if buffer[position] != rune('S') { - goto l649 + goto l660 } position++ } - l650: + l661: { - position652, tokenIndex652 := position, tokenIndex + position663, tokenIndex663 := position, tokenIndex if buffer[position] != rune('p') { - goto l653 + goto l664 } position++ - goto l652 - l653: - position, tokenIndex = position652, tokenIndex652 + goto l663 + l664: + position, tokenIndex = position663, tokenIndex663 if buffer[position] != rune('P') { - goto l649 + goto l660 } position++ } - l652: - goto l648 - l649: - position, tokenIndex = position648, tokenIndex648 + l663: + goto l659 + l660: + position, tokenIndex = position659, tokenIndex659 { - position655, tokenIndex655 := position, tokenIndex + position666, tokenIndex666 := position, tokenIndex if buffer[position] != rune('x') { - goto l656 + goto l667 } position++ - goto l655 - l656: - position, tokenIndex = position655, tokenIndex655 + goto l666 + l667: + position, tokenIndex = position666, tokenIndex666 if buffer[position] != rune('w') { - goto l657 + goto l668 } position++ - goto l655 - l657: - position, tokenIndex = position655, tokenIndex655 + goto l666 + l668: + position, tokenIndex = position666, tokenIndex666 if buffer[position] != rune('d') { - goto l658 + goto l669 } position++ - goto l655 - l658: - position, tokenIndex = position655, tokenIndex655 + goto l666 + l669: + position, tokenIndex = position666, tokenIndex666 if buffer[position] != rune('q') { - goto l659 + goto l670 } position++ - goto l655 - l659: - position, tokenIndex = position655, tokenIndex655 + goto l666 + l670: + position, tokenIndex = position666, tokenIndex666 if buffer[position] != rune('s') { - goto l660 + goto l671 } position++ - goto l655 - l660: - position, tokenIndex = position655, tokenIndex655 + goto l666 + l671: + position, tokenIndex = position666, tokenIndex666 if buffer[position] != rune('h') { - goto l661 + goto l672 } position++ - goto l655 - l661: - position, tokenIndex = position655, tokenIndex655 + goto l666 + l672: + position, tokenIndex = position666, tokenIndex666 if buffer[position] != rune('b') { - goto l654 + goto l665 } position++ } - l655: + l666: if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l654 + goto l665 } position++ { - position662, tokenIndex662 := position, tokenIndex + position673, tokenIndex673 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l662 + goto l673 } position++ - goto l663 - l662: - position, tokenIndex = position662, tokenIndex662 + goto l674 + l673: + position, tokenIndex = position673, tokenIndex673 } - l663: - goto l648 - l654: - position, tokenIndex = position648, tokenIndex648 + l674: + goto l659 + l665: + position, tokenIndex = position659, tokenIndex659 { - position665, tokenIndex665 := position, tokenIndex + position676, tokenIndex676 := position, tokenIndex if buffer[position] != rune('x') { - goto l666 + goto l677 } position++ - goto l665 - l666: - position, tokenIndex = position665, tokenIndex665 + goto l676 + l677: + position, tokenIndex = position676, tokenIndex676 if buffer[position] != rune('X') { - goto l664 + goto l675 } position++ } - l665: + l676: { - position667, tokenIndex667 := position, tokenIndex + position678, tokenIndex678 := position, tokenIndex if buffer[position] != rune('z') { - goto l668 + goto l679 } position++ - goto l667 - l668: - position, tokenIndex = position667, tokenIndex667 + goto l678 + l679: + position, tokenIndex = position678, tokenIndex678 if buffer[position] != rune('Z') { - goto l664 + goto l675 } position++ } - l667: + l678: { - position669, tokenIndex669 := position, tokenIndex + position680, tokenIndex680 := position, tokenIndex if buffer[position] != rune('r') { - goto l670 + goto l681 } position++ - goto l669 - l670: - position, tokenIndex = position669, tokenIndex669 + goto l680 + l681: + position, tokenIndex = position680, tokenIndex680 if buffer[position] != rune('R') { - goto l664 + goto l675 } position++ } - l669: - goto l648 - l664: - position, tokenIndex = position648, tokenIndex648 + l680: + goto l659 + l675: + position, tokenIndex = position659, tokenIndex659 { - position672, tokenIndex672 := position, tokenIndex + position683, tokenIndex683 := position, tokenIndex if buffer[position] != rune('w') { - goto l673 + goto l684 } position++ - goto l672 - l673: - position, tokenIndex = position672, tokenIndex672 + goto l683 + l684: + position, tokenIndex = position683, tokenIndex683 if buffer[position] != rune('W') { - goto l671 + goto l682 } position++ } - l672: + l683: { - position674, tokenIndex674 := position, tokenIndex + position685, tokenIndex685 := position, tokenIndex if buffer[position] != rune('z') { - goto l675 + goto l686 } position++ - goto l674 - l675: - position, tokenIndex = position674, tokenIndex674 + goto l685 + l686: + position, tokenIndex = position685, tokenIndex685 if buffer[position] != rune('Z') { - goto l671 + goto l682 } position++ } - l674: + l685: { - position676, tokenIndex676 := position, tokenIndex + position687, tokenIndex687 := position, tokenIndex if buffer[position] != rune('r') { - goto l677 + goto l688 } position++ - goto l676 - l677: - position, tokenIndex = position676, tokenIndex676 + goto l687 + l688: + position, tokenIndex = position687, tokenIndex687 if buffer[position] != rune('R') { - goto l671 + goto l682 } position++ } - l676: - goto l648 - l671: - position, tokenIndex = position648, tokenIndex648 + l687: + goto l659 + l682: + position, tokenIndex = position659, tokenIndex659 { - position679, tokenIndex679 := position, tokenIndex + position690, tokenIndex690 := position, tokenIndex if buffer[position] != rune('n') { - goto l680 + goto l691 } position++ - goto l679 - l680: - position, tokenIndex = position679, tokenIndex679 + goto l690 + l691: + position, tokenIndex = position690, tokenIndex690 if buffer[position] != rune('N') { - goto l678 + goto l689 } position++ } - l679: + l690: { - position681, tokenIndex681 := position, tokenIndex + position692, tokenIndex692 := position, tokenIndex if buffer[position] != rune('z') { - goto l682 + goto l693 } position++ - goto l681 - l682: - position, tokenIndex = position681, tokenIndex681 + goto l692 + l693: + position, tokenIndex = position692, tokenIndex692 if buffer[position] != rune('Z') { - goto l678 + goto l689 } position++ } - l681: + l692: { - position683, tokenIndex683 := position, tokenIndex + position694, tokenIndex694 := position, tokenIndex if buffer[position] != rune('c') { - goto l684 + goto l695 } position++ - goto l683 - l684: - position, tokenIndex = position683, tokenIndex683 + goto l694 + l695: + position, tokenIndex = position694, tokenIndex694 if buffer[position] != rune('C') { - goto l678 + goto l689 } position++ } - l683: + l694: { - position685, tokenIndex685 := position, tokenIndex + position696, tokenIndex696 := position, tokenIndex if buffer[position] != rune('v') { - goto l686 + goto l697 } position++ - goto l685 - l686: - position, tokenIndex = position685, tokenIndex685 + goto l696 + l697: + position, tokenIndex = position696, tokenIndex696 if buffer[position] != rune('V') { - goto l678 + goto l689 } position++ } - l685: - goto l648 - l678: - position, tokenIndex = position648, tokenIndex648 + l696: + goto l659 + l689: + position, tokenIndex = position659, tokenIndex659 if !_rules[ruleARMVectorRegister]() { - goto l687 + goto l698 } - goto l648 - l687: - position, tokenIndex = position648, tokenIndex648 + goto l659 + l698: + position, tokenIndex = position659, tokenIndex659 if buffer[position] != rune('{') { - goto l646 + goto l657 } position++ { - position688, tokenIndex688 := position, tokenIndex + position699, tokenIndex699 := position, tokenIndex if !_rules[ruleWS]() { - goto l688 + goto l699 } - goto l689 - l688: - position, tokenIndex = position688, tokenIndex688 + goto l700 + l699: + position, tokenIndex = position699, tokenIndex699 } - l689: + l700: if !_rules[ruleARMVectorRegister]() { - goto l646 + goto l657 } { - position690, tokenIndex690 := position, tokenIndex + position701, tokenIndex701 := position, tokenIndex if !_rules[ruleWS]() { - goto l690 + goto l701 } - goto l691 - l690: - position, tokenIndex = position690, tokenIndex690 + goto l702 + l701: + position, tokenIndex = position701, tokenIndex701 } - l691: - l692: + l702: + l703: { - position693, tokenIndex693 := position, tokenIndex + position704, tokenIndex704 := position, tokenIndex { - position694, tokenIndex694 := position, tokenIndex + position705, tokenIndex705 := position, tokenIndex if buffer[position] != rune(',') { - goto l695 + goto l706 } position++ - goto l694 - l695: - position, tokenIndex = position694, tokenIndex694 + goto l705 + l706: + position, tokenIndex = position705, tokenIndex705 if buffer[position] != rune('-') { - goto l693 + goto l704 } position++ } - l694: + l705: { - position696, tokenIndex696 := position, tokenIndex + position707, tokenIndex707 := position, tokenIndex if !_rules[ruleWS]() { - goto l696 + goto l707 } - goto l697 - l696: - position, tokenIndex = position696, tokenIndex696 + goto l708 + l707: + position, tokenIndex = position707, tokenIndex707 } - l697: + l708: if !_rules[ruleARMVectorRegister]() { - goto l693 + goto l704 } - goto l692 - l693: - position, tokenIndex = position693, tokenIndex693 + goto l703 + l704: + position, tokenIndex = position704, tokenIndex704 } { - position698, tokenIndex698 := position, tokenIndex + position709, tokenIndex709 := position, tokenIndex if !_rules[ruleWS]() { - goto l698 + goto l709 } - goto l699 - l698: - position, tokenIndex = position698, tokenIndex698 + goto l710 + l709: + position, tokenIndex = position709, tokenIndex709 } - l699: + l710: if buffer[position] != rune('}') { - goto l646 + goto l657 } position++ { - position700, tokenIndex700 := position, tokenIndex + position711, tokenIndex711 := position, tokenIndex if buffer[position] != rune('[') { - goto l700 + goto l711 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l700 + goto l711 } position++ { - position702, tokenIndex702 := position, tokenIndex + position713, tokenIndex713 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l702 + goto l713 } position++ - goto l703 - l702: - position, tokenIndex = position702, tokenIndex702 + goto l714 + l713: + position, tokenIndex = position713, tokenIndex713 } - l703: + l714: if buffer[position] != rune(']') { - goto l700 + goto l711 } position++ - goto l701 - l700: - position, tokenIndex = position700, tokenIndex700 + goto l712 + l711: + position, tokenIndex = position711, tokenIndex711 } - l701: + l712: } - l648: - add(ruleARMRegister, position647) + l659: + add(ruleARMRegister, position658) } return true - l646: - position, tokenIndex = position646, tokenIndex646 + l657: + position, tokenIndex = position657, tokenIndex657 return false }, /* 44 ARMVectorRegister <- <(('v' / 'V') [0-9] [0-9]? ('.' [0-9]* ('b' / 's' / 'd' / 'h' / 'q') ('[' [0-9] [0-9]? ']')?)?)> */ func() bool { - position704, tokenIndex704 := position, tokenIndex + position715, tokenIndex715 := position, tokenIndex { - position705 := position + position716 := position { - position706, tokenIndex706 := position, tokenIndex + position717, tokenIndex717 := position, tokenIndex if buffer[position] != rune('v') { - goto l707 + goto l718 } position++ - goto l706 - l707: - position, tokenIndex = position706, tokenIndex706 + goto l717 + l718: + position, tokenIndex = position717, tokenIndex717 if buffer[position] != rune('V') { - goto l704 + goto l715 } position++ } - l706: + l717: if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l704 + goto l715 } position++ { - position708, tokenIndex708 := position, tokenIndex + position719, tokenIndex719 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l708 + goto l719 } position++ - goto l709 - l708: - position, tokenIndex = position708, tokenIndex708 + goto l720 + l719: + position, tokenIndex = position719, tokenIndex719 } - l709: + l720: { - position710, tokenIndex710 := position, tokenIndex + position721, tokenIndex721 := position, tokenIndex if buffer[position] != rune('.') { - goto l710 + goto l721 } position++ - l712: + l723: { - position713, tokenIndex713 := position, tokenIndex + position724, tokenIndex724 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l713 + goto l724 } position++ - goto l712 - l713: - position, tokenIndex = position713, tokenIndex713 + goto l723 + l724: + position, tokenIndex = position724, tokenIndex724 } { - position714, tokenIndex714 := position, tokenIndex + position725, tokenIndex725 := position, tokenIndex if buffer[position] != rune('b') { - goto l715 + goto l726 } position++ - goto l714 - l715: - position, tokenIndex = position714, tokenIndex714 + goto l725 + l726: + position, tokenIndex = position725, tokenIndex725 if buffer[position] != rune('s') { - goto l716 + goto l727 } position++ - goto l714 - l716: - position, tokenIndex = position714, tokenIndex714 + goto l725 + l727: + position, tokenIndex = position725, tokenIndex725 if buffer[position] != rune('d') { - goto l717 + goto l728 } position++ - goto l714 - l717: - position, tokenIndex = position714, tokenIndex714 + goto l725 + l728: + position, tokenIndex = position725, tokenIndex725 if buffer[position] != rune('h') { - goto l718 + goto l729 } position++ - goto l714 - l718: - position, tokenIndex = position714, tokenIndex714 + goto l725 + l729: + position, tokenIndex = position725, tokenIndex725 if buffer[position] != rune('q') { - goto l710 + goto l721 } position++ } - l714: + l725: { - position719, tokenIndex719 := position, tokenIndex + position730, tokenIndex730 := position, tokenIndex if buffer[position] != rune('[') { - goto l719 + goto l730 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l719 + goto l730 } position++ { - position721, tokenIndex721 := position, tokenIndex + position732, tokenIndex732 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l721 + goto l732 } position++ - goto l722 - l721: - position, tokenIndex = position721, tokenIndex721 + goto l733 + l732: + position, tokenIndex = position732, tokenIndex732 } - l722: + l733: if buffer[position] != rune(']') { - goto l719 + goto l730 } position++ - goto l720 - l719: - position, tokenIndex = position719, tokenIndex719 + goto l731 + l730: + position, tokenIndex = position730, tokenIndex730 } - l720: - goto l711 - l710: - position, tokenIndex = position710, tokenIndex710 + l731: + goto l722 + l721: + position, tokenIndex = position721, tokenIndex721 } - l711: - add(ruleARMVectorRegister, position705) + l722: + add(ruleARMVectorRegister, position716) } return true - l704: - position, tokenIndex = position704, tokenIndex704 + l715: + position, tokenIndex = position715, tokenIndex715 return false }, /* 45 MemoryRef <- <((SymbolRef BaseIndexScale) / SymbolRef / Low12BitsSymbolRef / (Offset* BaseIndexScale) / (SegmentRegister Offset BaseIndexScale) / (SegmentRegister BaseIndexScale) / (SegmentRegister Offset) / ARMBaseIndexScale / BaseIndexScale)> */ func() bool { - position723, tokenIndex723 := position, tokenIndex + position734, tokenIndex734 := position, tokenIndex { - position724 := position + position735 := position { - position725, tokenIndex725 := position, tokenIndex + position736, tokenIndex736 := position, tokenIndex if !_rules[ruleSymbolRef]() { - goto l726 + goto l737 } if !_rules[ruleBaseIndexScale]() { - goto l726 + goto l737 } - goto l725 - l726: - position, tokenIndex = position725, tokenIndex725 + goto l736 + l737: + position, tokenIndex = position736, tokenIndex736 if !_rules[ruleSymbolRef]() { - goto l727 + goto l738 } - goto l725 - l727: - position, tokenIndex = position725, tokenIndex725 + goto l736 + l738: + position, tokenIndex = position736, tokenIndex736 if !_rules[ruleLow12BitsSymbolRef]() { - goto l728 + goto l739 } - goto l725 - l728: - position, tokenIndex = position725, tokenIndex725 - l730: + goto l736 + l739: + position, tokenIndex = position736, tokenIndex736 + l741: { - position731, tokenIndex731 := position, tokenIndex + position742, tokenIndex742 := position, tokenIndex if !_rules[ruleOffset]() { - goto l731 + goto l742 } - goto l730 - l731: - position, tokenIndex = position731, tokenIndex731 + goto l741 + l742: + position, tokenIndex = position742, tokenIndex742 } if !_rules[ruleBaseIndexScale]() { - goto l729 + goto l740 } - goto l725 - l729: - position, tokenIndex = position725, tokenIndex725 + goto l736 + l740: + position, tokenIndex = position736, tokenIndex736 if !_rules[ruleSegmentRegister]() { - goto l732 + goto l743 } if !_rules[ruleOffset]() { - goto l732 + goto l743 } if !_rules[ruleBaseIndexScale]() { - goto l732 + goto l743 } - goto l725 - l732: - position, tokenIndex = position725, tokenIndex725 + goto l736 + l743: + position, tokenIndex = position736, tokenIndex736 if !_rules[ruleSegmentRegister]() { - goto l733 + goto l744 } if !_rules[ruleBaseIndexScale]() { - goto l733 + goto l744 } - goto l725 - l733: - position, tokenIndex = position725, tokenIndex725 + goto l736 + l744: + position, tokenIndex = position736, tokenIndex736 if !_rules[ruleSegmentRegister]() { - goto l734 + goto l745 } if !_rules[ruleOffset]() { - goto l734 + goto l745 } - goto l725 - l734: - position, tokenIndex = position725, tokenIndex725 + goto l736 + l745: + position, tokenIndex = position736, tokenIndex736 if !_rules[ruleARMBaseIndexScale]() { - goto l735 + goto l746 } - goto l725 - l735: - position, tokenIndex = position725, tokenIndex725 + goto l736 + l746: + position, tokenIndex = position736, tokenIndex736 if !_rules[ruleBaseIndexScale]() { - goto l723 + goto l734 } } - l725: - add(ruleMemoryRef, position724) + l736: + add(ruleMemoryRef, position735) } return true - l723: - position, tokenIndex = position723, tokenIndex723 + l734: + position, tokenIndex = position734, tokenIndex734 return false }, /* 46 SymbolRef <- <((Offset* '+')? (LocalSymbol / SymbolName) Offset* ('@' Section Offset*)?)> */ func() bool { - position736, tokenIndex736 := position, tokenIndex + position747, tokenIndex747 := position, tokenIndex { - position737 := position + position748 := position { - position738, tokenIndex738 := position, tokenIndex - l740: + position749, tokenIndex749 := position, tokenIndex + l751: { - position741, tokenIndex741 := position, tokenIndex + position752, tokenIndex752 := position, tokenIndex if !_rules[ruleOffset]() { - goto l741 + goto l752 } - goto l740 - l741: - position, tokenIndex = position741, tokenIndex741 + goto l751 + l752: + position, tokenIndex = position752, tokenIndex752 } if buffer[position] != rune('+') { - goto l738 + goto l749 } position++ - goto l739 - l738: - position, tokenIndex = position738, tokenIndex738 + goto l750 + l749: + position, tokenIndex = position749, tokenIndex749 } - l739: + l750: { - position742, tokenIndex742 := position, tokenIndex + position753, tokenIndex753 := position, tokenIndex if !_rules[ruleLocalSymbol]() { - goto l743 + goto l754 } - goto l742 - l743: - position, tokenIndex = position742, tokenIndex742 + goto l753 + l754: + position, tokenIndex = position753, tokenIndex753 if !_rules[ruleSymbolName]() { - goto l736 + goto l747 } } - l742: - l744: + l753: + l755: { - position745, tokenIndex745 := position, tokenIndex + position756, tokenIndex756 := position, tokenIndex if !_rules[ruleOffset]() { - goto l745 + goto l756 } - goto l744 - l745: - position, tokenIndex = position745, tokenIndex745 + goto l755 + l756: + position, tokenIndex = position756, tokenIndex756 } { - position746, tokenIndex746 := position, tokenIndex + position757, tokenIndex757 := position, tokenIndex if buffer[position] != rune('@') { - goto l746 + goto l757 } position++ if !_rules[ruleSection]() { - goto l746 + goto l757 } - l748: + l759: { - position749, tokenIndex749 := position, tokenIndex + position760, tokenIndex760 := position, tokenIndex if !_rules[ruleOffset]() { - goto l749 + goto l760 } - goto l748 - l749: - position, tokenIndex = position749, tokenIndex749 + goto l759 + l760: + position, tokenIndex = position760, tokenIndex760 } - goto l747 - l746: - position, tokenIndex = position746, tokenIndex746 + goto l758 + l757: + position, tokenIndex = position757, tokenIndex757 } - l747: - add(ruleSymbolRef, position737) + l758: + add(ruleSymbolRef, position748) } return true - l736: - position, tokenIndex = position736, tokenIndex736 + l747: + position, tokenIndex = position747, tokenIndex747 return false }, /* 47 Low12BitsSymbolRef <- <(':' ('l' / 'L') ('o' / 'O') '1' '2' ':' (LocalSymbol / SymbolName) Offset?)> */ func() bool { - position750, tokenIndex750 := position, tokenIndex + position761, tokenIndex761 := position, tokenIndex { - position751 := position + position762 := position if buffer[position] != rune(':') { - goto l750 + goto l761 } position++ { - position752, tokenIndex752 := position, tokenIndex + position763, tokenIndex763 := position, tokenIndex if buffer[position] != rune('l') { - goto l753 + goto l764 } position++ - goto l752 - l753: - position, tokenIndex = position752, tokenIndex752 + goto l763 + l764: + position, tokenIndex = position763, tokenIndex763 if buffer[position] != rune('L') { - goto l750 + goto l761 } position++ } - l752: + l763: { - position754, tokenIndex754 := position, tokenIndex + position765, tokenIndex765 := position, tokenIndex if buffer[position] != rune('o') { - goto l755 + goto l766 } position++ - goto l754 - l755: - position, tokenIndex = position754, tokenIndex754 + goto l765 + l766: + position, tokenIndex = position765, tokenIndex765 if buffer[position] != rune('O') { - goto l750 + goto l761 } position++ } - l754: + l765: if buffer[position] != rune('1') { - goto l750 + goto l761 } position++ if buffer[position] != rune('2') { - goto l750 + goto l761 } position++ if buffer[position] != rune(':') { - goto l750 + goto l761 } position++ { - position756, tokenIndex756 := position, tokenIndex + position767, tokenIndex767 := position, tokenIndex if !_rules[ruleLocalSymbol]() { - goto l757 + goto l768 } - goto l756 - l757: - position, tokenIndex = position756, tokenIndex756 + goto l767 + l768: + position, tokenIndex = position767, tokenIndex767 if !_rules[ruleSymbolName]() { - goto l750 + goto l761 } } - l756: + l767: { - position758, tokenIndex758 := position, tokenIndex + position769, tokenIndex769 := position, tokenIndex if !_rules[ruleOffset]() { - goto l758 + goto l769 } - goto l759 - l758: - position, tokenIndex = position758, tokenIndex758 + goto l770 + l769: + position, tokenIndex = position769, tokenIndex769 } - l759: - add(ruleLow12BitsSymbolRef, position751) + l770: + add(ruleLow12BitsSymbolRef, position762) } return true - l750: - position, tokenIndex = position750, tokenIndex750 + l761: + position, tokenIndex = position761, tokenIndex761 return false }, /* 48 ARMBaseIndexScale <- <('[' ARMRegister (',' WS? (('#'? Offset (('*' [0-9]+) / ('*' '(' [0-9]+ Operator [0-9]+ ')') / ('+' [0-9]+)*)?) / ('#'? ARMGOTLow12) / ('#'? Low12BitsSymbolRef) / ARMRegister) (',' WS? ARMConstantTweak)?)? ']' ARMPostincrement?)> */ func() bool { - position760, tokenIndex760 := position, tokenIndex + position771, tokenIndex771 := position, tokenIndex { - position761 := position + position772 := position if buffer[position] != rune('[') { - goto l760 + goto l771 } position++ if !_rules[ruleARMRegister]() { - goto l760 + goto l771 } { - position762, tokenIndex762 := position, tokenIndex + position773, tokenIndex773 := position, tokenIndex if buffer[position] != rune(',') { - goto l762 + goto l773 } position++ { - position764, tokenIndex764 := position, tokenIndex + position775, tokenIndex775 := position, tokenIndex if !_rules[ruleWS]() { - goto l764 + goto l775 } - goto l765 - l764: - position, tokenIndex = position764, tokenIndex764 + goto l776 + l775: + position, tokenIndex = position775, tokenIndex775 } - l765: + l776: { - position766, tokenIndex766 := position, tokenIndex + position777, tokenIndex777 := position, tokenIndex { - position768, tokenIndex768 := position, tokenIndex + position779, tokenIndex779 := position, tokenIndex if buffer[position] != rune('#') { - goto l768 + goto l779 } position++ - goto l769 - l768: - position, tokenIndex = position768, tokenIndex768 + goto l780 + l779: + position, tokenIndex = position779, tokenIndex779 } - l769: + l780: if !_rules[ruleOffset]() { - goto l767 + goto l778 } { - position770, tokenIndex770 := position, tokenIndex + position781, tokenIndex781 := position, tokenIndex { - position772, tokenIndex772 := position, tokenIndex + position783, tokenIndex783 := position, tokenIndex if buffer[position] != rune('*') { - goto l773 + goto l784 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l773 + goto l784 } position++ - l774: + l785: { - position775, tokenIndex775 := position, tokenIndex + position786, tokenIndex786 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l775 + goto l786 } position++ - goto l774 - l775: - position, tokenIndex = position775, tokenIndex775 + goto l785 + l786: + position, tokenIndex = position786, tokenIndex786 } - goto l772 - l773: - position, tokenIndex = position772, tokenIndex772 + goto l783 + l784: + position, tokenIndex = position783, tokenIndex783 if buffer[position] != rune('*') { - goto l776 + goto l787 } position++ if buffer[position] != rune('(') { - goto l776 + goto l787 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l776 + goto l787 } position++ - l777: + l788: { - position778, tokenIndex778 := position, tokenIndex + position789, tokenIndex789 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l778 + goto l789 } position++ - goto l777 - l778: - position, tokenIndex = position778, tokenIndex778 + goto l788 + l789: + position, tokenIndex = position789, tokenIndex789 } if !_rules[ruleOperator]() { - goto l776 + goto l787 } if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l776 + goto l787 } position++ - l779: + l790: { - position780, tokenIndex780 := position, tokenIndex + position791, tokenIndex791 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l780 + goto l791 } position++ - goto l779 - l780: - position, tokenIndex = position780, tokenIndex780 + goto l790 + l791: + position, tokenIndex = position791, tokenIndex791 } if buffer[position] != rune(')') { - goto l776 + goto l787 } position++ - goto l772 - l776: - position, tokenIndex = position772, tokenIndex772 - l781: + goto l783 + l787: + position, tokenIndex = position783, tokenIndex783 + l792: { - position782, tokenIndex782 := position, tokenIndex + position793, tokenIndex793 := position, tokenIndex if buffer[position] != rune('+') { - goto l782 + goto l793 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l782 + goto l793 } position++ - l783: + l794: { - position784, tokenIndex784 := position, tokenIndex + position795, tokenIndex795 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l784 + goto l795 } position++ - goto l783 - l784: - position, tokenIndex = position784, tokenIndex784 + goto l794 + l795: + position, tokenIndex = position795, tokenIndex795 } - goto l781 - l782: - position, tokenIndex = position782, tokenIndex782 + goto l792 + l793: + position, tokenIndex = position793, tokenIndex793 } } - l772: - goto l771 + l783: + goto l782 - position, tokenIndex = position770, tokenIndex770 + position, tokenIndex = position781, tokenIndex781 } - l771: - goto l766 - l767: - position, tokenIndex = position766, tokenIndex766 + l782: + goto l777 + l778: + position, tokenIndex = position777, tokenIndex777 { - position786, tokenIndex786 := position, tokenIndex + position797, tokenIndex797 := position, tokenIndex if buffer[position] != rune('#') { - goto l786 + goto l797 } position++ - goto l787 - l786: - position, tokenIndex = position786, tokenIndex786 + goto l798 + l797: + position, tokenIndex = position797, tokenIndex797 } - l787: + l798: if !_rules[ruleARMGOTLow12]() { - goto l785 + goto l796 } - goto l766 - l785: - position, tokenIndex = position766, tokenIndex766 + goto l777 + l796: + position, tokenIndex = position777, tokenIndex777 { - position789, tokenIndex789 := position, tokenIndex + position800, tokenIndex800 := position, tokenIndex if buffer[position] != rune('#') { - goto l789 + goto l800 } position++ - goto l790 - l789: - position, tokenIndex = position789, tokenIndex789 + goto l801 + l800: + position, tokenIndex = position800, tokenIndex800 } - l790: + l801: if !_rules[ruleLow12BitsSymbolRef]() { - goto l788 + goto l799 } - goto l766 - l788: - position, tokenIndex = position766, tokenIndex766 + goto l777 + l799: + position, tokenIndex = position777, tokenIndex777 if !_rules[ruleARMRegister]() { - goto l762 + goto l773 } } - l766: + l777: { - position791, tokenIndex791 := position, tokenIndex + position802, tokenIndex802 := position, tokenIndex if buffer[position] != rune(',') { - goto l791 + goto l802 } position++ { - position793, tokenIndex793 := position, tokenIndex + position804, tokenIndex804 := position, tokenIndex if !_rules[ruleWS]() { - goto l793 + goto l804 } - goto l794 - l793: - position, tokenIndex = position793, tokenIndex793 + goto l805 + l804: + position, tokenIndex = position804, tokenIndex804 } - l794: + l805: if !_rules[ruleARMConstantTweak]() { - goto l791 + goto l802 } - goto l792 - l791: - position, tokenIndex = position791, tokenIndex791 + goto l803 + l802: + position, tokenIndex = position802, tokenIndex802 } - l792: - goto l763 - l762: - position, tokenIndex = position762, tokenIndex762 + l803: + goto l774 + l773: + position, tokenIndex = position773, tokenIndex773 } - l763: + l774: if buffer[position] != rune(']') { - goto l760 + goto l771 } position++ { - position795, tokenIndex795 := position, tokenIndex + position806, tokenIndex806 := position, tokenIndex if !_rules[ruleARMPostincrement]() { - goto l795 + goto l806 } - goto l796 - l795: - position, tokenIndex = position795, tokenIndex795 + goto l807 + l806: + position, tokenIndex = position806, tokenIndex806 } - l796: - add(ruleARMBaseIndexScale, position761) + l807: + add(ruleARMBaseIndexScale, position772) } return true - l760: - position, tokenIndex = position760, tokenIndex760 + l771: + position, tokenIndex = position771, tokenIndex771 return false }, /* 49 ARMGOTLow12 <- <(':' ('g' / 'G') ('o' / 'O') ('t' / 'T') '_' ('l' / 'L') ('o' / 'O') '1' '2' ':' SymbolName)> */ func() bool { - position797, tokenIndex797 := position, tokenIndex + position808, tokenIndex808 := position, tokenIndex { - position798 := position + position809 := position if buffer[position] != rune(':') { - goto l797 + goto l808 } position++ { - position799, tokenIndex799 := position, tokenIndex + position810, tokenIndex810 := position, tokenIndex if buffer[position] != rune('g') { - goto l800 + goto l811 } position++ - goto l799 - l800: - position, tokenIndex = position799, tokenIndex799 + goto l810 + l811: + position, tokenIndex = position810, tokenIndex810 if buffer[position] != rune('G') { - goto l797 + goto l808 } position++ } - l799: + l810: { - position801, tokenIndex801 := position, tokenIndex + position812, tokenIndex812 := position, tokenIndex if buffer[position] != rune('o') { - goto l802 + goto l813 } position++ - goto l801 - l802: - position, tokenIndex = position801, tokenIndex801 + goto l812 + l813: + position, tokenIndex = position812, tokenIndex812 if buffer[position] != rune('O') { - goto l797 + goto l808 } position++ } - l801: + l812: { - position803, tokenIndex803 := position, tokenIndex + position814, tokenIndex814 := position, tokenIndex if buffer[position] != rune('t') { - goto l804 + goto l815 } position++ - goto l803 - l804: - position, tokenIndex = position803, tokenIndex803 + goto l814 + l815: + position, tokenIndex = position814, tokenIndex814 if buffer[position] != rune('T') { - goto l797 + goto l808 } position++ } - l803: + l814: if buffer[position] != rune('_') { - goto l797 + goto l808 } position++ { - position805, tokenIndex805 := position, tokenIndex + position816, tokenIndex816 := position, tokenIndex if buffer[position] != rune('l') { - goto l806 + goto l817 } position++ - goto l805 - l806: - position, tokenIndex = position805, tokenIndex805 + goto l816 + l817: + position, tokenIndex = position816, tokenIndex816 if buffer[position] != rune('L') { - goto l797 + goto l808 } position++ } - l805: + l816: { - position807, tokenIndex807 := position, tokenIndex + position818, tokenIndex818 := position, tokenIndex if buffer[position] != rune('o') { - goto l808 + goto l819 } position++ - goto l807 - l808: - position, tokenIndex = position807, tokenIndex807 + goto l818 + l819: + position, tokenIndex = position818, tokenIndex818 if buffer[position] != rune('O') { - goto l797 + goto l808 } position++ } - l807: + l818: if buffer[position] != rune('1') { - goto l797 + goto l808 } position++ if buffer[position] != rune('2') { - goto l797 + goto l808 } position++ if buffer[position] != rune(':') { - goto l797 + goto l808 } position++ if !_rules[ruleSymbolName]() { - goto l797 + goto l808 } - add(ruleARMGOTLow12, position798) + add(ruleARMGOTLow12, position809) } return true - l797: - position, tokenIndex = position797, tokenIndex797 + l808: + position, tokenIndex = position808, tokenIndex808 return false }, /* 50 ARMPostincrement <- <'!'> */ func() bool { - position809, tokenIndex809 := position, tokenIndex + position820, tokenIndex820 := position, tokenIndex { - position810 := position + position821 := position if buffer[position] != rune('!') { - goto l809 + goto l820 } position++ - add(ruleARMPostincrement, position810) + add(ruleARMPostincrement, position821) } return true - l809: - position, tokenIndex = position809, tokenIndex809 + l820: + position, tokenIndex = position820, tokenIndex820 return false }, /* 51 BaseIndexScale <- <('(' RegisterOrConstant? WS? (',' WS? RegisterOrConstant WS? (',' [0-9]+)?)? ')')> */ func() bool { - position811, tokenIndex811 := position, tokenIndex + position822, tokenIndex822 := position, tokenIndex { - position812 := position + position823 := position if buffer[position] != rune('(') { - goto l811 + goto l822 } position++ { - position813, tokenIndex813 := position, tokenIndex + position824, tokenIndex824 := position, tokenIndex if !_rules[ruleRegisterOrConstant]() { - goto l813 + goto l824 } - goto l814 - l813: - position, tokenIndex = position813, tokenIndex813 + goto l825 + l824: + position, tokenIndex = position824, tokenIndex824 } - l814: + l825: { - position815, tokenIndex815 := position, tokenIndex + position826, tokenIndex826 := position, tokenIndex if !_rules[ruleWS]() { - goto l815 + goto l826 } - goto l816 - l815: - position, tokenIndex = position815, tokenIndex815 + goto l827 + l826: + position, tokenIndex = position826, tokenIndex826 } - l816: + l827: { - position817, tokenIndex817 := position, tokenIndex + position828, tokenIndex828 := position, tokenIndex if buffer[position] != rune(',') { - goto l817 + goto l828 } position++ { - position819, tokenIndex819 := position, tokenIndex + position830, tokenIndex830 := position, tokenIndex if !_rules[ruleWS]() { - goto l819 + goto l830 } - goto l820 - l819: - position, tokenIndex = position819, tokenIndex819 + goto l831 + l830: + position, tokenIndex = position830, tokenIndex830 } - l820: + l831: if !_rules[ruleRegisterOrConstant]() { - goto l817 + goto l828 } { - position821, tokenIndex821 := position, tokenIndex + position832, tokenIndex832 := position, tokenIndex if !_rules[ruleWS]() { - goto l821 + goto l832 } - goto l822 - l821: - position, tokenIndex = position821, tokenIndex821 + goto l833 + l832: + position, tokenIndex = position832, tokenIndex832 } - l822: + l833: { - position823, tokenIndex823 := position, tokenIndex + position834, tokenIndex834 := position, tokenIndex if buffer[position] != rune(',') { - goto l823 + goto l834 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l823 + goto l834 } position++ - l825: + l836: { - position826, tokenIndex826 := position, tokenIndex + position837, tokenIndex837 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l826 + goto l837 } position++ - goto l825 - l826: - position, tokenIndex = position826, tokenIndex826 + goto l836 + l837: + position, tokenIndex = position837, tokenIndex837 } - goto l824 - l823: - position, tokenIndex = position823, tokenIndex823 + goto l835 + l834: + position, tokenIndex = position834, tokenIndex834 } - l824: - goto l818 - l817: - position, tokenIndex = position817, tokenIndex817 + l835: + goto l829 + l828: + position, tokenIndex = position828, tokenIndex828 } - l818: + l829: if buffer[position] != rune(')') { - goto l811 + goto l822 } position++ - add(ruleBaseIndexScale, position812) + add(ruleBaseIndexScale, position823) } return true - l811: - position, tokenIndex = position811, tokenIndex811 + l822: + position, tokenIndex = position822, tokenIndex822 return false }, /* 52 Operator <- <('+' / '-')> */ func() bool { - position827, tokenIndex827 := position, tokenIndex + position838, tokenIndex838 := position, tokenIndex { - position828 := position + position839 := position { - position829, tokenIndex829 := position, tokenIndex + position840, tokenIndex840 := position, tokenIndex if buffer[position] != rune('+') { - goto l830 + goto l841 } position++ - goto l829 - l830: - position, tokenIndex = position829, tokenIndex829 + goto l840 + l841: + position, tokenIndex = position840, tokenIndex840 if buffer[position] != rune('-') { - goto l827 + goto l838 } position++ } - l829: - add(ruleOperator, position828) + l840: + add(ruleOperator, position839) } return true - l827: - position, tokenIndex = position827, tokenIndex827 + l838: + position, tokenIndex = position838, tokenIndex838 return false }, /* 53 OffsetOperator <- <('+' / '-' / '*')> */ func() bool { - position831, tokenIndex831 := position, tokenIndex + position842, tokenIndex842 := position, tokenIndex { - position832 := position + position843 := position { - position833, tokenIndex833 := position, tokenIndex + position844, tokenIndex844 := position, tokenIndex if buffer[position] != rune('+') { - goto l834 + goto l845 } position++ - goto l833 - l834: - position, tokenIndex = position833, tokenIndex833 + goto l844 + l845: + position, tokenIndex = position844, tokenIndex844 if buffer[position] != rune('-') { - goto l835 + goto l846 } position++ - goto l833 - l835: - position, tokenIndex = position833, tokenIndex833 + goto l844 + l846: + position, tokenIndex = position844, tokenIndex844 if buffer[position] != rune('*') { - goto l831 + goto l842 } position++ } - l833: - add(ruleOffsetOperator, position832) + l844: + add(ruleOffsetOperator, position843) } return true - l831: - position, tokenIndex = position831, tokenIndex831 + l842: + position, tokenIndex = position842, tokenIndex842 return false }, /* 54 Offset <- <('+'? '-'? (('0' ('b' / 'B') ('0' / '1')+) / ('0' ('x' / 'X') ([0-9] / [0-9] / ([a-f] / [A-F]))+) / ((([0-9]+ WS OffsetOperator [0-9]+) / ([0-9]+ (OffsetOperator '(' [0-9]+ OffsetOperator [0-9]+ ')')?) / ([0-9]+ (OffsetOperator [0-9]+ OffsetOperator [0-9]+)?) / ([0-9]+ (OffsetOperator [0-9]+)?) / ('(' [0-9]+ WS? OffsetOperator WS? [0-9]+ ')' OffsetOperator [0-9]+ OffsetOperator [0-9]+) / ('(' [0-9]+ WS? OffsetOperator WS? [0-9]+ ')' OffsetOperator [0-9]+ !'x') / ('(' [0-9]+ WS? OffsetOperator WS? [0-9]+ ')') / ('(' [0-9]+ WS? OffsetOperator WS? [0-9]+ WS? OffsetOperator WS? [0-9]+ ')')) !([a-z] / [A-Z]))))> */ func() bool { - position836, tokenIndex836 := position, tokenIndex + position847, tokenIndex847 := position, tokenIndex { - position837 := position + position848 := position { - position838, tokenIndex838 := position, tokenIndex + position849, tokenIndex849 := position, tokenIndex if buffer[position] != rune('+') { - goto l838 + goto l849 } position++ - goto l839 - l838: - position, tokenIndex = position838, tokenIndex838 + goto l850 + l849: + position, tokenIndex = position849, tokenIndex849 } - l839: + l850: { - position840, tokenIndex840 := position, tokenIndex + position851, tokenIndex851 := position, tokenIndex if buffer[position] != rune('-') { - goto l840 + goto l851 } position++ - goto l841 - l840: - position, tokenIndex = position840, tokenIndex840 + goto l852 + l851: + position, tokenIndex = position851, tokenIndex851 } - l841: + l852: { - position842, tokenIndex842 := position, tokenIndex + position853, tokenIndex853 := position, tokenIndex if buffer[position] != rune('0') { - goto l843 + goto l854 } position++ { - position844, tokenIndex844 := position, tokenIndex + position855, tokenIndex855 := position, tokenIndex if buffer[position] != rune('b') { - goto l845 + goto l856 } position++ - goto l844 - l845: - position, tokenIndex = position844, tokenIndex844 + goto l855 + l856: + position, tokenIndex = position855, tokenIndex855 if buffer[position] != rune('B') { - goto l843 + goto l854 } position++ } - l844: + l855: { - position848, tokenIndex848 := position, tokenIndex + position859, tokenIndex859 := position, tokenIndex if buffer[position] != rune('0') { - goto l849 + goto l860 } position++ - goto l848 - l849: - position, tokenIndex = position848, tokenIndex848 + goto l859 + l860: + position, tokenIndex = position859, tokenIndex859 if buffer[position] != rune('1') { - goto l843 + goto l854 } position++ } - l848: - l846: + l859: + l857: { - position847, tokenIndex847 := position, tokenIndex + position858, tokenIndex858 := position, tokenIndex { - position850, tokenIndex850 := position, tokenIndex + position861, tokenIndex861 := position, tokenIndex if buffer[position] != rune('0') { - goto l851 + goto l862 } position++ - goto l850 - l851: - position, tokenIndex = position850, tokenIndex850 + goto l861 + l862: + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('1') { - goto l847 + goto l858 } position++ } - l850: - goto l846 - l847: - position, tokenIndex = position847, tokenIndex847 + l861: + goto l857 + l858: + position, tokenIndex = position858, tokenIndex858 } - goto l842 - l843: - position, tokenIndex = position842, tokenIndex842 + goto l853 + l854: + position, tokenIndex = position853, tokenIndex853 if buffer[position] != rune('0') { - goto l852 + goto l863 } position++ { - position853, tokenIndex853 := position, tokenIndex + position864, tokenIndex864 := position, tokenIndex if buffer[position] != rune('x') { - goto l854 + goto l865 } position++ - goto l853 - l854: - position, tokenIndex = position853, tokenIndex853 + goto l864 + l865: + position, tokenIndex = position864, tokenIndex864 if buffer[position] != rune('X') { - goto l852 + goto l863 } position++ } - l853: + l864: { - position857, tokenIndex857 := position, tokenIndex + position868, tokenIndex868 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l858 + goto l869 } position++ - goto l857 - l858: - position, tokenIndex = position857, tokenIndex857 + goto l868 + l869: + position, tokenIndex = position868, tokenIndex868 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l859 + goto l870 } position++ - goto l857 - l859: - position, tokenIndex = position857, tokenIndex857 + goto l868 + l870: + position, tokenIndex = position868, tokenIndex868 { - position860, tokenIndex860 := position, tokenIndex + position871, tokenIndex871 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('f') { - goto l861 + goto l872 } position++ - goto l860 - l861: - position, tokenIndex = position860, tokenIndex860 + goto l871 + l872: + position, tokenIndex = position871, tokenIndex871 if c := buffer[position]; c < rune('A') || c > rune('F') { - goto l852 + goto l863 } position++ } - l860: + l871: } - l857: - l855: + l868: + l866: { - position856, tokenIndex856 := position, tokenIndex + position867, tokenIndex867 := position, tokenIndex { - position862, tokenIndex862 := position, tokenIndex + position873, tokenIndex873 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l863 + goto l874 } position++ - goto l862 - l863: - position, tokenIndex = position862, tokenIndex862 + goto l873 + l874: + position, tokenIndex = position873, tokenIndex873 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l864 + goto l875 } position++ - goto l862 - l864: - position, tokenIndex = position862, tokenIndex862 + goto l873 + l875: + position, tokenIndex = position873, tokenIndex873 { - position865, tokenIndex865 := position, tokenIndex + position876, tokenIndex876 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('f') { - goto l866 + goto l877 } position++ - goto l865 - l866: - position, tokenIndex = position865, tokenIndex865 + goto l876 + l877: + position, tokenIndex = position876, tokenIndex876 if c := buffer[position]; c < rune('A') || c > rune('F') { - goto l856 + goto l867 } position++ } - l865: + l876: } - l862: - goto l855 - l856: - position, tokenIndex = position856, tokenIndex856 + l873: + goto l866 + l867: + position, tokenIndex = position867, tokenIndex867 } - goto l842 - l852: - position, tokenIndex = position842, tokenIndex842 + goto l853 + l863: + position, tokenIndex = position853, tokenIndex853 { - position867, tokenIndex867 := position, tokenIndex + position878, tokenIndex878 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l868 + goto l879 } position++ - l869: + l880: { - position870, tokenIndex870 := position, tokenIndex + position881, tokenIndex881 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l870 + goto l881 } position++ - goto l869 - l870: - position, tokenIndex = position870, tokenIndex870 + goto l880 + l881: + position, tokenIndex = position881, tokenIndex881 } if !_rules[ruleWS]() { - goto l868 + goto l879 } if !_rules[ruleOffsetOperator]() { - goto l868 + goto l879 } if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l868 + goto l879 } position++ - l871: + l882: { - position872, tokenIndex872 := position, tokenIndex + position883, tokenIndex883 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l872 + goto l883 } position++ - goto l871 - l872: - position, tokenIndex = position872, tokenIndex872 + goto l882 + l883: + position, tokenIndex = position883, tokenIndex883 } - goto l867 - l868: - position, tokenIndex = position867, tokenIndex867 + goto l878 + l879: + position, tokenIndex = position878, tokenIndex878 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l873 + goto l884 } position++ - l874: + l885: { - position875, tokenIndex875 := position, tokenIndex + position886, tokenIndex886 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l875 + goto l886 } position++ - goto l874 - l875: - position, tokenIndex = position875, tokenIndex875 + goto l885 + l886: + position, tokenIndex = position886, tokenIndex886 } { - position876, tokenIndex876 := position, tokenIndex + position887, tokenIndex887 := position, tokenIndex if !_rules[ruleOffsetOperator]() { - goto l876 + goto l887 } if buffer[position] != rune('(') { - goto l876 + goto l887 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l876 + goto l887 } position++ - l878: + l889: { - position879, tokenIndex879 := position, tokenIndex + position890, tokenIndex890 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l879 + goto l890 } position++ - goto l878 - l879: - position, tokenIndex = position879, tokenIndex879 + goto l889 + l890: + position, tokenIndex = position890, tokenIndex890 } if !_rules[ruleOffsetOperator]() { - goto l876 + goto l887 } if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l876 + goto l887 } position++ - l880: + l891: { - position881, tokenIndex881 := position, tokenIndex + position892, tokenIndex892 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l881 + goto l892 } position++ - goto l880 - l881: - position, tokenIndex = position881, tokenIndex881 + goto l891 + l892: + position, tokenIndex = position892, tokenIndex892 } if buffer[position] != rune(')') { - goto l876 + goto l887 } position++ - goto l877 - l876: - position, tokenIndex = position876, tokenIndex876 + goto l888 + l887: + position, tokenIndex = position887, tokenIndex887 } - l877: - goto l867 - l873: - position, tokenIndex = position867, tokenIndex867 + l888: + goto l878 + l884: + position, tokenIndex = position878, tokenIndex878 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l882 + goto l893 } position++ - l883: + l894: { - position884, tokenIndex884 := position, tokenIndex + position895, tokenIndex895 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l884 + goto l895 } position++ - goto l883 - l884: - position, tokenIndex = position884, tokenIndex884 + goto l894 + l895: + position, tokenIndex = position895, tokenIndex895 } { - position885, tokenIndex885 := position, tokenIndex + position896, tokenIndex896 := position, tokenIndex if !_rules[ruleOffsetOperator]() { - goto l885 + goto l896 } if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l885 + goto l896 } position++ - l887: + l898: { - position888, tokenIndex888 := position, tokenIndex + position899, tokenIndex899 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l888 + goto l899 } position++ - goto l887 - l888: - position, tokenIndex = position888, tokenIndex888 + goto l898 + l899: + position, tokenIndex = position899, tokenIndex899 } if !_rules[ruleOffsetOperator]() { - goto l885 + goto l896 } if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l885 + goto l896 } position++ - l889: + l900: { - position890, tokenIndex890 := position, tokenIndex + position901, tokenIndex901 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l890 + goto l901 } position++ - goto l889 - l890: - position, tokenIndex = position890, tokenIndex890 + goto l900 + l901: + position, tokenIndex = position901, tokenIndex901 } - goto l886 - l885: - position, tokenIndex = position885, tokenIndex885 + goto l897 + l896: + position, tokenIndex = position896, tokenIndex896 } - l886: - goto l867 - l882: - position, tokenIndex = position867, tokenIndex867 + l897: + goto l878 + l893: + position, tokenIndex = position878, tokenIndex878 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l891 + goto l902 } position++ - l892: + l903: { - position893, tokenIndex893 := position, tokenIndex + position904, tokenIndex904 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l893 + goto l904 } position++ - goto l892 - l893: - position, tokenIndex = position893, tokenIndex893 + goto l903 + l904: + position, tokenIndex = position904, tokenIndex904 } { - position894, tokenIndex894 := position, tokenIndex + position905, tokenIndex905 := position, tokenIndex if !_rules[ruleOffsetOperator]() { - goto l894 + goto l905 } if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l894 + goto l905 } position++ - l896: + l907: { - position897, tokenIndex897 := position, tokenIndex + position908, tokenIndex908 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l897 + goto l908 } position++ - goto l896 - l897: - position, tokenIndex = position897, tokenIndex897 + goto l907 + l908: + position, tokenIndex = position908, tokenIndex908 } - goto l895 - l894: - position, tokenIndex = position894, tokenIndex894 + goto l906 + l905: + position, tokenIndex = position905, tokenIndex905 } - l895: - goto l867 - l891: - position, tokenIndex = position867, tokenIndex867 + l906: + goto l878 + l902: + position, tokenIndex = position878, tokenIndex878 if buffer[position] != rune('(') { - goto l898 + goto l909 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l898 + goto l909 } position++ - l899: + l910: { - position900, tokenIndex900 := position, tokenIndex + position911, tokenIndex911 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l900 + goto l911 } position++ - goto l899 - l900: - position, tokenIndex = position900, tokenIndex900 + goto l910 + l911: + position, tokenIndex = position911, tokenIndex911 } { - position901, tokenIndex901 := position, tokenIndex + position912, tokenIndex912 := position, tokenIndex if !_rules[ruleWS]() { - goto l901 + goto l912 } - goto l902 - l901: - position, tokenIndex = position901, tokenIndex901 + goto l913 + l912: + position, tokenIndex = position912, tokenIndex912 } - l902: + l913: if !_rules[ruleOffsetOperator]() { - goto l898 + goto l909 } { - position903, tokenIndex903 := position, tokenIndex + position914, tokenIndex914 := position, tokenIndex if !_rules[ruleWS]() { - goto l903 + goto l914 } - goto l904 - l903: - position, tokenIndex = position903, tokenIndex903 + goto l915 + l914: + position, tokenIndex = position914, tokenIndex914 } - l904: + l915: if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l898 + goto l909 } position++ - l905: + l916: { - position906, tokenIndex906 := position, tokenIndex + position917, tokenIndex917 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l906 + goto l917 } position++ - goto l905 - l906: - position, tokenIndex = position906, tokenIndex906 + goto l916 + l917: + position, tokenIndex = position917, tokenIndex917 } if buffer[position] != rune(')') { - goto l898 + goto l909 } position++ if !_rules[ruleOffsetOperator]() { - goto l898 + goto l909 } if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l898 + goto l909 } position++ - l907: + l918: { - position908, tokenIndex908 := position, tokenIndex + position919, tokenIndex919 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l908 + goto l919 } position++ - goto l907 - l908: - position, tokenIndex = position908, tokenIndex908 + goto l918 + l919: + position, tokenIndex = position919, tokenIndex919 } if !_rules[ruleOffsetOperator]() { - goto l898 + goto l909 } if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l898 + goto l909 } position++ - l909: + l920: { - position910, tokenIndex910 := position, tokenIndex + position921, tokenIndex921 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l910 + goto l921 } position++ - goto l909 - l910: - position, tokenIndex = position910, tokenIndex910 + goto l920 + l921: + position, tokenIndex = position921, tokenIndex921 } - goto l867 - l898: - position, tokenIndex = position867, tokenIndex867 + goto l878 + l909: + position, tokenIndex = position878, tokenIndex878 if buffer[position] != rune('(') { - goto l911 + goto l922 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l911 + goto l922 } position++ - l912: + l923: { - position913, tokenIndex913 := position, tokenIndex + position924, tokenIndex924 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l913 + goto l924 } position++ - goto l912 - l913: - position, tokenIndex = position913, tokenIndex913 + goto l923 + l924: + position, tokenIndex = position924, tokenIndex924 } { - position914, tokenIndex914 := position, tokenIndex + position925, tokenIndex925 := position, tokenIndex if !_rules[ruleWS]() { - goto l914 + goto l925 } - goto l915 - l914: - position, tokenIndex = position914, tokenIndex914 + goto l926 + l925: + position, tokenIndex = position925, tokenIndex925 } - l915: + l926: if !_rules[ruleOffsetOperator]() { - goto l911 + goto l922 } { - position916, tokenIndex916 := position, tokenIndex + position927, tokenIndex927 := position, tokenIndex if !_rules[ruleWS]() { - goto l916 + goto l927 } - goto l917 - l916: - position, tokenIndex = position916, tokenIndex916 + goto l928 + l927: + position, tokenIndex = position927, tokenIndex927 } - l917: + l928: if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l911 + goto l922 } position++ - l918: + l929: { - position919, tokenIndex919 := position, tokenIndex + position930, tokenIndex930 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l919 + goto l930 } position++ - goto l918 - l919: - position, tokenIndex = position919, tokenIndex919 + goto l929 + l930: + position, tokenIndex = position930, tokenIndex930 } if buffer[position] != rune(')') { - goto l911 + goto l922 } position++ if !_rules[ruleOffsetOperator]() { - goto l911 + goto l922 } if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l911 + goto l922 } position++ - l920: + l931: { - position921, tokenIndex921 := position, tokenIndex + position932, tokenIndex932 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l921 + goto l932 } position++ - goto l920 - l921: - position, tokenIndex = position921, tokenIndex921 + goto l931 + l932: + position, tokenIndex = position932, tokenIndex932 } { - position922, tokenIndex922 := position, tokenIndex + position933, tokenIndex933 := position, tokenIndex if buffer[position] != rune('x') { - goto l922 + goto l933 } position++ - goto l911 - l922: - position, tokenIndex = position922, tokenIndex922 + goto l922 + l933: + position, tokenIndex = position933, tokenIndex933 } - goto l867 - l911: - position, tokenIndex = position867, tokenIndex867 + goto l878 + l922: + position, tokenIndex = position878, tokenIndex878 if buffer[position] != rune('(') { - goto l923 + goto l934 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l923 + goto l934 } position++ - l924: + l935: { - position925, tokenIndex925 := position, tokenIndex + position936, tokenIndex936 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l925 + goto l936 } position++ - goto l924 - l925: - position, tokenIndex = position925, tokenIndex925 + goto l935 + l936: + position, tokenIndex = position936, tokenIndex936 } { - position926, tokenIndex926 := position, tokenIndex + position937, tokenIndex937 := position, tokenIndex if !_rules[ruleWS]() { - goto l926 + goto l937 } - goto l927 - l926: - position, tokenIndex = position926, tokenIndex926 + goto l938 + l937: + position, tokenIndex = position937, tokenIndex937 } - l927: + l938: if !_rules[ruleOffsetOperator]() { - goto l923 + goto l934 } { - position928, tokenIndex928 := position, tokenIndex + position939, tokenIndex939 := position, tokenIndex if !_rules[ruleWS]() { - goto l928 + goto l939 } - goto l929 - l928: - position, tokenIndex = position928, tokenIndex928 + goto l940 + l939: + position, tokenIndex = position939, tokenIndex939 } - l929: + l940: if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l923 + goto l934 } position++ - l930: + l941: { - position931, tokenIndex931 := position, tokenIndex + position942, tokenIndex942 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l931 + goto l942 } position++ - goto l930 - l931: - position, tokenIndex = position931, tokenIndex931 + goto l941 + l942: + position, tokenIndex = position942, tokenIndex942 } if buffer[position] != rune(')') { - goto l923 + goto l934 } position++ - goto l867 - l923: - position, tokenIndex = position867, tokenIndex867 + goto l878 + l934: + position, tokenIndex = position878, tokenIndex878 if buffer[position] != rune('(') { - goto l836 + goto l847 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l836 + goto l847 } position++ - l932: + l943: { - position933, tokenIndex933 := position, tokenIndex + position944, tokenIndex944 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l933 + goto l944 } position++ - goto l932 - l933: - position, tokenIndex = position933, tokenIndex933 + goto l943 + l944: + position, tokenIndex = position944, tokenIndex944 } { - position934, tokenIndex934 := position, tokenIndex + position945, tokenIndex945 := position, tokenIndex if !_rules[ruleWS]() { - goto l934 + goto l945 } - goto l935 - l934: - position, tokenIndex = position934, tokenIndex934 + goto l946 + l945: + position, tokenIndex = position945, tokenIndex945 } - l935: + l946: if !_rules[ruleOffsetOperator]() { - goto l836 + goto l847 } { - position936, tokenIndex936 := position, tokenIndex + position947, tokenIndex947 := position, tokenIndex if !_rules[ruleWS]() { - goto l936 + goto l947 } - goto l937 - l936: - position, tokenIndex = position936, tokenIndex936 + goto l948 + l947: + position, tokenIndex = position947, tokenIndex947 } - l937: + l948: if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l836 + goto l847 } position++ - l938: + l949: { - position939, tokenIndex939 := position, tokenIndex + position950, tokenIndex950 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l939 + goto l950 } position++ - goto l938 - l939: - position, tokenIndex = position939, tokenIndex939 + goto l949 + l950: + position, tokenIndex = position950, tokenIndex950 } { - position940, tokenIndex940 := position, tokenIndex + position951, tokenIndex951 := position, tokenIndex if !_rules[ruleWS]() { - goto l940 + goto l951 } - goto l941 - l940: - position, tokenIndex = position940, tokenIndex940 + goto l952 + l951: + position, tokenIndex = position951, tokenIndex951 } - l941: + l952: if !_rules[ruleOffsetOperator]() { - goto l836 + goto l847 } { - position942, tokenIndex942 := position, tokenIndex + position953, tokenIndex953 := position, tokenIndex if !_rules[ruleWS]() { - goto l942 + goto l953 } - goto l943 - l942: - position, tokenIndex = position942, tokenIndex942 + goto l954 + l953: + position, tokenIndex = position953, tokenIndex953 } - l943: + l954: if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l836 + goto l847 } position++ - l944: + l955: { - position945, tokenIndex945 := position, tokenIndex + position956, tokenIndex956 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l945 + goto l956 } position++ - goto l944 - l945: - position, tokenIndex = position945, tokenIndex945 + goto l955 + l956: + position, tokenIndex = position956, tokenIndex956 } if buffer[position] != rune(')') { - goto l836 + goto l847 } position++ } - l867: + l878: { - position946, tokenIndex946 := position, tokenIndex + position957, tokenIndex957 := position, tokenIndex { - position947, tokenIndex947 := position, tokenIndex + position958, tokenIndex958 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l948 + goto l959 } position++ - goto l947 - l948: - position, tokenIndex = position947, tokenIndex947 + goto l958 + l959: + position, tokenIndex = position958, tokenIndex958 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l946 + goto l957 } position++ } - l947: - goto l836 - l946: - position, tokenIndex = position946, tokenIndex946 + l958: + goto l847 + l957: + position, tokenIndex = position957, tokenIndex957 } } - l842: - add(ruleOffset, position837) + l853: + add(ruleOffset, position848) } return true - l836: - position, tokenIndex = position836, tokenIndex836 + l847: + position, tokenIndex = position847, tokenIndex847 return false }, /* 55 Section <- <([a-z] / [A-Z] / '@')+> */ func() bool { - position949, tokenIndex949 := position, tokenIndex + position960, tokenIndex960 := position, tokenIndex { - position950 := position + position961 := position { - position953, tokenIndex953 := position, tokenIndex + position964, tokenIndex964 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l954 + goto l965 } position++ - goto l953 - l954: - position, tokenIndex = position953, tokenIndex953 + goto l964 + l965: + position, tokenIndex = position964, tokenIndex964 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l955 + goto l966 } position++ - goto l953 - l955: - position, tokenIndex = position953, tokenIndex953 + goto l964 + l966: + position, tokenIndex = position964, tokenIndex964 if buffer[position] != rune('@') { - goto l949 + goto l960 } position++ } - l953: - l951: + l964: + l962: { - position952, tokenIndex952 := position, tokenIndex + position963, tokenIndex963 := position, tokenIndex { - position956, tokenIndex956 := position, tokenIndex + position967, tokenIndex967 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l957 + goto l968 } position++ - goto l956 - l957: - position, tokenIndex = position956, tokenIndex956 + goto l967 + l968: + position, tokenIndex = position967, tokenIndex967 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l958 + goto l969 } position++ - goto l956 - l958: - position, tokenIndex = position956, tokenIndex956 + goto l967 + l969: + position, tokenIndex = position967, tokenIndex967 if buffer[position] != rune('@') { - goto l952 + goto l963 } position++ } - l956: - goto l951 - l952: - position, tokenIndex = position952, tokenIndex952 + l967: + goto l962 + l963: + position, tokenIndex = position963, tokenIndex963 } - add(ruleSection, position950) + add(ruleSection, position961) } return true - l949: - position, tokenIndex = position949, tokenIndex949 + l960: + position, tokenIndex = position960, tokenIndex960 return false }, /* 56 SegmentRegister <- <('%' ([c-g] / 's') ('s' ':'))> */ func() bool { - position959, tokenIndex959 := position, tokenIndex + position970, tokenIndex970 := position, tokenIndex { - position960 := position + position971 := position if buffer[position] != rune('%') { - goto l959 + goto l970 } position++ { - position961, tokenIndex961 := position, tokenIndex + position972, tokenIndex972 := position, tokenIndex if c := buffer[position]; c < rune('c') || c > rune('g') { - goto l962 + goto l973 } position++ - goto l961 - l962: - position, tokenIndex = position961, tokenIndex961 + goto l972 + l973: + position, tokenIndex = position972, tokenIndex972 if buffer[position] != rune('s') { - goto l959 + goto l970 } position++ } - l961: + l972: if buffer[position] != rune('s') { - goto l959 + goto l970 } position++ if buffer[position] != rune(':') { - goto l959 + goto l970 } position++ - add(ruleSegmentRegister, position960) + add(ruleSegmentRegister, position971) } return true - l959: - position, tokenIndex = position959, tokenIndex959 + l970: + position, tokenIndex = position970, tokenIndex970 return false }, }