Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1 | package main |
| 2 | |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 3 | //go:generate peg delocate.peg |
| 4 | |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 5 | import ( |
| 6 | "fmt" |
| 7 | "math" |
| 8 | "sort" |
| 9 | "strconv" |
| 10 | ) |
| 11 | |
| 12 | const endSymbol rune = 1114112 |
| 13 | |
| 14 | /* The rule types inferred from the grammar are below. */ |
| 15 | type pegRule uint8 |
| 16 | |
| 17 | const ( |
| 18 | ruleUnknown pegRule = iota |
| 19 | ruleAsmFile |
| 20 | ruleStatement |
| 21 | ruleGlobalDirective |
| 22 | ruleDirective |
| 23 | ruleDirectiveName |
| 24 | ruleLocationDirective |
| 25 | ruleArgs |
| 26 | ruleArg |
| 27 | ruleQuotedArg |
| 28 | ruleQuotedText |
| 29 | ruleLabelContainingDirective |
| 30 | ruleLabelContainingDirectiveName |
| 31 | ruleSymbolArgs |
| 32 | ruleSymbolArg |
| 33 | ruleSymbolType |
| 34 | ruleDot |
| 35 | ruleTCMarker |
| 36 | ruleEscapedChar |
| 37 | ruleWS |
| 38 | ruleComment |
| 39 | ruleLabel |
| 40 | ruleSymbolName |
| 41 | ruleLocalSymbol |
| 42 | ruleLocalLabel |
| 43 | ruleLocalLabelRef |
| 44 | ruleInstruction |
| 45 | ruleInstructionName |
| 46 | ruleInstructionArg |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 47 | ruleAVX512Token |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 48 | ruleTOCRefHigh |
| 49 | ruleTOCRefLow |
| 50 | ruleIndirectionIndicator |
| 51 | ruleRegisterOrConstant |
| 52 | ruleMemoryRef |
| 53 | ruleSymbolRef |
| 54 | ruleBaseIndexScale |
| 55 | ruleOperator |
| 56 | ruleOffset |
| 57 | ruleSection |
| 58 | ruleSegmentRegister |
| 59 | ) |
| 60 | |
| 61 | var rul3s = [...]string{ |
| 62 | "Unknown", |
| 63 | "AsmFile", |
| 64 | "Statement", |
| 65 | "GlobalDirective", |
| 66 | "Directive", |
| 67 | "DirectiveName", |
| 68 | "LocationDirective", |
| 69 | "Args", |
| 70 | "Arg", |
| 71 | "QuotedArg", |
| 72 | "QuotedText", |
| 73 | "LabelContainingDirective", |
| 74 | "LabelContainingDirectiveName", |
| 75 | "SymbolArgs", |
| 76 | "SymbolArg", |
| 77 | "SymbolType", |
| 78 | "Dot", |
| 79 | "TCMarker", |
| 80 | "EscapedChar", |
| 81 | "WS", |
| 82 | "Comment", |
| 83 | "Label", |
| 84 | "SymbolName", |
| 85 | "LocalSymbol", |
| 86 | "LocalLabel", |
| 87 | "LocalLabelRef", |
| 88 | "Instruction", |
| 89 | "InstructionName", |
| 90 | "InstructionArg", |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 91 | "AVX512Token", |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 92 | "TOCRefHigh", |
| 93 | "TOCRefLow", |
| 94 | "IndirectionIndicator", |
| 95 | "RegisterOrConstant", |
| 96 | "MemoryRef", |
| 97 | "SymbolRef", |
| 98 | "BaseIndexScale", |
| 99 | "Operator", |
| 100 | "Offset", |
| 101 | "Section", |
| 102 | "SegmentRegister", |
| 103 | } |
| 104 | |
| 105 | type token32 struct { |
| 106 | pegRule |
| 107 | begin, end uint32 |
| 108 | } |
| 109 | |
| 110 | func (t *token32) String() string { |
| 111 | return fmt.Sprintf("\x1B[34m%v\x1B[m %v %v", rul3s[t.pegRule], t.begin, t.end) |
| 112 | } |
| 113 | |
| 114 | type node32 struct { |
| 115 | token32 |
| 116 | up, next *node32 |
| 117 | } |
| 118 | |
| 119 | func (node *node32) print(pretty bool, buffer string) { |
| 120 | var print func(node *node32, depth int) |
| 121 | print = func(node *node32, depth int) { |
| 122 | for node != nil { |
| 123 | for c := 0; c < depth; c++ { |
| 124 | fmt.Printf(" ") |
| 125 | } |
| 126 | rule := rul3s[node.pegRule] |
| 127 | quote := strconv.Quote(string(([]rune(buffer)[node.begin:node.end]))) |
| 128 | if !pretty { |
| 129 | fmt.Printf("%v %v\n", rule, quote) |
| 130 | } else { |
| 131 | fmt.Printf("\x1B[34m%v\x1B[m %v\n", rule, quote) |
| 132 | } |
| 133 | if node.up != nil { |
| 134 | print(node.up, depth+1) |
| 135 | } |
| 136 | node = node.next |
| 137 | } |
| 138 | } |
| 139 | print(node, 0) |
| 140 | } |
| 141 | |
| 142 | func (node *node32) Print(buffer string) { |
| 143 | node.print(false, buffer) |
| 144 | } |
| 145 | |
| 146 | func (node *node32) PrettyPrint(buffer string) { |
| 147 | node.print(true, buffer) |
| 148 | } |
| 149 | |
| 150 | type tokens32 struct { |
| 151 | tree []token32 |
| 152 | } |
| 153 | |
| 154 | func (t *tokens32) Trim(length uint32) { |
| 155 | t.tree = t.tree[:length] |
| 156 | } |
| 157 | |
| 158 | func (t *tokens32) Print() { |
| 159 | for _, token := range t.tree { |
| 160 | fmt.Println(token.String()) |
| 161 | } |
| 162 | } |
| 163 | |
| 164 | func (t *tokens32) AST() *node32 { |
| 165 | type element struct { |
| 166 | node *node32 |
| 167 | down *element |
| 168 | } |
| 169 | tokens := t.Tokens() |
| 170 | var stack *element |
| 171 | for _, token := range tokens { |
| 172 | if token.begin == token.end { |
| 173 | continue |
| 174 | } |
| 175 | node := &node32{token32: token} |
| 176 | for stack != nil && stack.node.begin >= token.begin && stack.node.end <= token.end { |
| 177 | stack.node.next = node.up |
| 178 | node.up = stack.node |
| 179 | stack = stack.down |
| 180 | } |
| 181 | stack = &element{node: node, down: stack} |
| 182 | } |
| 183 | if stack != nil { |
| 184 | return stack.node |
| 185 | } |
| 186 | return nil |
| 187 | } |
| 188 | |
| 189 | func (t *tokens32) PrintSyntaxTree(buffer string) { |
| 190 | t.AST().Print(buffer) |
| 191 | } |
| 192 | |
| 193 | func (t *tokens32) PrettyPrintSyntaxTree(buffer string) { |
| 194 | t.AST().PrettyPrint(buffer) |
| 195 | } |
| 196 | |
| 197 | func (t *tokens32) Add(rule pegRule, begin, end, index uint32) { |
| 198 | if tree := t.tree; int(index) >= len(tree) { |
| 199 | expanded := make([]token32, 2*len(tree)) |
| 200 | copy(expanded, tree) |
| 201 | t.tree = expanded |
| 202 | } |
| 203 | t.tree[index] = token32{ |
| 204 | pegRule: rule, |
| 205 | begin: begin, |
| 206 | end: end, |
| 207 | } |
| 208 | } |
| 209 | |
| 210 | func (t *tokens32) Tokens() []token32 { |
| 211 | return t.tree |
| 212 | } |
| 213 | |
| 214 | type Asm struct { |
| 215 | Buffer string |
| 216 | buffer []rune |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 217 | rules [41]func() bool |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 218 | parse func(rule ...int) error |
| 219 | reset func() |
| 220 | Pretty bool |
| 221 | tokens32 |
| 222 | } |
| 223 | |
| 224 | func (p *Asm) Parse(rule ...int) error { |
| 225 | return p.parse(rule...) |
| 226 | } |
| 227 | |
| 228 | func (p *Asm) Reset() { |
| 229 | p.reset() |
| 230 | } |
| 231 | |
| 232 | type textPosition struct { |
| 233 | line, symbol int |
| 234 | } |
| 235 | |
| 236 | type textPositionMap map[int]textPosition |
| 237 | |
| 238 | func translatePositions(buffer []rune, positions []int) textPositionMap { |
| 239 | length, translations, j, line, symbol := len(positions), make(textPositionMap, len(positions)), 0, 1, 0 |
| 240 | sort.Ints(positions) |
| 241 | |
| 242 | search: |
| 243 | for i, c := range buffer { |
| 244 | if c == '\n' { |
| 245 | line, symbol = line+1, 0 |
| 246 | } else { |
| 247 | symbol++ |
| 248 | } |
| 249 | if i == positions[j] { |
| 250 | translations[positions[j]] = textPosition{line, symbol} |
| 251 | for j++; j < length; j++ { |
| 252 | if i != positions[j] { |
| 253 | continue search |
| 254 | } |
| 255 | } |
| 256 | break search |
| 257 | } |
| 258 | } |
| 259 | |
| 260 | return translations |
| 261 | } |
| 262 | |
| 263 | type parseError struct { |
| 264 | p *Asm |
| 265 | max token32 |
| 266 | } |
| 267 | |
| 268 | func (e *parseError) Error() string { |
| 269 | tokens, error := []token32{e.max}, "\n" |
| 270 | positions, p := make([]int, 2*len(tokens)), 0 |
| 271 | for _, token := range tokens { |
| 272 | positions[p], p = int(token.begin), p+1 |
| 273 | positions[p], p = int(token.end), p+1 |
| 274 | } |
| 275 | translations := translatePositions(e.p.buffer, positions) |
| 276 | format := "parse error near %v (line %v symbol %v - line %v symbol %v):\n%v\n" |
| 277 | if e.p.Pretty { |
| 278 | format = "parse error near \x1B[34m%v\x1B[m (line %v symbol %v - line %v symbol %v):\n%v\n" |
| 279 | } |
| 280 | for _, token := range tokens { |
| 281 | begin, end := int(token.begin), int(token.end) |
| 282 | error += fmt.Sprintf(format, |
| 283 | rul3s[token.pegRule], |
| 284 | translations[begin].line, translations[begin].symbol, |
| 285 | translations[end].line, translations[end].symbol, |
| 286 | strconv.Quote(string(e.p.buffer[begin:end]))) |
| 287 | } |
| 288 | |
| 289 | return error |
| 290 | } |
| 291 | |
| 292 | func (p *Asm) PrintSyntaxTree() { |
| 293 | if p.Pretty { |
| 294 | p.tokens32.PrettyPrintSyntaxTree(p.Buffer) |
| 295 | } else { |
| 296 | p.tokens32.PrintSyntaxTree(p.Buffer) |
| 297 | } |
| 298 | } |
| 299 | |
| 300 | func (p *Asm) Init() { |
| 301 | var ( |
| 302 | max token32 |
| 303 | position, tokenIndex uint32 |
| 304 | buffer []rune |
| 305 | ) |
| 306 | p.reset = func() { |
| 307 | max = token32{} |
| 308 | position, tokenIndex = 0, 0 |
| 309 | |
| 310 | p.buffer = []rune(p.Buffer) |
| 311 | if len(p.buffer) == 0 || p.buffer[len(p.buffer)-1] != endSymbol { |
| 312 | p.buffer = append(p.buffer, endSymbol) |
| 313 | } |
| 314 | buffer = p.buffer |
| 315 | } |
| 316 | p.reset() |
| 317 | |
| 318 | _rules := p.rules |
| 319 | tree := tokens32{tree: make([]token32, math.MaxInt16)} |
| 320 | p.parse = func(rule ...int) error { |
| 321 | r := 1 |
| 322 | if len(rule) > 0 { |
| 323 | r = rule[0] |
| 324 | } |
| 325 | matches := p.rules[r]() |
| 326 | p.tokens32 = tree |
| 327 | if matches { |
| 328 | p.Trim(tokenIndex) |
| 329 | return nil |
| 330 | } |
| 331 | return &parseError{p, max} |
| 332 | } |
| 333 | |
| 334 | add := func(rule pegRule, begin uint32) { |
| 335 | tree.Add(rule, begin, position, tokenIndex) |
| 336 | tokenIndex++ |
| 337 | if begin != position && position > max.end { |
| 338 | max = token32{rule, begin, position} |
| 339 | } |
| 340 | } |
| 341 | |
| 342 | matchDot := func() bool { |
| 343 | if buffer[position] != endSymbol { |
| 344 | position++ |
| 345 | return true |
| 346 | } |
| 347 | return false |
| 348 | } |
| 349 | |
| 350 | /*matchChar := func(c byte) bool { |
| 351 | if buffer[position] == c { |
| 352 | position++ |
| 353 | return true |
| 354 | } |
| 355 | return false |
| 356 | }*/ |
| 357 | |
| 358 | /*matchRange := func(lower byte, upper byte) bool { |
| 359 | if c := buffer[position]; c >= lower && c <= upper { |
| 360 | position++ |
| 361 | return true |
| 362 | } |
| 363 | return false |
| 364 | }*/ |
| 365 | |
| 366 | _rules = [...]func() bool{ |
| 367 | nil, |
| 368 | /* 0 AsmFile <- <(Statement* !.)> */ |
| 369 | func() bool { |
| 370 | position0, tokenIndex0 := position, tokenIndex |
| 371 | { |
| 372 | position1 := position |
| 373 | l2: |
| 374 | { |
| 375 | position3, tokenIndex3 := position, tokenIndex |
| 376 | if !_rules[ruleStatement]() { |
| 377 | goto l3 |
| 378 | } |
| 379 | goto l2 |
| 380 | l3: |
| 381 | position, tokenIndex = position3, tokenIndex3 |
| 382 | } |
| 383 | { |
| 384 | position4, tokenIndex4 := position, tokenIndex |
| 385 | if !matchDot() { |
| 386 | goto l4 |
| 387 | } |
| 388 | goto l0 |
| 389 | l4: |
| 390 | position, tokenIndex = position4, tokenIndex4 |
| 391 | } |
| 392 | add(ruleAsmFile, position1) |
| 393 | } |
| 394 | return true |
| 395 | l0: |
| 396 | position, tokenIndex = position0, tokenIndex0 |
| 397 | return false |
| 398 | }, |
| 399 | /* 1 Statement <- <(WS? (Label / ((GlobalDirective / LocationDirective / LabelContainingDirective / Instruction / Directive / Comment / ) WS? ((Comment? '\n') / ';'))))> */ |
| 400 | func() bool { |
| 401 | position5, tokenIndex5 := position, tokenIndex |
| 402 | { |
| 403 | position6 := position |
| 404 | { |
| 405 | position7, tokenIndex7 := position, tokenIndex |
| 406 | if !_rules[ruleWS]() { |
| 407 | goto l7 |
| 408 | } |
| 409 | goto l8 |
| 410 | l7: |
| 411 | position, tokenIndex = position7, tokenIndex7 |
| 412 | } |
| 413 | l8: |
| 414 | { |
| 415 | position9, tokenIndex9 := position, tokenIndex |
| 416 | if !_rules[ruleLabel]() { |
| 417 | goto l10 |
| 418 | } |
| 419 | goto l9 |
| 420 | l10: |
| 421 | position, tokenIndex = position9, tokenIndex9 |
| 422 | { |
| 423 | position11, tokenIndex11 := position, tokenIndex |
| 424 | if !_rules[ruleGlobalDirective]() { |
| 425 | goto l12 |
| 426 | } |
| 427 | goto l11 |
| 428 | l12: |
| 429 | position, tokenIndex = position11, tokenIndex11 |
| 430 | if !_rules[ruleLocationDirective]() { |
| 431 | goto l13 |
| 432 | } |
| 433 | goto l11 |
| 434 | l13: |
| 435 | position, tokenIndex = position11, tokenIndex11 |
| 436 | if !_rules[ruleLabelContainingDirective]() { |
| 437 | goto l14 |
| 438 | } |
| 439 | goto l11 |
| 440 | l14: |
| 441 | position, tokenIndex = position11, tokenIndex11 |
| 442 | if !_rules[ruleInstruction]() { |
| 443 | goto l15 |
| 444 | } |
| 445 | goto l11 |
| 446 | l15: |
| 447 | position, tokenIndex = position11, tokenIndex11 |
| 448 | if !_rules[ruleDirective]() { |
| 449 | goto l16 |
| 450 | } |
| 451 | goto l11 |
| 452 | l16: |
| 453 | position, tokenIndex = position11, tokenIndex11 |
| 454 | if !_rules[ruleComment]() { |
| 455 | goto l17 |
| 456 | } |
| 457 | goto l11 |
| 458 | l17: |
| 459 | position, tokenIndex = position11, tokenIndex11 |
| 460 | } |
| 461 | l11: |
| 462 | { |
| 463 | position18, tokenIndex18 := position, tokenIndex |
| 464 | if !_rules[ruleWS]() { |
| 465 | goto l18 |
| 466 | } |
| 467 | goto l19 |
| 468 | l18: |
| 469 | position, tokenIndex = position18, tokenIndex18 |
| 470 | } |
| 471 | l19: |
| 472 | { |
| 473 | position20, tokenIndex20 := position, tokenIndex |
| 474 | { |
| 475 | position22, tokenIndex22 := position, tokenIndex |
| 476 | if !_rules[ruleComment]() { |
| 477 | goto l22 |
| 478 | } |
| 479 | goto l23 |
| 480 | l22: |
| 481 | position, tokenIndex = position22, tokenIndex22 |
| 482 | } |
| 483 | l23: |
| 484 | if buffer[position] != rune('\n') { |
| 485 | goto l21 |
| 486 | } |
| 487 | position++ |
| 488 | goto l20 |
| 489 | l21: |
| 490 | position, tokenIndex = position20, tokenIndex20 |
| 491 | if buffer[position] != rune(';') { |
| 492 | goto l5 |
| 493 | } |
| 494 | position++ |
| 495 | } |
| 496 | l20: |
| 497 | } |
| 498 | l9: |
| 499 | add(ruleStatement, position6) |
| 500 | } |
| 501 | return true |
| 502 | l5: |
| 503 | position, tokenIndex = position5, tokenIndex5 |
| 504 | return false |
| 505 | }, |
| 506 | /* 2 GlobalDirective <- <((('.' ('g' / 'G') ('l' / 'L') ('o' / 'O') ('b' / 'B') ('a' / 'A') ('l' / 'L')) / ('.' ('g' / 'G') ('l' / 'L') ('o' / 'O') ('b' / 'B') ('l' / 'L'))) WS SymbolName)> */ |
| 507 | func() bool { |
| 508 | position24, tokenIndex24 := position, tokenIndex |
| 509 | { |
| 510 | position25 := position |
| 511 | { |
| 512 | position26, tokenIndex26 := position, tokenIndex |
| 513 | if buffer[position] != rune('.') { |
| 514 | goto l27 |
| 515 | } |
| 516 | position++ |
| 517 | { |
| 518 | position28, tokenIndex28 := position, tokenIndex |
| 519 | if buffer[position] != rune('g') { |
| 520 | goto l29 |
| 521 | } |
| 522 | position++ |
| 523 | goto l28 |
| 524 | l29: |
| 525 | position, tokenIndex = position28, tokenIndex28 |
| 526 | if buffer[position] != rune('G') { |
| 527 | goto l27 |
| 528 | } |
| 529 | position++ |
| 530 | } |
| 531 | l28: |
| 532 | { |
| 533 | position30, tokenIndex30 := position, tokenIndex |
| 534 | if buffer[position] != rune('l') { |
| 535 | goto l31 |
| 536 | } |
| 537 | position++ |
| 538 | goto l30 |
| 539 | l31: |
| 540 | position, tokenIndex = position30, tokenIndex30 |
| 541 | if buffer[position] != rune('L') { |
| 542 | goto l27 |
| 543 | } |
| 544 | position++ |
| 545 | } |
| 546 | l30: |
| 547 | { |
| 548 | position32, tokenIndex32 := position, tokenIndex |
| 549 | if buffer[position] != rune('o') { |
| 550 | goto l33 |
| 551 | } |
| 552 | position++ |
| 553 | goto l32 |
| 554 | l33: |
| 555 | position, tokenIndex = position32, tokenIndex32 |
| 556 | if buffer[position] != rune('O') { |
| 557 | goto l27 |
| 558 | } |
| 559 | position++ |
| 560 | } |
| 561 | l32: |
| 562 | { |
| 563 | position34, tokenIndex34 := position, tokenIndex |
| 564 | if buffer[position] != rune('b') { |
| 565 | goto l35 |
| 566 | } |
| 567 | position++ |
| 568 | goto l34 |
| 569 | l35: |
| 570 | position, tokenIndex = position34, tokenIndex34 |
| 571 | if buffer[position] != rune('B') { |
| 572 | goto l27 |
| 573 | } |
| 574 | position++ |
| 575 | } |
| 576 | l34: |
| 577 | { |
| 578 | position36, tokenIndex36 := position, tokenIndex |
| 579 | if buffer[position] != rune('a') { |
| 580 | goto l37 |
| 581 | } |
| 582 | position++ |
| 583 | goto l36 |
| 584 | l37: |
| 585 | position, tokenIndex = position36, tokenIndex36 |
| 586 | if buffer[position] != rune('A') { |
| 587 | goto l27 |
| 588 | } |
| 589 | position++ |
| 590 | } |
| 591 | l36: |
| 592 | { |
| 593 | position38, tokenIndex38 := position, tokenIndex |
| 594 | if buffer[position] != rune('l') { |
| 595 | goto l39 |
| 596 | } |
| 597 | position++ |
| 598 | goto l38 |
| 599 | l39: |
| 600 | position, tokenIndex = position38, tokenIndex38 |
| 601 | if buffer[position] != rune('L') { |
| 602 | goto l27 |
| 603 | } |
| 604 | position++ |
| 605 | } |
| 606 | l38: |
| 607 | goto l26 |
| 608 | l27: |
| 609 | position, tokenIndex = position26, tokenIndex26 |
| 610 | if buffer[position] != rune('.') { |
| 611 | goto l24 |
| 612 | } |
| 613 | position++ |
| 614 | { |
| 615 | position40, tokenIndex40 := position, tokenIndex |
| 616 | if buffer[position] != rune('g') { |
| 617 | goto l41 |
| 618 | } |
| 619 | position++ |
| 620 | goto l40 |
| 621 | l41: |
| 622 | position, tokenIndex = position40, tokenIndex40 |
| 623 | if buffer[position] != rune('G') { |
| 624 | goto l24 |
| 625 | } |
| 626 | position++ |
| 627 | } |
| 628 | l40: |
| 629 | { |
| 630 | position42, tokenIndex42 := position, tokenIndex |
| 631 | if buffer[position] != rune('l') { |
| 632 | goto l43 |
| 633 | } |
| 634 | position++ |
| 635 | goto l42 |
| 636 | l43: |
| 637 | position, tokenIndex = position42, tokenIndex42 |
| 638 | if buffer[position] != rune('L') { |
| 639 | goto l24 |
| 640 | } |
| 641 | position++ |
| 642 | } |
| 643 | l42: |
| 644 | { |
| 645 | position44, tokenIndex44 := position, tokenIndex |
| 646 | if buffer[position] != rune('o') { |
| 647 | goto l45 |
| 648 | } |
| 649 | position++ |
| 650 | goto l44 |
| 651 | l45: |
| 652 | position, tokenIndex = position44, tokenIndex44 |
| 653 | if buffer[position] != rune('O') { |
| 654 | goto l24 |
| 655 | } |
| 656 | position++ |
| 657 | } |
| 658 | l44: |
| 659 | { |
| 660 | position46, tokenIndex46 := position, tokenIndex |
| 661 | if buffer[position] != rune('b') { |
| 662 | goto l47 |
| 663 | } |
| 664 | position++ |
| 665 | goto l46 |
| 666 | l47: |
| 667 | position, tokenIndex = position46, tokenIndex46 |
| 668 | if buffer[position] != rune('B') { |
| 669 | goto l24 |
| 670 | } |
| 671 | position++ |
| 672 | } |
| 673 | l46: |
| 674 | { |
| 675 | position48, tokenIndex48 := position, tokenIndex |
| 676 | if buffer[position] != rune('l') { |
| 677 | goto l49 |
| 678 | } |
| 679 | position++ |
| 680 | goto l48 |
| 681 | l49: |
| 682 | position, tokenIndex = position48, tokenIndex48 |
| 683 | if buffer[position] != rune('L') { |
| 684 | goto l24 |
| 685 | } |
| 686 | position++ |
| 687 | } |
| 688 | l48: |
| 689 | } |
| 690 | l26: |
| 691 | if !_rules[ruleWS]() { |
| 692 | goto l24 |
| 693 | } |
| 694 | if !_rules[ruleSymbolName]() { |
| 695 | goto l24 |
| 696 | } |
| 697 | add(ruleGlobalDirective, position25) |
| 698 | } |
| 699 | return true |
| 700 | l24: |
| 701 | position, tokenIndex = position24, tokenIndex24 |
| 702 | return false |
| 703 | }, |
| 704 | /* 3 Directive <- <('.' DirectiveName (WS Args)?)> */ |
| 705 | func() bool { |
| 706 | position50, tokenIndex50 := position, tokenIndex |
| 707 | { |
| 708 | position51 := position |
| 709 | if buffer[position] != rune('.') { |
| 710 | goto l50 |
| 711 | } |
| 712 | position++ |
| 713 | if !_rules[ruleDirectiveName]() { |
| 714 | goto l50 |
| 715 | } |
| 716 | { |
| 717 | position52, tokenIndex52 := position, tokenIndex |
| 718 | if !_rules[ruleWS]() { |
| 719 | goto l52 |
| 720 | } |
| 721 | if !_rules[ruleArgs]() { |
| 722 | goto l52 |
| 723 | } |
| 724 | goto l53 |
| 725 | l52: |
| 726 | position, tokenIndex = position52, tokenIndex52 |
| 727 | } |
| 728 | l53: |
| 729 | add(ruleDirective, position51) |
| 730 | } |
| 731 | return true |
| 732 | l50: |
| 733 | position, tokenIndex = position50, tokenIndex50 |
| 734 | return false |
| 735 | }, |
| 736 | /* 4 DirectiveName <- <([a-z] / [A-Z] / ([0-9] / [0-9]) / '_')+> */ |
| 737 | func() bool { |
| 738 | position54, tokenIndex54 := position, tokenIndex |
| 739 | { |
| 740 | position55 := position |
| 741 | { |
| 742 | position58, tokenIndex58 := position, tokenIndex |
| 743 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
| 744 | goto l59 |
| 745 | } |
| 746 | position++ |
| 747 | goto l58 |
| 748 | l59: |
| 749 | position, tokenIndex = position58, tokenIndex58 |
| 750 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 751 | goto l60 |
| 752 | } |
| 753 | position++ |
| 754 | goto l58 |
| 755 | l60: |
| 756 | position, tokenIndex = position58, tokenIndex58 |
| 757 | { |
| 758 | position62, tokenIndex62 := position, tokenIndex |
| 759 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 760 | goto l63 |
| 761 | } |
| 762 | position++ |
| 763 | goto l62 |
| 764 | l63: |
| 765 | position, tokenIndex = position62, tokenIndex62 |
| 766 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 767 | goto l61 |
| 768 | } |
| 769 | position++ |
| 770 | } |
| 771 | l62: |
| 772 | goto l58 |
| 773 | l61: |
| 774 | position, tokenIndex = position58, tokenIndex58 |
| 775 | if buffer[position] != rune('_') { |
| 776 | goto l54 |
| 777 | } |
| 778 | position++ |
| 779 | } |
| 780 | l58: |
| 781 | l56: |
| 782 | { |
| 783 | position57, tokenIndex57 := position, tokenIndex |
| 784 | { |
| 785 | position64, tokenIndex64 := position, tokenIndex |
| 786 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
| 787 | goto l65 |
| 788 | } |
| 789 | position++ |
| 790 | goto l64 |
| 791 | l65: |
| 792 | position, tokenIndex = position64, tokenIndex64 |
| 793 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 794 | goto l66 |
| 795 | } |
| 796 | position++ |
| 797 | goto l64 |
| 798 | l66: |
| 799 | position, tokenIndex = position64, tokenIndex64 |
| 800 | { |
| 801 | position68, tokenIndex68 := position, tokenIndex |
| 802 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 803 | goto l69 |
| 804 | } |
| 805 | position++ |
| 806 | goto l68 |
| 807 | l69: |
| 808 | position, tokenIndex = position68, tokenIndex68 |
| 809 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 810 | goto l67 |
| 811 | } |
| 812 | position++ |
| 813 | } |
| 814 | l68: |
| 815 | goto l64 |
| 816 | l67: |
| 817 | position, tokenIndex = position64, tokenIndex64 |
| 818 | if buffer[position] != rune('_') { |
| 819 | goto l57 |
| 820 | } |
| 821 | position++ |
| 822 | } |
| 823 | l64: |
| 824 | goto l56 |
| 825 | l57: |
| 826 | position, tokenIndex = position57, tokenIndex57 |
| 827 | } |
| 828 | add(ruleDirectiveName, position55) |
| 829 | } |
| 830 | return true |
| 831 | l54: |
| 832 | position, tokenIndex = position54, tokenIndex54 |
| 833 | return false |
| 834 | }, |
| 835 | /* 5 LocationDirective <- <((('.' ('f' / 'F') ('i' / 'I') ('l' / 'L') ('e' / 'E')) / ('.' ('l' / 'L') ('o' / 'O') ('c' / 'C'))) WS (!('#' / '\n') .)+)> */ |
| 836 | func() bool { |
| 837 | position70, tokenIndex70 := position, tokenIndex |
| 838 | { |
| 839 | position71 := position |
| 840 | { |
| 841 | position72, tokenIndex72 := position, tokenIndex |
| 842 | if buffer[position] != rune('.') { |
| 843 | goto l73 |
| 844 | } |
| 845 | position++ |
| 846 | { |
| 847 | position74, tokenIndex74 := position, tokenIndex |
| 848 | if buffer[position] != rune('f') { |
| 849 | goto l75 |
| 850 | } |
| 851 | position++ |
| 852 | goto l74 |
| 853 | l75: |
| 854 | position, tokenIndex = position74, tokenIndex74 |
| 855 | if buffer[position] != rune('F') { |
| 856 | goto l73 |
| 857 | } |
| 858 | position++ |
| 859 | } |
| 860 | l74: |
| 861 | { |
| 862 | position76, tokenIndex76 := position, tokenIndex |
| 863 | if buffer[position] != rune('i') { |
| 864 | goto l77 |
| 865 | } |
| 866 | position++ |
| 867 | goto l76 |
| 868 | l77: |
| 869 | position, tokenIndex = position76, tokenIndex76 |
| 870 | if buffer[position] != rune('I') { |
| 871 | goto l73 |
| 872 | } |
| 873 | position++ |
| 874 | } |
| 875 | l76: |
| 876 | { |
| 877 | position78, tokenIndex78 := position, tokenIndex |
| 878 | if buffer[position] != rune('l') { |
| 879 | goto l79 |
| 880 | } |
| 881 | position++ |
| 882 | goto l78 |
| 883 | l79: |
| 884 | position, tokenIndex = position78, tokenIndex78 |
| 885 | if buffer[position] != rune('L') { |
| 886 | goto l73 |
| 887 | } |
| 888 | position++ |
| 889 | } |
| 890 | l78: |
| 891 | { |
| 892 | position80, tokenIndex80 := position, tokenIndex |
| 893 | if buffer[position] != rune('e') { |
| 894 | goto l81 |
| 895 | } |
| 896 | position++ |
| 897 | goto l80 |
| 898 | l81: |
| 899 | position, tokenIndex = position80, tokenIndex80 |
| 900 | if buffer[position] != rune('E') { |
| 901 | goto l73 |
| 902 | } |
| 903 | position++ |
| 904 | } |
| 905 | l80: |
| 906 | goto l72 |
| 907 | l73: |
| 908 | position, tokenIndex = position72, tokenIndex72 |
| 909 | if buffer[position] != rune('.') { |
| 910 | goto l70 |
| 911 | } |
| 912 | position++ |
| 913 | { |
| 914 | position82, tokenIndex82 := position, tokenIndex |
| 915 | if buffer[position] != rune('l') { |
| 916 | goto l83 |
| 917 | } |
| 918 | position++ |
| 919 | goto l82 |
| 920 | l83: |
| 921 | position, tokenIndex = position82, tokenIndex82 |
| 922 | if buffer[position] != rune('L') { |
| 923 | goto l70 |
| 924 | } |
| 925 | position++ |
| 926 | } |
| 927 | l82: |
| 928 | { |
| 929 | position84, tokenIndex84 := position, tokenIndex |
| 930 | if buffer[position] != rune('o') { |
| 931 | goto l85 |
| 932 | } |
| 933 | position++ |
| 934 | goto l84 |
| 935 | l85: |
| 936 | position, tokenIndex = position84, tokenIndex84 |
| 937 | if buffer[position] != rune('O') { |
| 938 | goto l70 |
| 939 | } |
| 940 | position++ |
| 941 | } |
| 942 | l84: |
| 943 | { |
| 944 | position86, tokenIndex86 := position, tokenIndex |
| 945 | if buffer[position] != rune('c') { |
| 946 | goto l87 |
| 947 | } |
| 948 | position++ |
| 949 | goto l86 |
| 950 | l87: |
| 951 | position, tokenIndex = position86, tokenIndex86 |
| 952 | if buffer[position] != rune('C') { |
| 953 | goto l70 |
| 954 | } |
| 955 | position++ |
| 956 | } |
| 957 | l86: |
| 958 | } |
| 959 | l72: |
| 960 | if !_rules[ruleWS]() { |
| 961 | goto l70 |
| 962 | } |
| 963 | { |
| 964 | position90, tokenIndex90 := position, tokenIndex |
| 965 | { |
| 966 | position91, tokenIndex91 := position, tokenIndex |
| 967 | if buffer[position] != rune('#') { |
| 968 | goto l92 |
| 969 | } |
| 970 | position++ |
| 971 | goto l91 |
| 972 | l92: |
| 973 | position, tokenIndex = position91, tokenIndex91 |
| 974 | if buffer[position] != rune('\n') { |
| 975 | goto l90 |
| 976 | } |
| 977 | position++ |
| 978 | } |
| 979 | l91: |
| 980 | goto l70 |
| 981 | l90: |
| 982 | position, tokenIndex = position90, tokenIndex90 |
| 983 | } |
| 984 | if !matchDot() { |
| 985 | goto l70 |
| 986 | } |
| 987 | l88: |
| 988 | { |
| 989 | position89, tokenIndex89 := position, tokenIndex |
| 990 | { |
| 991 | position93, tokenIndex93 := position, tokenIndex |
| 992 | { |
| 993 | position94, tokenIndex94 := position, tokenIndex |
| 994 | if buffer[position] != rune('#') { |
| 995 | goto l95 |
| 996 | } |
| 997 | position++ |
| 998 | goto l94 |
| 999 | l95: |
| 1000 | position, tokenIndex = position94, tokenIndex94 |
| 1001 | if buffer[position] != rune('\n') { |
| 1002 | goto l93 |
| 1003 | } |
| 1004 | position++ |
| 1005 | } |
| 1006 | l94: |
| 1007 | goto l89 |
| 1008 | l93: |
| 1009 | position, tokenIndex = position93, tokenIndex93 |
| 1010 | } |
| 1011 | if !matchDot() { |
| 1012 | goto l89 |
| 1013 | } |
| 1014 | goto l88 |
| 1015 | l89: |
| 1016 | position, tokenIndex = position89, tokenIndex89 |
| 1017 | } |
| 1018 | add(ruleLocationDirective, position71) |
| 1019 | } |
| 1020 | return true |
| 1021 | l70: |
| 1022 | position, tokenIndex = position70, tokenIndex70 |
| 1023 | return false |
| 1024 | }, |
| 1025 | /* 6 Args <- <(Arg (WS? ',' WS? Arg)*)> */ |
| 1026 | func() bool { |
| 1027 | position96, tokenIndex96 := position, tokenIndex |
| 1028 | { |
| 1029 | position97 := position |
| 1030 | if !_rules[ruleArg]() { |
| 1031 | goto l96 |
| 1032 | } |
| 1033 | l98: |
| 1034 | { |
| 1035 | position99, tokenIndex99 := position, tokenIndex |
| 1036 | { |
| 1037 | position100, tokenIndex100 := position, tokenIndex |
| 1038 | if !_rules[ruleWS]() { |
| 1039 | goto l100 |
| 1040 | } |
| 1041 | goto l101 |
| 1042 | l100: |
| 1043 | position, tokenIndex = position100, tokenIndex100 |
| 1044 | } |
| 1045 | l101: |
| 1046 | if buffer[position] != rune(',') { |
| 1047 | goto l99 |
| 1048 | } |
| 1049 | position++ |
| 1050 | { |
| 1051 | position102, tokenIndex102 := position, tokenIndex |
| 1052 | if !_rules[ruleWS]() { |
| 1053 | goto l102 |
| 1054 | } |
| 1055 | goto l103 |
| 1056 | l102: |
| 1057 | position, tokenIndex = position102, tokenIndex102 |
| 1058 | } |
| 1059 | l103: |
| 1060 | if !_rules[ruleArg]() { |
| 1061 | goto l99 |
| 1062 | } |
| 1063 | goto l98 |
| 1064 | l99: |
| 1065 | position, tokenIndex = position99, tokenIndex99 |
| 1066 | } |
| 1067 | add(ruleArgs, position97) |
| 1068 | } |
| 1069 | return true |
| 1070 | l96: |
| 1071 | position, tokenIndex = position96, tokenIndex96 |
| 1072 | return false |
| 1073 | }, |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1074 | /* 7 Arg <- <(QuotedArg / ([0-9] / [0-9] / ([a-z] / [A-Z]) / '%' / '+' / '-' / '*' / '_' / '@' / '.')*)> */ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1075 | func() bool { |
| 1076 | { |
| 1077 | position105 := position |
| 1078 | { |
| 1079 | position106, tokenIndex106 := position, tokenIndex |
| 1080 | if !_rules[ruleQuotedArg]() { |
| 1081 | goto l107 |
| 1082 | } |
| 1083 | goto l106 |
| 1084 | l107: |
| 1085 | position, tokenIndex = position106, tokenIndex106 |
| 1086 | l108: |
| 1087 | { |
| 1088 | position109, tokenIndex109 := position, tokenIndex |
| 1089 | { |
| 1090 | position110, tokenIndex110 := position, tokenIndex |
| 1091 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 1092 | goto l111 |
| 1093 | } |
| 1094 | position++ |
| 1095 | goto l110 |
| 1096 | l111: |
| 1097 | position, tokenIndex = position110, tokenIndex110 |
| 1098 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 1099 | goto l112 |
| 1100 | } |
| 1101 | position++ |
| 1102 | goto l110 |
| 1103 | l112: |
| 1104 | position, tokenIndex = position110, tokenIndex110 |
| 1105 | { |
| 1106 | position114, tokenIndex114 := position, tokenIndex |
| 1107 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
| 1108 | goto l115 |
| 1109 | } |
| 1110 | position++ |
| 1111 | goto l114 |
| 1112 | l115: |
| 1113 | position, tokenIndex = position114, tokenIndex114 |
| 1114 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 1115 | goto l113 |
| 1116 | } |
| 1117 | position++ |
| 1118 | } |
| 1119 | l114: |
| 1120 | goto l110 |
| 1121 | l113: |
| 1122 | position, tokenIndex = position110, tokenIndex110 |
| 1123 | if buffer[position] != rune('%') { |
| 1124 | goto l116 |
| 1125 | } |
| 1126 | position++ |
| 1127 | goto l110 |
| 1128 | l116: |
| 1129 | position, tokenIndex = position110, tokenIndex110 |
| 1130 | if buffer[position] != rune('+') { |
| 1131 | goto l117 |
| 1132 | } |
| 1133 | position++ |
| 1134 | goto l110 |
| 1135 | l117: |
| 1136 | position, tokenIndex = position110, tokenIndex110 |
| 1137 | if buffer[position] != rune('-') { |
| 1138 | goto l118 |
| 1139 | } |
| 1140 | position++ |
| 1141 | goto l110 |
| 1142 | l118: |
| 1143 | position, tokenIndex = position110, tokenIndex110 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1144 | if buffer[position] != rune('*') { |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1145 | goto l119 |
| 1146 | } |
| 1147 | position++ |
| 1148 | goto l110 |
| 1149 | l119: |
| 1150 | position, tokenIndex = position110, tokenIndex110 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1151 | if buffer[position] != rune('_') { |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1152 | goto l120 |
| 1153 | } |
| 1154 | position++ |
| 1155 | goto l110 |
| 1156 | l120: |
| 1157 | position, tokenIndex = position110, tokenIndex110 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1158 | if buffer[position] != rune('@') { |
| 1159 | goto l121 |
| 1160 | } |
| 1161 | position++ |
| 1162 | goto l110 |
| 1163 | l121: |
| 1164 | position, tokenIndex = position110, tokenIndex110 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1165 | if buffer[position] != rune('.') { |
| 1166 | goto l109 |
| 1167 | } |
| 1168 | position++ |
| 1169 | } |
| 1170 | l110: |
| 1171 | goto l108 |
| 1172 | l109: |
| 1173 | position, tokenIndex = position109, tokenIndex109 |
| 1174 | } |
| 1175 | } |
| 1176 | l106: |
| 1177 | add(ruleArg, position105) |
| 1178 | } |
| 1179 | return true |
| 1180 | }, |
| 1181 | /* 8 QuotedArg <- <('"' QuotedText '"')> */ |
| 1182 | func() bool { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1183 | position122, tokenIndex122 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1184 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1185 | position123 := position |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1186 | if buffer[position] != rune('"') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1187 | goto l122 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1188 | } |
| 1189 | position++ |
| 1190 | if !_rules[ruleQuotedText]() { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1191 | goto l122 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1192 | } |
| 1193 | if buffer[position] != rune('"') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1194 | goto l122 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1195 | } |
| 1196 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1197 | add(ruleQuotedArg, position123) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1198 | } |
| 1199 | return true |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1200 | l122: |
| 1201 | position, tokenIndex = position122, tokenIndex122 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1202 | return false |
| 1203 | }, |
| 1204 | /* 9 QuotedText <- <(EscapedChar / (!'"' .))*> */ |
| 1205 | func() bool { |
| 1206 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1207 | position125 := position |
| 1208 | l126: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1209 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1210 | position127, tokenIndex127 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1211 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1212 | position128, tokenIndex128 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1213 | if !_rules[ruleEscapedChar]() { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1214 | goto l129 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1215 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1216 | goto l128 |
| 1217 | l129: |
| 1218 | position, tokenIndex = position128, tokenIndex128 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1219 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1220 | position130, tokenIndex130 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1221 | if buffer[position] != rune('"') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1222 | goto l130 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1223 | } |
| 1224 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1225 | goto l127 |
| 1226 | l130: |
| 1227 | position, tokenIndex = position130, tokenIndex130 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1228 | } |
| 1229 | if !matchDot() { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1230 | goto l127 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1231 | } |
| 1232 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1233 | l128: |
| 1234 | goto l126 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1235 | l127: |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1236 | position, tokenIndex = position127, tokenIndex127 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1237 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1238 | add(ruleQuotedText, position125) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1239 | } |
| 1240 | return true |
| 1241 | }, |
| 1242 | /* 10 LabelContainingDirective <- <(LabelContainingDirectiveName WS SymbolArgs)> */ |
| 1243 | func() bool { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1244 | position131, tokenIndex131 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1245 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1246 | position132 := position |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1247 | if !_rules[ruleLabelContainingDirectiveName]() { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1248 | goto l131 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1249 | } |
| 1250 | if !_rules[ruleWS]() { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1251 | goto l131 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1252 | } |
| 1253 | if !_rules[ruleSymbolArgs]() { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1254 | goto l131 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1255 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1256 | add(ruleLabelContainingDirective, position132) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1257 | } |
| 1258 | return true |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1259 | l131: |
| 1260 | position, tokenIndex = position131, tokenIndex131 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1261 | return false |
| 1262 | }, |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 1263 | /* 11 LabelContainingDirectiveName <- <(('.' ('l' / 'L') ('o' / 'O') ('n' / 'N') ('g' / 'G')) / ('.' ('s' / 'S') ('e' / 'E') ('t' / 'T')) / ('.' '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'))> */ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1264 | func() bool { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1265 | position133, tokenIndex133 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1266 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1267 | position134 := position |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1268 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1269 | position135, tokenIndex135 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1270 | if buffer[position] != rune('.') { |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1271 | goto l136 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1272 | } |
| 1273 | position++ |
| 1274 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1275 | position137, tokenIndex137 := position, tokenIndex |
| 1276 | if buffer[position] != rune('l') { |
| 1277 | goto l138 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1278 | } |
| 1279 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1280 | goto l137 |
| 1281 | l138: |
| 1282 | position, tokenIndex = position137, tokenIndex137 |
| 1283 | if buffer[position] != rune('L') { |
| 1284 | goto l136 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1285 | } |
| 1286 | position++ |
| 1287 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1288 | l137: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1289 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1290 | position139, tokenIndex139 := position, tokenIndex |
| 1291 | if buffer[position] != rune('o') { |
| 1292 | goto l140 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1293 | } |
| 1294 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1295 | goto l139 |
| 1296 | l140: |
| 1297 | position, tokenIndex = position139, tokenIndex139 |
| 1298 | if buffer[position] != rune('O') { |
| 1299 | goto l136 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1300 | } |
| 1301 | position++ |
| 1302 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1303 | l139: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1304 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1305 | position141, tokenIndex141 := position, tokenIndex |
| 1306 | if buffer[position] != rune('n') { |
| 1307 | goto l142 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1308 | } |
| 1309 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1310 | goto l141 |
| 1311 | l142: |
| 1312 | position, tokenIndex = position141, tokenIndex141 |
| 1313 | if buffer[position] != rune('N') { |
| 1314 | goto l136 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1315 | } |
| 1316 | position++ |
| 1317 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1318 | l141: |
| 1319 | { |
| 1320 | position143, tokenIndex143 := position, tokenIndex |
| 1321 | if buffer[position] != rune('g') { |
| 1322 | goto l144 |
| 1323 | } |
| 1324 | position++ |
| 1325 | goto l143 |
| 1326 | l144: |
| 1327 | position, tokenIndex = position143, tokenIndex143 |
| 1328 | if buffer[position] != rune('G') { |
| 1329 | goto l136 |
| 1330 | } |
| 1331 | position++ |
| 1332 | } |
| 1333 | l143: |
| 1334 | goto l135 |
| 1335 | l136: |
| 1336 | position, tokenIndex = position135, tokenIndex135 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1337 | if buffer[position] != rune('.') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1338 | goto l145 |
| 1339 | } |
| 1340 | position++ |
| 1341 | { |
| 1342 | position146, tokenIndex146 := position, tokenIndex |
| 1343 | if buffer[position] != rune('s') { |
| 1344 | goto l147 |
| 1345 | } |
| 1346 | position++ |
| 1347 | goto l146 |
| 1348 | l147: |
| 1349 | position, tokenIndex = position146, tokenIndex146 |
| 1350 | if buffer[position] != rune('S') { |
| 1351 | goto l145 |
| 1352 | } |
| 1353 | position++ |
| 1354 | } |
| 1355 | l146: |
| 1356 | { |
| 1357 | position148, tokenIndex148 := position, tokenIndex |
| 1358 | if buffer[position] != rune('e') { |
| 1359 | goto l149 |
| 1360 | } |
| 1361 | position++ |
| 1362 | goto l148 |
| 1363 | l149: |
| 1364 | position, tokenIndex = position148, tokenIndex148 |
| 1365 | if buffer[position] != rune('E') { |
| 1366 | goto l145 |
| 1367 | } |
| 1368 | position++ |
| 1369 | } |
| 1370 | l148: |
| 1371 | { |
| 1372 | position150, tokenIndex150 := position, tokenIndex |
| 1373 | if buffer[position] != rune('t') { |
| 1374 | goto l151 |
| 1375 | } |
| 1376 | position++ |
| 1377 | goto l150 |
| 1378 | l151: |
| 1379 | position, tokenIndex = position150, tokenIndex150 |
| 1380 | if buffer[position] != rune('T') { |
| 1381 | goto l145 |
| 1382 | } |
| 1383 | position++ |
| 1384 | } |
| 1385 | l150: |
| 1386 | goto l135 |
| 1387 | l145: |
| 1388 | position, tokenIndex = position135, tokenIndex135 |
| 1389 | if buffer[position] != rune('.') { |
| 1390 | goto l152 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1391 | } |
| 1392 | position++ |
| 1393 | if buffer[position] != rune('8') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1394 | goto l152 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1395 | } |
| 1396 | position++ |
| 1397 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1398 | position153, tokenIndex153 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1399 | if buffer[position] != rune('b') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1400 | goto l154 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1401 | } |
| 1402 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1403 | goto l153 |
| 1404 | l154: |
| 1405 | position, tokenIndex = position153, tokenIndex153 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1406 | if buffer[position] != rune('B') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1407 | goto l152 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1408 | } |
| 1409 | position++ |
| 1410 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1411 | l153: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1412 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1413 | position155, tokenIndex155 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1414 | if buffer[position] != rune('y') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1415 | goto l156 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1416 | } |
| 1417 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1418 | goto l155 |
| 1419 | l156: |
| 1420 | position, tokenIndex = position155, tokenIndex155 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1421 | if buffer[position] != rune('Y') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1422 | goto l152 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1423 | } |
| 1424 | position++ |
| 1425 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1426 | l155: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1427 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1428 | position157, tokenIndex157 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1429 | if buffer[position] != rune('t') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1430 | goto l158 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1431 | } |
| 1432 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1433 | goto l157 |
| 1434 | l158: |
| 1435 | position, tokenIndex = position157, tokenIndex157 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1436 | if buffer[position] != rune('T') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1437 | goto l152 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1438 | } |
| 1439 | position++ |
| 1440 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1441 | l157: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1442 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1443 | position159, tokenIndex159 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1444 | if buffer[position] != rune('e') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1445 | goto l160 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1446 | } |
| 1447 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1448 | goto l159 |
| 1449 | l160: |
| 1450 | position, tokenIndex = position159, tokenIndex159 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1451 | if buffer[position] != rune('E') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1452 | goto l152 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1453 | } |
| 1454 | position++ |
| 1455 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1456 | l159: |
| 1457 | goto l135 |
| 1458 | l152: |
| 1459 | position, tokenIndex = position135, tokenIndex135 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1460 | if buffer[position] != rune('.') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1461 | goto l161 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1462 | } |
| 1463 | position++ |
| 1464 | if buffer[position] != rune('4') { |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1465 | goto l161 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1466 | } |
| 1467 | position++ |
| 1468 | { |
| 1469 | position162, tokenIndex162 := position, tokenIndex |
| 1470 | if buffer[position] != rune('b') { |
| 1471 | goto l163 |
| 1472 | } |
| 1473 | position++ |
| 1474 | goto l162 |
| 1475 | l163: |
| 1476 | position, tokenIndex = position162, tokenIndex162 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1477 | if buffer[position] != rune('B') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1478 | goto l161 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1479 | } |
| 1480 | position++ |
| 1481 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1482 | l162: |
| 1483 | { |
| 1484 | position164, tokenIndex164 := position, tokenIndex |
| 1485 | if buffer[position] != rune('y') { |
| 1486 | goto l165 |
| 1487 | } |
| 1488 | position++ |
| 1489 | goto l164 |
| 1490 | l165: |
| 1491 | position, tokenIndex = position164, tokenIndex164 |
| 1492 | if buffer[position] != rune('Y') { |
| 1493 | goto l161 |
| 1494 | } |
| 1495 | position++ |
| 1496 | } |
| 1497 | l164: |
| 1498 | { |
| 1499 | position166, tokenIndex166 := position, tokenIndex |
| 1500 | if buffer[position] != rune('t') { |
| 1501 | goto l167 |
| 1502 | } |
| 1503 | position++ |
| 1504 | goto l166 |
| 1505 | l167: |
| 1506 | position, tokenIndex = position166, tokenIndex166 |
| 1507 | if buffer[position] != rune('T') { |
| 1508 | goto l161 |
| 1509 | } |
| 1510 | position++ |
| 1511 | } |
| 1512 | l166: |
| 1513 | { |
| 1514 | position168, tokenIndex168 := position, tokenIndex |
| 1515 | if buffer[position] != rune('e') { |
| 1516 | goto l169 |
| 1517 | } |
| 1518 | position++ |
| 1519 | goto l168 |
| 1520 | l169: |
| 1521 | position, tokenIndex = position168, tokenIndex168 |
| 1522 | if buffer[position] != rune('E') { |
| 1523 | goto l161 |
| 1524 | } |
| 1525 | position++ |
| 1526 | } |
| 1527 | l168: |
| 1528 | goto l135 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1529 | l161: |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1530 | position, tokenIndex = position135, tokenIndex135 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1531 | if buffer[position] != rune('.') { |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1532 | goto l170 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1533 | } |
| 1534 | position++ |
| 1535 | { |
| 1536 | position171, tokenIndex171 := position, tokenIndex |
| 1537 | if buffer[position] != rune('q') { |
| 1538 | goto l172 |
| 1539 | } |
| 1540 | position++ |
| 1541 | goto l171 |
| 1542 | l172: |
| 1543 | position, tokenIndex = position171, tokenIndex171 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1544 | if buffer[position] != rune('Q') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1545 | goto l170 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1546 | } |
| 1547 | position++ |
| 1548 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1549 | l171: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1550 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1551 | position173, tokenIndex173 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1552 | if buffer[position] != rune('u') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1553 | goto l174 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1554 | } |
| 1555 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1556 | goto l173 |
| 1557 | l174: |
| 1558 | position, tokenIndex = position173, tokenIndex173 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1559 | if buffer[position] != rune('U') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1560 | goto l170 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1561 | } |
| 1562 | position++ |
| 1563 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1564 | l173: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1565 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1566 | position175, tokenIndex175 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1567 | if buffer[position] != rune('a') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1568 | goto l176 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1569 | } |
| 1570 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1571 | goto l175 |
| 1572 | l176: |
| 1573 | position, tokenIndex = position175, tokenIndex175 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1574 | if buffer[position] != rune('A') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1575 | goto l170 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1576 | } |
| 1577 | position++ |
| 1578 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1579 | l175: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1580 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1581 | position177, tokenIndex177 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1582 | if buffer[position] != rune('d') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1583 | goto l178 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1584 | } |
| 1585 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1586 | goto l177 |
| 1587 | l178: |
| 1588 | position, tokenIndex = position177, tokenIndex177 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1589 | if buffer[position] != rune('D') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1590 | goto l170 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1591 | } |
| 1592 | position++ |
| 1593 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1594 | l177: |
| 1595 | goto l135 |
| 1596 | l170: |
| 1597 | position, tokenIndex = position135, tokenIndex135 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1598 | if buffer[position] != rune('.') { |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1599 | goto l179 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1600 | } |
| 1601 | position++ |
| 1602 | { |
| 1603 | position180, tokenIndex180 := position, tokenIndex |
| 1604 | if buffer[position] != rune('t') { |
| 1605 | goto l181 |
| 1606 | } |
| 1607 | position++ |
| 1608 | goto l180 |
| 1609 | l181: |
| 1610 | position, tokenIndex = position180, tokenIndex180 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1611 | if buffer[position] != rune('T') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1612 | goto l179 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1613 | } |
| 1614 | position++ |
| 1615 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1616 | l180: |
| 1617 | { |
| 1618 | position182, tokenIndex182 := position, tokenIndex |
| 1619 | if buffer[position] != rune('c') { |
| 1620 | goto l183 |
| 1621 | } |
| 1622 | position++ |
| 1623 | goto l182 |
| 1624 | l183: |
| 1625 | position, tokenIndex = position182, tokenIndex182 |
| 1626 | if buffer[position] != rune('C') { |
| 1627 | goto l179 |
| 1628 | } |
| 1629 | position++ |
| 1630 | } |
| 1631 | l182: |
| 1632 | goto l135 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1633 | l179: |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1634 | position, tokenIndex = position135, tokenIndex135 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1635 | if buffer[position] != rune('.') { |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1636 | goto l184 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1637 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1638 | position++ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1639 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1640 | position185, tokenIndex185 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1641 | if buffer[position] != rune('l') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1642 | goto l186 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1643 | } |
| 1644 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1645 | goto l185 |
| 1646 | l186: |
| 1647 | position, tokenIndex = position185, tokenIndex185 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1648 | if buffer[position] != rune('L') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1649 | goto l184 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1650 | } |
| 1651 | position++ |
| 1652 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1653 | l185: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1654 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1655 | position187, tokenIndex187 := position, tokenIndex |
| 1656 | if buffer[position] != rune('o') { |
| 1657 | goto l188 |
| 1658 | } |
| 1659 | position++ |
| 1660 | goto l187 |
| 1661 | l188: |
| 1662 | position, tokenIndex = position187, tokenIndex187 |
| 1663 | if buffer[position] != rune('O') { |
| 1664 | goto l184 |
| 1665 | } |
| 1666 | position++ |
| 1667 | } |
| 1668 | l187: |
| 1669 | { |
| 1670 | position189, tokenIndex189 := position, tokenIndex |
| 1671 | if buffer[position] != rune('c') { |
| 1672 | goto l190 |
| 1673 | } |
| 1674 | position++ |
| 1675 | goto l189 |
| 1676 | l190: |
| 1677 | position, tokenIndex = position189, tokenIndex189 |
| 1678 | if buffer[position] != rune('C') { |
| 1679 | goto l184 |
| 1680 | } |
| 1681 | position++ |
| 1682 | } |
| 1683 | l189: |
| 1684 | { |
| 1685 | position191, tokenIndex191 := position, tokenIndex |
| 1686 | if buffer[position] != rune('a') { |
| 1687 | goto l192 |
| 1688 | } |
| 1689 | position++ |
| 1690 | goto l191 |
| 1691 | l192: |
| 1692 | position, tokenIndex = position191, tokenIndex191 |
| 1693 | if buffer[position] != rune('A') { |
| 1694 | goto l184 |
| 1695 | } |
| 1696 | position++ |
| 1697 | } |
| 1698 | l191: |
| 1699 | { |
| 1700 | position193, tokenIndex193 := position, tokenIndex |
| 1701 | if buffer[position] != rune('l') { |
| 1702 | goto l194 |
| 1703 | } |
| 1704 | position++ |
| 1705 | goto l193 |
| 1706 | l194: |
| 1707 | position, tokenIndex = position193, tokenIndex193 |
| 1708 | if buffer[position] != rune('L') { |
| 1709 | goto l184 |
| 1710 | } |
| 1711 | position++ |
| 1712 | } |
| 1713 | l193: |
| 1714 | { |
| 1715 | position195, tokenIndex195 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1716 | if buffer[position] != rune('e') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1717 | goto l196 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1718 | } |
| 1719 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1720 | goto l195 |
| 1721 | l196: |
| 1722 | position, tokenIndex = position195, tokenIndex195 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1723 | if buffer[position] != rune('E') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1724 | goto l184 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1725 | } |
| 1726 | position++ |
| 1727 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1728 | l195: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1729 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1730 | position197, tokenIndex197 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1731 | if buffer[position] != rune('n') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1732 | goto l198 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1733 | } |
| 1734 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1735 | goto l197 |
| 1736 | l198: |
| 1737 | position, tokenIndex = position197, tokenIndex197 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1738 | if buffer[position] != rune('N') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1739 | goto l184 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1740 | } |
| 1741 | position++ |
| 1742 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1743 | l197: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1744 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1745 | position199, tokenIndex199 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1746 | if buffer[position] != rune('t') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1747 | goto l200 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1748 | } |
| 1749 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1750 | goto l199 |
| 1751 | l200: |
| 1752 | position, tokenIndex = position199, tokenIndex199 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1753 | if buffer[position] != rune('T') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1754 | goto l184 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1755 | } |
| 1756 | position++ |
| 1757 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1758 | l199: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1759 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1760 | position201, tokenIndex201 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1761 | if buffer[position] != rune('r') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1762 | goto l202 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1763 | } |
| 1764 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1765 | goto l201 |
| 1766 | l202: |
| 1767 | position, tokenIndex = position201, tokenIndex201 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1768 | if buffer[position] != rune('R') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1769 | goto l184 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1770 | } |
| 1771 | position++ |
| 1772 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1773 | l201: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1774 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1775 | position203, tokenIndex203 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1776 | if buffer[position] != rune('y') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1777 | goto l204 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1778 | } |
| 1779 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1780 | goto l203 |
| 1781 | l204: |
| 1782 | position, tokenIndex = position203, tokenIndex203 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1783 | if buffer[position] != rune('Y') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1784 | goto l184 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1785 | } |
| 1786 | position++ |
| 1787 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1788 | l203: |
| 1789 | goto l135 |
| 1790 | l184: |
| 1791 | position, tokenIndex = position135, tokenIndex135 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1792 | if buffer[position] != rune('.') { |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1793 | goto l205 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1794 | } |
| 1795 | position++ |
| 1796 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1797 | position206, tokenIndex206 := position, tokenIndex |
| 1798 | if buffer[position] != rune('s') { |
| 1799 | goto l207 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1800 | } |
| 1801 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1802 | goto l206 |
| 1803 | l207: |
| 1804 | position, tokenIndex = position206, tokenIndex206 |
| 1805 | if buffer[position] != rune('S') { |
| 1806 | goto l205 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1807 | } |
| 1808 | position++ |
| 1809 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1810 | l206: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1811 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1812 | position208, tokenIndex208 := position, tokenIndex |
| 1813 | if buffer[position] != rune('i') { |
| 1814 | goto l209 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1815 | } |
| 1816 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1817 | goto l208 |
| 1818 | l209: |
| 1819 | position, tokenIndex = position208, tokenIndex208 |
| 1820 | if buffer[position] != rune('I') { |
| 1821 | goto l205 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1822 | } |
| 1823 | position++ |
| 1824 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1825 | l208: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1826 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1827 | position210, tokenIndex210 := position, tokenIndex |
| 1828 | if buffer[position] != rune('z') { |
| 1829 | goto l211 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1830 | } |
| 1831 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1832 | goto l210 |
| 1833 | l211: |
| 1834 | position, tokenIndex = position210, tokenIndex210 |
| 1835 | if buffer[position] != rune('Z') { |
| 1836 | goto l205 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1837 | } |
| 1838 | position++ |
| 1839 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1840 | l210: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1841 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1842 | position212, tokenIndex212 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1843 | if buffer[position] != rune('e') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1844 | goto l213 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1845 | } |
| 1846 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1847 | goto l212 |
| 1848 | l213: |
| 1849 | position, tokenIndex = position212, tokenIndex212 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1850 | if buffer[position] != rune('E') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1851 | goto l205 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 1852 | } |
| 1853 | position++ |
| 1854 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 1855 | l212: |
| 1856 | goto l135 |
| 1857 | l205: |
| 1858 | position, tokenIndex = position135, tokenIndex135 |
| 1859 | if buffer[position] != rune('.') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 1860 | goto l214 |
| 1861 | } |
| 1862 | position++ |
| 1863 | { |
| 1864 | position215, tokenIndex215 := position, tokenIndex |
| 1865 | if buffer[position] != rune('t') { |
| 1866 | goto l216 |
| 1867 | } |
| 1868 | position++ |
| 1869 | goto l215 |
| 1870 | l216: |
| 1871 | position, tokenIndex = position215, tokenIndex215 |
| 1872 | if buffer[position] != rune('T') { |
| 1873 | goto l214 |
| 1874 | } |
| 1875 | position++ |
| 1876 | } |
| 1877 | l215: |
| 1878 | { |
| 1879 | position217, tokenIndex217 := position, tokenIndex |
| 1880 | if buffer[position] != rune('y') { |
| 1881 | goto l218 |
| 1882 | } |
| 1883 | position++ |
| 1884 | goto l217 |
| 1885 | l218: |
| 1886 | position, tokenIndex = position217, tokenIndex217 |
| 1887 | if buffer[position] != rune('Y') { |
| 1888 | goto l214 |
| 1889 | } |
| 1890 | position++ |
| 1891 | } |
| 1892 | l217: |
| 1893 | { |
| 1894 | position219, tokenIndex219 := position, tokenIndex |
| 1895 | if buffer[position] != rune('p') { |
| 1896 | goto l220 |
| 1897 | } |
| 1898 | position++ |
| 1899 | goto l219 |
| 1900 | l220: |
| 1901 | position, tokenIndex = position219, tokenIndex219 |
| 1902 | if buffer[position] != rune('P') { |
| 1903 | goto l214 |
| 1904 | } |
| 1905 | position++ |
| 1906 | } |
| 1907 | l219: |
| 1908 | { |
| 1909 | position221, tokenIndex221 := position, tokenIndex |
| 1910 | if buffer[position] != rune('e') { |
| 1911 | goto l222 |
| 1912 | } |
| 1913 | position++ |
| 1914 | goto l221 |
| 1915 | l222: |
| 1916 | position, tokenIndex = position221, tokenIndex221 |
| 1917 | if buffer[position] != rune('E') { |
| 1918 | goto l214 |
| 1919 | } |
| 1920 | position++ |
| 1921 | } |
| 1922 | l221: |
| 1923 | goto l135 |
| 1924 | l214: |
| 1925 | position, tokenIndex = position135, tokenIndex135 |
| 1926 | if buffer[position] != rune('.') { |
| 1927 | goto l223 |
| 1928 | } |
| 1929 | position++ |
| 1930 | { |
| 1931 | position224, tokenIndex224 := position, tokenIndex |
| 1932 | if buffer[position] != rune('u') { |
| 1933 | goto l225 |
| 1934 | } |
| 1935 | position++ |
| 1936 | goto l224 |
| 1937 | l225: |
| 1938 | position, tokenIndex = position224, tokenIndex224 |
| 1939 | if buffer[position] != rune('U') { |
| 1940 | goto l223 |
| 1941 | } |
| 1942 | position++ |
| 1943 | } |
| 1944 | l224: |
| 1945 | { |
| 1946 | position226, tokenIndex226 := position, tokenIndex |
| 1947 | if buffer[position] != rune('l') { |
| 1948 | goto l227 |
| 1949 | } |
| 1950 | position++ |
| 1951 | goto l226 |
| 1952 | l227: |
| 1953 | position, tokenIndex = position226, tokenIndex226 |
| 1954 | if buffer[position] != rune('L') { |
| 1955 | goto l223 |
| 1956 | } |
| 1957 | position++ |
| 1958 | } |
| 1959 | l226: |
| 1960 | { |
| 1961 | position228, tokenIndex228 := position, tokenIndex |
| 1962 | if buffer[position] != rune('e') { |
| 1963 | goto l229 |
| 1964 | } |
| 1965 | position++ |
| 1966 | goto l228 |
| 1967 | l229: |
| 1968 | position, tokenIndex = position228, tokenIndex228 |
| 1969 | if buffer[position] != rune('E') { |
| 1970 | goto l223 |
| 1971 | } |
| 1972 | position++ |
| 1973 | } |
| 1974 | l228: |
| 1975 | { |
| 1976 | position230, tokenIndex230 := position, tokenIndex |
| 1977 | if buffer[position] != rune('b') { |
| 1978 | goto l231 |
| 1979 | } |
| 1980 | position++ |
| 1981 | goto l230 |
| 1982 | l231: |
| 1983 | position, tokenIndex = position230, tokenIndex230 |
| 1984 | if buffer[position] != rune('B') { |
| 1985 | goto l223 |
| 1986 | } |
| 1987 | position++ |
| 1988 | } |
| 1989 | l230: |
| 1990 | if buffer[position] != rune('1') { |
| 1991 | goto l223 |
| 1992 | } |
| 1993 | position++ |
| 1994 | if buffer[position] != rune('2') { |
| 1995 | goto l223 |
| 1996 | } |
| 1997 | position++ |
| 1998 | if buffer[position] != rune('8') { |
| 1999 | goto l223 |
| 2000 | } |
| 2001 | position++ |
| 2002 | goto l135 |
| 2003 | l223: |
| 2004 | position, tokenIndex = position135, tokenIndex135 |
| 2005 | if buffer[position] != rune('.') { |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2006 | goto l133 |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 2007 | } |
| 2008 | position++ |
| 2009 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2010 | position232, tokenIndex232 := position, tokenIndex |
| 2011 | if buffer[position] != rune('s') { |
| 2012 | goto l233 |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 2013 | } |
| 2014 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2015 | goto l232 |
| 2016 | l233: |
| 2017 | position, tokenIndex = position232, tokenIndex232 |
| 2018 | if buffer[position] != rune('S') { |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2019 | goto l133 |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 2020 | } |
| 2021 | position++ |
| 2022 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2023 | l232: |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 2024 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2025 | position234, tokenIndex234 := position, tokenIndex |
| 2026 | if buffer[position] != rune('l') { |
| 2027 | goto l235 |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 2028 | } |
| 2029 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2030 | goto l234 |
| 2031 | l235: |
| 2032 | position, tokenIndex = position234, tokenIndex234 |
| 2033 | if buffer[position] != rune('L') { |
Pete Bentley | 228bd62 | 2019-08-08 14:53:19 +0000 | [diff] [blame] | 2034 | goto l133 |
Pete Bentley | f8d8b73 | 2019-08-08 12:52:37 +0100 | [diff] [blame] | 2035 | } |
| 2036 | position++ |
| 2037 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2038 | l234: |
Pete Bentley | f8d8b73 | 2019-08-08 12:52:37 +0100 | [diff] [blame] | 2039 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2040 | position236, tokenIndex236 := position, tokenIndex |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2041 | if buffer[position] != rune('e') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2042 | goto l237 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2043 | } |
| 2044 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2045 | goto l236 |
| 2046 | l237: |
| 2047 | position, tokenIndex = position236, tokenIndex236 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2048 | if buffer[position] != rune('E') { |
| 2049 | goto l133 |
| 2050 | } |
| 2051 | position++ |
| 2052 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2053 | l236: |
| 2054 | { |
| 2055 | position238, tokenIndex238 := position, tokenIndex |
| 2056 | if buffer[position] != rune('b') { |
| 2057 | goto l239 |
| 2058 | } |
| 2059 | position++ |
| 2060 | goto l238 |
| 2061 | l239: |
| 2062 | position, tokenIndex = position238, tokenIndex238 |
| 2063 | if buffer[position] != rune('B') { |
| 2064 | goto l133 |
| 2065 | } |
| 2066 | position++ |
| 2067 | } |
| 2068 | l238: |
| 2069 | if buffer[position] != rune('1') { |
| 2070 | goto l133 |
| 2071 | } |
| 2072 | position++ |
| 2073 | if buffer[position] != rune('2') { |
| 2074 | goto l133 |
| 2075 | } |
| 2076 | position++ |
| 2077 | if buffer[position] != rune('8') { |
| 2078 | goto l133 |
| 2079 | } |
| 2080 | position++ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2081 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2082 | l135: |
| 2083 | add(ruleLabelContainingDirectiveName, position134) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2084 | } |
| 2085 | return true |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2086 | l133: |
| 2087 | position, tokenIndex = position133, tokenIndex133 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2088 | return false |
| 2089 | }, |
| 2090 | /* 12 SymbolArgs <- <(SymbolArg (WS? ',' WS? SymbolArg)*)> */ |
| 2091 | func() bool { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2092 | position240, tokenIndex240 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2093 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2094 | position241 := position |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2095 | if !_rules[ruleSymbolArg]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2096 | goto l240 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2097 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2098 | l242: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2099 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2100 | position243, tokenIndex243 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2101 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2102 | position244, tokenIndex244 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2103 | if !_rules[ruleWS]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2104 | goto l244 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2105 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2106 | goto l245 |
| 2107 | l244: |
| 2108 | position, tokenIndex = position244, tokenIndex244 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2109 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2110 | l245: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2111 | if buffer[position] != rune(',') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2112 | goto l243 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2113 | } |
| 2114 | position++ |
| 2115 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2116 | position246, tokenIndex246 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2117 | if !_rules[ruleWS]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2118 | goto l246 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2119 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2120 | goto l247 |
| 2121 | l246: |
| 2122 | position, tokenIndex = position246, tokenIndex246 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2123 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2124 | l247: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2125 | if !_rules[ruleSymbolArg]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2126 | goto l243 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2127 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2128 | goto l242 |
| 2129 | l243: |
| 2130 | position, tokenIndex = position243, tokenIndex243 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2131 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2132 | add(ruleSymbolArgs, position241) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2133 | } |
| 2134 | return true |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2135 | l240: |
| 2136 | position, tokenIndex = position240, tokenIndex240 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2137 | return false |
| 2138 | }, |
| 2139 | /* 13 SymbolArg <- <(Offset / SymbolType / ((Offset / LocalSymbol / SymbolName / Dot) WS? Operator WS? (Offset / LocalSymbol / SymbolName)) / (LocalSymbol TCMarker?) / (SymbolName Offset) / (SymbolName TCMarker?))> */ |
| 2140 | func() bool { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2141 | position248, tokenIndex248 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2142 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2143 | position249 := position |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2144 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2145 | position250, tokenIndex250 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2146 | if !_rules[ruleOffset]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2147 | goto l251 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2148 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2149 | goto l250 |
| 2150 | l251: |
| 2151 | position, tokenIndex = position250, tokenIndex250 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2152 | if !_rules[ruleSymbolType]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2153 | goto l252 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2154 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2155 | goto l250 |
| 2156 | l252: |
| 2157 | position, tokenIndex = position250, tokenIndex250 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2158 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2159 | position254, tokenIndex254 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2160 | if !_rules[ruleOffset]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2161 | goto l255 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2162 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2163 | goto l254 |
| 2164 | l255: |
| 2165 | position, tokenIndex = position254, tokenIndex254 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2166 | if !_rules[ruleLocalSymbol]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2167 | goto l256 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2168 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2169 | goto l254 |
| 2170 | l256: |
| 2171 | position, tokenIndex = position254, tokenIndex254 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2172 | if !_rules[ruleSymbolName]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2173 | goto l257 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2174 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2175 | goto l254 |
| 2176 | l257: |
| 2177 | position, tokenIndex = position254, tokenIndex254 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2178 | if !_rules[ruleDot]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2179 | goto l253 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2180 | } |
| 2181 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2182 | l254: |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2183 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2184 | position258, tokenIndex258 := position, tokenIndex |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2185 | if !_rules[ruleWS]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2186 | goto l258 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2187 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2188 | goto l259 |
| 2189 | l258: |
| 2190 | position, tokenIndex = position258, tokenIndex258 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2191 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2192 | l259: |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2193 | if !_rules[ruleOperator]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2194 | goto l253 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2195 | } |
| 2196 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2197 | position260, tokenIndex260 := position, tokenIndex |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2198 | if !_rules[ruleWS]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2199 | goto l260 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2200 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2201 | goto l261 |
| 2202 | l260: |
| 2203 | position, tokenIndex = position260, tokenIndex260 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2204 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2205 | l261: |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2206 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2207 | position262, tokenIndex262 := position, tokenIndex |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2208 | if !_rules[ruleOffset]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2209 | goto l263 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2210 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2211 | goto l262 |
| 2212 | l263: |
| 2213 | position, tokenIndex = position262, tokenIndex262 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2214 | if !_rules[ruleLocalSymbol]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2215 | goto l264 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2216 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2217 | goto l262 |
| 2218 | l264: |
| 2219 | position, tokenIndex = position262, tokenIndex262 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2220 | if !_rules[ruleSymbolName]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2221 | goto l253 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2222 | } |
| 2223 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2224 | l262: |
| 2225 | goto l250 |
| 2226 | l253: |
| 2227 | position, tokenIndex = position250, tokenIndex250 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2228 | if !_rules[ruleLocalSymbol]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2229 | goto l265 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2230 | } |
| 2231 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2232 | position266, tokenIndex266 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2233 | if !_rules[ruleTCMarker]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2234 | goto l266 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2235 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2236 | goto l267 |
| 2237 | l266: |
| 2238 | position, tokenIndex = position266, tokenIndex266 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2239 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2240 | l267: |
| 2241 | goto l250 |
| 2242 | l265: |
| 2243 | position, tokenIndex = position250, tokenIndex250 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2244 | if !_rules[ruleSymbolName]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2245 | goto l268 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2246 | } |
| 2247 | if !_rules[ruleOffset]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2248 | goto l268 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2249 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2250 | goto l250 |
| 2251 | l268: |
| 2252 | position, tokenIndex = position250, tokenIndex250 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2253 | if !_rules[ruleSymbolName]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2254 | goto l248 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2255 | } |
| 2256 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2257 | position269, tokenIndex269 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2258 | if !_rules[ruleTCMarker]() { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2259 | goto l269 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2260 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2261 | goto l270 |
| 2262 | l269: |
| 2263 | position, tokenIndex = position269, tokenIndex269 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2264 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2265 | l270: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2266 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2267 | l250: |
| 2268 | add(ruleSymbolArg, position249) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2269 | } |
| 2270 | return true |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2271 | l248: |
| 2272 | position, tokenIndex = position248, tokenIndex248 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2273 | return false |
| 2274 | }, |
| 2275 | /* 14 SymbolType <- <(('@' 'f' 'u' 'n' 'c' 't' 'i' 'o' 'n') / ('@' 'o' 'b' 'j' 'e' 'c' 't'))> */ |
| 2276 | func() bool { |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2277 | position271, tokenIndex271 := position, tokenIndex |
| 2278 | { |
| 2279 | position272 := position |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2280 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2281 | position273, tokenIndex273 := position, tokenIndex |
| 2282 | if buffer[position] != rune('@') { |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2283 | goto l274 |
| 2284 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2285 | position++ |
| 2286 | if buffer[position] != rune('f') { |
| 2287 | goto l274 |
| 2288 | } |
| 2289 | position++ |
| 2290 | if buffer[position] != rune('u') { |
| 2291 | goto l274 |
| 2292 | } |
| 2293 | position++ |
| 2294 | if buffer[position] != rune('n') { |
| 2295 | goto l274 |
| 2296 | } |
| 2297 | position++ |
| 2298 | if buffer[position] != rune('c') { |
| 2299 | goto l274 |
| 2300 | } |
| 2301 | position++ |
| 2302 | if buffer[position] != rune('t') { |
| 2303 | goto l274 |
| 2304 | } |
| 2305 | position++ |
| 2306 | if buffer[position] != rune('i') { |
| 2307 | goto l274 |
| 2308 | } |
| 2309 | position++ |
| 2310 | if buffer[position] != rune('o') { |
| 2311 | goto l274 |
| 2312 | } |
| 2313 | position++ |
| 2314 | if buffer[position] != rune('n') { |
| 2315 | goto l274 |
| 2316 | } |
| 2317 | position++ |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2318 | goto l273 |
| 2319 | l274: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2320 | position, tokenIndex = position273, tokenIndex273 |
| 2321 | if buffer[position] != rune('@') { |
| 2322 | goto l271 |
| 2323 | } |
| 2324 | position++ |
| 2325 | if buffer[position] != rune('o') { |
| 2326 | goto l271 |
| 2327 | } |
| 2328 | position++ |
| 2329 | if buffer[position] != rune('b') { |
| 2330 | goto l271 |
| 2331 | } |
| 2332 | position++ |
| 2333 | if buffer[position] != rune('j') { |
| 2334 | goto l271 |
| 2335 | } |
| 2336 | position++ |
| 2337 | if buffer[position] != rune('e') { |
| 2338 | goto l271 |
| 2339 | } |
| 2340 | position++ |
| 2341 | if buffer[position] != rune('c') { |
| 2342 | goto l271 |
| 2343 | } |
| 2344 | position++ |
| 2345 | if buffer[position] != rune('t') { |
| 2346 | goto l271 |
| 2347 | } |
| 2348 | position++ |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2349 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2350 | l273: |
| 2351 | add(ruleSymbolType, position272) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2352 | } |
| 2353 | return true |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2354 | l271: |
| 2355 | position, tokenIndex = position271, tokenIndex271 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2356 | return false |
| 2357 | }, |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2358 | /* 15 Dot <- <'.'> */ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2359 | func() bool { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2360 | position275, tokenIndex275 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2361 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2362 | position276 := position |
| 2363 | if buffer[position] != rune('.') { |
| 2364 | goto l275 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2365 | } |
| 2366 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2367 | add(ruleDot, position276) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2368 | } |
| 2369 | return true |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2370 | l275: |
| 2371 | position, tokenIndex = position275, tokenIndex275 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2372 | return false |
| 2373 | }, |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2374 | /* 16 TCMarker <- <('[' 'T' 'C' ']')> */ |
| 2375 | func() bool { |
| 2376 | position277, tokenIndex277 := position, tokenIndex |
| 2377 | { |
| 2378 | position278 := position |
| 2379 | if buffer[position] != rune('[') { |
| 2380 | goto l277 |
| 2381 | } |
| 2382 | position++ |
| 2383 | if buffer[position] != rune('T') { |
| 2384 | goto l277 |
| 2385 | } |
| 2386 | position++ |
| 2387 | if buffer[position] != rune('C') { |
| 2388 | goto l277 |
| 2389 | } |
| 2390 | position++ |
| 2391 | if buffer[position] != rune(']') { |
| 2392 | goto l277 |
| 2393 | } |
| 2394 | position++ |
| 2395 | add(ruleTCMarker, position278) |
| 2396 | } |
| 2397 | return true |
| 2398 | l277: |
| 2399 | position, tokenIndex = position277, tokenIndex277 |
| 2400 | return false |
| 2401 | }, |
| 2402 | /* 17 EscapedChar <- <('\\' .)> */ |
| 2403 | func() bool { |
| 2404 | position279, tokenIndex279 := position, tokenIndex |
| 2405 | { |
| 2406 | position280 := position |
| 2407 | if buffer[position] != rune('\\') { |
| 2408 | goto l279 |
| 2409 | } |
| 2410 | position++ |
| 2411 | if !matchDot() { |
| 2412 | goto l279 |
| 2413 | } |
| 2414 | add(ruleEscapedChar, position280) |
| 2415 | } |
| 2416 | return true |
| 2417 | l279: |
| 2418 | position, tokenIndex = position279, tokenIndex279 |
| 2419 | return false |
| 2420 | }, |
| 2421 | /* 18 WS <- <(' ' / '\t')+> */ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2422 | func() bool { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2423 | position281, tokenIndex281 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2424 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2425 | position282 := position |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2426 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2427 | position285, tokenIndex285 := position, tokenIndex |
| 2428 | if buffer[position] != rune(' ') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2429 | goto l286 |
| 2430 | } |
| 2431 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2432 | goto l285 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2433 | l286: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2434 | position, tokenIndex = position285, tokenIndex285 |
| 2435 | if buffer[position] != rune('\t') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2436 | goto l281 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2437 | } |
| 2438 | position++ |
| 2439 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2440 | l285: |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2441 | l283: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2442 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2443 | position284, tokenIndex284 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2444 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2445 | position287, tokenIndex287 := position, tokenIndex |
| 2446 | if buffer[position] != rune(' ') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2447 | goto l288 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2448 | } |
| 2449 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2450 | goto l287 |
| 2451 | l288: |
| 2452 | position, tokenIndex = position287, tokenIndex287 |
| 2453 | if buffer[position] != rune('\t') { |
| 2454 | goto l284 |
| 2455 | } |
| 2456 | position++ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2457 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2458 | l287: |
| 2459 | goto l283 |
| 2460 | l284: |
| 2461 | position, tokenIndex = position284, tokenIndex284 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2462 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2463 | add(ruleWS, position282) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2464 | } |
| 2465 | return true |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2466 | l281: |
| 2467 | position, tokenIndex = position281, tokenIndex281 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2468 | return false |
| 2469 | }, |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2470 | /* 19 Comment <- <('#' (!'\n' .)*)> */ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2471 | func() bool { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2472 | position289, tokenIndex289 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2473 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2474 | position290 := position |
| 2475 | if buffer[position] != rune('#') { |
| 2476 | goto l289 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2477 | } |
| 2478 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2479 | l291: |
| 2480 | { |
| 2481 | position292, tokenIndex292 := position, tokenIndex |
| 2482 | { |
| 2483 | position293, tokenIndex293 := position, tokenIndex |
| 2484 | if buffer[position] != rune('\n') { |
| 2485 | goto l293 |
| 2486 | } |
| 2487 | position++ |
| 2488 | goto l292 |
| 2489 | l293: |
| 2490 | position, tokenIndex = position293, tokenIndex293 |
| 2491 | } |
| 2492 | if !matchDot() { |
| 2493 | goto l292 |
| 2494 | } |
| 2495 | goto l291 |
| 2496 | l292: |
| 2497 | position, tokenIndex = position292, tokenIndex292 |
| 2498 | } |
| 2499 | add(ruleComment, position290) |
| 2500 | } |
| 2501 | return true |
| 2502 | l289: |
| 2503 | position, tokenIndex = position289, tokenIndex289 |
| 2504 | return false |
| 2505 | }, |
| 2506 | /* 20 Label <- <((LocalSymbol / LocalLabel / SymbolName) ':')> */ |
| 2507 | func() bool { |
| 2508 | position294, tokenIndex294 := position, tokenIndex |
| 2509 | { |
| 2510 | position295 := position |
| 2511 | { |
| 2512 | position296, tokenIndex296 := position, tokenIndex |
| 2513 | if !_rules[ruleLocalSymbol]() { |
| 2514 | goto l297 |
| 2515 | } |
| 2516 | goto l296 |
| 2517 | l297: |
| 2518 | position, tokenIndex = position296, tokenIndex296 |
| 2519 | if !_rules[ruleLocalLabel]() { |
| 2520 | goto l298 |
| 2521 | } |
| 2522 | goto l296 |
| 2523 | l298: |
| 2524 | position, tokenIndex = position296, tokenIndex296 |
| 2525 | if !_rules[ruleSymbolName]() { |
| 2526 | goto l294 |
| 2527 | } |
| 2528 | } |
| 2529 | l296: |
| 2530 | if buffer[position] != rune(':') { |
| 2531 | goto l294 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2532 | } |
| 2533 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2534 | add(ruleLabel, position295) |
| 2535 | } |
| 2536 | return true |
| 2537 | l294: |
| 2538 | position, tokenIndex = position294, tokenIndex294 |
| 2539 | return false |
| 2540 | }, |
| 2541 | /* 21 SymbolName <- <(([a-z] / [A-Z] / '.' / '_') ([a-z] / [A-Z] / '.' / ([0-9] / [0-9]) / '$' / '_')*)> */ |
| 2542 | func() bool { |
| 2543 | position299, tokenIndex299 := position, tokenIndex |
| 2544 | { |
| 2545 | position300 := position |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2546 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2547 | position301, tokenIndex301 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2548 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2549 | goto l302 |
| 2550 | } |
| 2551 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2552 | goto l301 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2553 | l302: |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2554 | position, tokenIndex = position301, tokenIndex301 |
| 2555 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2556 | goto l303 |
| 2557 | } |
| 2558 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2559 | goto l301 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2560 | l303: |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2561 | position, tokenIndex = position301, tokenIndex301 |
| 2562 | if buffer[position] != rune('.') { |
| 2563 | goto l304 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2564 | } |
| 2565 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2566 | goto l301 |
| 2567 | l304: |
| 2568 | position, tokenIndex = position301, tokenIndex301 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2569 | if buffer[position] != rune('_') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2570 | goto l299 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2571 | } |
| 2572 | position++ |
| 2573 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2574 | l301: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2575 | l305: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2576 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2577 | position306, tokenIndex306 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2578 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2579 | position307, tokenIndex307 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2580 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2581 | goto l308 |
| 2582 | } |
| 2583 | position++ |
| 2584 | goto l307 |
| 2585 | l308: |
| 2586 | position, tokenIndex = position307, tokenIndex307 |
| 2587 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 2588 | goto l309 |
| 2589 | } |
| 2590 | position++ |
| 2591 | goto l307 |
| 2592 | l309: |
| 2593 | position, tokenIndex = position307, tokenIndex307 |
| 2594 | if buffer[position] != rune('.') { |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2595 | goto l310 |
| 2596 | } |
| 2597 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2598 | goto l307 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2599 | l310: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2600 | position, tokenIndex = position307, tokenIndex307 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2601 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2602 | position312, tokenIndex312 := position, tokenIndex |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2603 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 2604 | goto l313 |
| 2605 | } |
| 2606 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2607 | goto l312 |
| 2608 | l313: |
| 2609 | position, tokenIndex = position312, tokenIndex312 |
| 2610 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 2611 | goto l311 |
| 2612 | } |
| 2613 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2614 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2615 | l312: |
| 2616 | goto l307 |
| 2617 | l311: |
| 2618 | position, tokenIndex = position307, tokenIndex307 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2619 | if buffer[position] != rune('$') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2620 | goto l314 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2621 | } |
| 2622 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2623 | goto l307 |
| 2624 | l314: |
| 2625 | position, tokenIndex = position307, tokenIndex307 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2626 | if buffer[position] != rune('_') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2627 | goto l306 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2628 | } |
| 2629 | position++ |
| 2630 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2631 | l307: |
| 2632 | goto l305 |
| 2633 | l306: |
| 2634 | position, tokenIndex = position306, tokenIndex306 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2635 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2636 | add(ruleSymbolName, position300) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2637 | } |
| 2638 | return true |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2639 | l299: |
| 2640 | position, tokenIndex = position299, tokenIndex299 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2641 | return false |
| 2642 | }, |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2643 | /* 22 LocalSymbol <- <('.' 'L' ([a-z] / [A-Z] / '.' / ([0-9] / [0-9]) / '$' / '_')+)> */ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2644 | func() bool { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2645 | position315, tokenIndex315 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2646 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2647 | position316 := position |
| 2648 | if buffer[position] != rune('.') { |
| 2649 | goto l315 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2650 | } |
| 2651 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2652 | if buffer[position] != rune('L') { |
| 2653 | goto l315 |
| 2654 | } |
| 2655 | position++ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2656 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2657 | position319, tokenIndex319 := position, tokenIndex |
| 2658 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
| 2659 | goto l320 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2660 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2661 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2662 | goto l319 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2663 | l320: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2664 | position, tokenIndex = position319, tokenIndex319 |
| 2665 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 2666 | goto l321 |
| 2667 | } |
| 2668 | position++ |
| 2669 | goto l319 |
| 2670 | l321: |
| 2671 | position, tokenIndex = position319, tokenIndex319 |
| 2672 | if buffer[position] != rune('.') { |
| 2673 | goto l322 |
| 2674 | } |
| 2675 | position++ |
| 2676 | goto l319 |
| 2677 | l322: |
| 2678 | position, tokenIndex = position319, tokenIndex319 |
| 2679 | { |
| 2680 | position324, tokenIndex324 := position, tokenIndex |
| 2681 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 2682 | goto l325 |
| 2683 | } |
| 2684 | position++ |
| 2685 | goto l324 |
| 2686 | l325: |
| 2687 | position, tokenIndex = position324, tokenIndex324 |
| 2688 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 2689 | goto l323 |
| 2690 | } |
| 2691 | position++ |
| 2692 | } |
| 2693 | l324: |
| 2694 | goto l319 |
| 2695 | l323: |
| 2696 | position, tokenIndex = position319, tokenIndex319 |
| 2697 | if buffer[position] != rune('$') { |
| 2698 | goto l326 |
| 2699 | } |
| 2700 | position++ |
| 2701 | goto l319 |
| 2702 | l326: |
| 2703 | position, tokenIndex = position319, tokenIndex319 |
| 2704 | if buffer[position] != rune('_') { |
| 2705 | goto l315 |
| 2706 | } |
| 2707 | position++ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2708 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2709 | l319: |
| 2710 | l317: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2711 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2712 | position318, tokenIndex318 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2713 | { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2714 | position327, tokenIndex327 := position, tokenIndex |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2715 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2716 | goto l328 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2717 | } |
| 2718 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2719 | goto l327 |
| 2720 | l328: |
| 2721 | position, tokenIndex = position327, tokenIndex327 |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2722 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 2723 | goto l329 |
| 2724 | } |
| 2725 | position++ |
| 2726 | goto l327 |
| 2727 | l329: |
| 2728 | position, tokenIndex = position327, tokenIndex327 |
| 2729 | if buffer[position] != rune('.') { |
| 2730 | goto l330 |
| 2731 | } |
| 2732 | position++ |
| 2733 | goto l327 |
| 2734 | l330: |
| 2735 | position, tokenIndex = position327, tokenIndex327 |
| 2736 | { |
| 2737 | position332, tokenIndex332 := position, tokenIndex |
| 2738 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 2739 | goto l333 |
| 2740 | } |
| 2741 | position++ |
| 2742 | goto l332 |
| 2743 | l333: |
| 2744 | position, tokenIndex = position332, tokenIndex332 |
| 2745 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 2746 | goto l331 |
| 2747 | } |
| 2748 | position++ |
| 2749 | } |
| 2750 | l332: |
| 2751 | goto l327 |
| 2752 | l331: |
| 2753 | position, tokenIndex = position327, tokenIndex327 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2754 | if buffer[position] != rune('$') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2755 | goto l334 |
| 2756 | } |
| 2757 | position++ |
| 2758 | goto l327 |
| 2759 | l334: |
| 2760 | position, tokenIndex = position327, tokenIndex327 |
| 2761 | if buffer[position] != rune('_') { |
| 2762 | goto l318 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2763 | } |
| 2764 | position++ |
| 2765 | } |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2766 | l327: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2767 | goto l317 |
| 2768 | l318: |
| 2769 | position, tokenIndex = position318, tokenIndex318 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2770 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2771 | add(ruleLocalSymbol, position316) |
Pete Bentley | 228bd62 | 2019-08-08 14:53:19 +0000 | [diff] [blame] | 2772 | } |
| 2773 | return true |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2774 | l315: |
| 2775 | position, tokenIndex = position315, tokenIndex315 |
Pete Bentley | 228bd62 | 2019-08-08 14:53:19 +0000 | [diff] [blame] | 2776 | return false |
| 2777 | }, |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2778 | /* 23 LocalLabel <- <([0-9] ([0-9] / '$')*)> */ |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2779 | func() bool { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2780 | position335, tokenIndex335 := position, tokenIndex |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2781 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2782 | position336 := position |
| 2783 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 2784 | goto l335 |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2785 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2786 | position++ |
| 2787 | l337: |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2788 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2789 | position338, tokenIndex338 := position, tokenIndex |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2790 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2791 | position339, tokenIndex339 := position, tokenIndex |
| 2792 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 2793 | goto l340 |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2794 | } |
| 2795 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2796 | goto l339 |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2797 | l340: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2798 | position, tokenIndex = position339, tokenIndex339 |
| 2799 | if buffer[position] != rune('$') { |
| 2800 | goto l338 |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2801 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2802 | position++ |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2803 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2804 | l339: |
| 2805 | goto l337 |
| 2806 | l338: |
| 2807 | position, tokenIndex = position338, tokenIndex338 |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2808 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2809 | add(ruleLocalLabel, position336) |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2810 | } |
| 2811 | return true |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2812 | l335: |
| 2813 | position, tokenIndex = position335, tokenIndex335 |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2814 | return false |
| 2815 | }, |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2816 | /* 24 LocalLabelRef <- <([0-9] ([0-9] / '$')* ('b' / 'f'))> */ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2817 | func() bool { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 2818 | position341, tokenIndex341 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2819 | { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 2820 | position342 := position |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2821 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 2822 | goto l341 |
| 2823 | } |
| 2824 | position++ |
| 2825 | l343: |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2826 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2827 | position344, tokenIndex344 := position, tokenIndex |
| 2828 | { |
| 2829 | position345, tokenIndex345 := position, tokenIndex |
| 2830 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 2831 | goto l346 |
| 2832 | } |
| 2833 | position++ |
| 2834 | goto l345 |
| 2835 | l346: |
| 2836 | position, tokenIndex = position345, tokenIndex345 |
| 2837 | if buffer[position] != rune('$') { |
| 2838 | goto l344 |
| 2839 | } |
| 2840 | position++ |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 2841 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2842 | l345: |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 2843 | goto l343 |
| 2844 | l344: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2845 | position, tokenIndex = position344, tokenIndex344 |
| 2846 | } |
| 2847 | { |
| 2848 | position347, tokenIndex347 := position, tokenIndex |
| 2849 | if buffer[position] != rune('b') { |
| 2850 | goto l348 |
| 2851 | } |
| 2852 | position++ |
| 2853 | goto l347 |
| 2854 | l348: |
| 2855 | position, tokenIndex = position347, tokenIndex347 |
| 2856 | if buffer[position] != rune('f') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 2857 | goto l341 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2858 | } |
| 2859 | position++ |
| 2860 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2861 | l347: |
| 2862 | add(ruleLocalLabelRef, position342) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2863 | } |
| 2864 | return true |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 2865 | l341: |
| 2866 | position, tokenIndex = position341, tokenIndex341 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2867 | return false |
| 2868 | }, |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2869 | /* 25 Instruction <- <(InstructionName (WS InstructionArg (WS? ',' WS? InstructionArg)*)?)> */ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2870 | func() bool { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2871 | position349, tokenIndex349 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 2872 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2873 | position350 := position |
| 2874 | if !_rules[ruleInstructionName]() { |
| 2875 | goto l349 |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 2876 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2877 | { |
| 2878 | position351, tokenIndex351 := position, tokenIndex |
| 2879 | if !_rules[ruleWS]() { |
| 2880 | goto l351 |
| 2881 | } |
| 2882 | if !_rules[ruleInstructionArg]() { |
| 2883 | goto l351 |
| 2884 | } |
| 2885 | l353: |
| 2886 | { |
| 2887 | position354, tokenIndex354 := position, tokenIndex |
| 2888 | { |
| 2889 | position355, tokenIndex355 := position, tokenIndex |
| 2890 | if !_rules[ruleWS]() { |
| 2891 | goto l355 |
| 2892 | } |
| 2893 | goto l356 |
| 2894 | l355: |
| 2895 | position, tokenIndex = position355, tokenIndex355 |
| 2896 | } |
| 2897 | l356: |
| 2898 | if buffer[position] != rune(',') { |
| 2899 | goto l354 |
| 2900 | } |
| 2901 | position++ |
| 2902 | { |
| 2903 | position357, tokenIndex357 := position, tokenIndex |
| 2904 | if !_rules[ruleWS]() { |
| 2905 | goto l357 |
| 2906 | } |
| 2907 | goto l358 |
| 2908 | l357: |
| 2909 | position, tokenIndex = position357, tokenIndex357 |
| 2910 | } |
| 2911 | l358: |
| 2912 | if !_rules[ruleInstructionArg]() { |
| 2913 | goto l354 |
| 2914 | } |
| 2915 | goto l353 |
| 2916 | l354: |
| 2917 | position, tokenIndex = position354, tokenIndex354 |
| 2918 | } |
| 2919 | goto l352 |
| 2920 | l351: |
| 2921 | position, tokenIndex = position351, tokenIndex351 |
| 2922 | } |
| 2923 | l352: |
| 2924 | add(ruleInstruction, position350) |
| 2925 | } |
| 2926 | return true |
| 2927 | l349: |
| 2928 | position, tokenIndex = position349, tokenIndex349 |
| 2929 | return false |
| 2930 | }, |
| 2931 | /* 26 InstructionName <- <(([a-z] / [A-Z]) ([a-z] / [A-Z] / ([0-9] / [0-9]))* ('.' / '+' / '-')?)> */ |
| 2932 | func() bool { |
| 2933 | position359, tokenIndex359 := position, tokenIndex |
| 2934 | { |
| 2935 | position360 := position |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 2936 | { |
| 2937 | position361, tokenIndex361 := position, tokenIndex |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2938 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 2939 | goto l362 |
| 2940 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2941 | position++ |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 2942 | goto l361 |
| 2943 | l362: |
| 2944 | position, tokenIndex = position361, tokenIndex361 |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2945 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 2946 | goto l359 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 2947 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2948 | position++ |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 2949 | } |
| 2950 | l361: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2951 | l363: |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 2952 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2953 | position364, tokenIndex364 := position, tokenIndex |
| 2954 | { |
| 2955 | position365, tokenIndex365 := position, tokenIndex |
| 2956 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
| 2957 | goto l366 |
| 2958 | } |
| 2959 | position++ |
| 2960 | goto l365 |
| 2961 | l366: |
| 2962 | position, tokenIndex = position365, tokenIndex365 |
| 2963 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 2964 | goto l367 |
| 2965 | } |
| 2966 | position++ |
| 2967 | goto l365 |
| 2968 | l367: |
| 2969 | position, tokenIndex = position365, tokenIndex365 |
| 2970 | { |
| 2971 | position368, tokenIndex368 := position, tokenIndex |
| 2972 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 2973 | goto l369 |
| 2974 | } |
| 2975 | position++ |
| 2976 | goto l368 |
| 2977 | l369: |
| 2978 | position, tokenIndex = position368, tokenIndex368 |
| 2979 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 2980 | goto l364 |
| 2981 | } |
| 2982 | position++ |
| 2983 | } |
| 2984 | l368: |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2985 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2986 | l365: |
| 2987 | goto l363 |
| 2988 | l364: |
| 2989 | position, tokenIndex = position364, tokenIndex364 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 2990 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 2991 | { |
| 2992 | position370, tokenIndex370 := position, tokenIndex |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 2993 | { |
| 2994 | position372, tokenIndex372 := position, tokenIndex |
| 2995 | if buffer[position] != rune('.') { |
| 2996 | goto l373 |
| 2997 | } |
| 2998 | position++ |
| 2999 | goto l372 |
| 3000 | l373: |
| 3001 | position, tokenIndex = position372, tokenIndex372 |
| 3002 | if buffer[position] != rune('+') { |
| 3003 | goto l374 |
| 3004 | } |
| 3005 | position++ |
| 3006 | goto l372 |
| 3007 | l374: |
| 3008 | position, tokenIndex = position372, tokenIndex372 |
| 3009 | if buffer[position] != rune('-') { |
| 3010 | goto l370 |
| 3011 | } |
| 3012 | position++ |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3013 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3014 | l372: |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3015 | goto l371 |
| 3016 | l370: |
| 3017 | position, tokenIndex = position370, tokenIndex370 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3018 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3019 | l371: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3020 | add(ruleInstructionName, position360) |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 3021 | } |
| 3022 | return true |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3023 | l359: |
| 3024 | position, tokenIndex = position359, tokenIndex359 |
| 3025 | return false |
| 3026 | }, |
| 3027 | /* 27 InstructionArg <- <(IndirectionIndicator? (RegisterOrConstant / LocalLabelRef / TOCRefHigh / TOCRefLow / MemoryRef) AVX512Token*)> */ |
| 3028 | func() bool { |
| 3029 | position375, tokenIndex375 := position, tokenIndex |
| 3030 | { |
| 3031 | position376 := position |
| 3032 | { |
| 3033 | position377, tokenIndex377 := position, tokenIndex |
| 3034 | if !_rules[ruleIndirectionIndicator]() { |
| 3035 | goto l377 |
| 3036 | } |
| 3037 | goto l378 |
| 3038 | l377: |
| 3039 | position, tokenIndex = position377, tokenIndex377 |
| 3040 | } |
| 3041 | l378: |
| 3042 | { |
| 3043 | position379, tokenIndex379 := position, tokenIndex |
| 3044 | if !_rules[ruleRegisterOrConstant]() { |
| 3045 | goto l380 |
| 3046 | } |
| 3047 | goto l379 |
| 3048 | l380: |
| 3049 | position, tokenIndex = position379, tokenIndex379 |
| 3050 | if !_rules[ruleLocalLabelRef]() { |
| 3051 | goto l381 |
| 3052 | } |
| 3053 | goto l379 |
| 3054 | l381: |
| 3055 | position, tokenIndex = position379, tokenIndex379 |
| 3056 | if !_rules[ruleTOCRefHigh]() { |
| 3057 | goto l382 |
| 3058 | } |
| 3059 | goto l379 |
| 3060 | l382: |
| 3061 | position, tokenIndex = position379, tokenIndex379 |
| 3062 | if !_rules[ruleTOCRefLow]() { |
| 3063 | goto l383 |
| 3064 | } |
| 3065 | goto l379 |
| 3066 | l383: |
| 3067 | position, tokenIndex = position379, tokenIndex379 |
| 3068 | if !_rules[ruleMemoryRef]() { |
| 3069 | goto l375 |
| 3070 | } |
| 3071 | } |
| 3072 | l379: |
| 3073 | l384: |
| 3074 | { |
| 3075 | position385, tokenIndex385 := position, tokenIndex |
| 3076 | if !_rules[ruleAVX512Token]() { |
| 3077 | goto l385 |
| 3078 | } |
| 3079 | goto l384 |
| 3080 | l385: |
| 3081 | position, tokenIndex = position385, tokenIndex385 |
| 3082 | } |
| 3083 | add(ruleInstructionArg, position376) |
| 3084 | } |
| 3085 | return true |
| 3086 | l375: |
| 3087 | position, tokenIndex = position375, tokenIndex375 |
| 3088 | return false |
| 3089 | }, |
| 3090 | /* 28 AVX512Token <- <(WS? '{' '%'? ([0-9] / [a-z])* '}')> */ |
| 3091 | func() bool { |
| 3092 | position386, tokenIndex386 := position, tokenIndex |
| 3093 | { |
| 3094 | position387 := position |
| 3095 | { |
| 3096 | position388, tokenIndex388 := position, tokenIndex |
| 3097 | if !_rules[ruleWS]() { |
| 3098 | goto l388 |
| 3099 | } |
| 3100 | goto l389 |
| 3101 | l388: |
| 3102 | position, tokenIndex = position388, tokenIndex388 |
| 3103 | } |
| 3104 | l389: |
| 3105 | if buffer[position] != rune('{') { |
| 3106 | goto l386 |
| 3107 | } |
| 3108 | position++ |
| 3109 | { |
| 3110 | position390, tokenIndex390 := position, tokenIndex |
| 3111 | if buffer[position] != rune('%') { |
| 3112 | goto l390 |
| 3113 | } |
| 3114 | position++ |
| 3115 | goto l391 |
| 3116 | l390: |
| 3117 | position, tokenIndex = position390, tokenIndex390 |
| 3118 | } |
| 3119 | l391: |
| 3120 | l392: |
| 3121 | { |
| 3122 | position393, tokenIndex393 := position, tokenIndex |
| 3123 | { |
| 3124 | position394, tokenIndex394 := position, tokenIndex |
| 3125 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 3126 | goto l395 |
| 3127 | } |
| 3128 | position++ |
| 3129 | goto l394 |
| 3130 | l395: |
| 3131 | position, tokenIndex = position394, tokenIndex394 |
| 3132 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
| 3133 | goto l393 |
| 3134 | } |
| 3135 | position++ |
| 3136 | } |
| 3137 | l394: |
| 3138 | goto l392 |
| 3139 | l393: |
| 3140 | position, tokenIndex = position393, tokenIndex393 |
| 3141 | } |
| 3142 | if buffer[position] != rune('}') { |
| 3143 | goto l386 |
| 3144 | } |
| 3145 | position++ |
| 3146 | add(ruleAVX512Token, position387) |
| 3147 | } |
| 3148 | return true |
| 3149 | l386: |
| 3150 | position, tokenIndex = position386, tokenIndex386 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3151 | return false |
| 3152 | }, |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3153 | /* 29 TOCRefHigh <- <('.' 'T' 'O' 'C' '.' '-' (('0' 'b') / ('.' 'L' ([a-z] / [A-Z] / '_' / [0-9])+)) ('@' ('h' / 'H') ('a' / 'A')))> */ |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3154 | func() bool { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3155 | position396, tokenIndex396 := position, tokenIndex |
| 3156 | { |
| 3157 | position397 := position |
| 3158 | if buffer[position] != rune('.') { |
| 3159 | goto l396 |
| 3160 | } |
| 3161 | position++ |
| 3162 | if buffer[position] != rune('T') { |
| 3163 | goto l396 |
| 3164 | } |
| 3165 | position++ |
| 3166 | if buffer[position] != rune('O') { |
| 3167 | goto l396 |
| 3168 | } |
| 3169 | position++ |
| 3170 | if buffer[position] != rune('C') { |
| 3171 | goto l396 |
| 3172 | } |
| 3173 | position++ |
| 3174 | if buffer[position] != rune('.') { |
| 3175 | goto l396 |
| 3176 | } |
| 3177 | position++ |
| 3178 | if buffer[position] != rune('-') { |
| 3179 | goto l396 |
| 3180 | } |
| 3181 | position++ |
| 3182 | { |
| 3183 | position398, tokenIndex398 := position, tokenIndex |
| 3184 | if buffer[position] != rune('0') { |
| 3185 | goto l399 |
| 3186 | } |
| 3187 | position++ |
| 3188 | if buffer[position] != rune('b') { |
| 3189 | goto l399 |
| 3190 | } |
| 3191 | position++ |
| 3192 | goto l398 |
| 3193 | l399: |
| 3194 | position, tokenIndex = position398, tokenIndex398 |
| 3195 | if buffer[position] != rune('.') { |
| 3196 | goto l396 |
| 3197 | } |
| 3198 | position++ |
| 3199 | if buffer[position] != rune('L') { |
| 3200 | goto l396 |
| 3201 | } |
| 3202 | position++ |
| 3203 | { |
| 3204 | position402, tokenIndex402 := position, tokenIndex |
| 3205 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
| 3206 | goto l403 |
| 3207 | } |
| 3208 | position++ |
| 3209 | goto l402 |
| 3210 | l403: |
| 3211 | position, tokenIndex = position402, tokenIndex402 |
| 3212 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 3213 | goto l404 |
| 3214 | } |
| 3215 | position++ |
| 3216 | goto l402 |
| 3217 | l404: |
| 3218 | position, tokenIndex = position402, tokenIndex402 |
| 3219 | if buffer[position] != rune('_') { |
| 3220 | goto l405 |
| 3221 | } |
| 3222 | position++ |
| 3223 | goto l402 |
| 3224 | l405: |
| 3225 | position, tokenIndex = position402, tokenIndex402 |
| 3226 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3227 | goto l396 |
| 3228 | } |
| 3229 | position++ |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3230 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3231 | l402: |
| 3232 | l400: |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3233 | { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3234 | position401, tokenIndex401 := position, tokenIndex |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3235 | { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3236 | position406, tokenIndex406 := position, tokenIndex |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3237 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3238 | goto l407 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3239 | } |
| 3240 | position++ |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3241 | goto l406 |
| 3242 | l407: |
| 3243 | position, tokenIndex = position406, tokenIndex406 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 3244 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3245 | goto l408 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3246 | } |
| 3247 | position++ |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3248 | goto l406 |
| 3249 | l408: |
| 3250 | position, tokenIndex = position406, tokenIndex406 |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 3251 | if buffer[position] != rune('_') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3252 | goto l409 |
| 3253 | } |
| 3254 | position++ |
| 3255 | goto l406 |
| 3256 | l409: |
| 3257 | position, tokenIndex = position406, tokenIndex406 |
| 3258 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 3259 | goto l401 |
| 3260 | } |
| 3261 | position++ |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3262 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3263 | l406: |
| 3264 | goto l400 |
| 3265 | l401: |
| 3266 | position, tokenIndex = position401, tokenIndex401 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3267 | } |
| 3268 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3269 | l398: |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3270 | if buffer[position] != rune('@') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3271 | goto l396 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3272 | } |
| 3273 | position++ |
| 3274 | { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3275 | position410, tokenIndex410 := position, tokenIndex |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3276 | if buffer[position] != rune('h') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3277 | goto l411 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3278 | } |
| 3279 | position++ |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3280 | goto l410 |
| 3281 | l411: |
| 3282 | position, tokenIndex = position410, tokenIndex410 |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3283 | if buffer[position] != rune('H') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3284 | goto l396 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3285 | } |
| 3286 | position++ |
| 3287 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3288 | l410: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3289 | { |
| 3290 | position412, tokenIndex412 := position, tokenIndex |
| 3291 | if buffer[position] != rune('a') { |
| 3292 | goto l413 |
| 3293 | } |
| 3294 | position++ |
| 3295 | goto l412 |
| 3296 | l413: |
| 3297 | position, tokenIndex = position412, tokenIndex412 |
| 3298 | if buffer[position] != rune('A') { |
| 3299 | goto l396 |
| 3300 | } |
| 3301 | position++ |
| 3302 | } |
| 3303 | l412: |
| 3304 | add(ruleTOCRefHigh, position397) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3305 | } |
| 3306 | return true |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3307 | l396: |
| 3308 | position, tokenIndex = position396, tokenIndex396 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3309 | return false |
| 3310 | }, |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3311 | /* 30 TOCRefLow <- <('.' 'T' 'O' 'C' '.' '-' (('0' 'b') / ('.' 'L' ([a-z] / [A-Z] / '_' / [0-9])+)) ('@' ('l' / 'L')))> */ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3312 | func() bool { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3313 | position414, tokenIndex414 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3314 | { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3315 | position415 := position |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3316 | if buffer[position] != rune('.') { |
| 3317 | goto l414 |
| 3318 | } |
| 3319 | position++ |
| 3320 | if buffer[position] != rune('T') { |
| 3321 | goto l414 |
| 3322 | } |
| 3323 | position++ |
| 3324 | if buffer[position] != rune('O') { |
| 3325 | goto l414 |
| 3326 | } |
| 3327 | position++ |
| 3328 | if buffer[position] != rune('C') { |
| 3329 | goto l414 |
| 3330 | } |
| 3331 | position++ |
| 3332 | if buffer[position] != rune('.') { |
| 3333 | goto l414 |
| 3334 | } |
| 3335 | position++ |
| 3336 | if buffer[position] != rune('-') { |
| 3337 | goto l414 |
| 3338 | } |
| 3339 | position++ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3340 | { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3341 | position416, tokenIndex416 := position, tokenIndex |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3342 | if buffer[position] != rune('0') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3343 | goto l417 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3344 | } |
| 3345 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3346 | if buffer[position] != rune('b') { |
| 3347 | goto l417 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3348 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3349 | position++ |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3350 | goto l416 |
| 3351 | l417: |
| 3352 | position, tokenIndex = position416, tokenIndex416 |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3353 | if buffer[position] != rune('.') { |
| 3354 | goto l414 |
| 3355 | } |
| 3356 | position++ |
| 3357 | if buffer[position] != rune('L') { |
| 3358 | goto l414 |
| 3359 | } |
| 3360 | position++ |
Robert Sloan | 8542c08 | 2018-02-05 09:07:34 -0800 | [diff] [blame] | 3361 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3362 | position420, tokenIndex420 := position, tokenIndex |
| 3363 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
| 3364 | goto l421 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3365 | } |
| 3366 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3367 | goto l420 |
| 3368 | l421: |
| 3369 | position, tokenIndex = position420, tokenIndex420 |
| 3370 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 3371 | goto l422 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3372 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3373 | position++ |
| 3374 | goto l420 |
| 3375 | l422: |
| 3376 | position, tokenIndex = position420, tokenIndex420 |
| 3377 | if buffer[position] != rune('_') { |
| 3378 | goto l423 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3379 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3380 | position++ |
| 3381 | goto l420 |
| 3382 | l423: |
| 3383 | position, tokenIndex = position420, tokenIndex420 |
| 3384 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3385 | goto l414 |
| 3386 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3387 | position++ |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3388 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3389 | l420: |
| 3390 | l418: |
| 3391 | { |
| 3392 | position419, tokenIndex419 := position, tokenIndex |
| 3393 | { |
| 3394 | position424, tokenIndex424 := position, tokenIndex |
| 3395 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
| 3396 | goto l425 |
| 3397 | } |
| 3398 | position++ |
| 3399 | goto l424 |
| 3400 | l425: |
| 3401 | position, tokenIndex = position424, tokenIndex424 |
| 3402 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 3403 | goto l426 |
| 3404 | } |
| 3405 | position++ |
| 3406 | goto l424 |
| 3407 | l426: |
| 3408 | position, tokenIndex = position424, tokenIndex424 |
| 3409 | if buffer[position] != rune('_') { |
| 3410 | goto l427 |
| 3411 | } |
| 3412 | position++ |
| 3413 | goto l424 |
| 3414 | l427: |
| 3415 | position, tokenIndex = position424, tokenIndex424 |
| 3416 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 3417 | goto l419 |
| 3418 | } |
| 3419 | position++ |
| 3420 | } |
| 3421 | l424: |
| 3422 | goto l418 |
| 3423 | l419: |
| 3424 | position, tokenIndex = position419, tokenIndex419 |
| 3425 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3426 | } |
| 3427 | l416: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3428 | if buffer[position] != rune('@') { |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 3429 | goto l414 |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 3430 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3431 | position++ |
| 3432 | { |
| 3433 | position428, tokenIndex428 := position, tokenIndex |
| 3434 | if buffer[position] != rune('l') { |
| 3435 | goto l429 |
| 3436 | } |
| 3437 | position++ |
| 3438 | goto l428 |
| 3439 | l429: |
| 3440 | position, tokenIndex = position428, tokenIndex428 |
| 3441 | if buffer[position] != rune('L') { |
| 3442 | goto l414 |
| 3443 | } |
| 3444 | position++ |
| 3445 | } |
| 3446 | l428: |
| 3447 | add(ruleTOCRefLow, position415) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3448 | } |
| 3449 | return true |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3450 | l414: |
| 3451 | position, tokenIndex = position414, tokenIndex414 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3452 | return false |
| 3453 | }, |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3454 | /* 31 IndirectionIndicator <- <'*'> */ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3455 | func() bool { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3456 | position430, tokenIndex430 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3457 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3458 | position431 := position |
| 3459 | if buffer[position] != rune('*') { |
| 3460 | goto l430 |
| 3461 | } |
| 3462 | position++ |
| 3463 | add(ruleIndirectionIndicator, position431) |
| 3464 | } |
| 3465 | return true |
| 3466 | l430: |
| 3467 | position, tokenIndex = position430, tokenIndex430 |
| 3468 | return false |
| 3469 | }, |
| 3470 | /* 32 RegisterOrConstant <- <((('%' ([a-z] / [A-Z]) ([a-z] / [A-Z] / ([0-9] / [0-9]))*) / ('$'? ((Offset Offset) / Offset))) !('f' / 'b' / ':' / '(' / '+' / '-'))> */ |
| 3471 | func() bool { |
| 3472 | position432, tokenIndex432 := position, tokenIndex |
| 3473 | { |
| 3474 | position433 := position |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3475 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3476 | position434, tokenIndex434 := position, tokenIndex |
| 3477 | if buffer[position] != rune('%') { |
| 3478 | goto l435 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3479 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3480 | position++ |
| 3481 | { |
| 3482 | position436, tokenIndex436 := position, tokenIndex |
| 3483 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
| 3484 | goto l437 |
| 3485 | } |
| 3486 | position++ |
| 3487 | goto l436 |
| 3488 | l437: |
| 3489 | position, tokenIndex = position436, tokenIndex436 |
| 3490 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 3491 | goto l435 |
| 3492 | } |
| 3493 | position++ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3494 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3495 | l436: |
| 3496 | l438: |
| 3497 | { |
| 3498 | position439, tokenIndex439 := position, tokenIndex |
| 3499 | { |
| 3500 | position440, tokenIndex440 := position, tokenIndex |
| 3501 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
| 3502 | goto l441 |
| 3503 | } |
| 3504 | position++ |
| 3505 | goto l440 |
| 3506 | l441: |
| 3507 | position, tokenIndex = position440, tokenIndex440 |
| 3508 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
| 3509 | goto l442 |
| 3510 | } |
| 3511 | position++ |
| 3512 | goto l440 |
| 3513 | l442: |
| 3514 | position, tokenIndex = position440, tokenIndex440 |
| 3515 | { |
| 3516 | position443, tokenIndex443 := position, tokenIndex |
| 3517 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 3518 | goto l444 |
| 3519 | } |
| 3520 | position++ |
| 3521 | goto l443 |
| 3522 | l444: |
| 3523 | position, tokenIndex = position443, tokenIndex443 |
| 3524 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 3525 | goto l439 |
| 3526 | } |
| 3527 | position++ |
| 3528 | } |
| 3529 | l443: |
| 3530 | } |
| 3531 | l440: |
| 3532 | goto l438 |
| 3533 | l439: |
| 3534 | position, tokenIndex = position439, tokenIndex439 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3535 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3536 | goto l434 |
| 3537 | l435: |
| 3538 | position, tokenIndex = position434, tokenIndex434 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3539 | { |
| 3540 | position445, tokenIndex445 := position, tokenIndex |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3541 | if buffer[position] != rune('$') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3542 | goto l445 |
| 3543 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3544 | position++ |
| 3545 | goto l446 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3546 | l445: |
| 3547 | position, tokenIndex = position445, tokenIndex445 |
| 3548 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3549 | l446: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3550 | { |
| 3551 | position447, tokenIndex447 := position, tokenIndex |
| 3552 | if !_rules[ruleOffset]() { |
| 3553 | goto l448 |
| 3554 | } |
| 3555 | if !_rules[ruleOffset]() { |
| 3556 | goto l448 |
| 3557 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3558 | goto l447 |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3559 | l448: |
| 3560 | position, tokenIndex = position447, tokenIndex447 |
| 3561 | if !_rules[ruleOffset]() { |
| 3562 | goto l432 |
| 3563 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3564 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3565 | l447: |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 3566 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3567 | l434: |
| 3568 | { |
| 3569 | position449, tokenIndex449 := position, tokenIndex |
| 3570 | { |
| 3571 | position450, tokenIndex450 := position, tokenIndex |
| 3572 | if buffer[position] != rune('f') { |
| 3573 | goto l451 |
| 3574 | } |
| 3575 | position++ |
| 3576 | goto l450 |
| 3577 | l451: |
| 3578 | position, tokenIndex = position450, tokenIndex450 |
| 3579 | if buffer[position] != rune('b') { |
| 3580 | goto l452 |
| 3581 | } |
| 3582 | position++ |
| 3583 | goto l450 |
| 3584 | l452: |
| 3585 | position, tokenIndex = position450, tokenIndex450 |
| 3586 | if buffer[position] != rune(':') { |
| 3587 | goto l453 |
| 3588 | } |
| 3589 | position++ |
| 3590 | goto l450 |
| 3591 | l453: |
| 3592 | position, tokenIndex = position450, tokenIndex450 |
| 3593 | if buffer[position] != rune('(') { |
| 3594 | goto l454 |
| 3595 | } |
| 3596 | position++ |
| 3597 | goto l450 |
| 3598 | l454: |
| 3599 | position, tokenIndex = position450, tokenIndex450 |
| 3600 | if buffer[position] != rune('+') { |
| 3601 | goto l455 |
| 3602 | } |
| 3603 | position++ |
| 3604 | goto l450 |
| 3605 | l455: |
| 3606 | position, tokenIndex = position450, tokenIndex450 |
| 3607 | if buffer[position] != rune('-') { |
| 3608 | goto l449 |
| 3609 | } |
| 3610 | position++ |
| 3611 | } |
| 3612 | l450: |
| 3613 | goto l432 |
| 3614 | l449: |
| 3615 | position, tokenIndex = position449, tokenIndex449 |
| 3616 | } |
| 3617 | add(ruleRegisterOrConstant, position433) |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 3618 | } |
| 3619 | return true |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3620 | l432: |
| 3621 | position, tokenIndex = position432, tokenIndex432 |
| 3622 | return false |
| 3623 | }, |
| 3624 | /* 33 MemoryRef <- <((SymbolRef BaseIndexScale) / SymbolRef / (Offset* BaseIndexScale) / (SegmentRegister Offset BaseIndexScale) / (SegmentRegister BaseIndexScale) / (SegmentRegister Offset) / BaseIndexScale)> */ |
| 3625 | func() bool { |
| 3626 | position456, tokenIndex456 := position, tokenIndex |
| 3627 | { |
| 3628 | position457 := position |
| 3629 | { |
| 3630 | position458, tokenIndex458 := position, tokenIndex |
| 3631 | if !_rules[ruleSymbolRef]() { |
| 3632 | goto l459 |
| 3633 | } |
| 3634 | if !_rules[ruleBaseIndexScale]() { |
| 3635 | goto l459 |
| 3636 | } |
| 3637 | goto l458 |
| 3638 | l459: |
| 3639 | position, tokenIndex = position458, tokenIndex458 |
| 3640 | if !_rules[ruleSymbolRef]() { |
| 3641 | goto l460 |
| 3642 | } |
| 3643 | goto l458 |
| 3644 | l460: |
| 3645 | position, tokenIndex = position458, tokenIndex458 |
| 3646 | l462: |
| 3647 | { |
| 3648 | position463, tokenIndex463 := position, tokenIndex |
| 3649 | if !_rules[ruleOffset]() { |
| 3650 | goto l463 |
| 3651 | } |
| 3652 | goto l462 |
| 3653 | l463: |
| 3654 | position, tokenIndex = position463, tokenIndex463 |
| 3655 | } |
| 3656 | if !_rules[ruleBaseIndexScale]() { |
| 3657 | goto l461 |
| 3658 | } |
| 3659 | goto l458 |
| 3660 | l461: |
| 3661 | position, tokenIndex = position458, tokenIndex458 |
| 3662 | if !_rules[ruleSegmentRegister]() { |
| 3663 | goto l464 |
| 3664 | } |
| 3665 | if !_rules[ruleOffset]() { |
| 3666 | goto l464 |
| 3667 | } |
| 3668 | if !_rules[ruleBaseIndexScale]() { |
| 3669 | goto l464 |
| 3670 | } |
| 3671 | goto l458 |
| 3672 | l464: |
| 3673 | position, tokenIndex = position458, tokenIndex458 |
| 3674 | if !_rules[ruleSegmentRegister]() { |
| 3675 | goto l465 |
| 3676 | } |
| 3677 | if !_rules[ruleBaseIndexScale]() { |
| 3678 | goto l465 |
| 3679 | } |
| 3680 | goto l458 |
| 3681 | l465: |
| 3682 | position, tokenIndex = position458, tokenIndex458 |
| 3683 | if !_rules[ruleSegmentRegister]() { |
| 3684 | goto l466 |
| 3685 | } |
| 3686 | if !_rules[ruleOffset]() { |
| 3687 | goto l466 |
| 3688 | } |
| 3689 | goto l458 |
| 3690 | l466: |
| 3691 | position, tokenIndex = position458, tokenIndex458 |
| 3692 | if !_rules[ruleBaseIndexScale]() { |
| 3693 | goto l456 |
| 3694 | } |
| 3695 | } |
| 3696 | l458: |
| 3697 | add(ruleMemoryRef, position457) |
| 3698 | } |
| 3699 | return true |
| 3700 | l456: |
| 3701 | position, tokenIndex = position456, tokenIndex456 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3702 | return false |
| 3703 | }, |
| 3704 | /* 34 SymbolRef <- <((Offset* '+')? (LocalSymbol / SymbolName) Offset* ('@' Section Offset*)?)> */ |
| 3705 | func() bool { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3706 | position467, tokenIndex467 := position, tokenIndex |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3707 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3708 | position468 := position |
Srinivas Paladugu | dd42a61 | 2019-08-09 19:30:39 +0000 | [diff] [blame] | 3709 | { |
| 3710 | position469, tokenIndex469 := position, tokenIndex |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3711 | l471: |
| 3712 | { |
| 3713 | position472, tokenIndex472 := position, tokenIndex |
| 3714 | if !_rules[ruleOffset]() { |
| 3715 | goto l472 |
| 3716 | } |
| 3717 | goto l471 |
| 3718 | l472: |
| 3719 | position, tokenIndex = position472, tokenIndex472 |
| 3720 | } |
| 3721 | if buffer[position] != rune('+') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3722 | goto l469 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3723 | } |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3724 | position++ |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3725 | goto l470 |
| 3726 | l469: |
| 3727 | position, tokenIndex = position469, tokenIndex469 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3728 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3729 | l470: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3730 | { |
| 3731 | position473, tokenIndex473 := position, tokenIndex |
| 3732 | if !_rules[ruleLocalSymbol]() { |
| 3733 | goto l474 |
| 3734 | } |
| 3735 | goto l473 |
| 3736 | l474: |
| 3737 | position, tokenIndex = position473, tokenIndex473 |
| 3738 | if !_rules[ruleSymbolName]() { |
| 3739 | goto l467 |
| 3740 | } |
| 3741 | } |
| 3742 | l473: |
| 3743 | l475: |
| 3744 | { |
| 3745 | position476, tokenIndex476 := position, tokenIndex |
| 3746 | if !_rules[ruleOffset]() { |
| 3747 | goto l476 |
| 3748 | } |
| 3749 | goto l475 |
| 3750 | l476: |
| 3751 | position, tokenIndex = position476, tokenIndex476 |
| 3752 | } |
| 3753 | { |
| 3754 | position477, tokenIndex477 := position, tokenIndex |
| 3755 | if buffer[position] != rune('@') { |
| 3756 | goto l477 |
| 3757 | } |
| 3758 | position++ |
| 3759 | if !_rules[ruleSection]() { |
| 3760 | goto l477 |
| 3761 | } |
| 3762 | l479: |
| 3763 | { |
| 3764 | position480, tokenIndex480 := position, tokenIndex |
| 3765 | if !_rules[ruleOffset]() { |
| 3766 | goto l480 |
| 3767 | } |
| 3768 | goto l479 |
| 3769 | l480: |
| 3770 | position, tokenIndex = position480, tokenIndex480 |
| 3771 | } |
| 3772 | goto l478 |
| 3773 | l477: |
| 3774 | position, tokenIndex = position477, tokenIndex477 |
| 3775 | } |
| 3776 | l478: |
| 3777 | add(ruleSymbolRef, position468) |
| 3778 | } |
| 3779 | return true |
| 3780 | l467: |
| 3781 | position, tokenIndex = position467, tokenIndex467 |
| 3782 | return false |
| 3783 | }, |
| 3784 | /* 35 BaseIndexScale <- <('(' RegisterOrConstant? WS? (',' WS? RegisterOrConstant WS? (',' [0-9]+)?)? ')')> */ |
| 3785 | func() bool { |
| 3786 | position481, tokenIndex481 := position, tokenIndex |
| 3787 | { |
| 3788 | position482 := position |
| 3789 | if buffer[position] != rune('(') { |
| 3790 | goto l481 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3791 | } |
| 3792 | position++ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3793 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3794 | position483, tokenIndex483 := position, tokenIndex |
| 3795 | if !_rules[ruleRegisterOrConstant]() { |
| 3796 | goto l483 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3797 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3798 | goto l484 |
| 3799 | l483: |
| 3800 | position, tokenIndex = position483, tokenIndex483 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 3801 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3802 | l484: |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3803 | { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3804 | position485, tokenIndex485 := position, tokenIndex |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3805 | if !_rules[ruleWS]() { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3806 | goto l485 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3807 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3808 | goto l486 |
| 3809 | l485: |
| 3810 | position, tokenIndex = position485, tokenIndex485 |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3811 | } |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3812 | l486: |
Robert Sloan | 978112c | 2018-01-22 12:53:01 -0800 | [diff] [blame] | 3813 | { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3814 | position487, tokenIndex487 := position, tokenIndex |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3815 | if buffer[position] != rune(',') { |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3816 | goto l487 |
| 3817 | } |
| 3818 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3819 | { |
| 3820 | position489, tokenIndex489 := position, tokenIndex |
| 3821 | if !_rules[ruleWS]() { |
| 3822 | goto l489 |
| 3823 | } |
| 3824 | goto l490 |
| 3825 | l489: |
| 3826 | position, tokenIndex = position489, tokenIndex489 |
| 3827 | } |
| 3828 | l490: |
| 3829 | if !_rules[ruleRegisterOrConstant]() { |
| 3830 | goto l487 |
| 3831 | } |
| 3832 | { |
| 3833 | position491, tokenIndex491 := position, tokenIndex |
| 3834 | if !_rules[ruleWS]() { |
| 3835 | goto l491 |
| 3836 | } |
| 3837 | goto l492 |
| 3838 | l491: |
| 3839 | position, tokenIndex = position491, tokenIndex491 |
| 3840 | } |
| 3841 | l492: |
| 3842 | { |
| 3843 | position493, tokenIndex493 := position, tokenIndex |
| 3844 | if buffer[position] != rune(',') { |
| 3845 | goto l493 |
| 3846 | } |
| 3847 | position++ |
| 3848 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 3849 | goto l493 |
| 3850 | } |
| 3851 | position++ |
| 3852 | l495: |
| 3853 | { |
| 3854 | position496, tokenIndex496 := position, tokenIndex |
| 3855 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 3856 | goto l496 |
| 3857 | } |
| 3858 | position++ |
| 3859 | goto l495 |
| 3860 | l496: |
| 3861 | position, tokenIndex = position496, tokenIndex496 |
| 3862 | } |
| 3863 | goto l494 |
| 3864 | l493: |
| 3865 | position, tokenIndex = position493, tokenIndex493 |
| 3866 | } |
| 3867 | l494: |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 3868 | goto l488 |
| 3869 | l487: |
| 3870 | position, tokenIndex = position487, tokenIndex487 |
| 3871 | } |
| 3872 | l488: |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3873 | if buffer[position] != rune(')') { |
| 3874 | goto l481 |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 3875 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3876 | position++ |
| 3877 | add(ruleBaseIndexScale, position482) |
Pete Bentley | a5c947b | 2019-08-09 14:24:27 +0000 | [diff] [blame] | 3878 | } |
| 3879 | return true |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 3880 | l481: |
| 3881 | position, tokenIndex = position481, tokenIndex481 |
| 3882 | return false |
| 3883 | }, |
| 3884 | /* 36 Operator <- <('+' / '-')> */ |
| 3885 | func() bool { |
| 3886 | position497, tokenIndex497 := position, tokenIndex |
| 3887 | { |
| 3888 | position498 := position |
| 3889 | { |
| 3890 | position499, tokenIndex499 := position, tokenIndex |
| 3891 | if buffer[position] != rune('+') { |
| 3892 | goto l500 |
| 3893 | } |
| 3894 | position++ |
| 3895 | goto l499 |
| 3896 | l500: |
| 3897 | position, tokenIndex = position499, tokenIndex499 |
| 3898 | if buffer[position] != rune('-') { |
| 3899 | goto l497 |
| 3900 | } |
| 3901 | position++ |
| 3902 | } |
| 3903 | l499: |
| 3904 | add(ruleOperator, position498) |
| 3905 | } |
| 3906 | return true |
| 3907 | l497: |
| 3908 | position, tokenIndex = position497, tokenIndex497 |
| 3909 | return false |
| 3910 | }, |
| 3911 | /* 37 Offset <- <('+'? '-'? (('0' ('b' / 'B') ('0' / '1')+) / ('0' ('x' / 'X') ([0-9] / [0-9] / ([a-f] / [A-F]))+) / [0-9]+))> */ |
| 3912 | func() bool { |
| 3913 | position501, tokenIndex501 := position, tokenIndex |
| 3914 | { |
| 3915 | position502 := position |
| 3916 | { |
| 3917 | position503, tokenIndex503 := position, tokenIndex |
| 3918 | if buffer[position] != rune('+') { |
| 3919 | goto l503 |
| 3920 | } |
| 3921 | position++ |
| 3922 | goto l504 |
| 3923 | l503: |
| 3924 | position, tokenIndex = position503, tokenIndex503 |
| 3925 | } |
| 3926 | l504: |
| 3927 | { |
| 3928 | position505, tokenIndex505 := position, tokenIndex |
| 3929 | if buffer[position] != rune('-') { |
| 3930 | goto l505 |
| 3931 | } |
| 3932 | position++ |
| 3933 | goto l506 |
| 3934 | l505: |
| 3935 | position, tokenIndex = position505, tokenIndex505 |
| 3936 | } |
| 3937 | l506: |
| 3938 | { |
| 3939 | position507, tokenIndex507 := position, tokenIndex |
| 3940 | if buffer[position] != rune('0') { |
| 3941 | goto l508 |
| 3942 | } |
| 3943 | position++ |
| 3944 | { |
| 3945 | position509, tokenIndex509 := position, tokenIndex |
| 3946 | if buffer[position] != rune('b') { |
| 3947 | goto l510 |
| 3948 | } |
| 3949 | position++ |
| 3950 | goto l509 |
| 3951 | l510: |
| 3952 | position, tokenIndex = position509, tokenIndex509 |
| 3953 | if buffer[position] != rune('B') { |
| 3954 | goto l508 |
| 3955 | } |
| 3956 | position++ |
| 3957 | } |
| 3958 | l509: |
| 3959 | { |
| 3960 | position513, tokenIndex513 := position, tokenIndex |
| 3961 | if buffer[position] != rune('0') { |
| 3962 | goto l514 |
| 3963 | } |
| 3964 | position++ |
| 3965 | goto l513 |
| 3966 | l514: |
| 3967 | position, tokenIndex = position513, tokenIndex513 |
| 3968 | if buffer[position] != rune('1') { |
| 3969 | goto l508 |
| 3970 | } |
| 3971 | position++ |
| 3972 | } |
| 3973 | l513: |
| 3974 | l511: |
| 3975 | { |
| 3976 | position512, tokenIndex512 := position, tokenIndex |
| 3977 | { |
| 3978 | position515, tokenIndex515 := position, tokenIndex |
| 3979 | if buffer[position] != rune('0') { |
| 3980 | goto l516 |
| 3981 | } |
| 3982 | position++ |
| 3983 | goto l515 |
| 3984 | l516: |
| 3985 | position, tokenIndex = position515, tokenIndex515 |
| 3986 | if buffer[position] != rune('1') { |
| 3987 | goto l512 |
| 3988 | } |
| 3989 | position++ |
| 3990 | } |
| 3991 | l515: |
| 3992 | goto l511 |
| 3993 | l512: |
| 3994 | position, tokenIndex = position512, tokenIndex512 |
| 3995 | } |
| 3996 | goto l507 |
| 3997 | l508: |
| 3998 | position, tokenIndex = position507, tokenIndex507 |
| 3999 | if buffer[position] != rune('0') { |
| 4000 | goto l517 |
| 4001 | } |
| 4002 | position++ |
| 4003 | { |
| 4004 | position518, tokenIndex518 := position, tokenIndex |
| 4005 | if buffer[position] != rune('x') { |
| 4006 | goto l519 |
| 4007 | } |
| 4008 | position++ |
| 4009 | goto l518 |
| 4010 | l519: |
| 4011 | position, tokenIndex = position518, tokenIndex518 |
| 4012 | if buffer[position] != rune('X') { |
| 4013 | goto l517 |
| 4014 | } |
| 4015 | position++ |
| 4016 | } |
| 4017 | l518: |
| 4018 | { |
| 4019 | position522, tokenIndex522 := position, tokenIndex |
| 4020 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 4021 | goto l523 |
| 4022 | } |
| 4023 | position++ |
| 4024 | goto l522 |
| 4025 | l523: |
| 4026 | position, tokenIndex = position522, tokenIndex522 |
| 4027 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 4028 | goto l524 |
| 4029 | } |
| 4030 | position++ |
| 4031 | goto l522 |
| 4032 | l524: |
| 4033 | position, tokenIndex = position522, tokenIndex522 |
| 4034 | { |
| 4035 | position525, tokenIndex525 := position, tokenIndex |
| 4036 | if c := buffer[position]; c < rune('a') || c > rune('f') { |
| 4037 | goto l526 |
| 4038 | } |
| 4039 | position++ |
| 4040 | goto l525 |
| 4041 | l526: |
| 4042 | position, tokenIndex = position525, tokenIndex525 |
| 4043 | if c := buffer[position]; c < rune('A') || c > rune('F') { |
| 4044 | goto l517 |
| 4045 | } |
| 4046 | position++ |
| 4047 | } |
| 4048 | l525: |
| 4049 | } |
| 4050 | l522: |
| 4051 | l520: |
| 4052 | { |
| 4053 | position521, tokenIndex521 := position, tokenIndex |
| 4054 | { |
| 4055 | position527, tokenIndex527 := position, tokenIndex |
| 4056 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 4057 | goto l528 |
| 4058 | } |
| 4059 | position++ |
| 4060 | goto l527 |
| 4061 | l528: |
| 4062 | position, tokenIndex = position527, tokenIndex527 |
| 4063 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 4064 | goto l529 |
| 4065 | } |
| 4066 | position++ |
| 4067 | goto l527 |
| 4068 | l529: |
| 4069 | position, tokenIndex = position527, tokenIndex527 |
| 4070 | { |
| 4071 | position530, tokenIndex530 := position, tokenIndex |
| 4072 | if c := buffer[position]; c < rune('a') || c > rune('f') { |
| 4073 | goto l531 |
| 4074 | } |
| 4075 | position++ |
| 4076 | goto l530 |
| 4077 | l531: |
| 4078 | position, tokenIndex = position530, tokenIndex530 |
| 4079 | if c := buffer[position]; c < rune('A') || c > rune('F') { |
| 4080 | goto l521 |
| 4081 | } |
| 4082 | position++ |
| 4083 | } |
| 4084 | l530: |
| 4085 | } |
| 4086 | l527: |
| 4087 | goto l520 |
| 4088 | l521: |
| 4089 | position, tokenIndex = position521, tokenIndex521 |
| 4090 | } |
| 4091 | goto l507 |
| 4092 | l517: |
| 4093 | position, tokenIndex = position507, tokenIndex507 |
| 4094 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 4095 | goto l501 |
| 4096 | } |
| 4097 | position++ |
| 4098 | l532: |
| 4099 | { |
| 4100 | position533, tokenIndex533 := position, tokenIndex |
| 4101 | if c := buffer[position]; c < rune('0') || c > rune('9') { |
| 4102 | goto l533 |
| 4103 | } |
| 4104 | position++ |
| 4105 | goto l532 |
| 4106 | l533: |
| 4107 | position, tokenIndex = position533, tokenIndex533 |
| 4108 | } |
| 4109 | } |
| 4110 | l507: |
| 4111 | add(ruleOffset, position502) |
| 4112 | } |
| 4113 | return true |
| 4114 | l501: |
| 4115 | position, tokenIndex = position501, tokenIndex501 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 4116 | return false |
| 4117 | }, |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4118 | /* 38 Section <- <([a-z] / [A-Z] / '@')+> */ |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 4119 | func() bool { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4120 | position534, tokenIndex534 := position, tokenIndex |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 4121 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4122 | position535 := position |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 4123 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4124 | position538, tokenIndex538 := position, tokenIndex |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4125 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4126 | goto l539 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 4127 | } |
| 4128 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4129 | goto l538 |
| 4130 | l539: |
| 4131 | position, tokenIndex = position538, tokenIndex538 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4132 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4133 | goto l540 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4134 | } |
| 4135 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4136 | goto l538 |
| 4137 | l540: |
| 4138 | position, tokenIndex = position538, tokenIndex538 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4139 | if buffer[position] != rune('@') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4140 | goto l534 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 4141 | } |
| 4142 | position++ |
| 4143 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4144 | l538: |
| 4145 | l536: |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4146 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4147 | position537, tokenIndex537 := position, tokenIndex |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4148 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4149 | position541, tokenIndex541 := position, tokenIndex |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4150 | if c := buffer[position]; c < rune('a') || c > rune('z') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4151 | goto l542 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4152 | } |
| 4153 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4154 | goto l541 |
| 4155 | l542: |
| 4156 | position, tokenIndex = position541, tokenIndex541 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4157 | if c := buffer[position]; c < rune('A') || c > rune('Z') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4158 | goto l543 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4159 | } |
| 4160 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4161 | goto l541 |
| 4162 | l543: |
| 4163 | position, tokenIndex = position541, tokenIndex541 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4164 | if buffer[position] != rune('@') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4165 | goto l537 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4166 | } |
| 4167 | position++ |
| 4168 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4169 | l541: |
| 4170 | goto l536 |
| 4171 | l537: |
| 4172 | position, tokenIndex = position537, tokenIndex537 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4173 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4174 | add(ruleSection, position535) |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4175 | } |
| 4176 | return true |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4177 | l534: |
| 4178 | position, tokenIndex = position534, tokenIndex534 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4179 | return false |
| 4180 | }, |
| 4181 | /* 39 SegmentRegister <- <('%' ([c-g] / 's') ('s' ':'))> */ |
| 4182 | func() bool { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4183 | position544, tokenIndex544 := position, tokenIndex |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4184 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4185 | position545 := position |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4186 | if buffer[position] != rune('%') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4187 | goto l544 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4188 | } |
| 4189 | position++ |
| 4190 | { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4191 | position546, tokenIndex546 := position, tokenIndex |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4192 | if c := buffer[position]; c < rune('c') || c > rune('g') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4193 | goto l547 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4194 | } |
| 4195 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4196 | goto l546 |
| 4197 | l547: |
| 4198 | position, tokenIndex = position546, tokenIndex546 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4199 | if buffer[position] != rune('s') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4200 | goto l544 |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4201 | } |
| 4202 | position++ |
| 4203 | } |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4204 | l546: |
Robert Sloan | 5bdaadb | 2018-10-30 16:00:26 -0700 | [diff] [blame] | 4205 | if buffer[position] != rune('s') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4206 | goto l544 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 4207 | } |
| 4208 | position++ |
| 4209 | if buffer[position] != rune(':') { |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4210 | goto l544 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 4211 | } |
| 4212 | position++ |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4213 | add(ruleSegmentRegister, position545) |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 4214 | } |
| 4215 | return true |
Pete Bentley | 0c61efe | 2019-08-13 09:32:23 +0100 | [diff] [blame^] | 4216 | l544: |
| 4217 | position, tokenIndex = position544, tokenIndex544 |
Robert Sloan | 8ff0355 | 2017-06-14 12:40:58 -0700 | [diff] [blame] | 4218 | return false |
| 4219 | }, |
| 4220 | } |
| 4221 | p.rules = _rules |
| 4222 | } |