From 672813c21e7f25d1e5c3475e97779d683ce1ec42 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 --- util/fipstools/delocate/delocate.peg | 2 +- util/fipstools/delocate/delocate.peg.go | 4540 ++++++++++++----------- 2 files changed, 2312 insertions(+), 2230 deletions(-) diff --git a/util/fipstools/delocate/delocate.peg b/util/fipstools/delocate/delocate.peg index 9ba357a20..d5537e2da 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 diff --git a/util/fipstools/delocate/delocate.peg.go b/util/fipstools/delocate/delocate.peg.go index c65eb502b..7659cbc58 100644 --- a/util/fipstools/delocate/delocate.peg.go +++ b/util/fipstools/delocate/delocate.peg.go @@ -1425,7 +1425,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 { @@ -1587,14 +1587,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++ @@ -1602,14 +1602,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++ @@ -1617,14 +1617,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++ @@ -1632,119 +1632,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++ } @@ -1759,694 +1759,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 } @@ -2470,3917 +2552,3917 @@ 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 l288 - l287: - position, tokenIndex = position287, tokenIndex287 + goto l298 + } + 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 / (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[ruleLocalSymbol]() { - goto l306 + goto l317 } { - position307, tokenIndex307 := position, tokenIndex + position318, tokenIndex318 := position, tokenIndex if !_rules[ruleTCMarker]() { - goto l307 + goto l318 } - goto l308 - l307: - position, tokenIndex = position307, tokenIndex307 + goto l319 + l318: + position, tokenIndex = position318, tokenIndex318 } - l308: - goto l303 - l306: - position, tokenIndex = position303, tokenIndex303 + l319: + goto l314 + l317: + position, tokenIndex = position314, tokenIndex314 if !_rules[ruleSymbolName]() { - goto l309 + goto l320 } if !_rules[ruleOffset]() { - goto l309 + goto l320 } - goto l303 - l309: - position, tokenIndex = position303, tokenIndex303 + goto l314 + l320: + position, tokenIndex = position314, tokenIndex314 if !_rules[ruleSymbolName]() { - goto l310 + goto l321 } { - position311, tokenIndex311 := position, tokenIndex + position322, tokenIndex322 := position, tokenIndex if !_rules[ruleTCMarker]() { - goto l311 + goto l322 } - goto l312 - l311: - position, tokenIndex = position311, tokenIndex311 + goto l323 + l322: + position, tokenIndex = position322, tokenIndex322 } - l312: - goto l303 - l310: - position, tokenIndex = position303, tokenIndex303 + l323: + goto l314 + l321: + position, tokenIndex = position314, tokenIndex314 if !_rules[ruleDot]() { - goto l313 + goto l324 } - goto l303 - l313: - position, tokenIndex = position303, tokenIndex303 + goto l314 + l324: + position, tokenIndex = position314, tokenIndex314 if !_rules[ruleOpenParen]() { - goto l301 + goto l312 } { - position314, tokenIndex314 := position, tokenIndex + position325, tokenIndex325 := position, tokenIndex if !_rules[ruleWS]() { - goto l314 + goto l325 } - goto l315 - l314: - position, tokenIndex = position314, tokenIndex314 + goto l326 + l325: + position, tokenIndex = position325, tokenIndex325 } - l315: + l326: if !_rules[ruleSymbolExpr]() { - goto l301 + goto l312 } { - position316, tokenIndex316 := position, tokenIndex + position327, tokenIndex327 := position, tokenIndex if !_rules[ruleWS]() { - goto l316 + goto l327 } - goto l317 - l316: - position, tokenIndex = position316, tokenIndex316 + goto l328 + l327: + position, tokenIndex = position327, tokenIndex327 } - l317: + l328: 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 { - position318, tokenIndex318 := position, tokenIndex + position329, tokenIndex329 := position, tokenIndex { - position319 := position + position330 := position { - position320, tokenIndex320 := position, tokenIndex + position331, tokenIndex331 := position, tokenIndex if buffer[position] != rune('+') { - goto l321 + goto l332 } position++ - goto l320 - l321: - position, tokenIndex = position320, tokenIndex320 + goto l331 + l332: + position, tokenIndex = position331, tokenIndex331 if buffer[position] != rune('-') { - goto l322 + goto l333 } position++ - goto l320 - l322: - position, tokenIndex = position320, tokenIndex320 + goto l331 + l333: + position, tokenIndex = position331, tokenIndex331 if buffer[position] != rune('|') { - goto l323 + goto l334 } position++ - goto l320 - l323: - position, tokenIndex = position320, tokenIndex320 + goto l331 + l334: + position, tokenIndex = position331, tokenIndex331 if buffer[position] != rune('<') { - goto l324 + goto l335 } position++ if buffer[position] != rune('<') { - goto l324 + goto l335 } position++ - goto l320 - l324: - position, tokenIndex = position320, tokenIndex320 + goto l331 + l335: + position, tokenIndex = position331, tokenIndex331 if buffer[position] != rune('>') { - goto l318 + goto l329 } position++ if buffer[position] != rune('>') { - goto l318 + goto l329 } position++ } - l320: - add(ruleSymbolOperator, position319) + l331: + add(ruleSymbolOperator, position330) } return true - l318: - position, tokenIndex = position318, tokenIndex318 + l329: + position, tokenIndex = position329, tokenIndex329 return false }, /* 19 OpenParen <- <'('> */ func() bool { - position325, tokenIndex325 := position, tokenIndex + position336, tokenIndex336 := position, tokenIndex { - position326 := position + position337 := position if buffer[position] != rune('(') { - goto l325 + goto l336 } position++ - add(ruleOpenParen, position326) + add(ruleOpenParen, position337) } return true - l325: - position, tokenIndex = position325, tokenIndex325 + l336: + position, tokenIndex = position336, tokenIndex336 return false }, /* 20 CloseParen <- <')'> */ func() bool { - position327, tokenIndex327 := position, tokenIndex + position338, tokenIndex338 := position, tokenIndex { - position328 := position + position339 := position if buffer[position] != rune(')') { - goto l327 + goto l338 } position++ - add(ruleCloseParen, position328) + add(ruleCloseParen, position339) } return true - l327: - position, tokenIndex = position327, tokenIndex327 + l338: + position, tokenIndex = position338, tokenIndex338 return false }, /* 21 SymbolType <- <(('@' / '%') (('f' 'u' 'n' 'c' 't' 'i' 'o' 'n') / ('o' 'b' 'j' 'e' 'c' 't')))> */ func() bool { - position329, tokenIndex329 := position, tokenIndex + position340, tokenIndex340 := position, tokenIndex { - position330 := position + position341 := position { - position331, tokenIndex331 := position, tokenIndex + position342, tokenIndex342 := position, tokenIndex if buffer[position] != rune('@') { - goto l332 + goto l343 } position++ - goto l331 - l332: - position, tokenIndex = position331, tokenIndex331 + goto l342 + l343: + position, tokenIndex = position342, tokenIndex342 if buffer[position] != rune('%') { - goto l329 + goto l340 } position++ } - l331: + l342: { - position333, tokenIndex333 := position, tokenIndex + position344, tokenIndex344 := position, tokenIndex if buffer[position] != rune('f') { - goto l334 + goto l345 } position++ if buffer[position] != rune('u') { - goto l334 + goto l345 } position++ if buffer[position] != rune('n') { - goto l334 + goto l345 } position++ if buffer[position] != rune('c') { - goto l334 + goto l345 } position++ if buffer[position] != rune('t') { - goto l334 + goto l345 } position++ if buffer[position] != rune('i') { - goto l334 + goto l345 } position++ if buffer[position] != rune('o') { - goto l334 + goto l345 } position++ if buffer[position] != rune('n') { - goto l334 + goto l345 } position++ - goto l333 - l334: - position, tokenIndex = position333, tokenIndex333 + goto l344 + l345: + position, tokenIndex = position344, tokenIndex344 if buffer[position] != rune('o') { - goto l329 + goto l340 } position++ if buffer[position] != rune('b') { - goto l329 + goto l340 } position++ if buffer[position] != rune('j') { - goto l329 + goto l340 } position++ if buffer[position] != rune('e') { - goto l329 + goto l340 } position++ if buffer[position] != rune('c') { - goto l329 + goto l340 } position++ if buffer[position] != rune('t') { - goto l329 + goto l340 } position++ } - l333: - add(ruleSymbolType, position330) + l344: + add(ruleSymbolType, position341) } return true - l329: - position, tokenIndex = position329, tokenIndex329 + l340: + position, tokenIndex = position340, tokenIndex340 return false }, /* 22 Dot <- <'.'> */ func() bool { - position335, tokenIndex335 := position, tokenIndex + position346, tokenIndex346 := position, tokenIndex { - position336 := position + position347 := position if buffer[position] != rune('.') { - goto l335 + goto l346 } position++ - add(ruleDot, position336) + add(ruleDot, position347) } return true - l335: - position, tokenIndex = position335, tokenIndex335 + l346: + position, tokenIndex = position346, tokenIndex346 return false }, /* 23 TCMarker <- <('[' 'T' 'C' ']')> */ func() bool { - position337, tokenIndex337 := position, tokenIndex + position348, tokenIndex348 := position, tokenIndex { - position338 := position + position349 := position if buffer[position] != rune('[') { - goto l337 + goto l348 } position++ if buffer[position] != rune('T') { - goto l337 + goto l348 } position++ if buffer[position] != rune('C') { - goto l337 + goto l348 } position++ if buffer[position] != rune(']') { - goto l337 + goto l348 } position++ - add(ruleTCMarker, position338) + add(ruleTCMarker, position349) } return true - l337: - position, tokenIndex = position337, tokenIndex337 + l348: + position, tokenIndex = position348, tokenIndex348 return false }, /* 24 EscapedChar <- <('\\' .)> */ func() bool { - position339, tokenIndex339 := position, tokenIndex + position350, tokenIndex350 := position, tokenIndex { - position340 := position + position351 := position if buffer[position] != rune('\\') { - goto l339 + goto l350 } position++ if !matchDot() { - goto l339 + goto l350 } - add(ruleEscapedChar, position340) + add(ruleEscapedChar, position351) } return true - l339: - position, tokenIndex = position339, tokenIndex339 + l350: + position, tokenIndex = position350, tokenIndex350 return false }, /* 25 WS <- <(' ' / '\t')+> */ func() bool { - position341, tokenIndex341 := position, tokenIndex + position352, tokenIndex352 := position, tokenIndex { - position342 := position + position353 := position { - position345, tokenIndex345 := position, tokenIndex + position356, tokenIndex356 := position, tokenIndex if buffer[position] != rune(' ') { - goto l346 + goto l357 } position++ - goto l345 - l346: - position, tokenIndex = position345, tokenIndex345 + goto l356 + l357: + position, tokenIndex = position356, tokenIndex356 if buffer[position] != rune('\t') { - goto l341 + goto l352 } position++ } - l345: - l343: + l356: + l354: { - position344, tokenIndex344 := position, tokenIndex + position355, tokenIndex355 := position, tokenIndex { - position347, tokenIndex347 := position, tokenIndex + position358, tokenIndex358 := position, tokenIndex if buffer[position] != rune(' ') { - goto l348 + goto l359 } position++ - goto l347 - l348: - position, tokenIndex = position347, tokenIndex347 + goto l358 + l359: + position, tokenIndex = position358, tokenIndex358 if buffer[position] != rune('\t') { - goto l344 + goto l355 } position++ } - l347: - goto l343 - l344: - position, tokenIndex = position344, tokenIndex344 + l358: + goto l354 + l355: + position, tokenIndex = position355, tokenIndex355 } - add(ruleWS, position342) + add(ruleWS, position353) } return true - l341: - position, tokenIndex = position341, tokenIndex341 + l352: + position, tokenIndex = position352, tokenIndex352 return false }, /* 26 Comment <- <((('/' '/') / '#') (!'\n' .)*)> */ func() bool { - position349, tokenIndex349 := position, tokenIndex + position360, tokenIndex360 := position, tokenIndex { - position350 := position + position361 := position { - position351, tokenIndex351 := position, tokenIndex + position362, tokenIndex362 := position, tokenIndex if buffer[position] != rune('/') { - goto l352 + goto l363 } position++ if buffer[position] != rune('/') { - goto l352 + goto l363 } position++ - goto l351 - l352: - position, tokenIndex = position351, tokenIndex351 + goto l362 + l363: + position, tokenIndex = position362, tokenIndex362 if buffer[position] != rune('#') { - goto l349 + goto l360 } position++ } - l351: - l353: + l362: + l364: { - position354, tokenIndex354 := position, tokenIndex + position365, tokenIndex365 := position, tokenIndex { - position355, tokenIndex355 := position, tokenIndex + position366, tokenIndex366 := position, tokenIndex if buffer[position] != rune('\n') { - goto l355 + goto l366 } position++ - goto l354 - l355: - position, tokenIndex = position355, tokenIndex355 + goto l365 + l366: + position, tokenIndex = position366, tokenIndex366 } if !matchDot() { - goto l354 + goto l365 } - goto l353 - l354: - position, tokenIndex = position354, tokenIndex354 + goto l364 + l365: + position, tokenIndex = position365, tokenIndex365 } - add(ruleComment, position350) + add(ruleComment, position361) } return true - l349: - position, tokenIndex = position349, tokenIndex349 + l360: + position, tokenIndex = position360, tokenIndex360 return false }, /* 27 Label <- <((LocalSymbol / LocalLabel / SymbolName) ':')> */ func() bool { - position356, tokenIndex356 := position, tokenIndex + position367, tokenIndex367 := position, tokenIndex { - position357 := position + position368 := position { - position358, tokenIndex358 := position, tokenIndex + position369, tokenIndex369 := position, tokenIndex if !_rules[ruleLocalSymbol]() { - goto l359 + goto l370 } - goto l358 - l359: - position, tokenIndex = position358, tokenIndex358 + goto l369 + l370: + position, tokenIndex = position369, tokenIndex369 if !_rules[ruleLocalLabel]() { - goto l360 + goto l371 } - goto l358 - l360: - position, tokenIndex = position358, tokenIndex358 + goto l369 + l371: + position, tokenIndex = position369, tokenIndex369 if !_rules[ruleSymbolName]() { - goto l356 + goto l367 } } - l358: + l369: if buffer[position] != rune(':') { - goto l356 + goto l367 } position++ - add(ruleLabel, position357) + add(ruleLabel, position368) } return true - l356: - position, tokenIndex = position356, tokenIndex356 + l367: + position, tokenIndex = position367, tokenIndex367 return false }, /* 28 SymbolName <- <(([a-z] / [A-Z] / '.' / '_') ([a-z] / [A-Z] / '.' / ([0-9] / [0-9]) / '$' / '_')*)> */ func() bool { - position361, tokenIndex361 := position, tokenIndex + position372, tokenIndex372 := position, tokenIndex { - position362 := position + position373 := position { - position363, tokenIndex363 := position, tokenIndex + position374, tokenIndex374 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l364 + goto l375 } position++ - goto l363 - l364: - position, tokenIndex = position363, tokenIndex363 + goto l374 + l375: + position, tokenIndex = position374, tokenIndex374 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l365 + goto l376 } position++ - goto l363 - l365: - position, tokenIndex = position363, tokenIndex363 + goto l374 + l376: + position, tokenIndex = position374, tokenIndex374 if buffer[position] != rune('.') { - goto l366 + goto l377 } position++ - goto l363 - l366: - position, tokenIndex = position363, tokenIndex363 + goto l374 + l377: + position, tokenIndex = position374, tokenIndex374 if buffer[position] != rune('_') { - goto l361 + goto l372 } position++ } - l363: - l367: + l374: + l378: { - position368, tokenIndex368 := position, tokenIndex + position379, tokenIndex379 := position, tokenIndex { - position369, tokenIndex369 := position, tokenIndex + position380, tokenIndex380 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l370 + goto l381 } position++ - goto l369 - l370: - position, tokenIndex = position369, tokenIndex369 + goto l380 + l381: + position, tokenIndex = position380, tokenIndex380 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l371 + goto l382 } position++ - goto l369 - l371: - position, tokenIndex = position369, tokenIndex369 + goto l380 + l382: + position, tokenIndex = position380, tokenIndex380 if buffer[position] != rune('.') { - goto l372 + goto l383 } position++ - goto l369 - l372: - position, tokenIndex = position369, tokenIndex369 + goto l380 + l383: + position, tokenIndex = position380, tokenIndex380 { - position374, tokenIndex374 := position, tokenIndex + position385, tokenIndex385 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l375 + goto l386 } position++ - goto l374 - l375: - position, tokenIndex = position374, tokenIndex374 + goto l385 + l386: + position, tokenIndex = position385, tokenIndex385 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l373 + goto l384 } position++ } - l374: - goto l369 - l373: - position, tokenIndex = position369, tokenIndex369 + l385: + goto l380 + l384: + position, tokenIndex = position380, tokenIndex380 if buffer[position] != rune('$') { - goto l376 + goto l387 } position++ - goto l369 - l376: - position, tokenIndex = position369, tokenIndex369 + goto l380 + l387: + position, tokenIndex = position380, tokenIndex380 if buffer[position] != rune('_') { - goto l368 + goto l379 } position++ } - l369: - goto l367 - l368: - position, tokenIndex = position368, tokenIndex368 + l380: + goto l378 + l379: + position, tokenIndex = position379, tokenIndex379 } - add(ruleSymbolName, position362) + add(ruleSymbolName, position373) } return true - l361: - position, tokenIndex = position361, tokenIndex361 + l372: + position, tokenIndex = position372, tokenIndex372 return false }, /* 29 LocalSymbol <- <('.' 'L' ([a-z] / [A-Z] / ([a-z] / [A-Z]) / '.' / ([0-9] / [0-9]) / '$' / '_')+)> */ func() bool { - position377, tokenIndex377 := position, tokenIndex + position388, tokenIndex388 := position, tokenIndex { - position378 := position + position389 := position if buffer[position] != rune('.') { - goto l377 + goto l388 } position++ if buffer[position] != rune('L') { - goto l377 + goto l388 } position++ { - position381, tokenIndex381 := position, tokenIndex + position392, tokenIndex392 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l382 + goto l393 } position++ - goto l381 - l382: - position, tokenIndex = position381, tokenIndex381 + goto l392 + l393: + position, tokenIndex = position392, tokenIndex392 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l383 + goto l394 } position++ - goto l381 - l383: - position, tokenIndex = position381, tokenIndex381 + goto l392 + l394: + position, tokenIndex = position392, tokenIndex392 { - position385, tokenIndex385 := position, tokenIndex + position396, tokenIndex396 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l386 + goto l397 } position++ - goto l385 - l386: - position, tokenIndex = position385, tokenIndex385 + goto l396 + l397: + position, tokenIndex = position396, tokenIndex396 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l384 + goto l395 } position++ } - l385: - goto l381 - l384: - position, tokenIndex = position381, tokenIndex381 + l396: + goto l392 + l395: + position, tokenIndex = position392, tokenIndex392 if buffer[position] != rune('.') { - goto l387 + goto l398 } position++ - goto l381 - l387: - position, tokenIndex = position381, tokenIndex381 + goto l392 + l398: + position, tokenIndex = position392, tokenIndex392 { - position389, tokenIndex389 := position, tokenIndex + position400, tokenIndex400 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l390 + goto l401 } position++ - goto l389 - l390: - position, tokenIndex = position389, tokenIndex389 + goto l400 + l401: + position, tokenIndex = position400, tokenIndex400 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l388 + goto l399 } position++ } - l389: - goto l381 - l388: - position, tokenIndex = position381, tokenIndex381 + l400: + goto l392 + l399: + position, tokenIndex = position392, tokenIndex392 if buffer[position] != rune('$') { - goto l391 + goto l402 } position++ - goto l381 - l391: - position, tokenIndex = position381, tokenIndex381 + goto l392 + l402: + position, tokenIndex = position392, tokenIndex392 if buffer[position] != rune('_') { - goto l377 + goto l388 } position++ } - l381: - l379: + l392: + l390: { - position380, tokenIndex380 := position, tokenIndex + position391, tokenIndex391 := position, tokenIndex { - position392, tokenIndex392 := position, tokenIndex + position403, tokenIndex403 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l393 + goto l404 } position++ - goto l392 - l393: - position, tokenIndex = position392, tokenIndex392 + goto l403 + l404: + position, tokenIndex = position403, tokenIndex403 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l394 + goto l405 } position++ - goto l392 - l394: - position, tokenIndex = position392, tokenIndex392 + goto l403 + l405: + position, tokenIndex = position403, tokenIndex403 { - position396, tokenIndex396 := position, tokenIndex + position407, tokenIndex407 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l397 + goto l408 } position++ - goto l396 - l397: - position, tokenIndex = position396, tokenIndex396 + goto l407 + l408: + position, tokenIndex = position407, tokenIndex407 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l395 + goto l406 } position++ } - l396: - goto l392 - l395: - position, tokenIndex = position392, tokenIndex392 + l407: + goto l403 + l406: + position, tokenIndex = position403, tokenIndex403 if buffer[position] != rune('.') { - goto l398 + goto l409 } position++ - goto l392 - l398: - position, tokenIndex = position392, tokenIndex392 + goto l403 + l409: + position, tokenIndex = position403, tokenIndex403 { - position400, tokenIndex400 := position, tokenIndex + position411, tokenIndex411 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l401 + goto l412 } position++ - goto l400 - l401: - position, tokenIndex = position400, tokenIndex400 + goto l411 + l412: + position, tokenIndex = position411, tokenIndex411 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l399 + goto l410 } position++ } - l400: - goto l392 - l399: - position, tokenIndex = position392, tokenIndex392 + l411: + goto l403 + l410: + position, tokenIndex = position403, tokenIndex403 if buffer[position] != rune('$') { - goto l402 + goto l413 } position++ - goto l392 - l402: - position, tokenIndex = position392, tokenIndex392 + goto l403 + l413: + position, tokenIndex = position403, tokenIndex403 if buffer[position] != rune('_') { - goto l380 + goto l391 } position++ } - l392: - goto l379 - l380: - position, tokenIndex = position380, tokenIndex380 + l403: + goto l390 + l391: + position, tokenIndex = position391, tokenIndex391 } - add(ruleLocalSymbol, position378) + add(ruleLocalSymbol, position389) } return true - l377: - position, tokenIndex = position377, tokenIndex377 + l388: + position, tokenIndex = position388, tokenIndex388 return false }, /* 30 LocalLabel <- <([0-9] ([0-9] / '$')*)> */ func() bool { - position403, tokenIndex403 := position, tokenIndex + position414, tokenIndex414 := position, tokenIndex { - position404 := position + position415 := position if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l403 + goto l414 } position++ - l405: + l416: { - position406, tokenIndex406 := position, tokenIndex + position417, tokenIndex417 := position, tokenIndex { - position407, tokenIndex407 := position, tokenIndex + position418, tokenIndex418 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l408 + goto l419 } position++ - goto l407 - l408: - position, tokenIndex = position407, tokenIndex407 + goto l418 + l419: + position, tokenIndex = position418, tokenIndex418 if buffer[position] != rune('$') { - goto l406 + goto l417 } position++ } - l407: - goto l405 - l406: - position, tokenIndex = position406, tokenIndex406 + l418: + goto l416 + l417: + position, tokenIndex = position417, tokenIndex417 } - add(ruleLocalLabel, position404) + add(ruleLocalLabel, position415) } return true - l403: - position, tokenIndex = position403, tokenIndex403 + l414: + position, tokenIndex = position414, tokenIndex414 return false }, /* 31 LocalLabelRef <- <([0-9] ([0-9] / '$')* ('b' / 'f'))> */ func() bool { - position409, tokenIndex409 := position, tokenIndex + position420, tokenIndex420 := position, tokenIndex { - position410 := position + position421 := position if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l409 + goto l420 } position++ - l411: + l422: { - position412, tokenIndex412 := position, tokenIndex + position423, tokenIndex423 := position, tokenIndex { - position413, tokenIndex413 := position, tokenIndex + position424, tokenIndex424 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l414 + goto l425 } position++ - goto l413 - l414: - position, tokenIndex = position413, tokenIndex413 + goto l424 + l425: + position, tokenIndex = position424, tokenIndex424 if buffer[position] != rune('$') { - goto l412 + goto l423 } position++ } - l413: - goto l411 - l412: - position, tokenIndex = position412, tokenIndex412 + l424: + goto l422 + l423: + position, tokenIndex = position423, tokenIndex423 } { - position415, tokenIndex415 := position, tokenIndex + position426, tokenIndex426 := position, tokenIndex if buffer[position] != rune('b') { - goto l416 + goto l427 } position++ - goto l415 - l416: - position, tokenIndex = position415, tokenIndex415 + goto l426 + l427: + position, tokenIndex = position426, tokenIndex426 if buffer[position] != rune('f') { - goto l409 + goto l420 } position++ } - l415: - add(ruleLocalLabelRef, position410) + l426: + add(ruleLocalLabelRef, position421) } return true - l409: - position, tokenIndex = position409, tokenIndex409 + l420: + position, tokenIndex = position420, tokenIndex420 return false }, /* 32 Instruction <- <(InstructionName (WS InstructionArg (WS? ',' WS? InstructionArg)*)?)> */ func() bool { - position417, tokenIndex417 := position, tokenIndex + position428, tokenIndex428 := position, tokenIndex { - position418 := position + position429 := position if !_rules[ruleInstructionName]() { - goto l417 + goto l428 } { - position419, tokenIndex419 := position, tokenIndex + position430, tokenIndex430 := position, tokenIndex if !_rules[ruleWS]() { - goto l419 + goto l430 } if !_rules[ruleInstructionArg]() { - goto l419 + goto l430 } - l421: + l432: { - position422, tokenIndex422 := position, tokenIndex + position433, tokenIndex433 := position, tokenIndex { - position423, tokenIndex423 := position, tokenIndex + position434, tokenIndex434 := position, tokenIndex if !_rules[ruleWS]() { - goto l423 + goto l434 } - goto l424 - l423: - position, tokenIndex = position423, tokenIndex423 + goto l435 + l434: + position, tokenIndex = position434, tokenIndex434 } - l424: + l435: if buffer[position] != rune(',') { - goto l422 + goto l433 } position++ { - position425, tokenIndex425 := position, tokenIndex + position436, tokenIndex436 := position, tokenIndex if !_rules[ruleWS]() { - goto l425 + goto l436 } - goto l426 - l425: - position, tokenIndex = position425, tokenIndex425 + goto l437 + l436: + position, tokenIndex = position436, tokenIndex436 } - l426: + l437: if !_rules[ruleInstructionArg]() { - goto l422 + goto l433 } - goto l421 - l422: - position, tokenIndex = position422, tokenIndex422 + goto l432 + l433: + position, tokenIndex = position433, tokenIndex433 } - goto l420 - l419: - position, tokenIndex = position419, tokenIndex419 + goto l431 + l430: + position, tokenIndex = position430, tokenIndex430 } - l420: - add(ruleInstruction, position418) + l431: + add(ruleInstruction, position429) } return true - l417: - position, tokenIndex = position417, tokenIndex417 + l428: + position, tokenIndex = position428, tokenIndex428 return false }, /* 33 InstructionName <- <(([a-z] / [A-Z]) ([a-z] / [A-Z] / '.' / ([0-9] / [0-9]))* ('.' / '+' / '-')?)> */ func() bool { - position427, tokenIndex427 := position, tokenIndex + position438, tokenIndex438 := position, tokenIndex { - position428 := position + position439 := position { - position429, tokenIndex429 := position, tokenIndex + position440, tokenIndex440 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l430 + goto l441 } position++ - goto l429 - l430: - position, tokenIndex = position429, tokenIndex429 + goto l440 + l441: + position, tokenIndex = position440, tokenIndex440 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l427 + goto l438 } position++ } - l429: - l431: + l440: + l442: { - position432, tokenIndex432 := position, tokenIndex + position443, tokenIndex443 := position, tokenIndex { - position433, tokenIndex433 := position, tokenIndex + position444, tokenIndex444 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l434 + goto l445 } position++ - goto l433 - l434: - position, tokenIndex = position433, tokenIndex433 + goto l444 + l445: + position, tokenIndex = position444, tokenIndex444 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l435 + goto l446 } position++ - goto l433 - l435: - position, tokenIndex = position433, tokenIndex433 + goto l444 + l446: + position, tokenIndex = position444, tokenIndex444 if buffer[position] != rune('.') { - goto l436 + goto l447 } position++ - goto l433 - l436: - position, tokenIndex = position433, tokenIndex433 + goto l444 + l447: + position, tokenIndex = position444, tokenIndex444 { - position437, tokenIndex437 := position, tokenIndex + position448, tokenIndex448 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l438 + goto l449 } position++ - goto l437 - l438: - position, tokenIndex = position437, tokenIndex437 + goto l448 + l449: + position, tokenIndex = position448, tokenIndex448 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l432 + goto l443 } position++ } - l437: + l448: } - l433: - goto l431 - l432: - position, tokenIndex = position432, tokenIndex432 + l444: + goto l442 + l443: + position, tokenIndex = position443, tokenIndex443 } { - position439, tokenIndex439 := position, tokenIndex + position450, tokenIndex450 := position, tokenIndex { - position441, tokenIndex441 := position, tokenIndex + position452, tokenIndex452 := position, tokenIndex if buffer[position] != rune('.') { - goto l442 + goto l453 } position++ - goto l441 - l442: - position, tokenIndex = position441, tokenIndex441 + goto l452 + l453: + position, tokenIndex = position452, tokenIndex452 if buffer[position] != rune('+') { - goto l443 + goto l454 } position++ - goto l441 - l443: - position, tokenIndex = position441, tokenIndex441 + goto l452 + l454: + position, tokenIndex = position452, tokenIndex452 if buffer[position] != rune('-') { - goto l439 + goto l450 } position++ } - l441: - goto l440 - l439: - position, tokenIndex = position439, tokenIndex439 + l452: + goto l451 + l450: + position, tokenIndex = position450, tokenIndex450 } - l440: - add(ruleInstructionName, position428) + l451: + add(ruleInstructionName, position439) } return true - l427: - position, tokenIndex = position427, tokenIndex427 + l438: + position, tokenIndex = position438, tokenIndex438 return false }, /* 34 InstructionArg <- <(IndirectionIndicator? (ARMConstantTweak / RegisterOrConstant / LocalLabelRef / TOCRefHigh / TOCRefLow / GOTLocation / GOTSymbolOffset / MemoryRef) AVX512Token*)> */ func() bool { - position444, tokenIndex444 := position, tokenIndex + position455, tokenIndex455 := position, tokenIndex { - position445 := position + position456 := position { - position446, tokenIndex446 := position, tokenIndex + position457, tokenIndex457 := position, tokenIndex if !_rules[ruleIndirectionIndicator]() { - goto l446 + goto l457 } - goto l447 - l446: - position, tokenIndex = position446, tokenIndex446 + goto l458 + l457: + position, tokenIndex = position457, tokenIndex457 } - l447: + l458: { - position448, tokenIndex448 := position, tokenIndex + position459, tokenIndex459 := position, tokenIndex if !_rules[ruleARMConstantTweak]() { - goto l449 + goto l460 } - goto l448 - l449: - position, tokenIndex = position448, tokenIndex448 + goto l459 + l460: + position, tokenIndex = position459, tokenIndex459 if !_rules[ruleRegisterOrConstant]() { - goto l450 + goto l461 } - goto l448 - l450: - position, tokenIndex = position448, tokenIndex448 + goto l459 + l461: + position, tokenIndex = position459, tokenIndex459 if !_rules[ruleLocalLabelRef]() { - goto l451 + goto l462 } - goto l448 - l451: - position, tokenIndex = position448, tokenIndex448 + goto l459 + l462: + position, tokenIndex = position459, tokenIndex459 if !_rules[ruleTOCRefHigh]() { - goto l452 + goto l463 } - goto l448 - l452: - position, tokenIndex = position448, tokenIndex448 + goto l459 + l463: + position, tokenIndex = position459, tokenIndex459 if !_rules[ruleTOCRefLow]() { - goto l453 + goto l464 } - goto l448 - l453: - position, tokenIndex = position448, tokenIndex448 + goto l459 + l464: + position, tokenIndex = position459, tokenIndex459 if !_rules[ruleGOTLocation]() { - goto l454 + goto l465 } - goto l448 - l454: - position, tokenIndex = position448, tokenIndex448 + goto l459 + l465: + position, tokenIndex = position459, tokenIndex459 if !_rules[ruleGOTSymbolOffset]() { - goto l455 + goto l466 } - goto l448 - l455: - position, tokenIndex = position448, tokenIndex448 + goto l459 + l466: + position, tokenIndex = position459, tokenIndex459 if !_rules[ruleMemoryRef]() { - goto l444 + goto l455 } } - l448: - l456: + l459: + l467: { - position457, tokenIndex457 := position, tokenIndex + position468, tokenIndex468 := position, tokenIndex if !_rules[ruleAVX512Token]() { - goto l457 + goto l468 } - goto l456 - l457: - position, tokenIndex = position457, tokenIndex457 + goto l467 + l468: + position, tokenIndex = position468, tokenIndex468 } - add(ruleInstructionArg, position445) + add(ruleInstructionArg, position456) } return true - l444: - position, tokenIndex = position444, tokenIndex444 + l455: + position, tokenIndex = position455, tokenIndex455 return false }, /* 35 GOTLocation <- <('$' '_' 'G' 'L' 'O' 'B' 'A' 'L' '_' 'O' 'F' 'F' 'S' 'E' 'T' '_' 'T' 'A' 'B' 'L' 'E' '_' '-' LocalSymbol)> */ func() bool { - position458, tokenIndex458 := position, tokenIndex + position469, tokenIndex469 := position, tokenIndex { - position459 := position + position470 := position if buffer[position] != rune('$') { - goto l458 + goto l469 } position++ if buffer[position] != rune('_') { - goto l458 + goto l469 } position++ if buffer[position] != rune('G') { - goto l458 + goto l469 } position++ if buffer[position] != rune('L') { - goto l458 + goto l469 } position++ if buffer[position] != rune('O') { - goto l458 + goto l469 } position++ if buffer[position] != rune('B') { - goto l458 + goto l469 } position++ if buffer[position] != rune('A') { - goto l458 + goto l469 } position++ if buffer[position] != rune('L') { - goto l458 + goto l469 } position++ if buffer[position] != rune('_') { - goto l458 + goto l469 } position++ if buffer[position] != rune('O') { - goto l458 + goto l469 } position++ if buffer[position] != rune('F') { - goto l458 + goto l469 } position++ if buffer[position] != rune('F') { - goto l458 + goto l469 } position++ if buffer[position] != rune('S') { - goto l458 + goto l469 } position++ if buffer[position] != rune('E') { - goto l458 + goto l469 } position++ if buffer[position] != rune('T') { - goto l458 + goto l469 } position++ if buffer[position] != rune('_') { - goto l458 + goto l469 } position++ if buffer[position] != rune('T') { - goto l458 + goto l469 } position++ if buffer[position] != rune('A') { - goto l458 + goto l469 } position++ if buffer[position] != rune('B') { - goto l458 + goto l469 } position++ if buffer[position] != rune('L') { - goto l458 + goto l469 } position++ if buffer[position] != rune('E') { - goto l458 + goto l469 } position++ if buffer[position] != rune('_') { - goto l458 + goto l469 } position++ if buffer[position] != rune('-') { - goto l458 + goto l469 } position++ if !_rules[ruleLocalSymbol]() { - goto l458 + goto l469 } - add(ruleGOTLocation, position459) + add(ruleGOTLocation, position470) } return true - l458: - position, tokenIndex = position458, tokenIndex458 + l469: + position, tokenIndex = position469, tokenIndex469 return false }, /* 36 GOTSymbolOffset <- <(('$' SymbolName ('@' 'G' 'O' 'T') ('O' 'F' 'F')?) / (':' ('g' / 'G') ('o' / 'O') ('t' / 'T') ':' SymbolName))> */ func() bool { - position460, tokenIndex460 := position, tokenIndex + position471, tokenIndex471 := position, tokenIndex { - position461 := position + position472 := position { - position462, tokenIndex462 := position, tokenIndex + position473, tokenIndex473 := position, tokenIndex if buffer[position] != rune('$') { - goto l463 + goto l474 } position++ if !_rules[ruleSymbolName]() { - goto l463 + goto l474 } if buffer[position] != rune('@') { - goto l463 + goto l474 } position++ if buffer[position] != rune('G') { - goto l463 + goto l474 } position++ if buffer[position] != rune('O') { - goto l463 + goto l474 } position++ if buffer[position] != rune('T') { - goto l463 + goto l474 } position++ { - position464, tokenIndex464 := position, tokenIndex + position475, tokenIndex475 := position, tokenIndex if buffer[position] != rune('O') { - goto l464 + goto l475 } position++ if buffer[position] != rune('F') { - goto l464 + goto l475 } position++ if buffer[position] != rune('F') { - goto l464 + goto l475 } position++ - goto l465 - l464: - position, tokenIndex = position464, tokenIndex464 + goto l476 + l475: + position, tokenIndex = position475, tokenIndex475 } - l465: - goto l462 - l463: - position, tokenIndex = position462, tokenIndex462 + l476: + goto l473 + l474: + position, tokenIndex = position473, tokenIndex473 if buffer[position] != rune(':') { - goto l460 + goto l471 } position++ { - position466, tokenIndex466 := position, tokenIndex + position477, tokenIndex477 := position, tokenIndex if buffer[position] != rune('g') { - goto l467 + goto l478 } position++ - goto l466 - l467: - position, tokenIndex = position466, tokenIndex466 + goto l477 + l478: + position, tokenIndex = position477, tokenIndex477 if buffer[position] != rune('G') { - goto l460 + goto l471 } position++ } - l466: + l477: { - position468, tokenIndex468 := position, tokenIndex + position479, tokenIndex479 := position, tokenIndex if buffer[position] != rune('o') { - goto l469 + goto l480 } position++ - goto l468 - l469: - position, tokenIndex = position468, tokenIndex468 + goto l479 + l480: + position, tokenIndex = position479, tokenIndex479 if buffer[position] != rune('O') { - goto l460 + goto l471 } position++ } - l468: + l479: { - position470, tokenIndex470 := position, tokenIndex + position481, tokenIndex481 := position, tokenIndex if buffer[position] != rune('t') { - goto l471 + goto l482 } position++ - goto l470 - l471: - position, tokenIndex = position470, tokenIndex470 + goto l481 + l482: + position, tokenIndex = position481, tokenIndex481 if buffer[position] != rune('T') { - goto l460 + goto l471 } position++ } - l470: + l481: if buffer[position] != rune(':') { - goto l460 + goto l471 } position++ if !_rules[ruleSymbolName]() { - goto l460 + goto l471 } } - l462: - add(ruleGOTSymbolOffset, position461) + l473: + add(ruleGOTSymbolOffset, position472) } return true - l460: - position, tokenIndex = position460, tokenIndex460 + l471: + position, tokenIndex = position471, tokenIndex471 return false }, /* 37 AVX512Token <- <(WS? '{' '%'? ([0-9] / [a-z])* '}')> */ func() bool { - position472, tokenIndex472 := position, tokenIndex + position483, tokenIndex483 := position, tokenIndex { - position473 := position + position484 := position { - position474, tokenIndex474 := position, tokenIndex + position485, tokenIndex485 := position, tokenIndex if !_rules[ruleWS]() { - goto l474 + goto l485 } - goto l475 - l474: - position, tokenIndex = position474, tokenIndex474 + goto l486 + l485: + position, tokenIndex = position485, tokenIndex485 } - l475: + l486: if buffer[position] != rune('{') { - goto l472 + goto l483 } position++ { - position476, tokenIndex476 := position, tokenIndex + position487, tokenIndex487 := position, tokenIndex if buffer[position] != rune('%') { - goto l476 + goto l487 } position++ - goto l477 - l476: - position, tokenIndex = position476, tokenIndex476 + goto l488 + l487: + position, tokenIndex = position487, tokenIndex487 } - l477: - l478: + l488: + l489: { - position479, tokenIndex479 := position, tokenIndex + position490, tokenIndex490 := position, tokenIndex { - position480, tokenIndex480 := position, tokenIndex + position491, tokenIndex491 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l481 + goto l492 } position++ - goto l480 - l481: - position, tokenIndex = position480, tokenIndex480 + goto l491 + l492: + position, tokenIndex = position491, tokenIndex491 if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l479 + goto l490 } position++ } - l480: - goto l478 - l479: - position, tokenIndex = position479, tokenIndex479 + l491: + goto l489 + l490: + position, tokenIndex = position490, tokenIndex490 } if buffer[position] != rune('}') { - goto l472 + goto l483 } position++ - add(ruleAVX512Token, position473) + add(ruleAVX512Token, position484) } return true - l472: - position, tokenIndex = position472, tokenIndex472 + l483: + position, tokenIndex = position483, tokenIndex483 return false }, /* 38 TOCRefHigh <- <('.' 'T' 'O' 'C' '.' '-' (('0' 'b') / ('.' 'L' ([a-z] / [A-Z] / '_' / [0-9])+)) ('@' ('h' / 'H') ('a' / 'A')))> */ func() bool { - position482, tokenIndex482 := position, tokenIndex + position493, tokenIndex493 := position, tokenIndex { - position483 := position + position494 := position if buffer[position] != rune('.') { - goto l482 + goto l493 } position++ if buffer[position] != rune('T') { - goto l482 + goto l493 } position++ if buffer[position] != rune('O') { - goto l482 + goto l493 } position++ if buffer[position] != rune('C') { - goto l482 + goto l493 } position++ if buffer[position] != rune('.') { - goto l482 + goto l493 } position++ if buffer[position] != rune('-') { - goto l482 + goto l493 } position++ { - position484, tokenIndex484 := position, tokenIndex + position495, tokenIndex495 := position, tokenIndex if buffer[position] != rune('0') { - goto l485 + goto l496 } position++ if buffer[position] != rune('b') { - goto l485 + goto l496 } position++ - goto l484 - l485: - position, tokenIndex = position484, tokenIndex484 + goto l495 + l496: + position, tokenIndex = position495, tokenIndex495 if buffer[position] != rune('.') { - goto l482 + goto l493 } position++ if buffer[position] != rune('L') { - goto l482 + goto l493 } position++ { - position488, tokenIndex488 := position, tokenIndex + position499, tokenIndex499 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l489 + goto l500 } position++ - goto l488 - l489: - position, tokenIndex = position488, tokenIndex488 + goto l499 + l500: + position, tokenIndex = position499, tokenIndex499 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l490 + goto l501 } position++ - goto l488 - l490: - position, tokenIndex = position488, tokenIndex488 + goto l499 + l501: + position, tokenIndex = position499, tokenIndex499 if buffer[position] != rune('_') { - goto l491 + goto l502 } position++ - goto l488 - l491: - position, tokenIndex = position488, tokenIndex488 + goto l499 + l502: + position, tokenIndex = position499, tokenIndex499 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l482 + goto l493 } position++ } - l488: - l486: + l499: + l497: { - position487, tokenIndex487 := position, tokenIndex + position498, tokenIndex498 := position, tokenIndex { - position492, tokenIndex492 := position, tokenIndex + position503, tokenIndex503 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l493 + goto l504 } position++ - goto l492 - l493: - position, tokenIndex = position492, tokenIndex492 + goto l503 + l504: + position, tokenIndex = position503, tokenIndex503 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l494 + goto l505 } position++ - goto l492 - l494: - position, tokenIndex = position492, tokenIndex492 + goto l503 + l505: + position, tokenIndex = position503, tokenIndex503 if buffer[position] != rune('_') { - goto l495 + goto l506 } position++ - goto l492 - l495: - position, tokenIndex = position492, tokenIndex492 + goto l503 + l506: + position, tokenIndex = position503, tokenIndex503 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l487 + goto l498 } position++ } - l492: - goto l486 - l487: - position, tokenIndex = position487, tokenIndex487 + l503: + goto l497 + l498: + position, tokenIndex = position498, tokenIndex498 } } - l484: + l495: if buffer[position] != rune('@') { - goto l482 + goto l493 } position++ { - position496, tokenIndex496 := position, tokenIndex + position507, tokenIndex507 := position, tokenIndex if buffer[position] != rune('h') { - goto l497 + goto l508 } position++ - goto l496 - l497: - position, tokenIndex = position496, tokenIndex496 + goto l507 + l508: + position, tokenIndex = position507, tokenIndex507 if buffer[position] != rune('H') { - goto l482 + goto l493 } position++ } - l496: + l507: { - position498, tokenIndex498 := position, tokenIndex + position509, tokenIndex509 := position, tokenIndex if buffer[position] != rune('a') { - goto l499 + goto l510 } position++ - goto l498 - l499: - position, tokenIndex = position498, tokenIndex498 + goto l509 + l510: + position, tokenIndex = position509, tokenIndex509 if buffer[position] != rune('A') { - goto l482 + goto l493 } position++ } - l498: - add(ruleTOCRefHigh, position483) + l509: + add(ruleTOCRefHigh, position494) } return true - l482: - position, tokenIndex = position482, tokenIndex482 + l493: + position, tokenIndex = position493, tokenIndex493 return false }, /* 39 TOCRefLow <- <('.' 'T' 'O' 'C' '.' '-' (('0' 'b') / ('.' 'L' ([a-z] / [A-Z] / '_' / [0-9])+)) ('@' ('l' / 'L')))> */ func() bool { - position500, tokenIndex500 := position, tokenIndex + position511, tokenIndex511 := position, tokenIndex { - position501 := position + position512 := position if buffer[position] != rune('.') { - goto l500 + goto l511 } position++ if buffer[position] != rune('T') { - goto l500 + goto l511 } position++ if buffer[position] != rune('O') { - goto l500 + goto l511 } position++ if buffer[position] != rune('C') { - goto l500 + goto l511 } position++ if buffer[position] != rune('.') { - goto l500 + goto l511 } position++ if buffer[position] != rune('-') { - goto l500 + goto l511 } position++ { - position502, tokenIndex502 := position, tokenIndex + position513, tokenIndex513 := position, tokenIndex if buffer[position] != rune('0') { - goto l503 + goto l514 } position++ if buffer[position] != rune('b') { - goto l503 + goto l514 } position++ - goto l502 - l503: - position, tokenIndex = position502, tokenIndex502 + goto l513 + l514: + position, tokenIndex = position513, tokenIndex513 if buffer[position] != rune('.') { - goto l500 + goto l511 } position++ if buffer[position] != rune('L') { - goto l500 + goto l511 } position++ { - position506, tokenIndex506 := position, tokenIndex + position517, tokenIndex517 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l507 + goto l518 } position++ - goto l506 - l507: - position, tokenIndex = position506, tokenIndex506 + goto l517 + l518: + position, tokenIndex = position517, tokenIndex517 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l508 + goto l519 } position++ - goto l506 - l508: - position, tokenIndex = position506, tokenIndex506 + goto l517 + l519: + position, tokenIndex = position517, tokenIndex517 if buffer[position] != rune('_') { - goto l509 + goto l520 } position++ - goto l506 - l509: - position, tokenIndex = position506, tokenIndex506 + goto l517 + l520: + position, tokenIndex = position517, tokenIndex517 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l500 + goto l511 } position++ } - l506: - l504: + l517: + l515: { - position505, tokenIndex505 := position, tokenIndex + position516, tokenIndex516 := position, tokenIndex { - position510, tokenIndex510 := position, tokenIndex + position521, tokenIndex521 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l511 + goto l522 } position++ - goto l510 - l511: - position, tokenIndex = position510, tokenIndex510 + goto l521 + l522: + position, tokenIndex = position521, tokenIndex521 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l512 + goto l523 } position++ - goto l510 - l512: - position, tokenIndex = position510, tokenIndex510 + goto l521 + l523: + position, tokenIndex = position521, tokenIndex521 if buffer[position] != rune('_') { - goto l513 + goto l524 } position++ - goto l510 - l513: - position, tokenIndex = position510, tokenIndex510 + goto l521 + l524: + position, tokenIndex = position521, tokenIndex521 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l505 + goto l516 } position++ } - l510: - goto l504 - l505: - position, tokenIndex = position505, tokenIndex505 + l521: + goto l515 + l516: + position, tokenIndex = position516, tokenIndex516 } } - l502: + l513: if buffer[position] != rune('@') { - goto l500 + goto l511 } position++ { - position514, tokenIndex514 := position, tokenIndex + position525, tokenIndex525 := position, tokenIndex if buffer[position] != rune('l') { - goto l515 + goto l526 } position++ - goto l514 - l515: - position, tokenIndex = position514, tokenIndex514 + goto l525 + l526: + position, tokenIndex = position525, tokenIndex525 if buffer[position] != rune('L') { - goto l500 + goto l511 } position++ } - l514: - add(ruleTOCRefLow, position501) + l525: + add(ruleTOCRefLow, position512) } return true - l500: - position, tokenIndex = position500, tokenIndex500 + l511: + position, tokenIndex = position511, tokenIndex511 return false }, /* 40 IndirectionIndicator <- <'*'> */ func() bool { - position516, tokenIndex516 := position, tokenIndex + position527, tokenIndex527 := position, tokenIndex { - position517 := position + position528 := position if buffer[position] != rune('*') { - goto l516 + goto l527 } position++ - add(ruleIndirectionIndicator, position517) + add(ruleIndirectionIndicator, position528) } return true - l516: - position, tokenIndex = position516, tokenIndex516 + l527: + position, tokenIndex = position527, tokenIndex527 return false }, /* 41 RegisterOrConstant <- <((('%' ([a-z] / [A-Z]) ([a-z] / [A-Z] / ([0-9] / [0-9]))*) / ('$'? ((Offset Offset) / Offset)) / ('#' Offset ('*' [0-9]+ ('-' [0-9] [0-9]*)?)?) / ('#' '~'? '(' [0-9] WS? ('<' '<') WS? [0-9] ')') / ARMRegister) !('f' / 'b' / ':' / '(' / '+' / '-'))> */ func() bool { - position518, tokenIndex518 := position, tokenIndex + position529, tokenIndex529 := position, tokenIndex { - position519 := position + position530 := position { - position520, tokenIndex520 := position, tokenIndex + position531, tokenIndex531 := position, tokenIndex if buffer[position] != rune('%') { - goto l521 + goto l532 } position++ { - position522, tokenIndex522 := position, tokenIndex + position533, tokenIndex533 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l523 + goto l534 } position++ - goto l522 - l523: - position, tokenIndex = position522, tokenIndex522 + goto l533 + l534: + position, tokenIndex = position533, tokenIndex533 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l521 + goto l532 } position++ } - l522: - l524: + l533: + l535: { - position525, tokenIndex525 := position, tokenIndex + position536, tokenIndex536 := position, tokenIndex { - position526, tokenIndex526 := position, tokenIndex + position537, tokenIndex537 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l527 + goto l538 } position++ - goto l526 - l527: - position, tokenIndex = position526, tokenIndex526 + goto l537 + l538: + position, tokenIndex = position537, tokenIndex537 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l528 + goto l539 } position++ - goto l526 - l528: - position, tokenIndex = position526, tokenIndex526 + goto l537 + l539: + position, tokenIndex = position537, tokenIndex537 { - position529, tokenIndex529 := position, tokenIndex + position540, tokenIndex540 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - 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('0') || c > rune('9') { - goto l525 + goto l536 } position++ } - l529: + l540: } - l526: - goto l524 - l525: - position, tokenIndex = position525, tokenIndex525 + l537: + goto l535 + l536: + position, tokenIndex = position536, tokenIndex536 } - goto l520 - l521: - position, tokenIndex = position520, tokenIndex520 + goto l531 + l532: + position, tokenIndex = position531, tokenIndex531 { - position532, tokenIndex532 := position, tokenIndex + position543, tokenIndex543 := position, tokenIndex if buffer[position] != rune('$') { - goto l532 + goto l543 } position++ - goto l533 - l532: - position, tokenIndex = position532, tokenIndex532 + goto l544 + l543: + position, tokenIndex = position543, tokenIndex543 } - l533: + l544: { - position534, tokenIndex534 := position, tokenIndex + position545, tokenIndex545 := position, tokenIndex if !_rules[ruleOffset]() { - goto l535 + goto l546 } if !_rules[ruleOffset]() { - goto l535 + goto l546 } - goto l534 - l535: - position, tokenIndex = position534, tokenIndex534 + goto l545 + l546: + position, tokenIndex = position545, tokenIndex545 if !_rules[ruleOffset]() { - goto l531 + goto l542 } } - l534: - goto l520 - l531: - position, tokenIndex = position520, tokenIndex520 + l545: + goto l531 + l542: + position, tokenIndex = position531, tokenIndex531 if buffer[position] != rune('#') { - goto l536 + goto l547 } position++ if !_rules[ruleOffset]() { - goto l536 + goto l547 } { - position537, tokenIndex537 := position, tokenIndex + position548, tokenIndex548 := position, tokenIndex if buffer[position] != rune('*') { - goto l537 + goto l548 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l537 + goto l548 } position++ - l539: + l550: { - position540, tokenIndex540 := position, tokenIndex + position551, tokenIndex551 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l540 + goto l551 } position++ - goto l539 - l540: - position, tokenIndex = position540, tokenIndex540 + goto l550 + l551: + position, tokenIndex = position551, tokenIndex551 } { - position541, tokenIndex541 := position, tokenIndex + position552, tokenIndex552 := position, tokenIndex if buffer[position] != rune('-') { - goto l541 + goto l552 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l541 + goto l552 } position++ - l543: + l554: { - position544, tokenIndex544 := position, tokenIndex + position555, tokenIndex555 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l544 + goto l555 } position++ - goto l543 - l544: - position, tokenIndex = position544, tokenIndex544 + goto l554 + l555: + position, tokenIndex = position555, tokenIndex555 } - goto l542 - l541: - position, tokenIndex = position541, tokenIndex541 + goto l553 + l552: + position, tokenIndex = position552, tokenIndex552 } - l542: - goto l538 - l537: - position, tokenIndex = position537, tokenIndex537 + l553: + goto l549 + l548: + position, tokenIndex = position548, tokenIndex548 } - l538: - goto l520 - l536: - position, tokenIndex = position520, tokenIndex520 + l549: + goto l531 + l547: + position, tokenIndex = position531, tokenIndex531 if buffer[position] != rune('#') { - goto l545 + goto l556 } position++ { - position546, tokenIndex546 := position, tokenIndex + position557, tokenIndex557 := position, tokenIndex if buffer[position] != rune('~') { - goto l546 + goto l557 } position++ - goto l547 - l546: - position, tokenIndex = position546, tokenIndex546 + goto l558 + l557: + position, tokenIndex = position557, tokenIndex557 } - l547: + l558: if buffer[position] != rune('(') { - goto l545 + goto l556 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l545 + goto l556 } position++ { - position548, tokenIndex548 := position, tokenIndex + position559, tokenIndex559 := position, tokenIndex if !_rules[ruleWS]() { - goto l548 + goto l559 } - goto l549 - l548: - position, tokenIndex = position548, tokenIndex548 + goto l560 + l559: + position, tokenIndex = position559, tokenIndex559 } - l549: + l560: if buffer[position] != rune('<') { - goto l545 + goto l556 } position++ if buffer[position] != rune('<') { - goto l545 + goto l556 } position++ { - position550, tokenIndex550 := position, tokenIndex + position561, tokenIndex561 := position, tokenIndex if !_rules[ruleWS]() { - goto l550 + goto l561 } - goto l551 - l550: - position, tokenIndex = position550, tokenIndex550 + goto l562 + l561: + position, tokenIndex = position561, tokenIndex561 } - l551: + l562: if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l545 + goto l556 } position++ if buffer[position] != rune(')') { - goto l545 + goto l556 } position++ - goto l520 - l545: - position, tokenIndex = position520, tokenIndex520 + goto l531 + l556: + position, tokenIndex = position531, tokenIndex531 if !_rules[ruleARMRegister]() { - goto l518 + goto l529 } } - l520: + l531: { - position552, tokenIndex552 := position, tokenIndex + position563, tokenIndex563 := position, tokenIndex { - position553, tokenIndex553 := position, tokenIndex + position564, tokenIndex564 := position, tokenIndex if buffer[position] != rune('f') { - goto l554 + goto l565 } position++ - goto l553 - l554: - position, tokenIndex = position553, tokenIndex553 + goto l564 + l565: + position, tokenIndex = position564, tokenIndex564 if buffer[position] != rune('b') { - goto l555 + goto l566 } position++ - goto l553 - l555: - position, tokenIndex = position553, tokenIndex553 + goto l564 + l566: + position, tokenIndex = position564, tokenIndex564 if buffer[position] != rune(':') { - goto l556 + goto l567 } position++ - goto l553 - l556: - position, tokenIndex = position553, tokenIndex553 + goto l564 + l567: + position, tokenIndex = position564, tokenIndex564 if buffer[position] != rune('(') { - goto l557 + goto l568 } position++ - goto l553 - l557: - position, tokenIndex = position553, tokenIndex553 + goto l564 + l568: + position, tokenIndex = position564, tokenIndex564 if buffer[position] != rune('+') { - goto l558 + goto l569 } position++ - goto l553 - l558: - position, tokenIndex = position553, tokenIndex553 + goto l564 + l569: + position, tokenIndex = position564, tokenIndex564 if buffer[position] != rune('-') { - goto l552 + goto l563 } position++ } - l553: - goto l518 - l552: - position, tokenIndex = position552, tokenIndex552 + l564: + goto l529 + l563: + position, tokenIndex = position563, tokenIndex563 } - add(ruleRegisterOrConstant, position519) + add(ruleRegisterOrConstant, position530) } return true - l518: - position, tokenIndex = position518, tokenIndex518 + l529: + position, tokenIndex = position529, tokenIndex529 return false }, /* 42 ARMConstantTweak <- <(((('u' / 's') (('x' / 'X') ('t' / 'T')) ('x' / 'w' / 'h' / 'b')) / (('l' / 'L') ('s' / 'S') ('l' / 'L')) / (('l' / 'L') ('s' / 'S') ('r' / 'R')) / (('r' / 'R') ('o' / 'O') ('r' / 'R')) / (('a' / 'A') ('s' / 'S') ('r' / 'R'))) (WS '#' Offset)?)> */ func() bool { - position559, tokenIndex559 := position, tokenIndex + position570, tokenIndex570 := position, tokenIndex { - position560 := position + position571 := position { - position561, tokenIndex561 := position, tokenIndex + position572, tokenIndex572 := position, tokenIndex { - position563, tokenIndex563 := position, tokenIndex + position574, tokenIndex574 := position, tokenIndex if buffer[position] != rune('u') { - goto l564 + goto l575 } position++ - goto l563 - l564: - position, tokenIndex = position563, tokenIndex563 + goto l574 + l575: + position, tokenIndex = position574, tokenIndex574 if buffer[position] != rune('s') { - goto l562 + goto l573 } position++ } - l563: + l574: { - position565, tokenIndex565 := position, tokenIndex + position576, tokenIndex576 := position, tokenIndex if buffer[position] != rune('x') { - goto l566 + goto l577 } position++ - goto l565 - l566: - position, tokenIndex = position565, tokenIndex565 + goto l576 + l577: + position, tokenIndex = position576, tokenIndex576 if buffer[position] != rune('X') { - goto l562 + goto l573 } position++ } - l565: + l576: { - position567, tokenIndex567 := position, tokenIndex + position578, tokenIndex578 := position, tokenIndex if buffer[position] != rune('t') { - goto l568 + goto l579 } position++ - goto l567 - l568: - position, tokenIndex = position567, tokenIndex567 + goto l578 + l579: + position, tokenIndex = position578, tokenIndex578 if buffer[position] != rune('T') { - goto l562 + goto l573 } position++ } - l567: + l578: { - position569, tokenIndex569 := position, tokenIndex + position580, tokenIndex580 := position, tokenIndex if buffer[position] != rune('x') { - goto l570 + goto l581 } position++ - goto l569 - l570: - position, tokenIndex = position569, tokenIndex569 + goto l580 + l581: + position, tokenIndex = position580, tokenIndex580 if buffer[position] != rune('w') { - goto l571 + goto l582 } position++ - goto l569 - l571: - position, tokenIndex = position569, tokenIndex569 + goto l580 + l582: + position, tokenIndex = position580, tokenIndex580 if buffer[position] != rune('h') { - goto l572 + goto l583 } position++ - goto l569 - l572: - position, tokenIndex = position569, tokenIndex569 + goto l580 + l583: + position, tokenIndex = position580, tokenIndex580 if buffer[position] != rune('b') { - goto l562 + goto l573 } position++ } - l569: - goto l561 - l562: - position, tokenIndex = position561, tokenIndex561 + l580: + goto l572 + l573: + position, tokenIndex = position572, tokenIndex572 { - position574, tokenIndex574 := position, tokenIndex + position585, tokenIndex585 := position, tokenIndex if buffer[position] != rune('l') { - goto l575 + goto l586 } position++ - goto l574 - l575: - position, tokenIndex = position574, tokenIndex574 + goto l585 + l586: + position, tokenIndex = position585, tokenIndex585 if buffer[position] != rune('L') { - goto l573 + goto l584 } position++ } - l574: + l585: { - position576, tokenIndex576 := position, tokenIndex + position587, tokenIndex587 := position, tokenIndex if buffer[position] != rune('s') { - goto l577 + goto l588 } position++ - goto l576 - l577: - position, tokenIndex = position576, tokenIndex576 + goto l587 + l588: + position, tokenIndex = position587, tokenIndex587 if buffer[position] != rune('S') { - goto l573 + goto l584 } position++ } - l576: + l587: { - position578, tokenIndex578 := position, tokenIndex + position589, tokenIndex589 := position, tokenIndex if buffer[position] != rune('l') { - goto l579 + goto l590 } position++ - goto l578 - l579: - position, tokenIndex = position578, tokenIndex578 + goto l589 + l590: + position, tokenIndex = position589, tokenIndex589 if buffer[position] != rune('L') { - goto l573 + goto l584 } position++ } - l578: - goto l561 - l573: - position, tokenIndex = position561, tokenIndex561 + l589: + goto l572 + l584: + position, tokenIndex = position572, tokenIndex572 { - position581, tokenIndex581 := position, tokenIndex + position592, tokenIndex592 := position, tokenIndex if buffer[position] != rune('l') { - goto l582 + goto l593 } position++ - goto l581 - l582: - position, tokenIndex = position581, tokenIndex581 + goto l592 + l593: + position, tokenIndex = position592, tokenIndex592 if buffer[position] != rune('L') { - goto l580 + goto l591 } position++ } - l581: + l592: { - position583, tokenIndex583 := position, tokenIndex + position594, tokenIndex594 := position, tokenIndex if buffer[position] != rune('s') { - goto l584 + goto l595 } position++ - goto l583 - l584: - position, tokenIndex = position583, tokenIndex583 + goto l594 + l595: + position, tokenIndex = position594, tokenIndex594 if buffer[position] != rune('S') { - goto l580 + goto l591 } position++ } - l583: + l594: { - position585, tokenIndex585 := position, tokenIndex + position596, tokenIndex596 := position, tokenIndex if buffer[position] != rune('r') { - goto l586 + goto l597 } position++ - goto l585 - l586: - position, tokenIndex = position585, tokenIndex585 + goto l596 + l597: + position, tokenIndex = position596, tokenIndex596 if buffer[position] != rune('R') { - goto l580 + goto l591 } position++ } - l585: - goto l561 - l580: - position, tokenIndex = position561, tokenIndex561 + l596: + goto l572 + l591: + position, tokenIndex = position572, tokenIndex572 { - position588, tokenIndex588 := position, tokenIndex + position599, tokenIndex599 := position, tokenIndex if buffer[position] != rune('r') { - goto l589 + goto l600 } position++ - goto l588 - l589: - position, tokenIndex = position588, tokenIndex588 + goto l599 + l600: + position, tokenIndex = position599, tokenIndex599 if buffer[position] != rune('R') { - goto l587 + goto l598 } position++ } - l588: + l599: { - position590, tokenIndex590 := position, tokenIndex + position601, tokenIndex601 := position, tokenIndex if buffer[position] != rune('o') { - goto l591 + goto l602 } position++ - goto l590 - l591: - position, tokenIndex = position590, tokenIndex590 + goto l601 + l602: + position, tokenIndex = position601, tokenIndex601 if buffer[position] != rune('O') { - goto l587 + goto l598 } position++ } - l590: + l601: { - position592, tokenIndex592 := position, tokenIndex + position603, tokenIndex603 := position, tokenIndex if buffer[position] != rune('r') { - goto l593 + goto l604 } position++ - goto l592 - l593: - position, tokenIndex = position592, tokenIndex592 + goto l603 + l604: + position, tokenIndex = position603, tokenIndex603 if buffer[position] != rune('R') { - goto l587 + goto l598 } position++ } - l592: - goto l561 - l587: - position, tokenIndex = position561, tokenIndex561 + l603: + goto l572 + l598: + position, tokenIndex = position572, tokenIndex572 { - position594, tokenIndex594 := position, tokenIndex + position605, tokenIndex605 := position, tokenIndex if buffer[position] != rune('a') { - goto l595 + goto l606 } position++ - goto l594 - l595: - position, tokenIndex = position594, tokenIndex594 + goto l605 + l606: + position, tokenIndex = position605, tokenIndex605 if buffer[position] != rune('A') { - goto l559 + goto l570 } position++ } - l594: + l605: { - position596, tokenIndex596 := position, tokenIndex + position607, tokenIndex607 := position, tokenIndex if buffer[position] != rune('s') { - goto l597 + goto l608 } position++ - goto l596 - l597: - position, tokenIndex = position596, tokenIndex596 + goto l607 + l608: + position, tokenIndex = position607, tokenIndex607 if buffer[position] != rune('S') { - goto l559 + goto l570 } position++ } - l596: + l607: { - position598, tokenIndex598 := position, tokenIndex + position609, tokenIndex609 := position, tokenIndex if buffer[position] != rune('r') { - goto l599 + goto l610 } position++ - goto l598 - l599: - position, tokenIndex = position598, tokenIndex598 + goto l609 + l610: + position, tokenIndex = position609, tokenIndex609 if buffer[position] != rune('R') { - goto l559 + goto l570 } position++ } - l598: + l609: } - l561: + l572: { - position600, tokenIndex600 := position, tokenIndex + position611, tokenIndex611 := position, tokenIndex if !_rules[ruleWS]() { - goto l600 + goto l611 } if buffer[position] != rune('#') { - goto l600 + goto l611 } position++ if !_rules[ruleOffset]() { - goto l600 + goto l611 } - goto l601 - l600: - position, tokenIndex = position600, tokenIndex600 + goto l612 + l611: + position, tokenIndex = position611, tokenIndex611 } - l601: - add(ruleARMConstantTweak, position560) + l612: + add(ruleARMConstantTweak, position571) } return true - l559: - position, tokenIndex = position559, tokenIndex559 + l570: + position, tokenIndex = position570, tokenIndex570 return false }, /* 43 ARMRegister <- <((('s' / 'S') ('p' / 'P')) / (('x' / 'w' / 'd' / 'q' / 's' / 'h' / 'b') [0-9] [0-9]?) / (('x' / 'X') ('z' / 'Z') ('r' / 'R')) / (('w' / 'W') ('z' / 'Z') ('r' / 'R')) / (('n' / 'N') ('z' / 'Z') ('c' / 'C') ('v' / 'V')) / ARMVectorRegister / ('{' WS? ARMVectorRegister (',' WS? ARMVectorRegister)* WS? '}' ('[' [0-9] [0-9]? ']')?))> */ func() bool { - position602, tokenIndex602 := position, tokenIndex + position613, tokenIndex613 := position, tokenIndex { - position603 := position + position614 := position { - position604, tokenIndex604 := position, tokenIndex + position615, tokenIndex615 := position, tokenIndex { - position606, tokenIndex606 := position, tokenIndex + position617, tokenIndex617 := position, tokenIndex if buffer[position] != rune('s') { - goto l607 + goto l618 } position++ - goto l606 - l607: - position, tokenIndex = position606, tokenIndex606 + goto l617 + l618: + position, tokenIndex = position617, tokenIndex617 if buffer[position] != rune('S') { - goto l605 + goto l616 } position++ } - l606: + l617: { - position608, tokenIndex608 := position, tokenIndex + position619, tokenIndex619 := position, tokenIndex if buffer[position] != rune('p') { - goto l609 + goto l620 } position++ - goto l608 - l609: - position, tokenIndex = position608, tokenIndex608 + goto l619 + l620: + position, tokenIndex = position619, tokenIndex619 if buffer[position] != rune('P') { - goto l605 + goto l616 } position++ } - l608: - goto l604 - l605: - position, tokenIndex = position604, tokenIndex604 + l619: + goto l615 + l616: + position, tokenIndex = position615, tokenIndex615 { - 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('d') { - goto l614 + goto l625 } position++ - goto l611 - l614: - position, tokenIndex = position611, tokenIndex611 + goto l622 + l625: + position, tokenIndex = position622, tokenIndex622 if buffer[position] != rune('q') { - goto l615 + goto l626 } position++ - goto l611 - l615: - position, tokenIndex = position611, tokenIndex611 + goto l622 + l626: + position, tokenIndex = position622, tokenIndex622 if buffer[position] != rune('s') { - goto l616 + goto l627 } position++ - goto l611 - l616: - position, tokenIndex = position611, tokenIndex611 + goto l622 + l627: + position, tokenIndex = position622, tokenIndex622 if buffer[position] != rune('h') { - goto l617 + goto l628 } position++ - goto l611 - l617: - position, tokenIndex = position611, tokenIndex611 + goto l622 + l628: + position, tokenIndex = position622, tokenIndex622 if buffer[position] != rune('b') { - goto l610 + goto l621 } position++ } - l611: + l622: if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l610 + goto l621 } position++ { - position618, tokenIndex618 := position, tokenIndex + position629, tokenIndex629 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l618 + goto l629 } - position++ - goto l619 - l618: - position, tokenIndex = position618, tokenIndex618 + position++ + goto l630 + l629: + position, tokenIndex = position629, tokenIndex629 } - l619: - goto l604 - l610: - position, tokenIndex = position604, tokenIndex604 + l630: + goto l615 + l621: + position, tokenIndex = position615, tokenIndex615 { - position621, tokenIndex621 := position, tokenIndex + position632, tokenIndex632 := position, tokenIndex if buffer[position] != rune('x') { - goto l622 + goto l633 } position++ - goto l621 - l622: - position, tokenIndex = position621, tokenIndex621 + goto l632 + l633: + position, tokenIndex = position632, tokenIndex632 if buffer[position] != rune('X') { - goto l620 + goto l631 } position++ } - l621: + l632: { - position623, tokenIndex623 := position, tokenIndex + position634, tokenIndex634 := position, tokenIndex if buffer[position] != rune('z') { - goto l624 + goto l635 } position++ - goto l623 - l624: - position, tokenIndex = position623, tokenIndex623 + goto l634 + l635: + position, tokenIndex = position634, tokenIndex634 if buffer[position] != rune('Z') { - goto l620 + goto l631 } position++ } - l623: + l634: { - position625, tokenIndex625 := position, tokenIndex + position636, tokenIndex636 := position, tokenIndex if buffer[position] != rune('r') { - goto l626 + goto l637 } position++ - goto l625 - l626: - position, tokenIndex = position625, tokenIndex625 + goto l636 + l637: + position, tokenIndex = position636, tokenIndex636 if buffer[position] != rune('R') { - goto l620 + goto l631 } position++ } - l625: - goto l604 - l620: - position, tokenIndex = position604, tokenIndex604 + l636: + goto l615 + l631: + position, tokenIndex = position615, tokenIndex615 { - position628, tokenIndex628 := position, tokenIndex + position639, tokenIndex639 := position, tokenIndex if buffer[position] != rune('w') { - goto l629 + goto l640 } position++ - goto l628 - l629: - position, tokenIndex = position628, tokenIndex628 + goto l639 + l640: + position, tokenIndex = position639, tokenIndex639 if buffer[position] != rune('W') { - goto l627 + goto l638 } position++ } - l628: + l639: { - position630, tokenIndex630 := position, tokenIndex + position641, tokenIndex641 := position, tokenIndex if buffer[position] != rune('z') { - goto l631 + goto l642 } position++ - goto l630 - l631: - position, tokenIndex = position630, tokenIndex630 + goto l641 + l642: + position, tokenIndex = position641, tokenIndex641 if buffer[position] != rune('Z') { - goto l627 + goto l638 } position++ } - l630: + l641: { - position632, tokenIndex632 := position, tokenIndex + position643, tokenIndex643 := position, tokenIndex if buffer[position] != rune('r') { - goto l633 + goto l644 } position++ - goto l632 - l633: - position, tokenIndex = position632, tokenIndex632 + goto l643 + l644: + position, tokenIndex = position643, tokenIndex643 if buffer[position] != rune('R') { - goto l627 + goto l638 } position++ } - l632: - goto l604 - l627: - position, tokenIndex = position604, tokenIndex604 + l643: + goto l615 + l638: + position, tokenIndex = position615, tokenIndex615 { - position635, tokenIndex635 := position, tokenIndex + position646, tokenIndex646 := position, tokenIndex if buffer[position] != rune('n') { - goto l636 + goto l647 } position++ - goto l635 - l636: - position, tokenIndex = position635, tokenIndex635 + goto l646 + l647: + position, tokenIndex = position646, tokenIndex646 if buffer[position] != rune('N') { - goto l634 + goto l645 } position++ } - l635: + l646: { - position637, tokenIndex637 := position, tokenIndex + position648, tokenIndex648 := position, tokenIndex if buffer[position] != rune('z') { - goto l638 + goto l649 } position++ - goto l637 - l638: - position, tokenIndex = position637, tokenIndex637 + goto l648 + l649: + position, tokenIndex = position648, tokenIndex648 if buffer[position] != rune('Z') { - goto l634 + goto l645 } position++ } - l637: + l648: { - position639, tokenIndex639 := position, tokenIndex + position650, tokenIndex650 := position, tokenIndex if buffer[position] != rune('c') { - goto l640 + goto l651 } position++ - goto l639 - l640: - position, tokenIndex = position639, tokenIndex639 + goto l650 + l651: + position, tokenIndex = position650, tokenIndex650 if buffer[position] != rune('C') { - goto l634 + goto l645 } position++ } - l639: + l650: { - position641, tokenIndex641 := position, tokenIndex + position652, tokenIndex652 := position, tokenIndex if buffer[position] != rune('v') { - goto l642 + goto l653 } position++ - goto l641 - l642: - position, tokenIndex = position641, tokenIndex641 + goto l652 + l653: + position, tokenIndex = position652, tokenIndex652 if buffer[position] != rune('V') { - goto l634 + goto l645 } position++ } - l641: - goto l604 - l634: - position, tokenIndex = position604, tokenIndex604 + l652: + goto l615 + l645: + position, tokenIndex = position615, tokenIndex615 if !_rules[ruleARMVectorRegister]() { - goto l643 + goto l654 } - goto l604 - l643: - position, tokenIndex = position604, tokenIndex604 + goto l615 + l654: + position, tokenIndex = position615, tokenIndex615 if buffer[position] != rune('{') { - goto l602 + goto l613 } position++ { - position644, tokenIndex644 := position, tokenIndex + position655, tokenIndex655 := position, tokenIndex if !_rules[ruleWS]() { - goto l644 + goto l655 } - goto l645 - l644: - position, tokenIndex = position644, tokenIndex644 + goto l656 + l655: + position, tokenIndex = position655, tokenIndex655 } - l645: + l656: if !_rules[ruleARMVectorRegister]() { - goto l602 + goto l613 } - l646: + l657: { - position647, tokenIndex647 := position, tokenIndex + position658, tokenIndex658 := position, tokenIndex if buffer[position] != rune(',') { - goto l647 + goto l658 } position++ { - position648, tokenIndex648 := position, tokenIndex + position659, tokenIndex659 := position, tokenIndex if !_rules[ruleWS]() { - goto l648 + goto l659 } - goto l649 - l648: - position, tokenIndex = position648, tokenIndex648 + goto l660 + l659: + position, tokenIndex = position659, tokenIndex659 } - l649: + l660: if !_rules[ruleARMVectorRegister]() { - goto l647 + goto l658 } - goto l646 - l647: - position, tokenIndex = position647, tokenIndex647 + goto l657 + l658: + position, tokenIndex = position658, tokenIndex658 } { - position650, tokenIndex650 := position, tokenIndex + position661, tokenIndex661 := position, tokenIndex if !_rules[ruleWS]() { - goto l650 + goto l661 } - goto l651 - l650: - position, tokenIndex = position650, tokenIndex650 + goto l662 + l661: + position, tokenIndex = position661, tokenIndex661 } - l651: + l662: if buffer[position] != rune('}') { - goto l602 + goto l613 } position++ { - position652, tokenIndex652 := position, tokenIndex + position663, tokenIndex663 := position, tokenIndex if buffer[position] != rune('[') { - goto l652 + goto l663 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l652 + goto l663 } position++ { - position654, tokenIndex654 := position, tokenIndex + position665, tokenIndex665 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l654 + goto l665 } position++ - goto l655 - l654: - position, tokenIndex = position654, tokenIndex654 + goto l666 + l665: + position, tokenIndex = position665, tokenIndex665 } - l655: + l666: if buffer[position] != rune(']') { - goto l652 + goto l663 } position++ - goto l653 - l652: - position, tokenIndex = position652, tokenIndex652 + goto l664 + l663: + position, tokenIndex = position663, tokenIndex663 } - l653: + l664: } - l604: - add(ruleARMRegister, position603) + l615: + add(ruleARMRegister, position614) } return true - l602: - position, tokenIndex = position602, tokenIndex602 + l613: + position, tokenIndex = position613, tokenIndex613 return false }, /* 44 ARMVectorRegister <- <(('v' / 'V') [0-9] [0-9]? ('.' [0-9]* ('b' / 's' / 'd' / 'h' / 'q') ('[' [0-9] [0-9]? ']')?)?)> */ func() bool { - position656, tokenIndex656 := position, tokenIndex + position667, tokenIndex667 := position, tokenIndex { - position657 := position + position668 := position { - position658, tokenIndex658 := position, tokenIndex + position669, tokenIndex669 := position, tokenIndex if buffer[position] != rune('v') { - goto l659 + goto l670 } position++ - goto l658 - l659: - position, tokenIndex = position658, tokenIndex658 + goto l669 + l670: + position, tokenIndex = position669, tokenIndex669 if buffer[position] != rune('V') { - goto l656 + goto l667 } position++ } - l658: + l669: if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l656 + goto l667 } position++ { - position660, tokenIndex660 := position, tokenIndex + position671, tokenIndex671 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l660 + goto l671 } position++ - goto l661 - l660: - position, tokenIndex = position660, tokenIndex660 + goto l672 + l671: + position, tokenIndex = position671, tokenIndex671 } - l661: + l672: { - position662, tokenIndex662 := position, tokenIndex + position673, tokenIndex673 := position, tokenIndex if buffer[position] != rune('.') { - goto l662 + goto l673 } position++ - l664: + l675: { - position665, tokenIndex665 := position, tokenIndex + position676, tokenIndex676 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l665 + goto l676 } position++ - goto l664 - l665: - position, tokenIndex = position665, tokenIndex665 + goto l675 + l676: + position, tokenIndex = position676, tokenIndex676 } { - position666, tokenIndex666 := position, tokenIndex + position677, tokenIndex677 := position, tokenIndex if buffer[position] != rune('b') { - goto l667 + goto l678 } position++ - goto l666 - l667: - position, tokenIndex = position666, tokenIndex666 + goto l677 + l678: + position, tokenIndex = position677, tokenIndex677 if buffer[position] != rune('s') { - goto l668 + goto l679 } position++ - goto l666 - l668: - position, tokenIndex = position666, tokenIndex666 + goto l677 + l679: + position, tokenIndex = position677, tokenIndex677 if buffer[position] != rune('d') { - goto l669 + goto l680 } position++ - goto l666 - l669: - position, tokenIndex = position666, tokenIndex666 + goto l677 + l680: + position, tokenIndex = position677, tokenIndex677 if buffer[position] != rune('h') { - goto l670 + goto l681 } position++ - goto l666 - l670: - position, tokenIndex = position666, tokenIndex666 + goto l677 + l681: + position, tokenIndex = position677, tokenIndex677 if buffer[position] != rune('q') { - goto l662 + goto l673 } position++ } - l666: + l677: { - position671, tokenIndex671 := position, tokenIndex + position682, tokenIndex682 := position, tokenIndex if buffer[position] != rune('[') { - goto l671 + goto l682 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l671 + goto l682 } position++ { - position673, tokenIndex673 := position, tokenIndex + position684, tokenIndex684 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l673 + goto l684 } position++ - goto l674 - l673: - position, tokenIndex = position673, tokenIndex673 + goto l685 + l684: + position, tokenIndex = position684, tokenIndex684 } - l674: + l685: if buffer[position] != rune(']') { - goto l671 + goto l682 } position++ - goto l672 - l671: - position, tokenIndex = position671, tokenIndex671 + goto l683 + l682: + position, tokenIndex = position682, tokenIndex682 } - l672: - goto l663 - l662: - position, tokenIndex = position662, tokenIndex662 + l683: + goto l674 + l673: + position, tokenIndex = position673, tokenIndex673 } - l663: - add(ruleARMVectorRegister, position657) + l674: + add(ruleARMVectorRegister, position668) } return true - l656: - position, tokenIndex = position656, tokenIndex656 + l667: + position, tokenIndex = position667, tokenIndex667 return false }, /* 45 MemoryRef <- <((SymbolRef BaseIndexScale) / SymbolRef / Low12BitsSymbolRef / (Offset* BaseIndexScale) / (SegmentRegister Offset BaseIndexScale) / (SegmentRegister BaseIndexScale) / (SegmentRegister Offset) / ARMBaseIndexScale / BaseIndexScale)> */ func() bool { - position675, tokenIndex675 := position, tokenIndex + position686, tokenIndex686 := position, tokenIndex { - position676 := position + position687 := position { - position677, tokenIndex677 := position, tokenIndex + position688, tokenIndex688 := position, tokenIndex if !_rules[ruleSymbolRef]() { - goto l678 + goto l689 } if !_rules[ruleBaseIndexScale]() { - goto l678 + goto l689 } - goto l677 - l678: - position, tokenIndex = position677, tokenIndex677 + goto l688 + l689: + position, tokenIndex = position688, tokenIndex688 if !_rules[ruleSymbolRef]() { - goto l679 + goto l690 } - goto l677 - l679: - position, tokenIndex = position677, tokenIndex677 + goto l688 + l690: + position, tokenIndex = position688, tokenIndex688 if !_rules[ruleLow12BitsSymbolRef]() { - goto l680 + goto l691 } - goto l677 - l680: - position, tokenIndex = position677, tokenIndex677 - l682: + goto l688 + l691: + position, tokenIndex = position688, tokenIndex688 + l693: { - position683, tokenIndex683 := position, tokenIndex + position694, tokenIndex694 := position, tokenIndex if !_rules[ruleOffset]() { - goto l683 + goto l694 } - goto l682 - l683: - position, tokenIndex = position683, tokenIndex683 + goto l693 + l694: + position, tokenIndex = position694, tokenIndex694 } if !_rules[ruleBaseIndexScale]() { - goto l681 + goto l692 } - goto l677 - l681: - position, tokenIndex = position677, tokenIndex677 + goto l688 + l692: + position, tokenIndex = position688, tokenIndex688 if !_rules[ruleSegmentRegister]() { - goto l684 + goto l695 } if !_rules[ruleOffset]() { - goto l684 + goto l695 } if !_rules[ruleBaseIndexScale]() { - goto l684 + goto l695 } - goto l677 - l684: - position, tokenIndex = position677, tokenIndex677 + goto l688 + l695: + position, tokenIndex = position688, tokenIndex688 if !_rules[ruleSegmentRegister]() { - goto l685 + goto l696 } if !_rules[ruleBaseIndexScale]() { - goto l685 + goto l696 } - goto l677 - l685: - position, tokenIndex = position677, tokenIndex677 + goto l688 + l696: + position, tokenIndex = position688, tokenIndex688 if !_rules[ruleSegmentRegister]() { - goto l686 + goto l697 } if !_rules[ruleOffset]() { - goto l686 + goto l697 } - goto l677 - l686: - position, tokenIndex = position677, tokenIndex677 + goto l688 + l697: + position, tokenIndex = position688, tokenIndex688 if !_rules[ruleARMBaseIndexScale]() { - goto l687 + goto l698 } - goto l677 - l687: - position, tokenIndex = position677, tokenIndex677 + goto l688 + l698: + position, tokenIndex = position688, tokenIndex688 if !_rules[ruleBaseIndexScale]() { - goto l675 + goto l686 } } - l677: - add(ruleMemoryRef, position676) + l688: + add(ruleMemoryRef, position687) } return true - l675: - position, tokenIndex = position675, tokenIndex675 + l686: + position, tokenIndex = position686, tokenIndex686 return false }, /* 46 SymbolRef <- <((Offset* '+')? (LocalSymbol / SymbolName) Offset* ('@' Section Offset*)?)> */ func() bool { - position688, tokenIndex688 := position, tokenIndex + position699, tokenIndex699 := position, tokenIndex { - position689 := position + position700 := position { - position690, tokenIndex690 := position, tokenIndex - l692: + position701, tokenIndex701 := position, tokenIndex + l703: { - position693, tokenIndex693 := position, tokenIndex + position704, tokenIndex704 := position, tokenIndex if !_rules[ruleOffset]() { - goto l693 + goto l704 } - goto l692 - l693: - position, tokenIndex = position693, tokenIndex693 + goto l703 + l704: + position, tokenIndex = position704, tokenIndex704 } if buffer[position] != rune('+') { - goto l690 + goto l701 } position++ - goto l691 - l690: - position, tokenIndex = position690, tokenIndex690 + goto l702 + l701: + position, tokenIndex = position701, tokenIndex701 } - l691: + l702: { - position694, tokenIndex694 := position, tokenIndex + position705, tokenIndex705 := position, tokenIndex if !_rules[ruleLocalSymbol]() { - goto l695 + goto l706 } - goto l694 - l695: - position, tokenIndex = position694, tokenIndex694 + goto l705 + l706: + position, tokenIndex = position705, tokenIndex705 if !_rules[ruleSymbolName]() { - goto l688 + goto l699 } } - l694: - l696: + l705: + l707: { - position697, tokenIndex697 := position, tokenIndex + position708, tokenIndex708 := position, tokenIndex if !_rules[ruleOffset]() { - goto l697 + goto l708 } - goto l696 - l697: - position, tokenIndex = position697, tokenIndex697 + goto l707 + l708: + position, tokenIndex = position708, tokenIndex708 } { - position698, tokenIndex698 := position, tokenIndex + position709, tokenIndex709 := position, tokenIndex if buffer[position] != rune('@') { - goto l698 + goto l709 } position++ if !_rules[ruleSection]() { - goto l698 + goto l709 } - l700: + l711: { - position701, tokenIndex701 := position, tokenIndex + position712, tokenIndex712 := position, tokenIndex if !_rules[ruleOffset]() { - goto l701 + goto l712 } - goto l700 - l701: - position, tokenIndex = position701, tokenIndex701 + goto l711 + l712: + position, tokenIndex = position712, tokenIndex712 } - goto l699 - l698: - position, tokenIndex = position698, tokenIndex698 + goto l710 + l709: + position, tokenIndex = position709, tokenIndex709 } - l699: - add(ruleSymbolRef, position689) + l710: + add(ruleSymbolRef, position700) } return true - l688: - position, tokenIndex = position688, tokenIndex688 + l699: + position, tokenIndex = position699, tokenIndex699 return false }, /* 47 Low12BitsSymbolRef <- <(':' ('l' / 'L') ('o' / 'O') '1' '2' ':' (LocalSymbol / SymbolName) Offset?)> */ func() bool { - position702, tokenIndex702 := position, tokenIndex + position713, tokenIndex713 := position, tokenIndex { - position703 := position + position714 := position if buffer[position] != rune(':') { - goto l702 + goto l713 } position++ { - position704, tokenIndex704 := position, tokenIndex + position715, tokenIndex715 := position, tokenIndex if buffer[position] != rune('l') { - goto l705 + goto l716 } position++ - goto l704 - l705: - position, tokenIndex = position704, tokenIndex704 + goto l715 + l716: + position, tokenIndex = position715, tokenIndex715 if buffer[position] != rune('L') { - goto l702 + goto l713 } position++ } - l704: + l715: { - position706, tokenIndex706 := position, tokenIndex + position717, tokenIndex717 := position, tokenIndex if buffer[position] != rune('o') { - goto l707 + goto l718 } position++ - goto l706 - l707: - position, tokenIndex = position706, tokenIndex706 + goto l717 + l718: + position, tokenIndex = position717, tokenIndex717 if buffer[position] != rune('O') { - goto l702 + goto l713 } position++ } - l706: + l717: if buffer[position] != rune('1') { - goto l702 + goto l713 } position++ if buffer[position] != rune('2') { - goto l702 + goto l713 } position++ if buffer[position] != rune(':') { - goto l702 + goto l713 } position++ { - position708, tokenIndex708 := position, tokenIndex + position719, tokenIndex719 := position, tokenIndex if !_rules[ruleLocalSymbol]() { - goto l709 + goto l720 } - goto l708 - l709: - position, tokenIndex = position708, tokenIndex708 + goto l719 + l720: + position, tokenIndex = position719, tokenIndex719 if !_rules[ruleSymbolName]() { - goto l702 + goto l713 } } - l708: + l719: { - position710, tokenIndex710 := position, tokenIndex + position721, tokenIndex721 := position, tokenIndex if !_rules[ruleOffset]() { - goto l710 + goto l721 } - goto l711 - l710: - position, tokenIndex = position710, tokenIndex710 + goto l722 + l721: + position, tokenIndex = position721, tokenIndex721 } - l711: - add(ruleLow12BitsSymbolRef, position703) + l722: + add(ruleLow12BitsSymbolRef, position714) } return true - l702: - position, tokenIndex = position702, tokenIndex702 + l713: + position, tokenIndex = position713, tokenIndex713 return false }, /* 48 ARMBaseIndexScale <- <('[' ARMRegister (',' WS? (('#' Offset (('*' [0-9]+) / ('*' '(' [0-9]+ Operator [0-9]+ ')') / ('+' [0-9]+)*)?) / ARMGOTLow12 / Low12BitsSymbolRef / ARMRegister) (',' WS? ARMConstantTweak)?)? ']' ARMPostincrement?)> */ func() bool { - position712, tokenIndex712 := position, tokenIndex + position723, tokenIndex723 := position, tokenIndex { - position713 := position + position724 := position if buffer[position] != rune('[') { - goto l712 + goto l723 } position++ if !_rules[ruleARMRegister]() { - goto l712 + goto l723 } { - position714, tokenIndex714 := position, tokenIndex + position725, tokenIndex725 := position, tokenIndex if buffer[position] != rune(',') { - goto l714 + goto l725 } position++ { - position716, tokenIndex716 := position, tokenIndex + position727, tokenIndex727 := position, tokenIndex if !_rules[ruleWS]() { - goto l716 + goto l727 } - goto l717 - l716: - position, tokenIndex = position716, tokenIndex716 + goto l728 + l727: + position, tokenIndex = position727, tokenIndex727 } - l717: + l728: { - position718, tokenIndex718 := position, tokenIndex + position729, tokenIndex729 := position, tokenIndex if buffer[position] != rune('#') { - goto l719 + goto l730 } position++ if !_rules[ruleOffset]() { - goto l719 + goto l730 } { - position720, tokenIndex720 := position, tokenIndex + position731, tokenIndex731 := position, tokenIndex { - position722, tokenIndex722 := position, tokenIndex + position733, tokenIndex733 := position, tokenIndex if buffer[position] != rune('*') { - goto l723 + goto l734 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l723 + goto l734 } position++ - l724: + l735: { - position725, tokenIndex725 := position, tokenIndex + position736, tokenIndex736 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l725 + goto l736 } position++ - goto l724 - l725: - position, tokenIndex = position725, tokenIndex725 + goto l735 + l736: + position, tokenIndex = position736, tokenIndex736 } - goto l722 - l723: - position, tokenIndex = position722, tokenIndex722 + goto l733 + l734: + position, tokenIndex = position733, tokenIndex733 if buffer[position] != rune('*') { - goto l726 + goto l737 } position++ if buffer[position] != rune('(') { - goto l726 + goto l737 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l726 + goto l737 } position++ - l727: + l738: { - position728, tokenIndex728 := position, tokenIndex + position739, tokenIndex739 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l728 + goto l739 } position++ - goto l727 - l728: - position, tokenIndex = position728, tokenIndex728 + goto l738 + l739: + position, tokenIndex = position739, tokenIndex739 } if !_rules[ruleOperator]() { - goto l726 + goto l737 } if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l726 + goto l737 } position++ - l729: + l740: { - position730, tokenIndex730 := position, tokenIndex + position741, tokenIndex741 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l730 + goto l741 } position++ - goto l729 - l730: - position, tokenIndex = position730, tokenIndex730 + goto l740 + l741: + position, tokenIndex = position741, tokenIndex741 } if buffer[position] != rune(')') { - goto l726 + goto l737 } position++ - goto l722 - l726: - position, tokenIndex = position722, tokenIndex722 - l731: + goto l733 + l737: + position, tokenIndex = position733, tokenIndex733 + l742: { - position732, tokenIndex732 := position, tokenIndex + position743, tokenIndex743 := position, tokenIndex if buffer[position] != rune('+') { - goto l732 + goto l743 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l732 + goto l743 } position++ - l733: + l744: { - position734, tokenIndex734 := position, tokenIndex + position745, tokenIndex745 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l734 + goto l745 } position++ - goto l733 - l734: - position, tokenIndex = position734, tokenIndex734 + goto l744 + l745: + position, tokenIndex = position745, tokenIndex745 } - goto l731 - l732: - position, tokenIndex = position732, tokenIndex732 + goto l742 + l743: + position, tokenIndex = position743, tokenIndex743 } } - l722: - goto l721 + l733: + goto l732 - position, tokenIndex = position720, tokenIndex720 + position, tokenIndex = position731, tokenIndex731 } - l721: - goto l718 - l719: - position, tokenIndex = position718, tokenIndex718 + l732: + goto l729 + l730: + position, tokenIndex = position729, tokenIndex729 if !_rules[ruleARMGOTLow12]() { - goto l735 + goto l746 } - goto l718 - l735: - position, tokenIndex = position718, tokenIndex718 + goto l729 + l746: + position, tokenIndex = position729, tokenIndex729 if !_rules[ruleLow12BitsSymbolRef]() { - goto l736 + goto l747 } - goto l718 - l736: - position, tokenIndex = position718, tokenIndex718 + goto l729 + l747: + position, tokenIndex = position729, tokenIndex729 if !_rules[ruleARMRegister]() { - goto l714 + goto l725 } } - l718: + l729: { - position737, tokenIndex737 := position, tokenIndex + position748, tokenIndex748 := position, tokenIndex if buffer[position] != rune(',') { - goto l737 + goto l748 } position++ { - position739, tokenIndex739 := position, tokenIndex + position750, tokenIndex750 := position, tokenIndex if !_rules[ruleWS]() { - goto l739 + goto l750 } - goto l740 - l739: - position, tokenIndex = position739, tokenIndex739 + goto l751 + l750: + position, tokenIndex = position750, tokenIndex750 } - l740: + l751: if !_rules[ruleARMConstantTweak]() { - goto l737 + goto l748 } - goto l738 - l737: - position, tokenIndex = position737, tokenIndex737 + goto l749 + l748: + position, tokenIndex = position748, tokenIndex748 } - l738: - goto l715 - l714: - position, tokenIndex = position714, tokenIndex714 + l749: + goto l726 + l725: + position, tokenIndex = position725, tokenIndex725 } - l715: + l726: if buffer[position] != rune(']') { - goto l712 + goto l723 } position++ { - position741, tokenIndex741 := position, tokenIndex + position752, tokenIndex752 := position, tokenIndex if !_rules[ruleARMPostincrement]() { - goto l741 + goto l752 } - goto l742 - l741: - position, tokenIndex = position741, tokenIndex741 + goto l753 + l752: + position, tokenIndex = position752, tokenIndex752 } - l742: - add(ruleARMBaseIndexScale, position713) + l753: + add(ruleARMBaseIndexScale, position724) } return true - l712: - position, tokenIndex = position712, tokenIndex712 + l723: + position, tokenIndex = position723, tokenIndex723 return false }, /* 49 ARMGOTLow12 <- <(':' ('g' / 'G') ('o' / 'O') ('t' / 'T') '_' ('l' / 'L') ('o' / 'O') '1' '2' ':' SymbolName)> */ func() bool { - position743, tokenIndex743 := position, tokenIndex + position754, tokenIndex754 := position, tokenIndex { - position744 := position + position755 := position if buffer[position] != rune(':') { - goto l743 + goto l754 } position++ { - position745, tokenIndex745 := position, tokenIndex + position756, tokenIndex756 := position, tokenIndex if buffer[position] != rune('g') { - goto l746 + goto l757 } position++ - goto l745 - l746: - position, tokenIndex = position745, tokenIndex745 + goto l756 + l757: + position, tokenIndex = position756, tokenIndex756 if buffer[position] != rune('G') { - goto l743 + goto l754 } position++ } - l745: + l756: { - position747, tokenIndex747 := position, tokenIndex + position758, tokenIndex758 := position, tokenIndex if buffer[position] != rune('o') { - goto l748 + goto l759 } position++ - goto l747 - l748: - position, tokenIndex = position747, tokenIndex747 + goto l758 + l759: + position, tokenIndex = position758, tokenIndex758 if buffer[position] != rune('O') { - goto l743 + goto l754 } position++ } - l747: + l758: { - position749, tokenIndex749 := position, tokenIndex + position760, tokenIndex760 := position, tokenIndex if buffer[position] != rune('t') { - goto l750 + goto l761 } position++ - goto l749 - l750: - position, tokenIndex = position749, tokenIndex749 + goto l760 + l761: + position, tokenIndex = position760, tokenIndex760 if buffer[position] != rune('T') { - goto l743 + goto l754 } position++ } - l749: + l760: if buffer[position] != rune('_') { - goto l743 + goto l754 } position++ { - position751, tokenIndex751 := position, tokenIndex + position762, tokenIndex762 := position, tokenIndex if buffer[position] != rune('l') { - goto l752 + goto l763 } position++ - goto l751 - l752: - position, tokenIndex = position751, tokenIndex751 + goto l762 + l763: + position, tokenIndex = position762, tokenIndex762 if buffer[position] != rune('L') { - goto l743 + goto l754 } position++ } - l751: + l762: { - position753, tokenIndex753 := position, tokenIndex + position764, tokenIndex764 := position, tokenIndex if buffer[position] != rune('o') { - goto l754 + goto l765 } position++ - goto l753 - l754: - position, tokenIndex = position753, tokenIndex753 + goto l764 + l765: + position, tokenIndex = position764, tokenIndex764 if buffer[position] != rune('O') { - goto l743 + goto l754 } position++ } - l753: + l764: if buffer[position] != rune('1') { - goto l743 + goto l754 } position++ if buffer[position] != rune('2') { - goto l743 + goto l754 } position++ if buffer[position] != rune(':') { - goto l743 + goto l754 } position++ if !_rules[ruleSymbolName]() { - goto l743 + goto l754 } - add(ruleARMGOTLow12, position744) + add(ruleARMGOTLow12, position755) } return true - l743: - position, tokenIndex = position743, tokenIndex743 + l754: + position, tokenIndex = position754, tokenIndex754 return false }, /* 50 ARMPostincrement <- <'!'> */ func() bool { - position755, tokenIndex755 := position, tokenIndex + position766, tokenIndex766 := position, tokenIndex { - position756 := position + position767 := position if buffer[position] != rune('!') { - goto l755 + goto l766 } position++ - add(ruleARMPostincrement, position756) + add(ruleARMPostincrement, position767) } return true - l755: - position, tokenIndex = position755, tokenIndex755 + l766: + position, tokenIndex = position766, tokenIndex766 return false }, /* 51 BaseIndexScale <- <('(' RegisterOrConstant? WS? (',' WS? RegisterOrConstant WS? (',' [0-9]+)?)? ')')> */ func() bool { - position757, tokenIndex757 := position, tokenIndex + position768, tokenIndex768 := position, tokenIndex { - position758 := position + position769 := position if buffer[position] != rune('(') { - goto l757 + goto l768 } position++ { - position759, tokenIndex759 := position, tokenIndex + position770, tokenIndex770 := position, tokenIndex if !_rules[ruleRegisterOrConstant]() { - goto l759 + goto l770 } - goto l760 - l759: - position, tokenIndex = position759, tokenIndex759 + goto l771 + l770: + position, tokenIndex = position770, tokenIndex770 } - l760: + l771: { - position761, tokenIndex761 := position, tokenIndex + position772, tokenIndex772 := position, tokenIndex if !_rules[ruleWS]() { - goto l761 + goto l772 } - goto l762 - l761: - position, tokenIndex = position761, tokenIndex761 + goto l773 + l772: + position, tokenIndex = position772, tokenIndex772 } - l762: + l773: { - position763, tokenIndex763 := position, tokenIndex + position774, tokenIndex774 := position, tokenIndex if buffer[position] != rune(',') { - goto l763 + goto l774 } position++ { - position765, tokenIndex765 := position, tokenIndex + position776, tokenIndex776 := position, tokenIndex if !_rules[ruleWS]() { - goto l765 + goto l776 } - goto l766 - l765: - position, tokenIndex = position765, tokenIndex765 + goto l777 + l776: + position, tokenIndex = position776, tokenIndex776 } - l766: + l777: if !_rules[ruleRegisterOrConstant]() { - goto l763 + goto l774 } { - position767, tokenIndex767 := position, tokenIndex + position778, tokenIndex778 := position, tokenIndex if !_rules[ruleWS]() { - goto l767 + goto l778 } - goto l768 - l767: - position, tokenIndex = position767, tokenIndex767 + goto l779 + l778: + position, tokenIndex = position778, tokenIndex778 } - l768: + l779: { - position769, tokenIndex769 := position, tokenIndex + position780, tokenIndex780 := position, tokenIndex if buffer[position] != rune(',') { - goto l769 + goto l780 } position++ if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l769 + goto l780 } position++ - l771: + l782: { - position772, tokenIndex772 := position, tokenIndex + position783, tokenIndex783 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l772 + goto l783 } position++ - goto l771 - l772: - position, tokenIndex = position772, tokenIndex772 + goto l782 + l783: + position, tokenIndex = position783, tokenIndex783 } - goto l770 - l769: - position, tokenIndex = position769, tokenIndex769 + goto l781 + l780: + position, tokenIndex = position780, tokenIndex780 } - l770: - goto l764 - l763: - position, tokenIndex = position763, tokenIndex763 + l781: + goto l775 + l774: + position, tokenIndex = position774, tokenIndex774 } - l764: + l775: if buffer[position] != rune(')') { - goto l757 + goto l768 } position++ - add(ruleBaseIndexScale, position758) + add(ruleBaseIndexScale, position769) } return true - l757: - position, tokenIndex = position757, tokenIndex757 + l768: + position, tokenIndex = position768, tokenIndex768 return false }, /* 52 Operator <- <('+' / '-')> */ func() bool { - position773, tokenIndex773 := position, tokenIndex + position784, tokenIndex784 := position, tokenIndex { - position774 := position + position785 := position { - position775, tokenIndex775 := position, tokenIndex + position786, tokenIndex786 := position, tokenIndex if buffer[position] != rune('+') { - goto l776 + goto l787 } position++ - goto l775 - l776: - position, tokenIndex = position775, tokenIndex775 + goto l786 + l787: + position, tokenIndex = position786, tokenIndex786 if buffer[position] != rune('-') { - goto l773 + goto l784 } position++ } - l775: - add(ruleOperator, position774) + l786: + add(ruleOperator, position785) } return true - l773: - position, tokenIndex = position773, tokenIndex773 + l784: + position, tokenIndex = position784, tokenIndex784 return false }, /* 53 Offset <- <('+'? '-'? (('0' ('b' / 'B') ('0' / '1')+) / ('0' ('x' / 'X') ([0-9] / [0-9] / ([a-f] / [A-F]))+) / [0-9]+))> */ func() bool { - position777, tokenIndex777 := position, tokenIndex + position788, tokenIndex788 := position, tokenIndex { - position778 := position + position789 := position { - position779, tokenIndex779 := position, tokenIndex + position790, tokenIndex790 := position, tokenIndex if buffer[position] != rune('+') { - goto l779 + goto l790 } position++ - goto l780 - l779: - position, tokenIndex = position779, tokenIndex779 + goto l791 + l790: + position, tokenIndex = position790, tokenIndex790 } - l780: + l791: { - position781, tokenIndex781 := position, tokenIndex + position792, tokenIndex792 := position, tokenIndex if buffer[position] != rune('-') { - goto l781 + goto l792 } position++ - goto l782 - l781: - position, tokenIndex = position781, tokenIndex781 + goto l793 + l792: + position, tokenIndex = position792, tokenIndex792 } - l782: + l793: { - position783, tokenIndex783 := position, tokenIndex + position794, tokenIndex794 := position, tokenIndex if buffer[position] != rune('0') { - goto l784 + goto l795 } position++ { - position785, tokenIndex785 := position, tokenIndex + position796, tokenIndex796 := position, tokenIndex if buffer[position] != rune('b') { - goto l786 + goto l797 } position++ - goto l785 - l786: - position, tokenIndex = position785, tokenIndex785 + goto l796 + l797: + position, tokenIndex = position796, tokenIndex796 if buffer[position] != rune('B') { - goto l784 + goto l795 } position++ } - l785: + l796: { - position789, tokenIndex789 := position, tokenIndex + position800, tokenIndex800 := position, tokenIndex if buffer[position] != rune('0') { - goto l790 + goto l801 } position++ - goto l789 - l790: - position, tokenIndex = position789, tokenIndex789 + goto l800 + l801: + position, tokenIndex = position800, tokenIndex800 if buffer[position] != rune('1') { - goto l784 + goto l795 } position++ } - l789: - l787: + l800: + l798: { - position788, tokenIndex788 := position, tokenIndex + position799, tokenIndex799 := position, tokenIndex { - position791, tokenIndex791 := position, tokenIndex + position802, tokenIndex802 := position, tokenIndex if buffer[position] != rune('0') { - goto l792 + goto l803 } position++ - goto l791 - l792: - position, tokenIndex = position791, tokenIndex791 + goto l802 + l803: + position, tokenIndex = position802, tokenIndex802 if buffer[position] != rune('1') { - goto l788 + goto l799 } position++ } - l791: - goto l787 - l788: - position, tokenIndex = position788, tokenIndex788 + l802: + goto l798 + l799: + position, tokenIndex = position799, tokenIndex799 } - goto l783 - l784: - position, tokenIndex = position783, tokenIndex783 + goto l794 + l795: + position, tokenIndex = position794, tokenIndex794 if buffer[position] != rune('0') { - goto l793 + goto l804 } position++ { - position794, tokenIndex794 := position, tokenIndex + position805, tokenIndex805 := position, tokenIndex if buffer[position] != rune('x') { - goto l795 + goto l806 } position++ - goto l794 - l795: - position, tokenIndex = position794, tokenIndex794 + goto l805 + l806: + position, tokenIndex = position805, tokenIndex805 if buffer[position] != rune('X') { - goto l793 + goto l804 } position++ } - l794: + l805: { - position798, tokenIndex798 := position, tokenIndex + position809, tokenIndex809 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l799 + goto l810 } position++ - goto l798 - l799: - position, tokenIndex = position798, tokenIndex798 + goto l809 + l810: + position, tokenIndex = position809, tokenIndex809 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l800 + goto l811 } position++ - goto l798 - l800: - position, tokenIndex = position798, tokenIndex798 + goto l809 + l811: + position, tokenIndex = position809, tokenIndex809 { - position801, tokenIndex801 := position, tokenIndex + position812, tokenIndex812 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('f') { - goto l802 + goto l813 } position++ - goto l801 - l802: - position, tokenIndex = position801, tokenIndex801 + goto l812 + l813: + position, tokenIndex = position812, tokenIndex812 if c := buffer[position]; c < rune('A') || c > rune('F') { - goto l793 + goto l804 } position++ } - l801: + l812: } - l798: - l796: + l809: + l807: { - position797, tokenIndex797 := position, tokenIndex + position808, tokenIndex808 := position, tokenIndex { - position803, tokenIndex803 := position, tokenIndex + position814, tokenIndex814 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l804 + goto l815 } position++ - goto l803 - l804: - position, tokenIndex = position803, tokenIndex803 + goto l814 + l815: + position, tokenIndex = position814, tokenIndex814 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l805 + goto l816 } position++ - goto l803 - l805: - position, tokenIndex = position803, tokenIndex803 + goto l814 + l816: + position, tokenIndex = position814, tokenIndex814 { - position806, tokenIndex806 := position, tokenIndex + position817, tokenIndex817 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('f') { - goto l807 + goto l818 } position++ - goto l806 - l807: - position, tokenIndex = position806, tokenIndex806 + goto l817 + l818: + position, tokenIndex = position817, tokenIndex817 if c := buffer[position]; c < rune('A') || c > rune('F') { - goto l797 + goto l808 } position++ } - l806: + l817: } - l803: - goto l796 - l797: - position, tokenIndex = position797, tokenIndex797 + l814: + goto l807 + l808: + position, tokenIndex = position808, tokenIndex808 } - goto l783 - l793: - position, tokenIndex = position783, tokenIndex783 + goto l794 + l804: + position, tokenIndex = position794, tokenIndex794 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l777 + goto l788 } position++ - l808: + l819: { - position809, tokenIndex809 := position, tokenIndex + position820, tokenIndex820 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l809 + goto l820 } position++ - goto l808 - l809: - position, tokenIndex = position809, tokenIndex809 + goto l819 + l820: + position, tokenIndex = position820, tokenIndex820 } } - l783: - add(ruleOffset, position778) + l794: + add(ruleOffset, position789) } return true - l777: - position, tokenIndex = position777, tokenIndex777 + l788: + position, tokenIndex = position788, tokenIndex788 return false }, /* 54 Section <- <([a-z] / [A-Z] / '@')+> */ func() bool { - position810, tokenIndex810 := position, tokenIndex + position821, tokenIndex821 := position, tokenIndex { - position811 := position + position822 := position { - position814, tokenIndex814 := position, tokenIndex + position825, tokenIndex825 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l815 + goto l826 } position++ - goto l814 - l815: - position, tokenIndex = position814, tokenIndex814 + goto l825 + l826: + position, tokenIndex = position825, tokenIndex825 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l816 + goto l827 } position++ - goto l814 - l816: - position, tokenIndex = position814, tokenIndex814 + goto l825 + l827: + position, tokenIndex = position825, tokenIndex825 if buffer[position] != rune('@') { - goto l810 + goto l821 } position++ } - l814: - l812: + l825: + l823: { - position813, tokenIndex813 := position, tokenIndex + position824, tokenIndex824 := position, tokenIndex { - position817, tokenIndex817 := position, tokenIndex + position828, tokenIndex828 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l818 + goto l829 } position++ - goto l817 - l818: - position, tokenIndex = position817, tokenIndex817 + goto l828 + l829: + position, tokenIndex = position828, tokenIndex828 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l819 + goto l830 } position++ - goto l817 - l819: - position, tokenIndex = position817, tokenIndex817 + goto l828 + l830: + position, tokenIndex = position828, tokenIndex828 if buffer[position] != rune('@') { - goto l813 + goto l824 } position++ } - l817: - goto l812 - l813: - position, tokenIndex = position813, tokenIndex813 + l828: + goto l823 + l824: + position, tokenIndex = position824, tokenIndex824 } - add(ruleSection, position811) + add(ruleSection, position822) } return true - l810: - position, tokenIndex = position810, tokenIndex810 + l821: + position, tokenIndex = position821, tokenIndex821 return false }, /* 55 SegmentRegister <- <('%' ([c-g] / 's') ('s' ':'))> */ func() bool { - position820, tokenIndex820 := position, tokenIndex + position831, tokenIndex831 := position, tokenIndex { - position821 := position + position832 := position if buffer[position] != rune('%') { - goto l820 + goto l831 } position++ { - position822, tokenIndex822 := position, tokenIndex + position833, tokenIndex833 := position, tokenIndex if c := buffer[position]; c < rune('c') || c > rune('g') { - goto l823 + goto l834 } position++ - goto l822 - l823: - position, tokenIndex = position822, tokenIndex822 + goto l833 + l834: + position, tokenIndex = position833, tokenIndex833 if buffer[position] != rune('s') { - goto l820 + goto l831 } position++ } - l822: + l833: if buffer[position] != rune('s') { - goto l820 + goto l831 } position++ if buffer[position] != rune(':') { - goto l820 + goto l831 } position++ - add(ruleSegmentRegister, position821) + add(ruleSegmentRegister, position832) } return true - l820: - position, tokenIndex = position820, tokenIndex820 + l831: + position, tokenIndex = position831, tokenIndex831 return false }, }