diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fce753..0c7238a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,11 @@ ## [v1.7.5] - 2023-09-12 Tue +- Add: CSV and TSV files provide now verbatim authorship instead of normalized + one. +- Add: a few more "termination words" - Fix [#254]: treat `fa` as forma. -- Fix [#252]: process `dem` as an author word for `Von dem Bush` and like. +- Fix [#253]: process `dem` as an author word for `Von dem Bush` and like. - Fix [#251]: do not process `y` as `and` for `Rafael Arango y Molina`. - Fix [#249]: allow `cf` at the end of the strings, cf for infraspecies. - Fix [#248]: do not escape double quotes for TSV output. diff --git a/ent/internal/preparser/grammar.peg b/ent/internal/preparser/grammar.peg index a792fd6..fcddecf 100644 --- a/ent/internal/preparser/grammar.peg +++ b/ent/internal/preparser/grammar.peg @@ -15,7 +15,7 @@ TailPhrase <- TailLastWordJunk / TailPhrase4 / TailPhrase3 / TailLastWordJunk <- (("var" / "ined" / "ssp" / "subsp" / "subgen" ) '.'? / "sensu" / "new" / "non" / "nec" / "hybrid" / "von" / 'P.' _? 'P.' / - "ms") '?'? &SpaceOrEnd + "ms" / 'CF') '?'? &SpaceOrEnd TailPhrase4 <- ("pro" _ "parte" / "nomen") &NotLetterOrEnd / 'p.' _? 'p.' / "nom." / "comb." @@ -24,13 +24,13 @@ TailPhrase3 <- '('? 's' ('.' _? / _ ) ('s' '.'? &NotLetterOrEnd / 'l.' / 'str.' 'lat.') TailStopWords <- ("environmental" / "enrichment" / "samples" / - ("species" _)? ("group" / "complex") / "clade" / - "author" / "nec" / "vide" / "fide" / "non" ) &NotLetterOrEnd + "species" / "group" / "complex" / "clade" / + "author" / "nec" / "vide" / "species" / "fide" / "non" / "not" ) &NotLetterOrEnd TailPhrase2 <- ("sero" ("var" / "type") / "sensu" / "auct" / "sec" / "near" / "str") '.'? &NotLetterOrEnd -TailPhrase1 <- (('('? ('ht' / 'hort')) / 'spec' / +TailPhrase1 <- (('('? ('ht' / 'hort')) / "S" 'pec' / 'nov' '.'? _ 'spec') '.'? &NotLetterOrEnd SpaceOrEnd <- CommaSpace? END diff --git a/ent/internal/preparser/grammar.peg.go b/ent/internal/preparser/grammar.peg.go index c0b6a37..c86a4d0 100644 --- a/ent/internal/preparser/grammar.peg.go +++ b/ent/internal/preparser/grammar.peg.go @@ -642,7 +642,7 @@ func (p *PreParser) Init(options ...func(*PreParser) error) error { position, tokenIndex = position34, tokenIndex34 return false }, - /* 5 TailLastWordJunk <- <(((((('v' / 'V') ('a' / 'A') ('r' / 'R')) / (('i' / 'I') ('n' / 'N') ('e' / 'E') ('d' / 'D')) / (('s' / 'S') ('s' / 'S') ('p' / 'P')) / (('s' / 'S') ('u' / 'U') ('b' / 'B') ('s' / 'S') ('p' / 'P')) / (('s' / 'S') ('u' / 'U') ('b' / 'B') ('g' / 'G') ('e' / 'E') ('n' / 'N'))) '.'?) / (('s' / 'S') ('e' / 'E') ('n' / 'N') ('s' / 'S') ('u' / 'U')) / (('n' / 'N') ('e' / 'E') ('w' / 'W')) / (('n' / 'N') ('o' / 'O') ('n' / 'N')) / (('n' / 'N') ('e' / 'E') ('c' / 'C')) / (('h' / 'H') ('y' / 'Y') ('b' / 'B') ('r' / 'R') ('i' / 'I') ('d' / 'D')) / (('v' / 'V') ('o' / 'O') ('n' / 'N')) / ('P' '.' _? ('P' '.')) / (('m' / 'M') ('s' / 'S'))) '?'? &SpaceOrEnd)> */ + /* 5 TailLastWordJunk <- <(((((('v' / 'V') ('a' / 'A') ('r' / 'R')) / (('i' / 'I') ('n' / 'N') ('e' / 'E') ('d' / 'D')) / (('s' / 'S') ('s' / 'S') ('p' / 'P')) / (('s' / 'S') ('u' / 'U') ('b' / 'B') ('s' / 'S') ('p' / 'P')) / (('s' / 'S') ('u' / 'U') ('b' / 'B') ('g' / 'G') ('e' / 'E') ('n' / 'N'))) '.'?) / (('s' / 'S') ('e' / 'E') ('n' / 'N') ('s' / 'S') ('u' / 'U')) / (('n' / 'N') ('e' / 'E') ('w' / 'W')) / (('n' / 'N') ('o' / 'O') ('n' / 'N')) / (('n' / 'N') ('e' / 'E') ('c' / 'C')) / (('h' / 'H') ('y' / 'Y') ('b' / 'B') ('r' / 'R') ('i' / 'I') ('d' / 'D')) / (('v' / 'V') ('o' / 'O') ('n' / 'N')) / ('P' '.' _? ('P' '.')) / (('m' / 'M') ('s' / 'S')) / ('C' 'F')) '?'? &SpaceOrEnd)> */ func() bool { position42, tokenIndex42 := position, tokenIndex { @@ -1387,54 +1387,65 @@ func (p *PreParser) Init(options ...func(*PreParser) error) error { l147: position, tokenIndex = position44, tokenIndex44 { - position150, tokenIndex150 := position, tokenIndex + position151, tokenIndex151 := position, tokenIndex if buffer[position] != rune('m') { - goto l151 + goto l152 } position++ - goto l150 - l151: - position, tokenIndex = position150, tokenIndex150 + goto l151 + l152: + position, tokenIndex = position151, tokenIndex151 if buffer[position] != rune('M') { - goto l42 + goto l150 } position++ } - l150: + l151: { - position152, tokenIndex152 := position, tokenIndex + position153, tokenIndex153 := position, tokenIndex if buffer[position] != rune('s') { - goto l153 + goto l154 } position++ - goto l152 - l153: - position, tokenIndex = position152, tokenIndex152 + goto l153 + l154: + position, tokenIndex = position153, tokenIndex153 if buffer[position] != rune('S') { - goto l42 + goto l150 } position++ } - l152: + l153: + goto l44 + l150: + position, tokenIndex = position44, tokenIndex44 + if buffer[position] != rune('C') { + goto l42 + } + position++ + if buffer[position] != rune('F') { + goto l42 + } + position++ } l44: { - position154, tokenIndex154 := position, tokenIndex + position155, tokenIndex155 := position, tokenIndex if buffer[position] != rune('?') { - goto l154 + goto l155 } position++ - goto l155 - l154: - position, tokenIndex = position154, tokenIndex154 + goto l156 + l155: + position, tokenIndex = position155, tokenIndex155 } - l155: + l156: { - position156, tokenIndex156 := position, tokenIndex + position157, tokenIndex157 := position, tokenIndex if !_rules[ruleSpaceOrEnd]() { goto l42 } - position, tokenIndex = position156, tokenIndex156 + position, tokenIndex = position157, tokenIndex157 } add(ruleTailLastWordJunk, position43) } @@ -1445,2684 +1456,2840 @@ func (p *PreParser) Init(options ...func(*PreParser) error) error { }, /* 6 TailPhrase4 <- <((((('p' / 'P') ('r' / 'R') ('o' / 'O') _ (('p' / 'P') ('a' / 'A') ('r' / 'R') ('t' / 'T') ('e' / 'E'))) / (('n' / 'N') ('o' / 'O') ('m' / 'M') ('e' / 'E') ('n' / 'N'))) &NotLetterOrEnd) / ('p' '.' _? ('p' '.')) / (('n' / 'N') ('o' / 'O') ('m' / 'M') '.') / (('c' / 'C') ('o' / 'O') ('m' / 'M') ('b' / 'B') '.'))> */ func() bool { - position157, tokenIndex157 := position, tokenIndex + position158, tokenIndex158 := position, tokenIndex { - position158 := position + position159 := position { - position159, tokenIndex159 := position, tokenIndex + position160, tokenIndex160 := position, tokenIndex { - position161, tokenIndex161 := position, tokenIndex + position162, tokenIndex162 := position, tokenIndex { - position163, tokenIndex163 := position, tokenIndex + position164, tokenIndex164 := position, tokenIndex if buffer[position] != rune('p') { - goto l164 + goto l165 } position++ - goto l163 - l164: - position, tokenIndex = position163, tokenIndex163 + goto l164 + l165: + position, tokenIndex = position164, tokenIndex164 if buffer[position] != rune('P') { - goto l162 + goto l163 } position++ } - l163: + l164: { - position165, tokenIndex165 := position, tokenIndex + position166, tokenIndex166 := position, tokenIndex if buffer[position] != rune('r') { - goto l166 + goto l167 } position++ - goto l165 - l166: - position, tokenIndex = position165, tokenIndex165 + goto l166 + l167: + position, tokenIndex = position166, tokenIndex166 if buffer[position] != rune('R') { - goto l162 + goto l163 } position++ } - l165: + l166: { - position167, tokenIndex167 := position, tokenIndex + position168, tokenIndex168 := position, tokenIndex if buffer[position] != rune('o') { - goto l168 + goto l169 } position++ - goto l167 - l168: - position, tokenIndex = position167, tokenIndex167 + goto l168 + l169: + position, tokenIndex = position168, tokenIndex168 if buffer[position] != rune('O') { - goto l162 + goto l163 } position++ } - l167: + l168: if !_rules[rule_]() { - goto l162 + goto l163 } { - position169, tokenIndex169 := position, tokenIndex + position170, tokenIndex170 := position, tokenIndex if buffer[position] != rune('p') { - goto l170 + goto l171 } position++ - goto l169 - l170: - position, tokenIndex = position169, tokenIndex169 + goto l170 + l171: + position, tokenIndex = position170, tokenIndex170 if buffer[position] != rune('P') { - goto l162 + goto l163 } position++ } - l169: + l170: { - position171, tokenIndex171 := position, tokenIndex + position172, tokenIndex172 := position, tokenIndex if buffer[position] != rune('a') { - goto l172 + goto l173 } position++ - goto l171 - l172: - position, tokenIndex = position171, tokenIndex171 + goto l172 + l173: + position, tokenIndex = position172, tokenIndex172 if buffer[position] != rune('A') { - goto l162 + goto l163 } position++ } - l171: + l172: { - position173, tokenIndex173 := position, tokenIndex + position174, tokenIndex174 := position, tokenIndex if buffer[position] != rune('r') { - goto l174 + goto l175 } position++ - goto l173 - l174: - position, tokenIndex = position173, tokenIndex173 + goto l174 + l175: + position, tokenIndex = position174, tokenIndex174 if buffer[position] != rune('R') { - goto l162 + goto l163 } position++ } - l173: + l174: { - position175, tokenIndex175 := position, tokenIndex + position176, tokenIndex176 := position, tokenIndex if buffer[position] != rune('t') { - goto l176 + goto l177 } position++ - goto l175 - l176: - position, tokenIndex = position175, tokenIndex175 + goto l176 + l177: + position, tokenIndex = position176, tokenIndex176 if buffer[position] != rune('T') { - goto l162 + goto l163 } position++ } - l175: + l176: { - position177, tokenIndex177 := position, tokenIndex + position178, tokenIndex178 := position, tokenIndex if buffer[position] != rune('e') { - goto l178 + goto l179 } position++ - goto l177 - l178: - position, tokenIndex = position177, tokenIndex177 + goto l178 + l179: + position, tokenIndex = position178, tokenIndex178 if buffer[position] != rune('E') { - goto l162 + goto l163 } position++ } - l177: - goto l161 - l162: - position, tokenIndex = position161, tokenIndex161 + l178: + goto l162 + l163: + position, tokenIndex = position162, tokenIndex162 { - position179, tokenIndex179 := position, tokenIndex + position180, tokenIndex180 := position, tokenIndex if buffer[position] != rune('n') { - goto l180 + goto l181 } position++ - goto l179 - l180: - position, tokenIndex = position179, tokenIndex179 + goto l180 + l181: + position, tokenIndex = position180, tokenIndex180 if buffer[position] != rune('N') { - goto l160 + goto l161 } position++ } - l179: + l180: { - position181, tokenIndex181 := position, tokenIndex + position182, tokenIndex182 := position, tokenIndex if buffer[position] != rune('o') { - goto l182 + goto l183 } position++ - goto l181 - l182: - position, tokenIndex = position181, tokenIndex181 + goto l182 + l183: + position, tokenIndex = position182, tokenIndex182 if buffer[position] != rune('O') { - goto l160 + goto l161 } position++ } - l181: + l182: { - position183, tokenIndex183 := position, tokenIndex + position184, tokenIndex184 := position, tokenIndex if buffer[position] != rune('m') { - goto l184 + goto l185 } position++ - goto l183 - l184: - position, tokenIndex = position183, tokenIndex183 + goto l184 + l185: + position, tokenIndex = position184, tokenIndex184 if buffer[position] != rune('M') { - goto l160 + goto l161 } position++ } - l183: + l184: { - position185, tokenIndex185 := position, tokenIndex + position186, tokenIndex186 := position, tokenIndex if buffer[position] != rune('e') { - goto l186 + goto l187 } position++ - goto l185 - l186: - position, tokenIndex = position185, tokenIndex185 + goto l186 + l187: + position, tokenIndex = position186, tokenIndex186 if buffer[position] != rune('E') { - goto l160 + goto l161 } position++ } - l185: + l186: { - position187, tokenIndex187 := position, tokenIndex + position188, tokenIndex188 := position, tokenIndex if buffer[position] != rune('n') { - goto l188 + goto l189 } position++ - goto l187 - l188: - position, tokenIndex = position187, tokenIndex187 + goto l188 + l189: + position, tokenIndex = position188, tokenIndex188 if buffer[position] != rune('N') { - goto l160 + goto l161 } position++ } - l187: + l188: } - l161: + l162: { - position189, tokenIndex189 := position, tokenIndex + position190, tokenIndex190 := position, tokenIndex if !_rules[ruleNotLetterOrEnd]() { - goto l160 + goto l161 } - position, tokenIndex = position189, tokenIndex189 + position, tokenIndex = position190, tokenIndex190 } - goto l159 - l160: - position, tokenIndex = position159, tokenIndex159 + goto l160 + l161: + position, tokenIndex = position160, tokenIndex160 if buffer[position] != rune('p') { - goto l190 + goto l191 } position++ if buffer[position] != rune('.') { - goto l190 + goto l191 } position++ { - position191, tokenIndex191 := position, tokenIndex + position192, tokenIndex192 := position, tokenIndex if !_rules[rule_]() { - goto l191 + goto l192 } - goto l192 - l191: - position, tokenIndex = position191, tokenIndex191 + goto l193 + l192: + position, tokenIndex = position192, tokenIndex192 } - l192: + l193: if buffer[position] != rune('p') { - goto l190 + goto l191 } position++ if buffer[position] != rune('.') { - goto l190 + goto l191 } position++ - goto l159 - l190: - position, tokenIndex = position159, tokenIndex159 + goto l160 + l191: + position, tokenIndex = position160, tokenIndex160 { - position194, tokenIndex194 := position, tokenIndex + position195, tokenIndex195 := position, tokenIndex if buffer[position] != rune('n') { - goto l195 + goto l196 } position++ - goto l194 - l195: - position, tokenIndex = position194, tokenIndex194 + goto l195 + l196: + position, tokenIndex = position195, tokenIndex195 if buffer[position] != rune('N') { - goto l193 + goto l194 } position++ } - l194: + l195: { - position196, tokenIndex196 := position, tokenIndex + position197, tokenIndex197 := position, tokenIndex if buffer[position] != rune('o') { - goto l197 + goto l198 } position++ - goto l196 - l197: - position, tokenIndex = position196, tokenIndex196 + goto l197 + l198: + position, tokenIndex = position197, tokenIndex197 if buffer[position] != rune('O') { - goto l193 + goto l194 } position++ } - l196: + l197: { - position198, tokenIndex198 := position, tokenIndex + position199, tokenIndex199 := position, tokenIndex if buffer[position] != rune('m') { - goto l199 + goto l200 } position++ - goto l198 - l199: - position, tokenIndex = position198, tokenIndex198 + goto l199 + l200: + position, tokenIndex = position199, tokenIndex199 if buffer[position] != rune('M') { - goto l193 + goto l194 } position++ } - l198: + l199: if buffer[position] != rune('.') { - goto l193 + goto l194 } position++ - goto l159 - l193: - position, tokenIndex = position159, tokenIndex159 + goto l160 + l194: + position, tokenIndex = position160, tokenIndex160 { - position200, tokenIndex200 := position, tokenIndex + position201, tokenIndex201 := position, tokenIndex if buffer[position] != rune('c') { - goto l201 + goto l202 } position++ - goto l200 - l201: - position, tokenIndex = position200, tokenIndex200 + goto l201 + l202: + position, tokenIndex = position201, tokenIndex201 if buffer[position] != rune('C') { - goto l157 + goto l158 } position++ } - l200: + l201: { - position202, tokenIndex202 := position, tokenIndex + position203, tokenIndex203 := position, tokenIndex if buffer[position] != rune('o') { - goto l203 + goto l204 } position++ - goto l202 - l203: - position, tokenIndex = position202, tokenIndex202 + goto l203 + l204: + position, tokenIndex = position203, tokenIndex203 if buffer[position] != rune('O') { - goto l157 + goto l158 } position++ } - l202: + l203: { - position204, tokenIndex204 := position, tokenIndex + position205, tokenIndex205 := position, tokenIndex if buffer[position] != rune('m') { - goto l205 + goto l206 } position++ - goto l204 - l205: - position, tokenIndex = position204, tokenIndex204 + goto l205 + l206: + position, tokenIndex = position205, tokenIndex205 if buffer[position] != rune('M') { - goto l157 + goto l158 } position++ } - l204: + l205: { - position206, tokenIndex206 := position, tokenIndex + position207, tokenIndex207 := position, tokenIndex if buffer[position] != rune('b') { - goto l207 + goto l208 } position++ - goto l206 - l207: - position, tokenIndex = position206, tokenIndex206 + goto l207 + l208: + position, tokenIndex = position207, tokenIndex207 if buffer[position] != rune('B') { - goto l157 + goto l158 } position++ } - l206: + l207: if buffer[position] != rune('.') { - goto l157 + goto l158 } position++ } - l159: - add(ruleTailPhrase4, position158) + l160: + add(ruleTailPhrase4, position159) } return true - l157: - position, tokenIndex = position157, tokenIndex157 + l158: + position, tokenIndex = position158, tokenIndex158 return false }, /* 7 TailPhrase3 <- <('('? 's' (('.' _?) / _) (('s' '.'? &NotLetterOrEnd) / ('l' '.') / ('s' 't' 'r' '.') / ('l' 'a' 't' '.')))> */ func() bool { - position208, tokenIndex208 := position, tokenIndex + position209, tokenIndex209 := position, tokenIndex { - position209 := position + position210 := position { - position210, tokenIndex210 := position, tokenIndex + position211, tokenIndex211 := position, tokenIndex if buffer[position] != rune('(') { - goto l210 + goto l211 } position++ - goto l211 - l210: - position, tokenIndex = position210, tokenIndex210 + goto l212 + l211: + position, tokenIndex = position211, tokenIndex211 } - l211: + l212: if buffer[position] != rune('s') { - goto l208 + goto l209 } position++ { - position212, tokenIndex212 := position, tokenIndex + position213, tokenIndex213 := position, tokenIndex if buffer[position] != rune('.') { - goto l213 + goto l214 } position++ { - position214, tokenIndex214 := position, tokenIndex + position215, tokenIndex215 := position, tokenIndex if !_rules[rule_]() { - goto l214 + goto l215 } - goto l215 - l214: - position, tokenIndex = position214, tokenIndex214 + goto l216 + l215: + position, tokenIndex = position215, tokenIndex215 } - l215: - goto l212 - l213: - position, tokenIndex = position212, tokenIndex212 + l216: + goto l213 + l214: + position, tokenIndex = position213, tokenIndex213 if !_rules[rule_]() { - goto l208 + goto l209 } } - l212: + l213: { - position216, tokenIndex216 := position, tokenIndex + position217, tokenIndex217 := position, tokenIndex if buffer[position] != rune('s') { - goto l217 + goto l218 } position++ { - position218, tokenIndex218 := position, tokenIndex + position219, tokenIndex219 := position, tokenIndex if buffer[position] != rune('.') { - goto l218 + goto l219 } position++ - goto l219 - l218: - position, tokenIndex = position218, tokenIndex218 + goto l220 + l219: + position, tokenIndex = position219, tokenIndex219 } - l219: + l220: { - position220, tokenIndex220 := position, tokenIndex + position221, tokenIndex221 := position, tokenIndex if !_rules[ruleNotLetterOrEnd]() { - goto l217 + goto l218 } - position, tokenIndex = position220, tokenIndex220 + position, tokenIndex = position221, tokenIndex221 } - goto l216 - l217: - position, tokenIndex = position216, tokenIndex216 + goto l217 + l218: + position, tokenIndex = position217, tokenIndex217 if buffer[position] != rune('l') { - goto l221 + goto l222 } position++ if buffer[position] != rune('.') { - goto l221 + goto l222 } position++ - goto l216 - l221: - position, tokenIndex = position216, tokenIndex216 + goto l217 + l222: + position, tokenIndex = position217, tokenIndex217 if buffer[position] != rune('s') { - goto l222 + goto l223 } position++ if buffer[position] != rune('t') { - goto l222 + goto l223 } position++ if buffer[position] != rune('r') { - goto l222 + goto l223 } position++ if buffer[position] != rune('.') { - goto l222 + goto l223 } position++ - goto l216 - l222: - position, tokenIndex = position216, tokenIndex216 + goto l217 + l223: + position, tokenIndex = position217, tokenIndex217 if buffer[position] != rune('l') { - goto l208 + goto l209 } position++ if buffer[position] != rune('a') { - goto l208 + goto l209 } position++ if buffer[position] != rune('t') { - goto l208 + goto l209 } position++ if buffer[position] != rune('.') { - goto l208 + goto l209 } position++ } - l216: - add(ruleTailPhrase3, position209) + l217: + add(ruleTailPhrase3, position210) } return true - l208: - position, tokenIndex = position208, tokenIndex208 + l209: + position, tokenIndex = position209, tokenIndex209 return false }, - /* 8 TailStopWords <- <(((('e' / 'E') ('n' / 'N') ('v' / 'V') ('i' / 'I') ('r' / 'R') ('o' / 'O') ('n' / 'N') ('m' / 'M') ('e' / 'E') ('n' / 'N') ('t' / 'T') ('a' / 'A') ('l' / 'L')) / (('e' / 'E') ('n' / 'N') ('r' / 'R') ('i' / 'I') ('c' / 'C') ('h' / 'H') ('m' / 'M') ('e' / 'E') ('n' / 'N') ('t' / 'T')) / (('s' / 'S') ('a' / 'A') ('m' / 'M') ('p' / 'P') ('l' / 'L') ('e' / 'E') ('s' / 'S')) / ((('s' / 'S') ('p' / 'P') ('e' / 'E') ('c' / 'C') ('i' / 'I') ('e' / 'E') ('s' / 'S') _)? ((('g' / 'G') ('r' / 'R') ('o' / 'O') ('u' / 'U') ('p' / 'P')) / (('c' / 'C') ('o' / 'O') ('m' / 'M') ('p' / 'P') ('l' / 'L') ('e' / 'E') ('x' / 'X')))) / (('c' / 'C') ('l' / 'L') ('a' / 'A') ('d' / 'D') ('e' / 'E')) / (('a' / 'A') ('u' / 'U') ('t' / 'T') ('h' / 'H') ('o' / 'O') ('r' / 'R')) / (('n' / 'N') ('e' / 'E') ('c' / 'C')) / (('v' / 'V') ('i' / 'I') ('d' / 'D') ('e' / 'E')) / (('f' / 'F') ('i' / 'I') ('d' / 'D') ('e' / 'E')) / (('n' / 'N') ('o' / 'O') ('n' / 'N'))) &NotLetterOrEnd)> */ + /* 8 TailStopWords <- <(((('e' / 'E') ('n' / 'N') ('v' / 'V') ('i' / 'I') ('r' / 'R') ('o' / 'O') ('n' / 'N') ('m' / 'M') ('e' / 'E') ('n' / 'N') ('t' / 'T') ('a' / 'A') ('l' / 'L')) / (('e' / 'E') ('n' / 'N') ('r' / 'R') ('i' / 'I') ('c' / 'C') ('h' / 'H') ('m' / 'M') ('e' / 'E') ('n' / 'N') ('t' / 'T')) / (('s' / 'S') ('a' / 'A') ('m' / 'M') ('p' / 'P') ('l' / 'L') ('e' / 'E') ('s' / 'S')) / (('s' / 'S') ('p' / 'P') ('e' / 'E') ('c' / 'C') ('i' / 'I') ('e' / 'E') ('s' / 'S')) / (('g' / 'G') ('r' / 'R') ('o' / 'O') ('u' / 'U') ('p' / 'P')) / (('c' / 'C') ('o' / 'O') ('m' / 'M') ('p' / 'P') ('l' / 'L') ('e' / 'E') ('x' / 'X')) / (('c' / 'C') ('l' / 'L') ('a' / 'A') ('d' / 'D') ('e' / 'E')) / (('a' / 'A') ('u' / 'U') ('t' / 'T') ('h' / 'H') ('o' / 'O') ('r' / 'R')) / (('n' / 'N') ('e' / 'E') ('c' / 'C')) / (('v' / 'V') ('i' / 'I') ('d' / 'D') ('e' / 'E')) / (('s' / 'S') ('p' / 'P') ('e' / 'E') ('c' / 'C') ('i' / 'I') ('e' / 'E') ('s' / 'S')) / (('f' / 'F') ('i' / 'I') ('d' / 'D') ('e' / 'E')) / (('n' / 'N') ('o' / 'O') ('n' / 'N')) / (('n' / 'N') ('o' / 'O') ('t' / 'T'))) &NotLetterOrEnd)> */ func() bool { - position223, tokenIndex223 := position, tokenIndex + position224, tokenIndex224 := position, tokenIndex { - position224 := position + position225 := position { - position225, tokenIndex225 := position, tokenIndex + position226, tokenIndex226 := position, tokenIndex { - position227, tokenIndex227 := position, tokenIndex + position228, tokenIndex228 := position, tokenIndex if buffer[position] != rune('e') { - goto l228 + goto l229 } position++ - goto l227 - l228: - position, tokenIndex = position227, tokenIndex227 + goto l228 + l229: + position, tokenIndex = position228, tokenIndex228 if buffer[position] != rune('E') { - goto l226 + goto l227 } position++ } - l227: + l228: { - position229, tokenIndex229 := position, tokenIndex + position230, tokenIndex230 := position, tokenIndex if buffer[position] != rune('n') { - goto l230 + goto l231 } position++ - goto l229 - l230: - position, tokenIndex = position229, tokenIndex229 + goto l230 + l231: + position, tokenIndex = position230, tokenIndex230 if buffer[position] != rune('N') { - goto l226 + goto l227 } position++ } - l229: + l230: { - position231, tokenIndex231 := position, tokenIndex + position232, tokenIndex232 := position, tokenIndex if buffer[position] != rune('v') { - goto l232 + goto l233 } position++ - goto l231 - l232: - position, tokenIndex = position231, tokenIndex231 + goto l232 + l233: + position, tokenIndex = position232, tokenIndex232 if buffer[position] != rune('V') { - goto l226 + goto l227 } position++ } - l231: + l232: { - position233, tokenIndex233 := position, tokenIndex + position234, tokenIndex234 := position, tokenIndex if buffer[position] != rune('i') { - goto l234 + goto l235 } position++ - goto l233 - l234: - position, tokenIndex = position233, tokenIndex233 + goto l234 + l235: + position, tokenIndex = position234, tokenIndex234 if buffer[position] != rune('I') { - goto l226 + goto l227 } position++ } - l233: + l234: { - position235, tokenIndex235 := position, tokenIndex + position236, tokenIndex236 := position, tokenIndex if buffer[position] != rune('r') { - goto l236 + goto l237 } position++ - goto l235 - l236: - position, tokenIndex = position235, tokenIndex235 + goto l236 + l237: + position, tokenIndex = position236, tokenIndex236 if buffer[position] != rune('R') { - goto l226 + goto l227 } position++ } - l235: + l236: { - position237, tokenIndex237 := position, tokenIndex + position238, tokenIndex238 := position, tokenIndex if buffer[position] != rune('o') { - goto l238 + goto l239 } position++ - goto l237 - l238: - position, tokenIndex = position237, tokenIndex237 + goto l238 + l239: + position, tokenIndex = position238, tokenIndex238 if buffer[position] != rune('O') { - goto l226 + goto l227 } position++ } - l237: + l238: { - position239, tokenIndex239 := position, tokenIndex + position240, tokenIndex240 := position, tokenIndex if buffer[position] != rune('n') { - goto l240 + goto l241 } position++ - goto l239 - l240: - position, tokenIndex = position239, tokenIndex239 + goto l240 + l241: + position, tokenIndex = position240, tokenIndex240 if buffer[position] != rune('N') { - goto l226 + goto l227 } position++ } - l239: + l240: { - position241, tokenIndex241 := position, tokenIndex + position242, tokenIndex242 := position, tokenIndex if buffer[position] != rune('m') { - goto l242 + goto l243 } position++ - goto l241 - l242: - position, tokenIndex = position241, tokenIndex241 + goto l242 + l243: + position, tokenIndex = position242, tokenIndex242 if buffer[position] != rune('M') { - goto l226 + goto l227 } position++ } - l241: + l242: { - position243, tokenIndex243 := position, tokenIndex + position244, tokenIndex244 := position, tokenIndex if buffer[position] != rune('e') { - goto l244 + goto l245 } position++ - goto l243 - l244: - position, tokenIndex = position243, tokenIndex243 + goto l244 + l245: + position, tokenIndex = position244, tokenIndex244 if buffer[position] != rune('E') { - goto l226 + goto l227 } position++ } - l243: + l244: { - position245, tokenIndex245 := position, tokenIndex + position246, tokenIndex246 := position, tokenIndex if buffer[position] != rune('n') { - goto l246 + goto l247 } position++ - goto l245 - l246: - position, tokenIndex = position245, tokenIndex245 + goto l246 + l247: + position, tokenIndex = position246, tokenIndex246 if buffer[position] != rune('N') { - goto l226 + goto l227 } position++ } - l245: + l246: { - position247, tokenIndex247 := position, tokenIndex + position248, tokenIndex248 := position, tokenIndex if buffer[position] != rune('t') { - goto l248 + goto l249 } position++ - goto l247 - l248: - position, tokenIndex = position247, tokenIndex247 + goto l248 + l249: + position, tokenIndex = position248, tokenIndex248 if buffer[position] != rune('T') { - goto l226 + goto l227 } position++ } - l247: + l248: { - position249, tokenIndex249 := position, tokenIndex + position250, tokenIndex250 := position, tokenIndex if buffer[position] != rune('a') { - goto l250 + goto l251 } position++ - goto l249 - l250: - position, tokenIndex = position249, tokenIndex249 + goto l250 + l251: + position, tokenIndex = position250, tokenIndex250 if buffer[position] != rune('A') { - goto l226 + goto l227 } position++ } - l249: + l250: { - position251, tokenIndex251 := position, tokenIndex + position252, tokenIndex252 := position, tokenIndex if buffer[position] != rune('l') { - goto l252 + goto l253 } position++ - goto l251 - l252: - position, tokenIndex = position251, tokenIndex251 + goto l252 + l253: + position, tokenIndex = position252, tokenIndex252 if buffer[position] != rune('L') { - goto l226 + goto l227 } position++ } - l251: - goto l225 - l226: - position, tokenIndex = position225, tokenIndex225 + l252: + goto l226 + l227: + position, tokenIndex = position226, tokenIndex226 { - position254, tokenIndex254 := position, tokenIndex + position255, tokenIndex255 := position, tokenIndex if buffer[position] != rune('e') { - goto l255 + goto l256 } position++ - goto l254 - l255: - position, tokenIndex = position254, tokenIndex254 + goto l255 + l256: + position, tokenIndex = position255, tokenIndex255 if buffer[position] != rune('E') { - goto l253 + goto l254 } position++ } - l254: + l255: { - position256, tokenIndex256 := position, tokenIndex + position257, tokenIndex257 := position, tokenIndex if buffer[position] != rune('n') { - goto l257 + goto l258 } position++ - goto l256 - l257: - position, tokenIndex = position256, tokenIndex256 + goto l257 + l258: + position, tokenIndex = position257, tokenIndex257 if buffer[position] != rune('N') { - goto l253 + goto l254 } position++ } - l256: + l257: { - position258, tokenIndex258 := position, tokenIndex + position259, tokenIndex259 := position, tokenIndex if buffer[position] != rune('r') { - goto l259 + goto l260 } position++ - goto l258 - l259: - position, tokenIndex = position258, tokenIndex258 + goto l259 + l260: + position, tokenIndex = position259, tokenIndex259 if buffer[position] != rune('R') { - goto l253 + goto l254 } position++ } - l258: + l259: { - position260, tokenIndex260 := position, tokenIndex + position261, tokenIndex261 := position, tokenIndex if buffer[position] != rune('i') { - goto l261 + goto l262 } position++ - goto l260 - l261: - position, tokenIndex = position260, tokenIndex260 + goto l261 + l262: + position, tokenIndex = position261, tokenIndex261 if buffer[position] != rune('I') { - goto l253 + goto l254 } position++ } - l260: + l261: { - position262, tokenIndex262 := position, tokenIndex + position263, tokenIndex263 := position, tokenIndex if buffer[position] != rune('c') { - goto l263 + goto l264 } position++ - goto l262 - l263: - position, tokenIndex = position262, tokenIndex262 + goto l263 + l264: + position, tokenIndex = position263, tokenIndex263 if buffer[position] != rune('C') { - goto l253 + goto l254 } position++ } - l262: + l263: { - position264, tokenIndex264 := position, tokenIndex + position265, tokenIndex265 := position, tokenIndex if buffer[position] != rune('h') { - goto l265 + goto l266 } position++ - goto l264 - l265: - position, tokenIndex = position264, tokenIndex264 + goto l265 + l266: + position, tokenIndex = position265, tokenIndex265 if buffer[position] != rune('H') { - goto l253 + goto l254 } position++ } - l264: + l265: { - position266, tokenIndex266 := position, tokenIndex + position267, tokenIndex267 := position, tokenIndex if buffer[position] != rune('m') { - goto l267 + goto l268 } position++ - goto l266 - l267: - position, tokenIndex = position266, tokenIndex266 + goto l267 + l268: + position, tokenIndex = position267, tokenIndex267 if buffer[position] != rune('M') { - goto l253 + goto l254 } position++ } - l266: + l267: { - position268, tokenIndex268 := position, tokenIndex + position269, tokenIndex269 := position, tokenIndex if buffer[position] != rune('e') { - goto l269 + goto l270 } position++ - goto l268 - l269: - position, tokenIndex = position268, tokenIndex268 + goto l269 + l270: + position, tokenIndex = position269, tokenIndex269 if buffer[position] != rune('E') { - goto l253 + goto l254 } position++ } - l268: + l269: { - position270, tokenIndex270 := position, tokenIndex + position271, tokenIndex271 := position, tokenIndex if buffer[position] != rune('n') { - goto l271 + goto l272 } position++ - goto l270 - l271: - position, tokenIndex = position270, tokenIndex270 + goto l271 + l272: + position, tokenIndex = position271, tokenIndex271 if buffer[position] != rune('N') { - goto l253 + goto l254 } position++ } - l270: + l271: { - position272, tokenIndex272 := position, tokenIndex + position273, tokenIndex273 := position, tokenIndex if buffer[position] != rune('t') { - goto l273 + goto l274 } position++ - goto l272 - l273: - position, tokenIndex = position272, tokenIndex272 + goto l273 + l274: + position, tokenIndex = position273, tokenIndex273 if buffer[position] != rune('T') { - goto l253 + goto l254 } position++ } - l272: - goto l225 - l253: - position, tokenIndex = position225, tokenIndex225 + l273: + goto l226 + l254: + position, tokenIndex = position226, tokenIndex226 { - position275, tokenIndex275 := position, tokenIndex + position276, tokenIndex276 := position, tokenIndex if buffer[position] != rune('s') { - goto l276 + goto l277 } position++ - goto l275 - l276: - position, tokenIndex = position275, tokenIndex275 + goto l276 + l277: + position, tokenIndex = position276, tokenIndex276 if buffer[position] != rune('S') { - goto l274 + goto l275 } position++ } - l275: + l276: { - position277, tokenIndex277 := position, tokenIndex + position278, tokenIndex278 := position, tokenIndex if buffer[position] != rune('a') { - goto l278 + goto l279 } position++ - goto l277 - l278: - position, tokenIndex = position277, tokenIndex277 + goto l278 + l279: + position, tokenIndex = position278, tokenIndex278 if buffer[position] != rune('A') { - goto l274 + goto l275 } position++ } - l277: + l278: { - position279, tokenIndex279 := position, tokenIndex + position280, tokenIndex280 := position, tokenIndex if buffer[position] != rune('m') { - goto l280 + goto l281 } position++ - goto l279 - l280: - position, tokenIndex = position279, tokenIndex279 + goto l280 + l281: + position, tokenIndex = position280, tokenIndex280 if buffer[position] != rune('M') { - goto l274 + goto l275 } position++ } - l279: + l280: { - position281, tokenIndex281 := position, tokenIndex + position282, tokenIndex282 := position, tokenIndex if buffer[position] != rune('p') { - goto l282 + goto l283 } position++ - goto l281 - l282: - position, tokenIndex = position281, tokenIndex281 + goto l282 + l283: + position, tokenIndex = position282, tokenIndex282 if buffer[position] != rune('P') { - goto l274 + goto l275 } position++ } - l281: + l282: { - position283, tokenIndex283 := position, tokenIndex + position284, tokenIndex284 := position, tokenIndex if buffer[position] != rune('l') { - goto l284 + goto l285 } position++ - goto l283 - l284: - position, tokenIndex = position283, tokenIndex283 + goto l284 + l285: + position, tokenIndex = position284, tokenIndex284 if buffer[position] != rune('L') { - goto l274 + goto l275 } position++ } - l283: + l284: { - position285, tokenIndex285 := position, tokenIndex + position286, tokenIndex286 := position, tokenIndex if buffer[position] != rune('e') { - goto l286 + goto l287 } position++ - goto l285 - l286: - position, tokenIndex = position285, tokenIndex285 + goto l286 + l287: + position, tokenIndex = position286, tokenIndex286 if buffer[position] != rune('E') { - goto l274 + goto l275 } position++ } - l285: + l286: { - position287, tokenIndex287 := position, tokenIndex + position288, tokenIndex288 := position, tokenIndex if buffer[position] != rune('s') { - goto l288 + goto l289 } position++ - goto l287 - l288: - position, tokenIndex = position287, tokenIndex287 + goto l288 + l289: + position, tokenIndex = position288, tokenIndex288 if buffer[position] != rune('S') { - goto l274 + goto l275 } position++ } - l287: - goto l225 - l274: - position, tokenIndex = position225, tokenIndex225 + l288: + goto l226 + l275: + position, tokenIndex = position226, tokenIndex226 { - position290, tokenIndex290 := position, tokenIndex - { - position292, tokenIndex292 := position, tokenIndex - if buffer[position] != rune('s') { - goto l293 - } - position++ + position291, tokenIndex291 := position, tokenIndex + if buffer[position] != rune('s') { goto l292 - l293: - position, tokenIndex = position292, tokenIndex292 - if buffer[position] != rune('S') { - goto l290 - } - position++ } + position++ + goto l291 l292: - { - position294, tokenIndex294 := position, tokenIndex - if buffer[position] != rune('p') { - goto l295 - } - position++ + position, tokenIndex = position291, tokenIndex291 + if buffer[position] != rune('S') { + goto l290 + } + position++ + } + l291: + { + position293, tokenIndex293 := position, tokenIndex + if buffer[position] != rune('p') { goto l294 - l295: - position, tokenIndex = position294, tokenIndex294 - if buffer[position] != rune('P') { - goto l290 - } - position++ } + position++ + goto l293 l294: - { - position296, tokenIndex296 := position, tokenIndex - if buffer[position] != rune('e') { - goto l297 - } - position++ + position, tokenIndex = position293, tokenIndex293 + if buffer[position] != rune('P') { + goto l290 + } + position++ + } + l293: + { + position295, tokenIndex295 := position, tokenIndex + if buffer[position] != rune('e') { goto l296 - l297: - position, tokenIndex = position296, tokenIndex296 - if buffer[position] != rune('E') { - goto l290 - } - position++ } + position++ + goto l295 l296: - { - position298, tokenIndex298 := position, tokenIndex - if buffer[position] != rune('c') { - goto l299 - } - position++ + position, tokenIndex = position295, tokenIndex295 + if buffer[position] != rune('E') { + goto l290 + } + position++ + } + l295: + { + position297, tokenIndex297 := position, tokenIndex + if buffer[position] != rune('c') { goto l298 - l299: - position, tokenIndex = position298, tokenIndex298 - if buffer[position] != rune('C') { - goto l290 - } - position++ } + position++ + goto l297 l298: - { - position300, tokenIndex300 := position, tokenIndex - if buffer[position] != rune('i') { - goto l301 - } - position++ + position, tokenIndex = position297, tokenIndex297 + if buffer[position] != rune('C') { + goto l290 + } + position++ + } + l297: + { + position299, tokenIndex299 := position, tokenIndex + if buffer[position] != rune('i') { goto l300 - l301: - position, tokenIndex = position300, tokenIndex300 - if buffer[position] != rune('I') { - goto l290 - } - position++ } + position++ + goto l299 l300: - { - position302, tokenIndex302 := position, tokenIndex - if buffer[position] != rune('e') { - goto l303 - } - position++ + position, tokenIndex = position299, tokenIndex299 + if buffer[position] != rune('I') { + goto l290 + } + position++ + } + l299: + { + position301, tokenIndex301 := position, tokenIndex + if buffer[position] != rune('e') { goto l302 - l303: - position, tokenIndex = position302, tokenIndex302 - if buffer[position] != rune('E') { - goto l290 - } - position++ } + position++ + goto l301 l302: - { - position304, tokenIndex304 := position, tokenIndex - if buffer[position] != rune('s') { - goto l305 - } - position++ + position, tokenIndex = position301, tokenIndex301 + if buffer[position] != rune('E') { + goto l290 + } + position++ + } + l301: + { + position303, tokenIndex303 := position, tokenIndex + if buffer[position] != rune('s') { goto l304 - l305: - position, tokenIndex = position304, tokenIndex304 - if buffer[position] != rune('S') { - goto l290 - } - position++ } + position++ + goto l303 l304: - if !_rules[rule_]() { + position, tokenIndex = position303, tokenIndex303 + if buffer[position] != rune('S') { goto l290 } - goto l291 - l290: - position, tokenIndex = position290, tokenIndex290 + position++ } - l291: + l303: + goto l226 + l290: + position, tokenIndex = position226, tokenIndex226 { position306, tokenIndex306 := position, tokenIndex - { - position308, tokenIndex308 := position, tokenIndex - if buffer[position] != rune('g') { - goto l309 - } - position++ - goto l308 - l309: - position, tokenIndex = position308, tokenIndex308 - if buffer[position] != rune('G') { - goto l307 - } - position++ - } - l308: - { - position310, tokenIndex310 := position, tokenIndex - if buffer[position] != rune('r') { - goto l311 - } - position++ - goto l310 - l311: - position, tokenIndex = position310, tokenIndex310 - if buffer[position] != rune('R') { - goto l307 - } - position++ - } - l310: - { - position312, tokenIndex312 := position, tokenIndex - if buffer[position] != rune('o') { - goto l313 - } - position++ - goto l312 - l313: - position, tokenIndex = position312, tokenIndex312 - if buffer[position] != rune('O') { - goto l307 - } - position++ - } - l312: - { - position314, tokenIndex314 := position, tokenIndex - if buffer[position] != rune('u') { - goto l315 - } - position++ - goto l314 - l315: - position, tokenIndex = position314, tokenIndex314 - if buffer[position] != rune('U') { - goto l307 - } - position++ - } - l314: - { - position316, tokenIndex316 := position, tokenIndex - if buffer[position] != rune('p') { - goto l317 - } - position++ - goto l316 - l317: - position, tokenIndex = position316, tokenIndex316 - if buffer[position] != rune('P') { - goto l307 - } - position++ + if buffer[position] != rune('g') { + goto l307 } - l316: + position++ goto l306 l307: position, tokenIndex = position306, tokenIndex306 - { - position318, tokenIndex318 := position, tokenIndex - if buffer[position] != rune('c') { - goto l319 - } - position++ - goto l318 - l319: - position, tokenIndex = position318, tokenIndex318 - if buffer[position] != rune('C') { - goto l289 - } - position++ + if buffer[position] != rune('G') { + goto l305 } - l318: - { - position320, tokenIndex320 := position, tokenIndex - if buffer[position] != rune('o') { - goto l321 - } - position++ - goto l320 - l321: - position, tokenIndex = position320, tokenIndex320 - if buffer[position] != rune('O') { - goto l289 - } - position++ + position++ + } + l306: + { + position308, tokenIndex308 := position, tokenIndex + if buffer[position] != rune('r') { + goto l309 } - l320: - { - position322, tokenIndex322 := position, tokenIndex - if buffer[position] != rune('m') { - goto l323 - } - position++ - goto l322 - l323: - position, tokenIndex = position322, tokenIndex322 - if buffer[position] != rune('M') { - goto l289 - } - position++ + position++ + goto l308 + l309: + position, tokenIndex = position308, tokenIndex308 + if buffer[position] != rune('R') { + goto l305 } - l322: - { - position324, tokenIndex324 := position, tokenIndex - if buffer[position] != rune('p') { - goto l325 - } - position++ - goto l324 - l325: - position, tokenIndex = position324, tokenIndex324 - if buffer[position] != rune('P') { - goto l289 - } - position++ + position++ + } + l308: + { + position310, tokenIndex310 := position, tokenIndex + if buffer[position] != rune('o') { + goto l311 } + position++ + goto l310 + l311: + position, tokenIndex = position310, tokenIndex310 + if buffer[position] != rune('O') { + goto l305 + } + position++ + } + l310: + { + position312, tokenIndex312 := position, tokenIndex + if buffer[position] != rune('u') { + goto l313 + } + position++ + goto l312 + l313: + position, tokenIndex = position312, tokenIndex312 + if buffer[position] != rune('U') { + goto l305 + } + position++ + } + l312: + { + position314, tokenIndex314 := position, tokenIndex + if buffer[position] != rune('p') { + goto l315 + } + position++ + goto l314 + l315: + position, tokenIndex = position314, tokenIndex314 + if buffer[position] != rune('P') { + goto l305 + } + position++ + } + l314: + goto l226 + l305: + position, tokenIndex = position226, tokenIndex226 + { + position317, tokenIndex317 := position, tokenIndex + if buffer[position] != rune('c') { + goto l318 + } + position++ + goto l317 + l318: + position, tokenIndex = position317, tokenIndex317 + if buffer[position] != rune('C') { + goto l316 + } + position++ + } + l317: + { + position319, tokenIndex319 := position, tokenIndex + if buffer[position] != rune('o') { + goto l320 + } + position++ + goto l319 + l320: + position, tokenIndex = position319, tokenIndex319 + if buffer[position] != rune('O') { + goto l316 + } + position++ + } + l319: + { + position321, tokenIndex321 := position, tokenIndex + if buffer[position] != rune('m') { + goto l322 + } + position++ + goto l321 + l322: + position, tokenIndex = position321, tokenIndex321 + if buffer[position] != rune('M') { + goto l316 + } + position++ + } + l321: + { + position323, tokenIndex323 := position, tokenIndex + if buffer[position] != rune('p') { + goto l324 + } + position++ + goto l323 l324: - { - position326, tokenIndex326 := position, tokenIndex - if buffer[position] != rune('l') { - goto l327 - } - position++ + position, tokenIndex = position323, tokenIndex323 + if buffer[position] != rune('P') { + goto l316 + } + position++ + } + l323: + { + position325, tokenIndex325 := position, tokenIndex + if buffer[position] != rune('l') { goto l326 - l327: - position, tokenIndex = position326, tokenIndex326 - if buffer[position] != rune('L') { - goto l289 - } - position++ } + position++ + goto l325 l326: - { - position328, tokenIndex328 := position, tokenIndex - if buffer[position] != rune('e') { - goto l329 - } - position++ + position, tokenIndex = position325, tokenIndex325 + if buffer[position] != rune('L') { + goto l316 + } + position++ + } + l325: + { + position327, tokenIndex327 := position, tokenIndex + if buffer[position] != rune('e') { goto l328 - l329: - position, tokenIndex = position328, tokenIndex328 - if buffer[position] != rune('E') { - goto l289 - } - position++ } + position++ + goto l327 l328: - { - position330, tokenIndex330 := position, tokenIndex - if buffer[position] != rune('x') { - goto l331 - } - position++ + position, tokenIndex = position327, tokenIndex327 + if buffer[position] != rune('E') { + goto l316 + } + position++ + } + l327: + { + position329, tokenIndex329 := position, tokenIndex + if buffer[position] != rune('x') { goto l330 - l331: - position, tokenIndex = position330, tokenIndex330 - if buffer[position] != rune('X') { - goto l289 - } - position++ } + position++ + goto l329 l330: + position, tokenIndex = position329, tokenIndex329 + if buffer[position] != rune('X') { + goto l316 + } + position++ } - l306: - goto l225 - l289: - position, tokenIndex = position225, tokenIndex225 + l329: + goto l226 + l316: + position, tokenIndex = position226, tokenIndex226 { - position333, tokenIndex333 := position, tokenIndex + position332, tokenIndex332 := position, tokenIndex if buffer[position] != rune('c') { - goto l334 + goto l333 } position++ - goto l333 - l334: - position, tokenIndex = position333, tokenIndex333 + goto l332 + l333: + position, tokenIndex = position332, tokenIndex332 if buffer[position] != rune('C') { - goto l332 + goto l331 } position++ } - l333: + l332: { - position335, tokenIndex335 := position, tokenIndex + position334, tokenIndex334 := position, tokenIndex if buffer[position] != rune('l') { - goto l336 + goto l335 } position++ - goto l335 - l336: - position, tokenIndex = position335, tokenIndex335 + goto l334 + l335: + position, tokenIndex = position334, tokenIndex334 if buffer[position] != rune('L') { - goto l332 + goto l331 } position++ } - l335: + l334: { - position337, tokenIndex337 := position, tokenIndex + position336, tokenIndex336 := position, tokenIndex if buffer[position] != rune('a') { - goto l338 + goto l337 } position++ - goto l337 - l338: - position, tokenIndex = position337, tokenIndex337 + goto l336 + l337: + position, tokenIndex = position336, tokenIndex336 if buffer[position] != rune('A') { - goto l332 + goto l331 } position++ } - l337: + l336: { - position339, tokenIndex339 := position, tokenIndex + position338, tokenIndex338 := position, tokenIndex if buffer[position] != rune('d') { - goto l340 + goto l339 } position++ - goto l339 - l340: - position, tokenIndex = position339, tokenIndex339 + goto l338 + l339: + position, tokenIndex = position338, tokenIndex338 if buffer[position] != rune('D') { - goto l332 + goto l331 } position++ } - l339: + l338: { - position341, tokenIndex341 := position, tokenIndex + position340, tokenIndex340 := position, tokenIndex if buffer[position] != rune('e') { - goto l342 + goto l341 } position++ - goto l341 - l342: - position, tokenIndex = position341, tokenIndex341 + goto l340 + l341: + position, tokenIndex = position340, tokenIndex340 if buffer[position] != rune('E') { - goto l332 + goto l331 } position++ } - l341: - goto l225 - l332: - position, tokenIndex = position225, tokenIndex225 + l340: + goto l226 + l331: + position, tokenIndex = position226, tokenIndex226 { - position344, tokenIndex344 := position, tokenIndex + position343, tokenIndex343 := position, tokenIndex if buffer[position] != rune('a') { - goto l345 + goto l344 } position++ - goto l344 - l345: - position, tokenIndex = position344, tokenIndex344 + goto l343 + l344: + position, tokenIndex = position343, tokenIndex343 if buffer[position] != rune('A') { - goto l343 + goto l342 } position++ } - l344: + l343: { - position346, tokenIndex346 := position, tokenIndex + position345, tokenIndex345 := position, tokenIndex if buffer[position] != rune('u') { - goto l347 + goto l346 } position++ - goto l346 - l347: - position, tokenIndex = position346, tokenIndex346 + goto l345 + l346: + position, tokenIndex = position345, tokenIndex345 if buffer[position] != rune('U') { - goto l343 + goto l342 } position++ } - l346: + l345: { - position348, tokenIndex348 := position, tokenIndex + position347, tokenIndex347 := position, tokenIndex if buffer[position] != rune('t') { - goto l349 + goto l348 } position++ - goto l348 - l349: - position, tokenIndex = position348, tokenIndex348 + goto l347 + l348: + position, tokenIndex = position347, tokenIndex347 if buffer[position] != rune('T') { - goto l343 + goto l342 } position++ } - l348: + l347: { - position350, tokenIndex350 := position, tokenIndex + position349, tokenIndex349 := position, tokenIndex if buffer[position] != rune('h') { - goto l351 + goto l350 } position++ - goto l350 - l351: - position, tokenIndex = position350, tokenIndex350 + goto l349 + l350: + position, tokenIndex = position349, tokenIndex349 if buffer[position] != rune('H') { - goto l343 + goto l342 } position++ } - l350: + l349: { - position352, tokenIndex352 := position, tokenIndex + position351, tokenIndex351 := position, tokenIndex if buffer[position] != rune('o') { - goto l353 + goto l352 } position++ - goto l352 - l353: - position, tokenIndex = position352, tokenIndex352 + goto l351 + l352: + position, tokenIndex = position351, tokenIndex351 if buffer[position] != rune('O') { - goto l343 + goto l342 } position++ } - l352: + l351: { - position354, tokenIndex354 := position, tokenIndex + position353, tokenIndex353 := position, tokenIndex if buffer[position] != rune('r') { - goto l355 + goto l354 } position++ - goto l354 - l355: - position, tokenIndex = position354, tokenIndex354 + goto l353 + l354: + position, tokenIndex = position353, tokenIndex353 if buffer[position] != rune('R') { - goto l343 + goto l342 } position++ } - l354: - goto l225 - l343: - position, tokenIndex = position225, tokenIndex225 + l353: + goto l226 + l342: + position, tokenIndex = position226, tokenIndex226 { - position357, tokenIndex357 := position, tokenIndex + position356, tokenIndex356 := position, tokenIndex if buffer[position] != rune('n') { - goto l358 + goto l357 } position++ - goto l357 - l358: - position, tokenIndex = position357, tokenIndex357 + goto l356 + l357: + position, tokenIndex = position356, tokenIndex356 if buffer[position] != rune('N') { - goto l356 + goto l355 } position++ } - l357: + l356: { - position359, tokenIndex359 := position, tokenIndex + position358, tokenIndex358 := position, tokenIndex if buffer[position] != rune('e') { - goto l360 + goto l359 } position++ - goto l359 - l360: - position, tokenIndex = position359, tokenIndex359 + goto l358 + l359: + position, tokenIndex = position358, tokenIndex358 if buffer[position] != rune('E') { - goto l356 + goto l355 } position++ } - l359: + l358: { - position361, tokenIndex361 := position, tokenIndex + position360, tokenIndex360 := position, tokenIndex if buffer[position] != rune('c') { - goto l362 + goto l361 } position++ - goto l361 - l362: - position, tokenIndex = position361, tokenIndex361 + goto l360 + l361: + position, tokenIndex = position360, tokenIndex360 if buffer[position] != rune('C') { - goto l356 + goto l355 } position++ } - l361: - goto l225 - l356: - position, tokenIndex = position225, tokenIndex225 + l360: + goto l226 + l355: + position, tokenIndex = position226, tokenIndex226 { - position364, tokenIndex364 := position, tokenIndex + position363, tokenIndex363 := position, tokenIndex if buffer[position] != rune('v') { - goto l365 + goto l364 } position++ - goto l364 - l365: - position, tokenIndex = position364, tokenIndex364 + goto l363 + l364: + position, tokenIndex = position363, tokenIndex363 if buffer[position] != rune('V') { - goto l363 + goto l362 } position++ } - l364: + l363: { - position366, tokenIndex366 := position, tokenIndex + position365, tokenIndex365 := position, tokenIndex if buffer[position] != rune('i') { - goto l367 + goto l366 } position++ - goto l366 - l367: - position, tokenIndex = position366, tokenIndex366 + goto l365 + l366: + position, tokenIndex = position365, tokenIndex365 if buffer[position] != rune('I') { - goto l363 + goto l362 } position++ } - l366: + l365: { - position368, tokenIndex368 := position, tokenIndex + position367, tokenIndex367 := position, tokenIndex if buffer[position] != rune('d') { - goto l369 + goto l368 } position++ - goto l368 - l369: - position, tokenIndex = position368, tokenIndex368 + goto l367 + l368: + position, tokenIndex = position367, tokenIndex367 if buffer[position] != rune('D') { - goto l363 + goto l362 } position++ } - l368: + l367: { - position370, tokenIndex370 := position, tokenIndex + position369, tokenIndex369 := position, tokenIndex if buffer[position] != rune('e') { + goto l370 + } + position++ + goto l369 + l370: + position, tokenIndex = position369, tokenIndex369 + if buffer[position] != rune('E') { + goto l362 + } + position++ + } + l369: + goto l226 + l362: + position, tokenIndex = position226, tokenIndex226 + { + position372, tokenIndex372 := position, tokenIndex + if buffer[position] != rune('s') { + goto l373 + } + position++ + goto l372 + l373: + position, tokenIndex = position372, tokenIndex372 + if buffer[position] != rune('S') { goto l371 } position++ - goto l370 - l371: - position, tokenIndex = position370, tokenIndex370 + } + l372: + { + position374, tokenIndex374 := position, tokenIndex + if buffer[position] != rune('p') { + goto l375 + } + position++ + goto l374 + l375: + position, tokenIndex = position374, tokenIndex374 + if buffer[position] != rune('P') { + goto l371 + } + position++ + } + l374: + { + position376, tokenIndex376 := position, tokenIndex + if buffer[position] != rune('e') { + goto l377 + } + position++ + goto l376 + l377: + position, tokenIndex = position376, tokenIndex376 if buffer[position] != rune('E') { - goto l363 + goto l371 } position++ } - l370: - goto l225 - l363: - position, tokenIndex = position225, tokenIndex225 + l376: + { + position378, tokenIndex378 := position, tokenIndex + if buffer[position] != rune('c') { + goto l379 + } + position++ + goto l378 + l379: + position, tokenIndex = position378, tokenIndex378 + if buffer[position] != rune('C') { + goto l371 + } + position++ + } + l378: + { + position380, tokenIndex380 := position, tokenIndex + if buffer[position] != rune('i') { + goto l381 + } + position++ + goto l380 + l381: + position, tokenIndex = position380, tokenIndex380 + if buffer[position] != rune('I') { + goto l371 + } + position++ + } + l380: + { + position382, tokenIndex382 := position, tokenIndex + if buffer[position] != rune('e') { + goto l383 + } + position++ + goto l382 + l383: + position, tokenIndex = position382, tokenIndex382 + if buffer[position] != rune('E') { + goto l371 + } + position++ + } + l382: + { + position384, tokenIndex384 := position, tokenIndex + if buffer[position] != rune('s') { + goto l385 + } + position++ + goto l384 + l385: + position, tokenIndex = position384, tokenIndex384 + if buffer[position] != rune('S') { + goto l371 + } + position++ + } + l384: + goto l226 + l371: + position, tokenIndex = position226, tokenIndex226 { - position373, tokenIndex373 := position, tokenIndex + position387, tokenIndex387 := position, tokenIndex if buffer[position] != rune('f') { - goto l374 + goto l388 } position++ - goto l373 - l374: - position, tokenIndex = position373, tokenIndex373 + goto l387 + l388: + position, tokenIndex = position387, tokenIndex387 if buffer[position] != rune('F') { - goto l372 + goto l386 } position++ } - l373: + l387: { - position375, tokenIndex375 := position, tokenIndex + position389, tokenIndex389 := position, tokenIndex if buffer[position] != rune('i') { - goto l376 + goto l390 } position++ - goto l375 - l376: - position, tokenIndex = position375, tokenIndex375 + goto l389 + l390: + position, tokenIndex = position389, tokenIndex389 if buffer[position] != rune('I') { - goto l372 + goto l386 } position++ } - l375: + l389: { - position377, tokenIndex377 := position, tokenIndex + position391, tokenIndex391 := position, tokenIndex if buffer[position] != rune('d') { - goto l378 + goto l392 } position++ - goto l377 - l378: - position, tokenIndex = position377, tokenIndex377 + goto l391 + l392: + position, tokenIndex = position391, tokenIndex391 if buffer[position] != rune('D') { - goto l372 + goto l386 } position++ } - l377: + l391: { - position379, tokenIndex379 := position, tokenIndex + position393, tokenIndex393 := position, tokenIndex if buffer[position] != rune('e') { - goto l380 + goto l394 } position++ - goto l379 - l380: - position, tokenIndex = position379, tokenIndex379 + goto l393 + l394: + position, tokenIndex = position393, tokenIndex393 if buffer[position] != rune('E') { - goto l372 + goto l386 } position++ } - l379: - goto l225 - l372: - position, tokenIndex = position225, tokenIndex225 + l393: + goto l226 + l386: + position, tokenIndex = position226, tokenIndex226 { - position381, tokenIndex381 := position, tokenIndex + position396, tokenIndex396 := position, tokenIndex if buffer[position] != rune('n') { - goto l382 + goto l397 } position++ - goto l381 - l382: - position, tokenIndex = position381, tokenIndex381 + goto l396 + l397: + position, tokenIndex = position396, tokenIndex396 if buffer[position] != rune('N') { - goto l223 + goto l395 } position++ } - l381: + l396: { - position383, tokenIndex383 := position, tokenIndex + position398, tokenIndex398 := position, tokenIndex if buffer[position] != rune('o') { - goto l384 + goto l399 } position++ - goto l383 - l384: - position, tokenIndex = position383, tokenIndex383 + goto l398 + l399: + position, tokenIndex = position398, tokenIndex398 if buffer[position] != rune('O') { - goto l223 + goto l395 } position++ } - l383: + l398: { - position385, tokenIndex385 := position, tokenIndex + position400, tokenIndex400 := position, tokenIndex if buffer[position] != rune('n') { - goto l386 + goto l401 + } + position++ + goto l400 + l401: + position, tokenIndex = position400, tokenIndex400 + if buffer[position] != rune('N') { + goto l395 + } + position++ + } + l400: + goto l226 + l395: + position, tokenIndex = position226, tokenIndex226 + { + position402, tokenIndex402 := position, tokenIndex + if buffer[position] != rune('n') { + goto l403 } position++ - goto l385 - l386: - position, tokenIndex = position385, tokenIndex385 + goto l402 + l403: + position, tokenIndex = position402, tokenIndex402 if buffer[position] != rune('N') { - goto l223 + goto l224 + } + position++ + } + l402: + { + position404, tokenIndex404 := position, tokenIndex + if buffer[position] != rune('o') { + goto l405 + } + position++ + goto l404 + l405: + position, tokenIndex = position404, tokenIndex404 + if buffer[position] != rune('O') { + goto l224 } position++ } - l385: + l404: + { + position406, tokenIndex406 := position, tokenIndex + if buffer[position] != rune('t') { + goto l407 + } + position++ + goto l406 + l407: + position, tokenIndex = position406, tokenIndex406 + if buffer[position] != rune('T') { + goto l224 + } + position++ + } + l406: } - l225: + l226: { - position387, tokenIndex387 := position, tokenIndex + position408, tokenIndex408 := position, tokenIndex if !_rules[ruleNotLetterOrEnd]() { - goto l223 + goto l224 } - position, tokenIndex = position387, tokenIndex387 + position, tokenIndex = position408, tokenIndex408 } - add(ruleTailStopWords, position224) + add(ruleTailStopWords, position225) } return true - l223: - position, tokenIndex = position223, tokenIndex223 + l224: + position, tokenIndex = position224, tokenIndex224 return false }, /* 9 TailPhrase2 <- <(((('s' / 'S') ('e' / 'E') ('r' / 'R') ('o' / 'O') ((('v' / 'V') ('a' / 'A') ('r' / 'R')) / (('t' / 'T') ('y' / 'Y') ('p' / 'P') ('e' / 'E')))) / (('s' / 'S') ('e' / 'E') ('n' / 'N') ('s' / 'S') ('u' / 'U')) / (('a' / 'A') ('u' / 'U') ('c' / 'C') ('t' / 'T')) / (('s' / 'S') ('e' / 'E') ('c' / 'C')) / (('n' / 'N') ('e' / 'E') ('a' / 'A') ('r' / 'R')) / (('s' / 'S') ('t' / 'T') ('r' / 'R'))) '.'? &NotLetterOrEnd)> */ func() bool { - position388, tokenIndex388 := position, tokenIndex + position409, tokenIndex409 := position, tokenIndex { - position389 := position + position410 := position { - position390, tokenIndex390 := position, tokenIndex + position411, tokenIndex411 := position, tokenIndex { - position392, tokenIndex392 := position, tokenIndex + position413, tokenIndex413 := position, tokenIndex if buffer[position] != rune('s') { - goto l393 + goto l414 } position++ - goto l392 - l393: - position, tokenIndex = position392, tokenIndex392 + goto l413 + l414: + position, tokenIndex = position413, tokenIndex413 if buffer[position] != rune('S') { - goto l391 + goto l412 } position++ } - l392: + l413: { - position394, tokenIndex394 := position, tokenIndex + position415, tokenIndex415 := position, tokenIndex if buffer[position] != rune('e') { - goto l395 + goto l416 } position++ - goto l394 - l395: - position, tokenIndex = position394, tokenIndex394 + goto l415 + l416: + position, tokenIndex = position415, tokenIndex415 if buffer[position] != rune('E') { - goto l391 + goto l412 } position++ } - l394: + l415: { - position396, tokenIndex396 := position, tokenIndex + position417, tokenIndex417 := position, tokenIndex if buffer[position] != rune('r') { - goto l397 + goto l418 } position++ - goto l396 - l397: - position, tokenIndex = position396, tokenIndex396 + goto l417 + l418: + position, tokenIndex = position417, tokenIndex417 if buffer[position] != rune('R') { - goto l391 + goto l412 } position++ } - l396: + l417: { - position398, tokenIndex398 := position, tokenIndex + position419, tokenIndex419 := position, tokenIndex if buffer[position] != rune('o') { - goto l399 + goto l420 } position++ - goto l398 - l399: - position, tokenIndex = position398, tokenIndex398 + goto l419 + l420: + position, tokenIndex = position419, tokenIndex419 if buffer[position] != rune('O') { - goto l391 + goto l412 } position++ } - l398: + l419: { - position400, tokenIndex400 := position, tokenIndex + position421, tokenIndex421 := position, tokenIndex { - position402, tokenIndex402 := position, tokenIndex + position423, tokenIndex423 := position, tokenIndex if buffer[position] != rune('v') { - goto l403 + goto l424 } position++ - goto l402 - l403: - position, tokenIndex = position402, tokenIndex402 + goto l423 + l424: + position, tokenIndex = position423, tokenIndex423 if buffer[position] != rune('V') { - goto l401 + goto l422 } position++ } - l402: + l423: { - position404, tokenIndex404 := position, tokenIndex + position425, tokenIndex425 := position, tokenIndex if buffer[position] != rune('a') { - goto l405 + goto l426 } position++ - goto l404 - l405: - position, tokenIndex = position404, tokenIndex404 + goto l425 + l426: + position, tokenIndex = position425, tokenIndex425 if buffer[position] != rune('A') { - goto l401 + goto l422 } position++ } - l404: + l425: { - position406, tokenIndex406 := position, tokenIndex + position427, tokenIndex427 := position, tokenIndex if buffer[position] != rune('r') { - goto l407 + goto l428 } position++ - goto l406 - l407: - position, tokenIndex = position406, tokenIndex406 + goto l427 + l428: + position, tokenIndex = position427, tokenIndex427 if buffer[position] != rune('R') { - goto l401 + goto l422 } position++ } - l406: - goto l400 - l401: - position, tokenIndex = position400, tokenIndex400 + l427: + goto l421 + l422: + position, tokenIndex = position421, tokenIndex421 { - position408, tokenIndex408 := position, tokenIndex + position429, tokenIndex429 := position, tokenIndex if buffer[position] != rune('t') { - goto l409 + goto l430 } position++ - goto l408 - l409: - position, tokenIndex = position408, tokenIndex408 + goto l429 + l430: + position, tokenIndex = position429, tokenIndex429 if buffer[position] != rune('T') { - goto l391 + goto l412 } position++ } - l408: + l429: { - position410, tokenIndex410 := position, tokenIndex + position431, tokenIndex431 := position, tokenIndex if buffer[position] != rune('y') { - goto l411 + goto l432 } position++ - goto l410 - l411: - position, tokenIndex = position410, tokenIndex410 + goto l431 + l432: + position, tokenIndex = position431, tokenIndex431 if buffer[position] != rune('Y') { - goto l391 + goto l412 } position++ } - l410: + l431: { - position412, tokenIndex412 := position, tokenIndex + position433, tokenIndex433 := position, tokenIndex if buffer[position] != rune('p') { - goto l413 + goto l434 } position++ - goto l412 - l413: - position, tokenIndex = position412, tokenIndex412 + goto l433 + l434: + position, tokenIndex = position433, tokenIndex433 if buffer[position] != rune('P') { - goto l391 + goto l412 } position++ } - l412: + l433: { - position414, tokenIndex414 := position, tokenIndex + position435, tokenIndex435 := position, tokenIndex if buffer[position] != rune('e') { - goto l415 + goto l436 } position++ - goto l414 - l415: - position, tokenIndex = position414, tokenIndex414 + goto l435 + l436: + position, tokenIndex = position435, tokenIndex435 if buffer[position] != rune('E') { - goto l391 + goto l412 } position++ } - l414: + l435: } - l400: - goto l390 - l391: - position, tokenIndex = position390, tokenIndex390 + l421: + goto l411 + l412: + position, tokenIndex = position411, tokenIndex411 { - position417, tokenIndex417 := position, tokenIndex + position438, tokenIndex438 := position, tokenIndex if buffer[position] != rune('s') { - goto l418 + goto l439 } position++ - goto l417 - l418: - position, tokenIndex = position417, tokenIndex417 + goto l438 + l439: + position, tokenIndex = position438, tokenIndex438 if buffer[position] != rune('S') { - goto l416 + goto l437 } position++ } - l417: + l438: { - position419, tokenIndex419 := position, tokenIndex + position440, tokenIndex440 := position, tokenIndex if buffer[position] != rune('e') { - goto l420 + goto l441 } position++ - goto l419 - l420: - position, tokenIndex = position419, tokenIndex419 + goto l440 + l441: + position, tokenIndex = position440, tokenIndex440 if buffer[position] != rune('E') { - goto l416 + goto l437 } position++ } - l419: + l440: { - position421, tokenIndex421 := position, tokenIndex + position442, tokenIndex442 := position, tokenIndex if buffer[position] != rune('n') { - goto l422 + goto l443 } position++ - goto l421 - l422: - position, tokenIndex = position421, tokenIndex421 + goto l442 + l443: + position, tokenIndex = position442, tokenIndex442 if buffer[position] != rune('N') { - goto l416 + goto l437 } position++ } - l421: + l442: { - position423, tokenIndex423 := position, tokenIndex + position444, tokenIndex444 := position, tokenIndex if buffer[position] != rune('s') { - goto l424 + goto l445 } position++ - goto l423 - l424: - position, tokenIndex = position423, tokenIndex423 + goto l444 + l445: + position, tokenIndex = position444, tokenIndex444 if buffer[position] != rune('S') { - goto l416 + goto l437 } position++ } - l423: + l444: { - position425, tokenIndex425 := position, tokenIndex + position446, tokenIndex446 := position, tokenIndex if buffer[position] != rune('u') { - goto l426 + goto l447 } position++ - goto l425 - l426: - position, tokenIndex = position425, tokenIndex425 + goto l446 + l447: + position, tokenIndex = position446, tokenIndex446 if buffer[position] != rune('U') { - goto l416 + goto l437 } position++ } - l425: - goto l390 - l416: - position, tokenIndex = position390, tokenIndex390 + l446: + goto l411 + l437: + position, tokenIndex = position411, tokenIndex411 { - position428, tokenIndex428 := position, tokenIndex + position449, tokenIndex449 := position, tokenIndex if buffer[position] != rune('a') { - goto l429 + goto l450 } position++ - goto l428 - l429: - position, tokenIndex = position428, tokenIndex428 + goto l449 + l450: + position, tokenIndex = position449, tokenIndex449 if buffer[position] != rune('A') { - goto l427 + goto l448 } position++ } - l428: + l449: { - position430, tokenIndex430 := position, tokenIndex + position451, tokenIndex451 := position, tokenIndex if buffer[position] != rune('u') { - goto l431 + goto l452 } position++ - goto l430 - l431: - position, tokenIndex = position430, tokenIndex430 + goto l451 + l452: + position, tokenIndex = position451, tokenIndex451 if buffer[position] != rune('U') { - goto l427 + goto l448 } position++ } - l430: + l451: { - position432, tokenIndex432 := position, tokenIndex + position453, tokenIndex453 := position, tokenIndex if buffer[position] != rune('c') { - goto l433 + goto l454 } position++ - goto l432 - l433: - position, tokenIndex = position432, tokenIndex432 + goto l453 + l454: + position, tokenIndex = position453, tokenIndex453 if buffer[position] != rune('C') { - goto l427 + goto l448 } position++ } - l432: + l453: { - position434, tokenIndex434 := position, tokenIndex + position455, tokenIndex455 := position, tokenIndex if buffer[position] != rune('t') { - goto l435 + goto l456 } position++ - goto l434 - l435: - position, tokenIndex = position434, tokenIndex434 + goto l455 + l456: + position, tokenIndex = position455, tokenIndex455 if buffer[position] != rune('T') { - goto l427 + goto l448 } position++ } - l434: - goto l390 - l427: - position, tokenIndex = position390, tokenIndex390 + l455: + goto l411 + l448: + position, tokenIndex = position411, tokenIndex411 { - position437, tokenIndex437 := position, tokenIndex + position458, tokenIndex458 := position, tokenIndex if buffer[position] != rune('s') { - goto l438 + goto l459 } position++ - goto l437 - l438: - position, tokenIndex = position437, tokenIndex437 + goto l458 + l459: + position, tokenIndex = position458, tokenIndex458 if buffer[position] != rune('S') { - goto l436 + goto l457 } position++ } - l437: + l458: { - position439, tokenIndex439 := position, tokenIndex + position460, tokenIndex460 := position, tokenIndex if buffer[position] != rune('e') { - goto l440 + goto l461 } position++ - goto l439 - l440: - position, tokenIndex = position439, tokenIndex439 + goto l460 + l461: + position, tokenIndex = position460, tokenIndex460 if buffer[position] != rune('E') { - goto l436 + goto l457 } position++ } - l439: + l460: { - position441, tokenIndex441 := position, tokenIndex + position462, tokenIndex462 := position, tokenIndex if buffer[position] != rune('c') { - goto l442 + goto l463 } position++ - goto l441 - l442: - position, tokenIndex = position441, tokenIndex441 + goto l462 + l463: + position, tokenIndex = position462, tokenIndex462 if buffer[position] != rune('C') { - goto l436 + goto l457 } position++ } - l441: - goto l390 - l436: - position, tokenIndex = position390, tokenIndex390 + l462: + goto l411 + l457: + position, tokenIndex = position411, tokenIndex411 { - position444, tokenIndex444 := position, tokenIndex + position465, tokenIndex465 := position, tokenIndex if buffer[position] != rune('n') { - goto l445 + goto l466 } position++ - goto l444 - l445: - position, tokenIndex = position444, tokenIndex444 + goto l465 + l466: + position, tokenIndex = position465, tokenIndex465 if buffer[position] != rune('N') { - goto l443 + goto l464 } position++ } - l444: + l465: { - position446, tokenIndex446 := position, tokenIndex + position467, tokenIndex467 := position, tokenIndex if buffer[position] != rune('e') { - goto l447 + goto l468 } position++ - goto l446 - l447: - position, tokenIndex = position446, tokenIndex446 + goto l467 + l468: + position, tokenIndex = position467, tokenIndex467 if buffer[position] != rune('E') { - goto l443 + goto l464 } position++ } - l446: + l467: { - position448, tokenIndex448 := position, tokenIndex + position469, tokenIndex469 := position, tokenIndex if buffer[position] != rune('a') { - goto l449 + goto l470 } position++ - goto l448 - l449: - position, tokenIndex = position448, tokenIndex448 + goto l469 + l470: + position, tokenIndex = position469, tokenIndex469 if buffer[position] != rune('A') { - goto l443 + goto l464 } position++ } - l448: + l469: { - position450, tokenIndex450 := position, tokenIndex + position471, tokenIndex471 := position, tokenIndex if buffer[position] != rune('r') { - goto l451 + goto l472 } position++ - goto l450 - l451: - position, tokenIndex = position450, tokenIndex450 + goto l471 + l472: + position, tokenIndex = position471, tokenIndex471 if buffer[position] != rune('R') { - goto l443 + goto l464 } position++ } - l450: - goto l390 - l443: - position, tokenIndex = position390, tokenIndex390 + l471: + goto l411 + l464: + position, tokenIndex = position411, tokenIndex411 { - position452, tokenIndex452 := position, tokenIndex + position473, tokenIndex473 := position, tokenIndex if buffer[position] != rune('s') { - goto l453 + goto l474 } position++ - goto l452 - l453: - position, tokenIndex = position452, tokenIndex452 + goto l473 + l474: + position, tokenIndex = position473, tokenIndex473 if buffer[position] != rune('S') { - goto l388 + goto l409 } position++ } - l452: + l473: { - position454, tokenIndex454 := position, tokenIndex + position475, tokenIndex475 := position, tokenIndex if buffer[position] != rune('t') { - goto l455 + goto l476 } position++ - goto l454 - l455: - position, tokenIndex = position454, tokenIndex454 + goto l475 + l476: + position, tokenIndex = position475, tokenIndex475 if buffer[position] != rune('T') { - goto l388 + goto l409 } position++ } - l454: + l475: { - position456, tokenIndex456 := position, tokenIndex + position477, tokenIndex477 := position, tokenIndex if buffer[position] != rune('r') { - goto l457 + goto l478 } position++ - goto l456 - l457: - position, tokenIndex = position456, tokenIndex456 + goto l477 + l478: + position, tokenIndex = position477, tokenIndex477 if buffer[position] != rune('R') { - goto l388 + goto l409 } position++ } - l456: + l477: } - l390: + l411: { - position458, tokenIndex458 := position, tokenIndex + position479, tokenIndex479 := position, tokenIndex if buffer[position] != rune('.') { - goto l458 + goto l479 } position++ - goto l459 - l458: - position, tokenIndex = position458, tokenIndex458 + goto l480 + l479: + position, tokenIndex = position479, tokenIndex479 } - l459: + l480: { - position460, tokenIndex460 := position, tokenIndex + position481, tokenIndex481 := position, tokenIndex if !_rules[ruleNotLetterOrEnd]() { - goto l388 + goto l409 } - position, tokenIndex = position460, tokenIndex460 + position, tokenIndex = position481, tokenIndex481 } - add(ruleTailPhrase2, position389) + add(ruleTailPhrase2, position410) } return true - l388: - position, tokenIndex = position388, tokenIndex388 + l409: + position, tokenIndex = position409, tokenIndex409 return false }, - /* 10 TailPhrase1 <- <((('('? (('h' 't') / ('h' 'o' 'r' 't'))) / ('s' 'p' 'e' 'c') / ('n' 'o' 'v' '.'? _ ('s' 'p' 'e' 'c'))) '.'? &NotLetterOrEnd)> */ + /* 10 TailPhrase1 <- <((('('? (('h' 't') / ('h' 'o' 'r' 't'))) / (('s' / 'S') ('p' 'e' 'c')) / ('n' 'o' 'v' '.'? _ ('s' 'p' 'e' 'c'))) '.'? &NotLetterOrEnd)> */ func() bool { - position461, tokenIndex461 := position, tokenIndex + position482, tokenIndex482 := position, tokenIndex { - position462 := position + position483 := position { - position463, tokenIndex463 := position, tokenIndex + position484, tokenIndex484 := position, tokenIndex { - position465, tokenIndex465 := position, tokenIndex + position486, tokenIndex486 := position, tokenIndex if buffer[position] != rune('(') { - goto l465 + goto l486 } position++ - goto l466 - l465: - position, tokenIndex = position465, tokenIndex465 + goto l487 + l486: + position, tokenIndex = position486, tokenIndex486 } - l466: + l487: { - position467, tokenIndex467 := position, tokenIndex + position488, tokenIndex488 := position, tokenIndex if buffer[position] != rune('h') { - goto l468 + goto l489 } position++ if buffer[position] != rune('t') { - goto l468 + goto l489 } position++ - goto l467 - l468: - position, tokenIndex = position467, tokenIndex467 + goto l488 + l489: + position, tokenIndex = position488, tokenIndex488 if buffer[position] != rune('h') { - goto l464 + goto l485 } position++ if buffer[position] != rune('o') { - goto l464 + goto l485 } position++ if buffer[position] != rune('r') { - goto l464 + goto l485 } position++ if buffer[position] != rune('t') { - goto l464 + goto l485 } position++ } - l467: - goto l463 - l464: - position, tokenIndex = position463, tokenIndex463 - if buffer[position] != rune('s') { - goto l469 + l488: + goto l484 + l485: + position, tokenIndex = position484, tokenIndex484 + { + position491, tokenIndex491 := position, tokenIndex + if buffer[position] != rune('s') { + goto l492 + } + position++ + goto l491 + l492: + position, tokenIndex = position491, tokenIndex491 + if buffer[position] != rune('S') { + goto l490 + } + position++ } - position++ + l491: if buffer[position] != rune('p') { - goto l469 + goto l490 } position++ if buffer[position] != rune('e') { - goto l469 + goto l490 } position++ if buffer[position] != rune('c') { - goto l469 + goto l490 } position++ - goto l463 - l469: - position, tokenIndex = position463, tokenIndex463 + goto l484 + l490: + position, tokenIndex = position484, tokenIndex484 if buffer[position] != rune('n') { - goto l461 + goto l482 } position++ if buffer[position] != rune('o') { - goto l461 + goto l482 } position++ if buffer[position] != rune('v') { - goto l461 + goto l482 } position++ { - position470, tokenIndex470 := position, tokenIndex + position493, tokenIndex493 := position, tokenIndex if buffer[position] != rune('.') { - goto l470 + goto l493 } position++ - goto l471 - l470: - position, tokenIndex = position470, tokenIndex470 + goto l494 + l493: + position, tokenIndex = position493, tokenIndex493 } - l471: + l494: if !_rules[rule_]() { - goto l461 + goto l482 } if buffer[position] != rune('s') { - goto l461 + goto l482 } position++ if buffer[position] != rune('p') { - goto l461 + goto l482 } position++ if buffer[position] != rune('e') { - goto l461 + goto l482 } position++ if buffer[position] != rune('c') { - goto l461 + goto l482 } position++ } - l463: + l484: { - position472, tokenIndex472 := position, tokenIndex + position495, tokenIndex495 := position, tokenIndex if buffer[position] != rune('.') { - goto l472 + goto l495 } position++ - goto l473 - l472: - position, tokenIndex = position472, tokenIndex472 + goto l496 + l495: + position, tokenIndex = position495, tokenIndex495 } - l473: + l496: { - position474, tokenIndex474 := position, tokenIndex + position497, tokenIndex497 := position, tokenIndex if !_rules[ruleNotLetterOrEnd]() { - goto l461 + goto l482 } - position, tokenIndex = position474, tokenIndex474 + position, tokenIndex = position497, tokenIndex497 } - add(ruleTailPhrase1, position462) + add(ruleTailPhrase1, position483) } return true - l461: - position, tokenIndex = position461, tokenIndex461 + l482: + position, tokenIndex = position482, tokenIndex482 return false }, /* 11 SpaceOrEnd <- <(CommaSpace? END)> */ func() bool { - position475, tokenIndex475 := position, tokenIndex + position498, tokenIndex498 := position, tokenIndex { - position476 := position + position499 := position { - position477, tokenIndex477 := position, tokenIndex + position500, tokenIndex500 := position, tokenIndex if !_rules[ruleCommaSpace]() { - goto l477 + goto l500 } - goto l478 - l477: - position, tokenIndex = position477, tokenIndex477 + goto l501 + l500: + position, tokenIndex = position500, tokenIndex500 } - l478: + l501: if !_rules[ruleEND]() { - goto l475 + goto l498 } - add(ruleSpaceOrEnd, position476) + add(ruleSpaceOrEnd, position499) } return true - l475: - position, tokenIndex = position475, tokenIndex475 + l498: + position, tokenIndex = position498, tokenIndex498 return false }, /* 12 CommaSpace <- <((_? ',' _?)+ / _)> */ func() bool { - position479, tokenIndex479 := position, tokenIndex + position502, tokenIndex502 := position, tokenIndex { - position480 := position + position503 := position { - position481, tokenIndex481 := position, tokenIndex + position504, tokenIndex504 := position, tokenIndex { - position485, tokenIndex485 := position, tokenIndex + position508, tokenIndex508 := position, tokenIndex if !_rules[rule_]() { - goto l485 + goto l508 } - goto l486 - l485: - position, tokenIndex = position485, tokenIndex485 + goto l509 + l508: + position, tokenIndex = position508, tokenIndex508 } - l486: + l509: if buffer[position] != rune(',') { - goto l482 + goto l505 } position++ { - position487, tokenIndex487 := position, tokenIndex + position510, tokenIndex510 := position, tokenIndex if !_rules[rule_]() { - goto l487 + goto l510 } - goto l488 - l487: - position, tokenIndex = position487, tokenIndex487 + goto l511 + l510: + position, tokenIndex = position510, tokenIndex510 } - l488: - l483: + l511: + l506: { - position484, tokenIndex484 := position, tokenIndex + position507, tokenIndex507 := position, tokenIndex { - position489, tokenIndex489 := position, tokenIndex + position512, tokenIndex512 := position, tokenIndex if !_rules[rule_]() { - goto l489 + goto l512 } - goto l490 - l489: - position, tokenIndex = position489, tokenIndex489 + goto l513 + l512: + position, tokenIndex = position512, tokenIndex512 } - l490: + l513: if buffer[position] != rune(',') { - goto l484 + goto l507 } position++ { - position491, tokenIndex491 := position, tokenIndex + position514, tokenIndex514 := position, tokenIndex if !_rules[rule_]() { - goto l491 + goto l514 } - goto l492 - l491: - position, tokenIndex = position491, tokenIndex491 + goto l515 + l514: + position, tokenIndex = position514, tokenIndex514 } - l492: - goto l483 - l484: - position, tokenIndex = position484, tokenIndex484 + l515: + goto l506 + l507: + position, tokenIndex = position507, tokenIndex507 } - goto l481 - l482: - position, tokenIndex = position481, tokenIndex481 + goto l504 + l505: + position, tokenIndex = position504, tokenIndex504 if !_rules[rule_]() { - goto l479 + goto l502 } } - l481: - add(ruleCommaSpace, position480) + l504: + add(ruleCommaSpace, position503) } return true - l479: - position, tokenIndex = position479, tokenIndex479 + l502: + position, tokenIndex = position502, tokenIndex502 return false }, /* 13 _ <- <(MultipleSpace / SingleSpace)> */ func() bool { - position493, tokenIndex493 := position, tokenIndex + position516, tokenIndex516 := position, tokenIndex { - position494 := position + position517 := position { - position495, tokenIndex495 := position, tokenIndex + position518, tokenIndex518 := position, tokenIndex if !_rules[ruleMultipleSpace]() { - goto l496 + goto l519 } - goto l495 - l496: - position, tokenIndex = position495, tokenIndex495 + goto l518 + l519: + position, tokenIndex = position518, tokenIndex518 if !_rules[ruleSingleSpace]() { - goto l493 + goto l516 } } - l495: - add(rule_, position494) + l518: + add(rule_, position517) } return true - l493: - position, tokenIndex = position493, tokenIndex493 + l516: + position, tokenIndex = position516, tokenIndex516 return false }, /* 14 NotLetterOrEnd <- <(NotLetter / END)> */ func() bool { - position497, tokenIndex497 := position, tokenIndex + position520, tokenIndex520 := position, tokenIndex { - position498 := position + position521 := position { - position499, tokenIndex499 := position, tokenIndex + position522, tokenIndex522 := position, tokenIndex if !_rules[ruleNotLetter]() { - goto l500 + goto l523 } - goto l499 - l500: - position, tokenIndex = position499, tokenIndex499 + goto l522 + l523: + position, tokenIndex = position522, tokenIndex522 if !_rules[ruleEND]() { - goto l497 + goto l520 } } - l499: - add(ruleNotLetterOrEnd, position498) + l522: + add(ruleNotLetterOrEnd, position521) } return true - l497: - position, tokenIndex = position497, tokenIndex497 + l520: + position, tokenIndex = position520, tokenIndex520 return false }, /* 15 NotLetter <- <(!([a-z] / [A-Z] / ([0-9] / [0-9]) / '_' / '-') .)> */ func() bool { - position501, tokenIndex501 := position, tokenIndex + position524, tokenIndex524 := position, tokenIndex { - position502 := position + position525 := position { - position503, tokenIndex503 := position, tokenIndex + position526, tokenIndex526 := position, tokenIndex { - position504, tokenIndex504 := position, tokenIndex + position527, tokenIndex527 := position, tokenIndex if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l505 + goto l528 } position++ - goto l504 - l505: - position, tokenIndex = position504, tokenIndex504 + goto l527 + l528: + position, tokenIndex = position527, tokenIndex527 if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l506 + goto l529 } position++ - goto l504 - l506: - position, tokenIndex = position504, tokenIndex504 + goto l527 + l529: + position, tokenIndex = position527, tokenIndex527 { - position508, tokenIndex508 := position, tokenIndex + position531, tokenIndex531 := position, tokenIndex if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l509 + goto l532 } position++ - goto l508 - l509: - position, tokenIndex = position508, tokenIndex508 + goto l531 + l532: + position, tokenIndex = position531, tokenIndex531 if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l507 + goto l530 } position++ } - l508: - goto l504 - l507: - position, tokenIndex = position504, tokenIndex504 + l531: + goto l527 + l530: + position, tokenIndex = position527, tokenIndex527 if buffer[position] != rune('_') { - goto l510 + goto l533 } position++ - goto l504 - l510: - position, tokenIndex = position504, tokenIndex504 + goto l527 + l533: + position, tokenIndex = position527, tokenIndex527 if buffer[position] != rune('-') { - goto l503 + goto l526 } position++ } - l504: - goto l501 - l503: - position, tokenIndex = position503, tokenIndex503 + l527: + goto l524 + l526: + position, tokenIndex = position526, tokenIndex526 } if !matchDot() { - goto l501 + goto l524 } - add(ruleNotLetter, position502) + add(ruleNotLetter, position525) } return true - l501: - position, tokenIndex = position501, tokenIndex501 + l524: + position, tokenIndex = position524, tokenIndex524 return false }, /* 16 MultipleSpace <- <(SingleSpace SingleSpace+)> */ func() bool { - position511, tokenIndex511 := position, tokenIndex + position534, tokenIndex534 := position, tokenIndex { - position512 := position + position535 := position if !_rules[ruleSingleSpace]() { - goto l511 + goto l534 } if !_rules[ruleSingleSpace]() { - goto l511 + goto l534 } - l513: + l536: { - position514, tokenIndex514 := position, tokenIndex + position537, tokenIndex537 := position, tokenIndex if !_rules[ruleSingleSpace]() { - goto l514 + goto l537 } - goto l513 - l514: - position, tokenIndex = position514, tokenIndex514 + goto l536 + l537: + position, tokenIndex = position537, tokenIndex537 } - add(ruleMultipleSpace, position512) + add(ruleMultipleSpace, position535) } return true - l511: - position, tokenIndex = position511, tokenIndex511 + l534: + position, tokenIndex = position534, tokenIndex534 return false }, /* 17 SingleSpace <- <(' ' / OtherSpace)> */ func() bool { - position515, tokenIndex515 := position, tokenIndex + position538, tokenIndex538 := position, tokenIndex { - position516 := position + position539 := position { - position517, tokenIndex517 := position, tokenIndex + position540, tokenIndex540 := position, tokenIndex if buffer[position] != rune(' ') { - goto l518 + goto l541 } position++ - goto l517 - l518: - position, tokenIndex = position517, tokenIndex517 + goto l540 + l541: + position, tokenIndex = position540, tokenIndex540 if !_rules[ruleOtherSpace]() { - goto l515 + goto l538 } } - l517: - add(ruleSingleSpace, position516) + l540: + add(ruleSingleSpace, position539) } return true - l515: - position, tokenIndex = position515, tokenIndex515 + l538: + position, tokenIndex = position538, tokenIndex538 return false }, /* 18 OtherSpace <- <('\u3000' / '\u00a0' / '\t' / '\r' / '\n' / '\f' / '\v')> */ func() bool { - position519, tokenIndex519 := position, tokenIndex + position542, tokenIndex542 := position, tokenIndex { - position520 := position + position543 := position { - position521, tokenIndex521 := position, tokenIndex + position544, tokenIndex544 := position, tokenIndex if buffer[position] != rune('\u3000') { - goto l522 + goto l545 } position++ - goto l521 - l522: - position, tokenIndex = position521, tokenIndex521 + goto l544 + l545: + position, tokenIndex = position544, tokenIndex544 if buffer[position] != rune('\u00a0') { - goto l523 + goto l546 } position++ - goto l521 - l523: - position, tokenIndex = position521, tokenIndex521 + goto l544 + l546: + position, tokenIndex = position544, tokenIndex544 if buffer[position] != rune('\t') { - goto l524 + goto l547 } position++ - goto l521 - l524: - position, tokenIndex = position521, tokenIndex521 + goto l544 + l547: + position, tokenIndex = position544, tokenIndex544 if buffer[position] != rune('\r') { - goto l525 + goto l548 } position++ - goto l521 - l525: - position, tokenIndex = position521, tokenIndex521 + goto l544 + l548: + position, tokenIndex = position544, tokenIndex544 if buffer[position] != rune('\n') { - goto l526 + goto l549 } position++ - goto l521 - l526: - position, tokenIndex = position521, tokenIndex521 + goto l544 + l549: + position, tokenIndex = position544, tokenIndex544 if buffer[position] != rune('\f') { - goto l527 + goto l550 } position++ - goto l521 - l527: - position, tokenIndex = position521, tokenIndex521 + goto l544 + l550: + position, tokenIndex = position544, tokenIndex544 if buffer[position] != rune('\v') { - goto l519 + goto l542 } position++ } - l521: - add(ruleOtherSpace, position520) + l544: + add(ruleOtherSpace, position543) } return true - l519: - position, tokenIndex = position519, tokenIndex519 + l542: + position, tokenIndex = position542, tokenIndex542 return false }, /* 19 END <- */ func() bool { - position528, tokenIndex528 := position, tokenIndex + position551, tokenIndex551 := position, tokenIndex { - position529 := position + position552 := position { - position530, tokenIndex530 := position, tokenIndex + position553, tokenIndex553 := position, tokenIndex if !matchDot() { - goto l530 + goto l553 } - goto l528 - l530: - position, tokenIndex = position530, tokenIndex530 + goto l551 + l553: + position, tokenIndex = position553, tokenIndex553 } - add(ruleEND, position529) + add(ruleEND, position552) } return true - l528: - position, tokenIndex = position528, tokenIndex528 + l551: + position, tokenIndex = position551, tokenIndex551 return false }, /* 21 Action0 <- <{ p.tailIndex = int(token.begin) }> */ diff --git a/ent/parsed/output.go b/ent/parsed/output.go index 28e89fe..be04ea1 100644 --- a/ent/parsed/output.go +++ b/ent/parsed/output.go @@ -45,7 +45,7 @@ func (p Parsed) csvOutput(sep rune) string { } if p.Authorship != nil { - authorship = p.Authorship.Normalized + authorship = p.Authorship.Verbatim year = p.Authorship.Year } diff --git a/ent/parser/grammar.peg b/ent/parser/grammar.peg index 5e65cb3..d4c8144 100644 --- a/ent/parser/grammar.peg +++ b/ent/parser/grammar.peg @@ -263,7 +263,7 @@ FiliusFNoSpace <- 'f.' AuthorSuffix <- 'bis' / 'ter' -AuthorPrefixGlued1 <- ('d' / 'O' / 'L' / 'M') Apostrophe +AuthorPrefixGlued1 <- ("d" / 'O' / 'L' / 'M') Apostrophe AuthorPrefixGlued2 <- ('Mc' / 'Mac') Apostrophe? @@ -330,7 +330,6 @@ ApostrASCII <- '\'' ApostrOther <- '‘' / '’' / '`' / '´' - Dash <- '-' / DashOther DashOther <- [‑] diff --git a/ent/parser/grammar.peg.go b/ent/parser/grammar.peg.go index 949c2c5..f7c9f77 100644 --- a/ent/parser/grammar.peg.go +++ b/ent/parser/grammar.peg.go @@ -7828,7 +7828,7 @@ func (p *Engine) Init(options ...func(*Engine) error) error { position, tokenIndex = position830, tokenIndex830 return false }, - /* 116 AuthorPrefixGlued1 <- <(('d' / 'O' / 'L' / 'M') Apostrophe)> */ + /* 116 AuthorPrefixGlued1 <- <(('d' / 'D' / 'O' / 'L' / 'M') Apostrophe)> */ func() bool { position834, tokenIndex834 := position, tokenIndex { @@ -7842,19 +7842,26 @@ func (p *Engine) Init(options ...func(*Engine) error) error { goto l836 l837: position, tokenIndex = position836, tokenIndex836 - if buffer[position] != rune('O') { + if buffer[position] != rune('D') { goto l838 } position++ goto l836 l838: position, tokenIndex = position836, tokenIndex836 - if buffer[position] != rune('L') { + if buffer[position] != rune('O') { goto l839 } position++ goto l836 l839: + position, tokenIndex = position836, tokenIndex836 + if buffer[position] != rune('L') { + goto l840 + } + position++ + goto l836 + l840: position, tokenIndex = position836, tokenIndex836 if buffer[position] != rune('M') { goto l834 @@ -7874,207 +7881,192 @@ func (p *Engine) Init(options ...func(*Engine) error) error { }, /* 117 AuthorPrefixGlued2 <- <((('M' 'c') / ('M' 'a' 'c')) Apostrophe?)> */ func() bool { - position840, tokenIndex840 := position, tokenIndex + position841, tokenIndex841 := position, tokenIndex { - position841 := position + position842 := position { - position842, tokenIndex842 := position, tokenIndex + position843, tokenIndex843 := position, tokenIndex if buffer[position] != rune('M') { - goto l843 + goto l844 } position++ if buffer[position] != rune('c') { - goto l843 + goto l844 } position++ - goto l842 - l843: - position, tokenIndex = position842, tokenIndex842 + goto l843 + l844: + position, tokenIndex = position843, tokenIndex843 if buffer[position] != rune('M') { - goto l840 + goto l841 } position++ if buffer[position] != rune('a') { - goto l840 + goto l841 } position++ if buffer[position] != rune('c') { - goto l840 + goto l841 } position++ } - l842: + l843: { - position844, tokenIndex844 := position, tokenIndex + position845, tokenIndex845 := position, tokenIndex if !_rules[ruleApostrophe]() { - goto l844 + goto l845 } - goto l845 - l844: - position, tokenIndex = position844, tokenIndex844 + goto l846 + l845: + position, tokenIndex = position845, tokenIndex845 } - l845: - add(ruleAuthorPrefixGlued2, position841) + l846: + add(ruleAuthorPrefixGlued2, position842) } return true - l840: - position, tokenIndex = position840, tokenIndex840 + l841: + position, tokenIndex = position841, tokenIndex841 return false }, /* 118 AuthorPrefix <- <(AuthorPrefix1 / AuthorPrefix2)> */ func() bool { - position846, tokenIndex846 := position, tokenIndex + position847, tokenIndex847 := position, tokenIndex { - position847 := position + position848 := position { - position848, tokenIndex848 := position, tokenIndex + position849, tokenIndex849 := position, tokenIndex if !_rules[ruleAuthorPrefix1]() { - goto l849 + goto l850 } - goto l848 - l849: - position, tokenIndex = position848, tokenIndex848 + goto l849 + l850: + position, tokenIndex = position849, tokenIndex849 if !_rules[ruleAuthorPrefix2]() { - goto l846 + goto l847 } } - l848: - add(ruleAuthorPrefix, position847) + l849: + add(ruleAuthorPrefix, position848) } return true - l846: - position, tokenIndex = position846, tokenIndex846 + l847: + position, tokenIndex = position847, tokenIndex847 return false }, /* 119 AuthorPrefix2 <- <(('v' '.' (_? ('d' '.'))?) / (Apostrophe 't'))> */ func() bool { - position850, tokenIndex850 := position, tokenIndex + position851, tokenIndex851 := position, tokenIndex { - position851 := position + position852 := position { - position852, tokenIndex852 := position, tokenIndex + position853, tokenIndex853 := position, tokenIndex if buffer[position] != rune('v') { - goto l853 + goto l854 } position++ if buffer[position] != rune('.') { - goto l853 + goto l854 } position++ { - position854, tokenIndex854 := position, tokenIndex + position855, tokenIndex855 := position, tokenIndex { - position856, tokenIndex856 := position, tokenIndex + position857, tokenIndex857 := position, tokenIndex if !_rules[rule_]() { - goto l856 + goto l857 } - goto l857 - l856: - position, tokenIndex = position856, tokenIndex856 + goto l858 + l857: + position, tokenIndex = position857, tokenIndex857 } - l857: + l858: if buffer[position] != rune('d') { - goto l854 + goto l855 } position++ if buffer[position] != rune('.') { - goto l854 + goto l855 } position++ - goto l855 - l854: - position, tokenIndex = position854, tokenIndex854 + goto l856 + l855: + position, tokenIndex = position855, tokenIndex855 } - l855: - goto l852 - l853: - position, tokenIndex = position852, tokenIndex852 + l856: + goto l853 + l854: + position, tokenIndex = position853, tokenIndex853 if !_rules[ruleApostrophe]() { - goto l850 + goto l851 } if buffer[position] != rune('t') { - goto l850 + goto l851 } position++ } - l852: - add(ruleAuthorPrefix2, position851) + l853: + add(ruleAuthorPrefix2, position852) } return true - l850: - position, tokenIndex = position850, tokenIndex850 + l851: + position, tokenIndex = position851, tokenIndex851 return false }, /* 120 AuthorPrefix1 <- <((('a' 'b') / ('a' 'f') / ('b' 'i' 's') / ('d' 'a') / ('d' 'e' 'r') / ('d' 'e' 's') / ('d' 'e' 'n') / ('d' 'e' 'm') / ('d' 'e' 'l' 'l' 'a') / ('d' 'e' 'l' 'a') / ('d' 'e' 'l' 'l' 'e') / ('d' 'e' 'l') / ('d' 'e' ' ' 'l' 'o' 's') / ('d' 'e') / ('d' 'i') / ('d' 'o' 's') / ('d' 'u') / ('d' 'o') / ('e' 'l') / ('l' 'a') / ('l' 'e') / ('t' 'e' 'n') / ('t' 'e' 'r') / ('v' 'a' 'n') / ('v' 'e' 'r') / ('d' Apostrophe) / ('i' 'n' Apostrophe 't') / ('z' 'u' 'r') / ('z' 'u') / ('v' 'o' 'n' (_ (('d' '.') / ('d' 'e' 'm')))?) / ('v' (_ 'd')?)) &_)> */ func() bool { - position858, tokenIndex858 := position, tokenIndex + position859, tokenIndex859 := position, tokenIndex { - position859 := position + position860 := position { - position860, tokenIndex860 := position, tokenIndex - if buffer[position] != rune('a') { - goto l861 - } - position++ - if buffer[position] != rune('b') { - goto l861 - } - position++ - goto l860 - l861: - position, tokenIndex = position860, tokenIndex860 + position861, tokenIndex861 := position, tokenIndex if buffer[position] != rune('a') { goto l862 } position++ - if buffer[position] != rune('f') { + if buffer[position] != rune('b') { goto l862 } position++ - goto l860 + goto l861 l862: - position, tokenIndex = position860, tokenIndex860 - if buffer[position] != rune('b') { + position, tokenIndex = position861, tokenIndex861 + if buffer[position] != rune('a') { goto l863 } position++ - if buffer[position] != rune('i') { + if buffer[position] != rune('f') { goto l863 } position++ - if buffer[position] != rune('s') { - goto l863 + goto l861 + l863: + position, tokenIndex = position861, tokenIndex861 + if buffer[position] != rune('b') { + goto l864 } position++ - goto l860 - l863: - position, tokenIndex = position860, tokenIndex860 - if buffer[position] != rune('d') { + if buffer[position] != rune('i') { goto l864 } position++ - if buffer[position] != rune('a') { + if buffer[position] != rune('s') { goto l864 } position++ - goto l860 + goto l861 l864: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l865 } position++ - if buffer[position] != rune('e') { - goto l865 - } - position++ - if buffer[position] != rune('r') { + if buffer[position] != rune('a') { goto l865 } position++ - goto l860 + goto l861 l865: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l866 } @@ -8083,13 +8075,13 @@ func (p *Engine) Init(options ...func(*Engine) error) error { goto l866 } position++ - if buffer[position] != rune('s') { + if buffer[position] != rune('r') { goto l866 } position++ - goto l860 + goto l861 l866: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l867 } @@ -8098,13 +8090,13 @@ func (p *Engine) Init(options ...func(*Engine) error) error { goto l867 } position++ - if buffer[position] != rune('n') { + if buffer[position] != rune('s') { goto l867 } position++ - goto l860 + goto l861 l867: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l868 } @@ -8113,13 +8105,13 @@ func (p *Engine) Init(options ...func(*Engine) error) error { goto l868 } position++ - if buffer[position] != rune('m') { + if buffer[position] != rune('n') { goto l868 } position++ - goto l860 + goto l861 l868: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l869 } @@ -8128,21 +8120,13 @@ func (p *Engine) Init(options ...func(*Engine) error) error { goto l869 } position++ - if buffer[position] != rune('l') { - goto l869 - } - position++ - if buffer[position] != rune('l') { - goto l869 - } - position++ - if buffer[position] != rune('a') { + if buffer[position] != rune('m') { goto l869 } position++ - goto l860 + goto l861 l869: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l870 } @@ -8155,13 +8139,17 @@ func (p *Engine) Init(options ...func(*Engine) error) error { goto l870 } position++ + if buffer[position] != rune('l') { + goto l870 + } + position++ if buffer[position] != rune('a') { goto l870 } position++ - goto l860 + goto l861 l870: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l871 } @@ -8174,17 +8162,13 @@ func (p *Engine) Init(options ...func(*Engine) error) error { goto l871 } position++ - if buffer[position] != rune('l') { - goto l871 - } - position++ - if buffer[position] != rune('e') { + if buffer[position] != rune('a') { goto l871 } position++ - goto l860 + goto l861 l871: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l872 } @@ -8197,9 +8181,17 @@ func (p *Engine) Init(options ...func(*Engine) error) error { goto l872 } position++ - goto l860 + if buffer[position] != rune('l') { + goto l872 + } + position++ + if buffer[position] != rune('e') { + goto l872 + } + position++ + goto l861 l872: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l873 } @@ -8208,118 +8200,122 @@ func (p *Engine) Init(options ...func(*Engine) error) error { goto l873 } position++ - if buffer[position] != rune(' ') { + if buffer[position] != rune('l') { goto l873 } position++ - if buffer[position] != rune('l') { - goto l873 + goto l861 + l873: + position, tokenIndex = position861, tokenIndex861 + if buffer[position] != rune('d') { + goto l874 } position++ - if buffer[position] != rune('o') { - goto l873 + if buffer[position] != rune('e') { + goto l874 } position++ - if buffer[position] != rune('s') { - goto l873 + if buffer[position] != rune(' ') { + goto l874 } position++ - goto l860 - l873: - position, tokenIndex = position860, tokenIndex860 - if buffer[position] != rune('d') { + if buffer[position] != rune('l') { goto l874 } position++ - if buffer[position] != rune('e') { + if buffer[position] != rune('o') { + goto l874 + } + position++ + if buffer[position] != rune('s') { goto l874 } position++ - goto l860 + goto l861 l874: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l875 } position++ - if buffer[position] != rune('i') { + if buffer[position] != rune('e') { goto l875 } position++ - goto l860 + goto l861 l875: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l876 } position++ - if buffer[position] != rune('o') { - goto l876 - } - position++ - if buffer[position] != rune('s') { + if buffer[position] != rune('i') { goto l876 } position++ - goto l860 + goto l861 l876: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l877 } position++ - if buffer[position] != rune('u') { + if buffer[position] != rune('o') { + goto l877 + } + position++ + if buffer[position] != rune('s') { goto l877 } position++ - goto l860 + goto l861 l877: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('d') { goto l878 } position++ - if buffer[position] != rune('o') { + if buffer[position] != rune('u') { goto l878 } position++ - goto l860 + goto l861 l878: - position, tokenIndex = position860, tokenIndex860 - if buffer[position] != rune('e') { + position, tokenIndex = position861, tokenIndex861 + if buffer[position] != rune('d') { goto l879 } position++ - if buffer[position] != rune('l') { + if buffer[position] != rune('o') { goto l879 } position++ - goto l860 + goto l861 l879: - position, tokenIndex = position860, tokenIndex860 - if buffer[position] != rune('l') { + position, tokenIndex = position861, tokenIndex861 + if buffer[position] != rune('e') { goto l880 } position++ - if buffer[position] != rune('a') { + if buffer[position] != rune('l') { goto l880 } position++ - goto l860 + goto l861 l880: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('l') { goto l881 } position++ - if buffer[position] != rune('e') { + if buffer[position] != rune('a') { goto l881 } position++ - goto l860 + goto l861 l881: - position, tokenIndex = position860, tokenIndex860 - if buffer[position] != rune('t') { + position, tokenIndex = position861, tokenIndex861 + if buffer[position] != rune('l') { goto l882 } position++ @@ -8327,13 +8323,9 @@ func (p *Engine) Init(options ...func(*Engine) error) error { goto l882 } position++ - if buffer[position] != rune('n') { - goto l882 - } - position++ - goto l860 + goto l861 l882: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('t') { goto l883 } @@ -8342,86 +8334,86 @@ func (p *Engine) Init(options ...func(*Engine) error) error { goto l883 } position++ - if buffer[position] != rune('r') { + if buffer[position] != rune('n') { goto l883 } position++ - goto l860 + goto l861 l883: - position, tokenIndex = position860, tokenIndex860 - if buffer[position] != rune('v') { + position, tokenIndex = position861, tokenIndex861 + if buffer[position] != rune('t') { goto l884 } position++ - if buffer[position] != rune('a') { + if buffer[position] != rune('e') { goto l884 } position++ - if buffer[position] != rune('n') { + if buffer[position] != rune('r') { goto l884 } position++ - goto l860 + goto l861 l884: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('v') { goto l885 } position++ - if buffer[position] != rune('e') { + if buffer[position] != rune('a') { goto l885 } position++ - if buffer[position] != rune('r') { + if buffer[position] != rune('n') { goto l885 } position++ - goto l860 + goto l861 l885: - position, tokenIndex = position860, tokenIndex860 - if buffer[position] != rune('d') { + position, tokenIndex = position861, tokenIndex861 + if buffer[position] != rune('v') { goto l886 } position++ - if !_rules[ruleApostrophe]() { + if buffer[position] != rune('e') { goto l886 } - goto l860 - l886: - position, tokenIndex = position860, tokenIndex860 - if buffer[position] != rune('i') { - goto l887 + position++ + if buffer[position] != rune('r') { + goto l886 } position++ - if buffer[position] != rune('n') { + goto l861 + l886: + position, tokenIndex = position861, tokenIndex861 + if buffer[position] != rune('d') { goto l887 } position++ if !_rules[ruleApostrophe]() { goto l887 } - if buffer[position] != rune('t') { - goto l887 - } - position++ - goto l860 + goto l861 l887: - position, tokenIndex = position860, tokenIndex860 - if buffer[position] != rune('z') { + position, tokenIndex = position861, tokenIndex861 + if buffer[position] != rune('i') { goto l888 } position++ - if buffer[position] != rune('u') { + if buffer[position] != rune('n') { goto l888 } position++ - if buffer[position] != rune('r') { + if !_rules[ruleApostrophe]() { + goto l888 + } + if buffer[position] != rune('t') { goto l888 } position++ - goto l860 + goto l861 l888: - position, tokenIndex = position860, tokenIndex860 + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('z') { goto l889 } @@ -8430,2487 +8422,2502 @@ func (p *Engine) Init(options ...func(*Engine) error) error { goto l889 } position++ - goto l860 + if buffer[position] != rune('r') { + goto l889 + } + position++ + goto l861 l889: - position, tokenIndex = position860, tokenIndex860 - if buffer[position] != rune('v') { + position, tokenIndex = position861, tokenIndex861 + if buffer[position] != rune('z') { goto l890 } position++ - if buffer[position] != rune('o') { + if buffer[position] != rune('u') { goto l890 } position++ + goto l861 + l890: + position, tokenIndex = position861, tokenIndex861 + if buffer[position] != rune('v') { + goto l891 + } + position++ + if buffer[position] != rune('o') { + goto l891 + } + position++ if buffer[position] != rune('n') { - goto l890 + goto l891 } position++ { - position891, tokenIndex891 := position, tokenIndex + position892, tokenIndex892 := position, tokenIndex if !_rules[rule_]() { - goto l891 + goto l892 } { - position893, tokenIndex893 := position, tokenIndex + position894, tokenIndex894 := position, tokenIndex if buffer[position] != rune('d') { - goto l894 + goto l895 } position++ if buffer[position] != rune('.') { - goto l894 + goto l895 } position++ - goto l893 - l894: - position, tokenIndex = position893, tokenIndex893 + goto l894 + l895: + position, tokenIndex = position894, tokenIndex894 if buffer[position] != rune('d') { - goto l891 + goto l892 } position++ if buffer[position] != rune('e') { - goto l891 + goto l892 } position++ if buffer[position] != rune('m') { - goto l891 + goto l892 } position++ } - l893: - goto l892 - l891: - position, tokenIndex = position891, tokenIndex891 + l894: + goto l893 + l892: + position, tokenIndex = position892, tokenIndex892 } - l892: - goto l860 - l890: - position, tokenIndex = position860, tokenIndex860 + l893: + goto l861 + l891: + position, tokenIndex = position861, tokenIndex861 if buffer[position] != rune('v') { - goto l858 + goto l859 } position++ { - position895, tokenIndex895 := position, tokenIndex + position896, tokenIndex896 := position, tokenIndex if !_rules[rule_]() { - goto l895 + goto l896 } if buffer[position] != rune('d') { - goto l895 + goto l896 } position++ - goto l896 - l895: - position, tokenIndex = position895, tokenIndex895 + goto l897 + l896: + position, tokenIndex = position896, tokenIndex896 } - l896: + l897: } - l860: + l861: { - position897, tokenIndex897 := position, tokenIndex + position898, tokenIndex898 := position, tokenIndex if !_rules[rule_]() { - goto l858 + goto l859 } - position, tokenIndex = position897, tokenIndex897 + position, tokenIndex = position898, tokenIndex898 } - add(ruleAuthorPrefix1, position859) + add(ruleAuthorPrefix1, position860) } return true - l858: - position, tokenIndex = position858, tokenIndex858 + l859: + position, tokenIndex = position859, tokenIndex859 return false }, /* 121 AuthorUpperChar <- <(UpperASCII / MiscodedChar / ('À' / 'Á' / 'Â' / 'Ã' / 'Ä' / 'Å' / 'Æ' / 'Ç' / 'È' / 'É' / 'Ê' / 'Ë' / 'Ì' / 'Í' / 'Î' / 'Ï' / 'Ð' / 'Ñ' / 'Ò' / 'Ó' / 'Ô' / 'Õ' / 'Ö' / 'Ø' / 'Ù' / 'Ú' / 'Û' / 'Ü' / 'Ý' / 'Ć' / 'Č' / 'Ď' / 'İ' / 'Ķ' / 'Ĺ' / 'ĺ' / 'Ľ' / 'ľ' / 'Ł' / 'ł' / 'Ņ' / 'Ō' / 'Ő' / 'Œ' / 'Ř' / 'Ś' / 'Ŝ' / 'Ş' / 'Š' / 'Ÿ' / 'Ź' / 'Ż' / 'Ž' / 'ƒ' / 'Ǿ' / 'Ș' / 'Ț'))> */ func() bool { - position898, tokenIndex898 := position, tokenIndex + position899, tokenIndex899 := position, tokenIndex { - position899 := position + position900 := position { - position900, tokenIndex900 := position, tokenIndex + position901, tokenIndex901 := position, tokenIndex if !_rules[ruleUpperASCII]() { - goto l901 - } - goto l900 - l901: - position, tokenIndex = position900, tokenIndex900 - if !_rules[ruleMiscodedChar]() { goto l902 } - goto l900 + goto l901 l902: - position, tokenIndex = position900, tokenIndex900 + position, tokenIndex = position901, tokenIndex901 + if !_rules[ruleMiscodedChar]() { + goto l903 + } + goto l901 + l903: + position, tokenIndex = position901, tokenIndex901 { - position903, tokenIndex903 := position, tokenIndex + position904, tokenIndex904 := position, tokenIndex if buffer[position] != rune('À') { - goto l904 - } - position++ - goto l903 - l904: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Á') { goto l905 } position++ - goto l903 + goto l904 l905: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Â') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Á') { goto l906 } position++ - goto l903 + goto l904 l906: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ã') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Â') { goto l907 } position++ - goto l903 + goto l904 l907: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ä') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ã') { goto l908 } position++ - goto l903 + goto l904 l908: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Å') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ä') { goto l909 } position++ - goto l903 + goto l904 l909: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Æ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Å') { goto l910 } position++ - goto l903 + goto l904 l910: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ç') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Æ') { goto l911 } position++ - goto l903 + goto l904 l911: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('È') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ç') { goto l912 } position++ - goto l903 + goto l904 l912: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('É') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('È') { goto l913 } position++ - goto l903 + goto l904 l913: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ê') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('É') { goto l914 } position++ - goto l903 + goto l904 l914: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ë') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ê') { goto l915 } position++ - goto l903 + goto l904 l915: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ì') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ë') { goto l916 } position++ - goto l903 + goto l904 l916: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Í') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ì') { goto l917 } position++ - goto l903 + goto l904 l917: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Î') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Í') { goto l918 } position++ - goto l903 + goto l904 l918: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ï') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Î') { goto l919 } position++ - goto l903 + goto l904 l919: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ð') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ï') { goto l920 } position++ - goto l903 + goto l904 l920: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ñ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ð') { goto l921 } position++ - goto l903 + goto l904 l921: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ò') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ñ') { goto l922 } position++ - goto l903 + goto l904 l922: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ó') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ò') { goto l923 } position++ - goto l903 + goto l904 l923: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ô') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ó') { goto l924 } position++ - goto l903 + goto l904 l924: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Õ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ô') { goto l925 } position++ - goto l903 + goto l904 l925: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ö') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Õ') { goto l926 } position++ - goto l903 + goto l904 l926: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ø') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ö') { goto l927 } position++ - goto l903 + goto l904 l927: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ù') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ø') { goto l928 } position++ - goto l903 + goto l904 l928: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ú') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ù') { goto l929 } position++ - goto l903 + goto l904 l929: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Û') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ú') { goto l930 } position++ - goto l903 + goto l904 l930: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ü') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Û') { goto l931 } position++ - goto l903 + goto l904 l931: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ý') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ü') { goto l932 } position++ - goto l903 + goto l904 l932: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ć') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ý') { goto l933 } position++ - goto l903 + goto l904 l933: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Č') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ć') { goto l934 } position++ - goto l903 + goto l904 l934: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ď') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Č') { goto l935 } position++ - goto l903 + goto l904 l935: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('İ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ď') { goto l936 } position++ - goto l903 + goto l904 l936: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ķ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('İ') { goto l937 } position++ - goto l903 + goto l904 l937: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ĺ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ķ') { goto l938 } position++ - goto l903 + goto l904 l938: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('ĺ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ĺ') { goto l939 } position++ - goto l903 + goto l904 l939: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ľ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('ĺ') { goto l940 } position++ - goto l903 + goto l904 l940: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('ľ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ľ') { goto l941 } position++ - goto l903 + goto l904 l941: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ł') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('ľ') { goto l942 } position++ - goto l903 + goto l904 l942: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('ł') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ł') { goto l943 } position++ - goto l903 + goto l904 l943: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ņ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('ł') { goto l944 } position++ - goto l903 + goto l904 l944: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ō') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ņ') { goto l945 } position++ - goto l903 + goto l904 l945: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ő') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ō') { goto l946 } position++ - goto l903 + goto l904 l946: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Œ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ő') { goto l947 } position++ - goto l903 + goto l904 l947: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ř') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Œ') { goto l948 } position++ - goto l903 + goto l904 l948: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ś') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ř') { goto l949 } position++ - goto l903 + goto l904 l949: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ŝ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ś') { goto l950 } position++ - goto l903 + goto l904 l950: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ş') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ŝ') { goto l951 } position++ - goto l903 + goto l904 l951: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Š') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ş') { goto l952 } position++ - goto l903 + goto l904 l952: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ÿ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Š') { goto l953 } position++ - goto l903 + goto l904 l953: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ź') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ÿ') { goto l954 } position++ - goto l903 + goto l904 l954: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ż') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ź') { goto l955 } position++ - goto l903 + goto l904 l955: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ž') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ż') { goto l956 } position++ - goto l903 + goto l904 l956: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('ƒ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ž') { goto l957 } position++ - goto l903 + goto l904 l957: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ǿ') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('ƒ') { goto l958 } position++ - goto l903 + goto l904 l958: - position, tokenIndex = position903, tokenIndex903 - if buffer[position] != rune('Ș') { + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ǿ') { goto l959 } position++ - goto l903 + goto l904 l959: - position, tokenIndex = position903, tokenIndex903 + position, tokenIndex = position904, tokenIndex904 + if buffer[position] != rune('Ș') { + goto l960 + } + position++ + goto l904 + l960: + position, tokenIndex = position904, tokenIndex904 if buffer[position] != rune('Ț') { - goto l898 + goto l899 } position++ } - l903: + l904: } - l900: - add(ruleAuthorUpperChar, position899) + l901: + add(ruleAuthorUpperChar, position900) } return true - l898: - position, tokenIndex = position898, tokenIndex898 + l899: + position, tokenIndex = position899, tokenIndex899 return false }, /* 122 AuthorLowerChar <- <(LowerASCII / MiscodedChar / Apostrophe / ('à' / 'á' / 'â' / 'ã' / 'ä' / 'å' / 'æ' / 'ç' / 'è' / 'é' / 'ê' / 'ë' / 'ì' / 'í' / 'î' / 'ï' / 'ð' / 'ñ' / 'ò' / 'ó' / 'ó' / 'ô' / 'õ' / 'ö' / 'ø' / 'ù' / 'ú' / 'û' / 'ü' / 'ý' / 'ÿ' / 'ā' / 'ă' / 'ą' / 'ć' / 'ĉ' / 'č' / 'ď' / 'đ' / 'ē' / 'ĕ' / 'ė' / 'ę' / 'ě' / 'ğ' / 'ī' / 'ĭ' / 'İ' / 'ı' / 'ĺ' / 'ľ' / 'ł' / 'ń' / 'ņ' / 'ň' / 'ŏ' / 'ő' / 'œ' / 'ŕ' / 'ř' / 'ś' / 'ş' / 'š' / 'ţ' / 'ť' / 'ũ' / 'ū' / 'ŭ' / 'ů' / 'ű' / 'ź' / 'ż' / 'ž' / 'ſ' / 'ǎ' / 'ǔ' / 'ǧ' / 'ș' / 'ț' / 'ȳ' / 'ß'))> */ func() bool { - position960, tokenIndex960 := position, tokenIndex + position961, tokenIndex961 := position, tokenIndex { - position961 := position + position962 := position { - position962, tokenIndex962 := position, tokenIndex + position963, tokenIndex963 := position, tokenIndex if !_rules[ruleLowerASCII]() { - goto l963 - } - goto l962 - l963: - position, tokenIndex = position962, tokenIndex962 - if !_rules[ruleMiscodedChar]() { goto l964 } - goto l962 + goto l963 l964: - position, tokenIndex = position962, tokenIndex962 - if !_rules[ruleApostrophe]() { + position, tokenIndex = position963, tokenIndex963 + if !_rules[ruleMiscodedChar]() { goto l965 } - goto l962 + goto l963 l965: - position, tokenIndex = position962, tokenIndex962 + position, tokenIndex = position963, tokenIndex963 + if !_rules[ruleApostrophe]() { + goto l966 + } + goto l963 + l966: + position, tokenIndex = position963, tokenIndex963 { - position966, tokenIndex966 := position, tokenIndex + position967, tokenIndex967 := position, tokenIndex if buffer[position] != rune('à') { - goto l967 - } - position++ - goto l966 - l967: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('á') { goto l968 } position++ - goto l966 + goto l967 l968: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('â') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('á') { goto l969 } position++ - goto l966 + goto l967 l969: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ã') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('â') { goto l970 } position++ - goto l966 + goto l967 l970: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ä') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ã') { goto l971 } position++ - goto l966 + goto l967 l971: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('å') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ä') { goto l972 } position++ - goto l966 + goto l967 l972: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('æ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('å') { goto l973 } position++ - goto l966 + goto l967 l973: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ç') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('æ') { goto l974 } position++ - goto l966 + goto l967 l974: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('è') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ç') { goto l975 } position++ - goto l966 + goto l967 l975: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('é') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('è') { goto l976 } position++ - goto l966 + goto l967 l976: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ê') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('é') { goto l977 } position++ - goto l966 + goto l967 l977: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ë') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ê') { goto l978 } position++ - goto l966 + goto l967 l978: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ì') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ë') { goto l979 } position++ - goto l966 + goto l967 l979: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('í') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ì') { goto l980 } position++ - goto l966 + goto l967 l980: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('î') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('í') { goto l981 } position++ - goto l966 + goto l967 l981: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ï') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('î') { goto l982 } position++ - goto l966 + goto l967 l982: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ð') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ï') { goto l983 } position++ - goto l966 + goto l967 l983: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ñ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ð') { goto l984 } position++ - goto l966 + goto l967 l984: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ò') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ñ') { goto l985 } position++ - goto l966 + goto l967 l985: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ó') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ò') { goto l986 } position++ - goto l966 + goto l967 l986: - position, tokenIndex = position966, tokenIndex966 + position, tokenIndex = position967, tokenIndex967 if buffer[position] != rune('ó') { goto l987 } position++ - goto l966 + goto l967 l987: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ô') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ó') { goto l988 } position++ - goto l966 + goto l967 l988: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('õ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ô') { goto l989 } position++ - goto l966 + goto l967 l989: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ö') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('õ') { goto l990 } position++ - goto l966 + goto l967 l990: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ø') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ö') { goto l991 } position++ - goto l966 + goto l967 l991: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ù') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ø') { goto l992 } position++ - goto l966 + goto l967 l992: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ú') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ù') { goto l993 } position++ - goto l966 + goto l967 l993: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('û') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ú') { goto l994 } position++ - goto l966 + goto l967 l994: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ü') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('û') { goto l995 } position++ - goto l966 + goto l967 l995: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ý') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ü') { goto l996 } position++ - goto l966 + goto l967 l996: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ÿ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ý') { goto l997 } position++ - goto l966 + goto l967 l997: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ā') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ÿ') { goto l998 } position++ - goto l966 + goto l967 l998: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ă') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ā') { goto l999 } position++ - goto l966 + goto l967 l999: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ą') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ă') { goto l1000 } position++ - goto l966 + goto l967 l1000: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ć') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ą') { goto l1001 } position++ - goto l966 + goto l967 l1001: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ĉ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ć') { goto l1002 } position++ - goto l966 + goto l967 l1002: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('č') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ĉ') { goto l1003 } position++ - goto l966 + goto l967 l1003: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ď') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('č') { goto l1004 } position++ - goto l966 + goto l967 l1004: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('đ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ď') { goto l1005 } position++ - goto l966 + goto l967 l1005: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ē') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('đ') { goto l1006 } position++ - goto l966 + goto l967 l1006: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ĕ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ē') { goto l1007 } position++ - goto l966 + goto l967 l1007: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ė') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ĕ') { goto l1008 } position++ - goto l966 + goto l967 l1008: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ę') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ė') { goto l1009 } position++ - goto l966 + goto l967 l1009: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ě') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ę') { goto l1010 } position++ - goto l966 + goto l967 l1010: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ğ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ě') { goto l1011 } position++ - goto l966 + goto l967 l1011: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ī') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ğ') { goto l1012 } position++ - goto l966 + goto l967 l1012: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ĭ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ī') { goto l1013 } position++ - goto l966 + goto l967 l1013: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('İ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ĭ') { goto l1014 } position++ - goto l966 + goto l967 l1014: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ı') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('İ') { goto l1015 } position++ - goto l966 + goto l967 l1015: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ĺ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ı') { goto l1016 } position++ - goto l966 + goto l967 l1016: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ľ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ĺ') { goto l1017 } position++ - goto l966 + goto l967 l1017: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ł') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ľ') { goto l1018 } position++ - goto l966 + goto l967 l1018: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ń') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ł') { goto l1019 } position++ - goto l966 + goto l967 l1019: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ņ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ń') { goto l1020 } position++ - goto l966 + goto l967 l1020: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ň') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ņ') { goto l1021 } position++ - goto l966 + goto l967 l1021: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ŏ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ň') { goto l1022 } position++ - goto l966 + goto l967 l1022: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ő') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ŏ') { goto l1023 } position++ - goto l966 + goto l967 l1023: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('œ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ő') { goto l1024 } position++ - goto l966 + goto l967 l1024: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ŕ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('œ') { goto l1025 } position++ - goto l966 + goto l967 l1025: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ř') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ŕ') { goto l1026 } position++ - goto l966 + goto l967 l1026: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ś') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ř') { goto l1027 } position++ - goto l966 + goto l967 l1027: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ş') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ś') { goto l1028 } position++ - goto l966 + goto l967 l1028: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('š') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ş') { goto l1029 } position++ - goto l966 + goto l967 l1029: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ţ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('š') { goto l1030 } position++ - goto l966 + goto l967 l1030: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ť') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ţ') { goto l1031 } position++ - goto l966 + goto l967 l1031: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ũ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ť') { goto l1032 } position++ - goto l966 + goto l967 l1032: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ū') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ũ') { goto l1033 } position++ - goto l966 + goto l967 l1033: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ŭ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ū') { goto l1034 } position++ - goto l966 + goto l967 l1034: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ů') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ŭ') { goto l1035 } position++ - goto l966 + goto l967 l1035: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ű') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ů') { goto l1036 } position++ - goto l966 + goto l967 l1036: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ź') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ű') { goto l1037 } position++ - goto l966 + goto l967 l1037: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ż') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ź') { goto l1038 } position++ - goto l966 + goto l967 l1038: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ž') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ż') { goto l1039 } position++ - goto l966 + goto l967 l1039: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ſ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ž') { goto l1040 } position++ - goto l966 + goto l967 l1040: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ǎ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ſ') { goto l1041 } position++ - goto l966 + goto l967 l1041: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ǔ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ǎ') { goto l1042 } position++ - goto l966 + goto l967 l1042: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ǧ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ǔ') { goto l1043 } position++ - goto l966 + goto l967 l1043: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ș') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ǧ') { goto l1044 } position++ - goto l966 + goto l967 l1044: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ț') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ș') { goto l1045 } position++ - goto l966 + goto l967 l1045: - position, tokenIndex = position966, tokenIndex966 - if buffer[position] != rune('ȳ') { + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ț') { goto l1046 } position++ - goto l966 + goto l967 l1046: - position, tokenIndex = position966, tokenIndex966 + position, tokenIndex = position967, tokenIndex967 + if buffer[position] != rune('ȳ') { + goto l1047 + } + position++ + goto l967 + l1047: + position, tokenIndex = position967, tokenIndex967 if buffer[position] != rune('ß') { - goto l960 + goto l961 } position++ } - l966: + l967: } - l962: - add(ruleAuthorLowerChar, position961) + l963: + add(ruleAuthorLowerChar, position962) } return true - l960: - position, tokenIndex = position960, tokenIndex960 + l961: + position, tokenIndex = position961, tokenIndex961 return false }, /* 123 Year <- <(YearRange / YearApprox / YearWithParens / YearWithPage / YearWithDot / YearWithChar / YearNum)> */ func() bool { - position1047, tokenIndex1047 := position, tokenIndex + position1048, tokenIndex1048 := position, tokenIndex { - position1048 := position + position1049 := position { - position1049, tokenIndex1049 := position, tokenIndex + position1050, tokenIndex1050 := position, tokenIndex if !_rules[ruleYearRange]() { - goto l1050 - } - goto l1049 - l1050: - position, tokenIndex = position1049, tokenIndex1049 - if !_rules[ruleYearApprox]() { goto l1051 } - goto l1049 + goto l1050 l1051: - position, tokenIndex = position1049, tokenIndex1049 - if !_rules[ruleYearWithParens]() { + position, tokenIndex = position1050, tokenIndex1050 + if !_rules[ruleYearApprox]() { goto l1052 } - goto l1049 + goto l1050 l1052: - position, tokenIndex = position1049, tokenIndex1049 - if !_rules[ruleYearWithPage]() { + position, tokenIndex = position1050, tokenIndex1050 + if !_rules[ruleYearWithParens]() { goto l1053 } - goto l1049 + goto l1050 l1053: - position, tokenIndex = position1049, tokenIndex1049 - if !_rules[ruleYearWithDot]() { + position, tokenIndex = position1050, tokenIndex1050 + if !_rules[ruleYearWithPage]() { goto l1054 } - goto l1049 + goto l1050 l1054: - position, tokenIndex = position1049, tokenIndex1049 - if !_rules[ruleYearWithChar]() { + position, tokenIndex = position1050, tokenIndex1050 + if !_rules[ruleYearWithDot]() { goto l1055 } - goto l1049 + goto l1050 l1055: - position, tokenIndex = position1049, tokenIndex1049 + position, tokenIndex = position1050, tokenIndex1050 + if !_rules[ruleYearWithChar]() { + goto l1056 + } + goto l1050 + l1056: + position, tokenIndex = position1050, tokenIndex1050 if !_rules[ruleYearNum]() { - goto l1047 + goto l1048 } } - l1049: - add(ruleYear, position1048) + l1050: + add(ruleYear, position1049) } return true - l1047: - position, tokenIndex = position1047, tokenIndex1047 + l1048: + position, tokenIndex = position1048, tokenIndex1048 return false }, /* 124 YearRange <- <(YearNum (Dash / Slash) (Nums+ ('a' / 'b' / 'c' / 'd' / 'e' / 'f' / 'g' / 'h' / 'i' / 'j' / 'k' / 'l' / 'm' / 'n' / 'o' / 'p' / 'q' / 'r' / 's' / 't' / 'u' / 'v' / 'w' / 'x' / 'y' / 'z' / '?')*))> */ func() bool { - position1056, tokenIndex1056 := position, tokenIndex + position1057, tokenIndex1057 := position, tokenIndex { - position1057 := position + position1058 := position if !_rules[ruleYearNum]() { - goto l1056 + goto l1057 } { - position1058, tokenIndex1058 := position, tokenIndex + position1059, tokenIndex1059 := position, tokenIndex if !_rules[ruleDash]() { - goto l1059 + goto l1060 } - goto l1058 - l1059: - position, tokenIndex = position1058, tokenIndex1058 + goto l1059 + l1060: + position, tokenIndex = position1059, tokenIndex1059 if !_rules[ruleSlash]() { - goto l1056 + goto l1057 } } - l1058: + l1059: if !_rules[ruleNums]() { - goto l1056 + goto l1057 } - l1060: + l1061: { - position1061, tokenIndex1061 := position, tokenIndex + position1062, tokenIndex1062 := position, tokenIndex if !_rules[ruleNums]() { - goto l1061 + goto l1062 } - goto l1060 - l1061: - position, tokenIndex = position1061, tokenIndex1061 + goto l1061 + l1062: + position, tokenIndex = position1062, tokenIndex1062 } - l1062: + l1063: { - position1063, tokenIndex1063 := position, tokenIndex + position1064, tokenIndex1064 := position, tokenIndex { - position1064, tokenIndex1064 := position, tokenIndex + position1065, tokenIndex1065 := position, tokenIndex if buffer[position] != rune('a') { - goto l1065 - } - position++ - goto l1064 - l1065: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('b') { goto l1066 } position++ - goto l1064 + goto l1065 l1066: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('c') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('b') { goto l1067 } position++ - goto l1064 + goto l1065 l1067: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('d') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('c') { goto l1068 } position++ - goto l1064 + goto l1065 l1068: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('e') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('d') { goto l1069 } position++ - goto l1064 + goto l1065 l1069: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('f') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('e') { goto l1070 } position++ - goto l1064 + goto l1065 l1070: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('g') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('f') { goto l1071 } position++ - goto l1064 + goto l1065 l1071: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('h') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('g') { goto l1072 } position++ - goto l1064 + goto l1065 l1072: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('i') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('h') { goto l1073 } position++ - goto l1064 + goto l1065 l1073: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('j') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('i') { goto l1074 } position++ - goto l1064 + goto l1065 l1074: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('k') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('j') { goto l1075 } position++ - goto l1064 + goto l1065 l1075: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('l') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('k') { goto l1076 } position++ - goto l1064 + goto l1065 l1076: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('m') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('l') { goto l1077 } position++ - goto l1064 + goto l1065 l1077: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('n') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('m') { goto l1078 } position++ - goto l1064 + goto l1065 l1078: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('o') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('n') { goto l1079 } position++ - goto l1064 + goto l1065 l1079: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('p') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('o') { goto l1080 } position++ - goto l1064 + goto l1065 l1080: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('q') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('p') { goto l1081 } position++ - goto l1064 + goto l1065 l1081: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('r') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('q') { goto l1082 } position++ - goto l1064 + goto l1065 l1082: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('s') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('r') { goto l1083 } position++ - goto l1064 + goto l1065 l1083: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('t') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('s') { goto l1084 } position++ - goto l1064 + goto l1065 l1084: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('u') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('t') { goto l1085 } position++ - goto l1064 + goto l1065 l1085: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('v') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('u') { goto l1086 } position++ - goto l1064 + goto l1065 l1086: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('w') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('v') { goto l1087 } position++ - goto l1064 + goto l1065 l1087: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('x') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('w') { goto l1088 } position++ - goto l1064 + goto l1065 l1088: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('y') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('x') { goto l1089 } position++ - goto l1064 + goto l1065 l1089: - position, tokenIndex = position1064, tokenIndex1064 - if buffer[position] != rune('z') { + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('y') { goto l1090 } position++ - goto l1064 + goto l1065 l1090: - position, tokenIndex = position1064, tokenIndex1064 + position, tokenIndex = position1065, tokenIndex1065 + if buffer[position] != rune('z') { + goto l1091 + } + position++ + goto l1065 + l1091: + position, tokenIndex = position1065, tokenIndex1065 if buffer[position] != rune('?') { - goto l1063 + goto l1064 } position++ } + l1065: + goto l1063 l1064: - goto l1062 - l1063: - position, tokenIndex = position1063, tokenIndex1063 + position, tokenIndex = position1064, tokenIndex1064 } - add(ruleYearRange, position1057) + add(ruleYearRange, position1058) } return true - l1056: - position, tokenIndex = position1056, tokenIndex1056 + l1057: + position, tokenIndex = position1057, tokenIndex1057 return false }, /* 125 YearWithDot <- <(YearNum '.')> */ func() bool { - position1091, tokenIndex1091 := position, tokenIndex + position1092, tokenIndex1092 := position, tokenIndex { - position1092 := position + position1093 := position if !_rules[ruleYearNum]() { - goto l1091 + goto l1092 } if buffer[position] != rune('.') { - goto l1091 + goto l1092 } position++ - add(ruleYearWithDot, position1092) + add(ruleYearWithDot, position1093) } return true - l1091: - position, tokenIndex = position1091, tokenIndex1091 + l1092: + position, tokenIndex = position1092, tokenIndex1092 return false }, /* 126 YearApprox <- <('[' _? YearNum _? ']')> */ func() bool { - position1093, tokenIndex1093 := position, tokenIndex + position1094, tokenIndex1094 := position, tokenIndex { - position1094 := position + position1095 := position if buffer[position] != rune('[') { - goto l1093 + goto l1094 } position++ { - position1095, tokenIndex1095 := position, tokenIndex + position1096, tokenIndex1096 := position, tokenIndex if !_rules[rule_]() { - goto l1095 + goto l1096 } - goto l1096 - l1095: - position, tokenIndex = position1095, tokenIndex1095 + goto l1097 + l1096: + position, tokenIndex = position1096, tokenIndex1096 } - l1096: + l1097: if !_rules[ruleYearNum]() { - goto l1093 + goto l1094 } { - position1097, tokenIndex1097 := position, tokenIndex + position1098, tokenIndex1098 := position, tokenIndex if !_rules[rule_]() { - goto l1097 + goto l1098 } - goto l1098 - l1097: - position, tokenIndex = position1097, tokenIndex1097 + goto l1099 + l1098: + position, tokenIndex = position1098, tokenIndex1098 } - l1098: + l1099: if buffer[position] != rune(']') { - goto l1093 + goto l1094 } position++ - add(ruleYearApprox, position1094) + add(ruleYearApprox, position1095) } return true - l1093: - position, tokenIndex = position1093, tokenIndex1093 + l1094: + position, tokenIndex = position1094, tokenIndex1094 return false }, /* 127 YearWithPage <- <((YearWithChar / YearNum) _? ':' _? Nums+)> */ func() bool { - position1099, tokenIndex1099 := position, tokenIndex + position1100, tokenIndex1100 := position, tokenIndex { - position1100 := position + position1101 := position { - position1101, tokenIndex1101 := position, tokenIndex + position1102, tokenIndex1102 := position, tokenIndex if !_rules[ruleYearWithChar]() { - goto l1102 + goto l1103 } - goto l1101 - l1102: - position, tokenIndex = position1101, tokenIndex1101 + goto l1102 + l1103: + position, tokenIndex = position1102, tokenIndex1102 if !_rules[ruleYearNum]() { - goto l1099 + goto l1100 } } - l1101: + l1102: { - position1103, tokenIndex1103 := position, tokenIndex + position1104, tokenIndex1104 := position, tokenIndex if !_rules[rule_]() { - goto l1103 + goto l1104 } - goto l1104 - l1103: - position, tokenIndex = position1103, tokenIndex1103 + goto l1105 + l1104: + position, tokenIndex = position1104, tokenIndex1104 } - l1104: + l1105: if buffer[position] != rune(':') { - goto l1099 + goto l1100 } position++ { - position1105, tokenIndex1105 := position, tokenIndex + position1106, tokenIndex1106 := position, tokenIndex if !_rules[rule_]() { - goto l1105 + goto l1106 } - goto l1106 - l1105: - position, tokenIndex = position1105, tokenIndex1105 + goto l1107 + l1106: + position, tokenIndex = position1106, tokenIndex1106 } - l1106: + l1107: if !_rules[ruleNums]() { - goto l1099 + goto l1100 } - l1107: + l1108: { - position1108, tokenIndex1108 := position, tokenIndex + position1109, tokenIndex1109 := position, tokenIndex if !_rules[ruleNums]() { - goto l1108 + goto l1109 } - goto l1107 - l1108: - position, tokenIndex = position1108, tokenIndex1108 + goto l1108 + l1109: + position, tokenIndex = position1109, tokenIndex1109 } - add(ruleYearWithPage, position1100) + add(ruleYearWithPage, position1101) } return true - l1099: - position, tokenIndex = position1099, tokenIndex1099 + l1100: + position, tokenIndex = position1100, tokenIndex1100 return false }, /* 128 YearWithParens <- <('(' (YearWithChar / YearNum) ')')> */ func() bool { - position1109, tokenIndex1109 := position, tokenIndex + position1110, tokenIndex1110 := position, tokenIndex { - position1110 := position + position1111 := position if buffer[position] != rune('(') { - goto l1109 + goto l1110 } position++ { - position1111, tokenIndex1111 := position, tokenIndex + position1112, tokenIndex1112 := position, tokenIndex if !_rules[ruleYearWithChar]() { - goto l1112 + goto l1113 } - goto l1111 - l1112: - position, tokenIndex = position1111, tokenIndex1111 + goto l1112 + l1113: + position, tokenIndex = position1112, tokenIndex1112 if !_rules[ruleYearNum]() { - goto l1109 + goto l1110 } } - l1111: + l1112: if buffer[position] != rune(')') { - goto l1109 + goto l1110 } position++ - add(ruleYearWithParens, position1110) + add(ruleYearWithParens, position1111) } return true - l1109: - position, tokenIndex = position1109, tokenIndex1109 + l1110: + position, tokenIndex = position1110, tokenIndex1110 return false }, /* 129 YearWithChar <- <(YearNum LowerASCII)> */ func() bool { - position1113, tokenIndex1113 := position, tokenIndex + position1114, tokenIndex1114 := position, tokenIndex { - position1114 := position + position1115 := position if !_rules[ruleYearNum]() { - goto l1113 + goto l1114 } if !_rules[ruleLowerASCII]() { - goto l1113 + goto l1114 } - add(ruleYearWithChar, position1114) + add(ruleYearWithChar, position1115) } return true - l1113: - position, tokenIndex = position1113, tokenIndex1113 + l1114: + position, tokenIndex = position1114, tokenIndex1114 return false }, /* 130 YearNum <- <(('1' / '2') ('0' / '7' / '8' / '9') Nums (Nums / '?') '?'*)> */ func() bool { - position1115, tokenIndex1115 := position, tokenIndex + position1116, tokenIndex1116 := position, tokenIndex { - position1116 := position + position1117 := position { - position1117, tokenIndex1117 := position, tokenIndex + position1118, tokenIndex1118 := position, tokenIndex if buffer[position] != rune('1') { - goto l1118 + goto l1119 } position++ - goto l1117 - l1118: - position, tokenIndex = position1117, tokenIndex1117 + goto l1118 + l1119: + position, tokenIndex = position1118, tokenIndex1118 if buffer[position] != rune('2') { - goto l1115 + goto l1116 } position++ } - l1117: + l1118: { - position1119, tokenIndex1119 := position, tokenIndex + position1120, tokenIndex1120 := position, tokenIndex if buffer[position] != rune('0') { - goto l1120 - } - position++ - goto l1119 - l1120: - position, tokenIndex = position1119, tokenIndex1119 - if buffer[position] != rune('7') { goto l1121 } position++ - goto l1119 + goto l1120 l1121: - position, tokenIndex = position1119, tokenIndex1119 - if buffer[position] != rune('8') { + position, tokenIndex = position1120, tokenIndex1120 + if buffer[position] != rune('7') { goto l1122 } position++ - goto l1119 + goto l1120 l1122: - position, tokenIndex = position1119, tokenIndex1119 + position, tokenIndex = position1120, tokenIndex1120 + if buffer[position] != rune('8') { + goto l1123 + } + position++ + goto l1120 + l1123: + position, tokenIndex = position1120, tokenIndex1120 if buffer[position] != rune('9') { - goto l1115 + goto l1116 } position++ } - l1119: + l1120: if !_rules[ruleNums]() { - goto l1115 + goto l1116 } { - position1123, tokenIndex1123 := position, tokenIndex + position1124, tokenIndex1124 := position, tokenIndex if !_rules[ruleNums]() { - goto l1124 + goto l1125 } - goto l1123 - l1124: - position, tokenIndex = position1123, tokenIndex1123 + goto l1124 + l1125: + position, tokenIndex = position1124, tokenIndex1124 if buffer[position] != rune('?') { - goto l1115 + goto l1116 } position++ } - l1123: - l1125: + l1124: + l1126: { - position1126, tokenIndex1126 := position, tokenIndex + position1127, tokenIndex1127 := position, tokenIndex if buffer[position] != rune('?') { - goto l1126 + goto l1127 } position++ - goto l1125 - l1126: - position, tokenIndex = position1126, tokenIndex1126 + goto l1126 + l1127: + position, tokenIndex = position1127, tokenIndex1127 } - add(ruleYearNum, position1116) + add(ruleYearNum, position1117) } return true - l1115: - position, tokenIndex = position1115, tokenIndex1115 + l1116: + position, tokenIndex = position1116, tokenIndex1116 return false }, /* 131 NameUpperChar <- <(UpperChar / UpperCharExtended)> */ func() bool { - position1127, tokenIndex1127 := position, tokenIndex + position1128, tokenIndex1128 := position, tokenIndex { - position1128 := position + position1129 := position { - position1129, tokenIndex1129 := position, tokenIndex + position1130, tokenIndex1130 := position, tokenIndex if !_rules[ruleUpperChar]() { - goto l1130 + goto l1131 } - goto l1129 - l1130: - position, tokenIndex = position1129, tokenIndex1129 + goto l1130 + l1131: + position, tokenIndex = position1130, tokenIndex1130 if !_rules[ruleUpperCharExtended]() { - goto l1127 + goto l1128 } } - l1129: - add(ruleNameUpperChar, position1128) + l1130: + add(ruleNameUpperChar, position1129) } return true - l1127: - position, tokenIndex = position1127, tokenIndex1127 + l1128: + position, tokenIndex = position1128, tokenIndex1128 return false }, /* 132 UpperCharExtended <- <('Æ' / 'Œ' / 'Ö')> */ func() bool { - position1131, tokenIndex1131 := position, tokenIndex + position1132, tokenIndex1132 := position, tokenIndex { - position1132 := position + position1133 := position { - position1133, tokenIndex1133 := position, tokenIndex + position1134, tokenIndex1134 := position, tokenIndex if buffer[position] != rune('Æ') { - goto l1134 + goto l1135 } position++ - goto l1133 - l1134: - position, tokenIndex = position1133, tokenIndex1133 + goto l1134 + l1135: + position, tokenIndex = position1134, tokenIndex1134 if buffer[position] != rune('Œ') { - goto l1135 + goto l1136 } position++ - goto l1133 - l1135: - position, tokenIndex = position1133, tokenIndex1133 + goto l1134 + l1136: + position, tokenIndex = position1134, tokenIndex1134 if buffer[position] != rune('Ö') { - goto l1131 + goto l1132 } position++ } - l1133: - add(ruleUpperCharExtended, position1132) + l1134: + add(ruleUpperCharExtended, position1133) } return true - l1131: - position, tokenIndex = position1131, tokenIndex1131 + l1132: + position, tokenIndex = position1132, tokenIndex1132 return false }, /* 133 UpperChar <- */ func() bool { - position1136, tokenIndex1136 := position, tokenIndex + position1137, tokenIndex1137 := position, tokenIndex { - position1137 := position + position1138 := position if !_rules[ruleUpperASCII]() { - goto l1136 + goto l1137 } - add(ruleUpperChar, position1137) + add(ruleUpperChar, position1138) } return true - l1136: - position, tokenIndex = position1136, tokenIndex1136 + l1137: + position, tokenIndex = position1137, tokenIndex1137 return false }, /* 134 NameLowerChar <- <(LowerChar / LowerCharExtended / MiscodedChar)> */ func() bool { - position1138, tokenIndex1138 := position, tokenIndex + position1139, tokenIndex1139 := position, tokenIndex { - position1139 := position + position1140 := position { - position1140, tokenIndex1140 := position, tokenIndex + position1141, tokenIndex1141 := position, tokenIndex if !_rules[ruleLowerChar]() { - goto l1141 - } - goto l1140 - l1141: - position, tokenIndex = position1140, tokenIndex1140 - if !_rules[ruleLowerCharExtended]() { goto l1142 } - goto l1140 + goto l1141 l1142: - position, tokenIndex = position1140, tokenIndex1140 + position, tokenIndex = position1141, tokenIndex1141 + if !_rules[ruleLowerCharExtended]() { + goto l1143 + } + goto l1141 + l1143: + position, tokenIndex = position1141, tokenIndex1141 if !_rules[ruleMiscodedChar]() { - goto l1138 + goto l1139 } } - l1140: - add(ruleNameLowerChar, position1139) + l1141: + add(ruleNameLowerChar, position1140) } return true - l1138: - position, tokenIndex = position1138, tokenIndex1138 + l1139: + position, tokenIndex = position1139, tokenIndex1139 return false }, /* 135 MiscodedChar <- <'�'> */ func() bool { - position1143, tokenIndex1143 := position, tokenIndex + position1144, tokenIndex1144 := position, tokenIndex { - position1144 := position + position1145 := position if buffer[position] != rune('�') { - goto l1143 + goto l1144 } position++ - add(ruleMiscodedChar, position1144) + add(ruleMiscodedChar, position1145) } return true - l1143: - position, tokenIndex = position1143, tokenIndex1143 + l1144: + position, tokenIndex = position1144, tokenIndex1144 return false }, /* 136 LowerCharExtended <- <('æ' / 'œ' / 'à' / 'â' / 'å' / 'ã' / 'ä' / 'á' / 'ç' / 'č' / 'é' / 'è' / 'ë' / 'í' / 'ì' / 'ï' / 'ň' / 'ñ' / 'ñ' / 'ó' / 'ò' / 'ô' / 'ø' / 'õ' / 'ö' / 'ú' / 'û' / 'ù' / 'ü' / 'ŕ' / 'ř' / 'ŗ' / 'ſ' / 'š' / 'š' / 'ş' / 'ß' / 'ž')> */ func() bool { - position1145, tokenIndex1145 := position, tokenIndex + position1146, tokenIndex1146 := position, tokenIndex { - position1146 := position + position1147 := position { - position1147, tokenIndex1147 := position, tokenIndex + position1148, tokenIndex1148 := position, tokenIndex if buffer[position] != rune('æ') { - goto l1148 - } - position++ - goto l1147 - l1148: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('œ') { goto l1149 } position++ - goto l1147 + goto l1148 l1149: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('à') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('œ') { goto l1150 } position++ - goto l1147 + goto l1148 l1150: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('â') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('à') { goto l1151 } position++ - goto l1147 + goto l1148 l1151: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('å') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('â') { goto l1152 } position++ - goto l1147 + goto l1148 l1152: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ã') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('å') { goto l1153 } position++ - goto l1147 + goto l1148 l1153: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ä') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ã') { goto l1154 } position++ - goto l1147 + goto l1148 l1154: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('á') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ä') { goto l1155 } position++ - goto l1147 + goto l1148 l1155: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ç') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('á') { goto l1156 } position++ - goto l1147 + goto l1148 l1156: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('č') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ç') { goto l1157 } position++ - goto l1147 + goto l1148 l1157: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('é') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('č') { goto l1158 } position++ - goto l1147 + goto l1148 l1158: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('è') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('é') { goto l1159 } position++ - goto l1147 + goto l1148 l1159: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ë') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('è') { goto l1160 } position++ - goto l1147 + goto l1148 l1160: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('í') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ë') { goto l1161 } position++ - goto l1147 + goto l1148 l1161: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ì') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('í') { goto l1162 } position++ - goto l1147 + goto l1148 l1162: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ï') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ì') { goto l1163 } position++ - goto l1147 + goto l1148 l1163: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ň') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ï') { goto l1164 } position++ - goto l1147 + goto l1148 l1164: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ñ') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ň') { goto l1165 } position++ - goto l1147 + goto l1148 l1165: - position, tokenIndex = position1147, tokenIndex1147 + position, tokenIndex = position1148, tokenIndex1148 if buffer[position] != rune('ñ') { goto l1166 } position++ - goto l1147 + goto l1148 l1166: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ó') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ñ') { goto l1167 } position++ - goto l1147 + goto l1148 l1167: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ò') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ó') { goto l1168 } position++ - goto l1147 + goto l1148 l1168: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ô') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ò') { goto l1169 } position++ - goto l1147 + goto l1148 l1169: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ø') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ô') { goto l1170 } position++ - goto l1147 + goto l1148 l1170: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('õ') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ø') { goto l1171 } position++ - goto l1147 + goto l1148 l1171: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ö') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('õ') { goto l1172 } position++ - goto l1147 + goto l1148 l1172: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ú') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ö') { goto l1173 } position++ - goto l1147 + goto l1148 l1173: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('û') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ú') { goto l1174 } position++ - goto l1147 + goto l1148 l1174: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ù') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('û') { goto l1175 } position++ - goto l1147 + goto l1148 l1175: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ü') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ù') { goto l1176 } position++ - goto l1147 + goto l1148 l1176: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ŕ') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ü') { goto l1177 } position++ - goto l1147 + goto l1148 l1177: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ř') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ŕ') { goto l1178 } position++ - goto l1147 + goto l1148 l1178: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ŗ') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ř') { goto l1179 } position++ - goto l1147 + goto l1148 l1179: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ſ') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ŗ') { goto l1180 } position++ - goto l1147 + goto l1148 l1180: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('š') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ſ') { goto l1181 } position++ - goto l1147 + goto l1148 l1181: - position, tokenIndex = position1147, tokenIndex1147 + position, tokenIndex = position1148, tokenIndex1148 if buffer[position] != rune('š') { goto l1182 } position++ - goto l1147 + goto l1148 l1182: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ş') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('š') { goto l1183 } position++ - goto l1147 + goto l1148 l1183: - position, tokenIndex = position1147, tokenIndex1147 - if buffer[position] != rune('ß') { + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ş') { goto l1184 } position++ - goto l1147 + goto l1148 l1184: - position, tokenIndex = position1147, tokenIndex1147 + position, tokenIndex = position1148, tokenIndex1148 + if buffer[position] != rune('ß') { + goto l1185 + } + position++ + goto l1148 + l1185: + position, tokenIndex = position1148, tokenIndex1148 if buffer[position] != rune('ž') { - goto l1145 + goto l1146 } position++ } - l1147: - add(ruleLowerCharExtended, position1146) + l1148: + add(ruleLowerCharExtended, position1147) } return true - l1145: - position, tokenIndex = position1145, tokenIndex1145 + l1146: + position, tokenIndex = position1146, tokenIndex1146 return false }, /* 137 LowerChar <- */ func() bool { - position1185, tokenIndex1185 := position, tokenIndex + position1186, tokenIndex1186 := position, tokenIndex { - position1186 := position + position1187 := position if !_rules[ruleLowerASCII]() { - goto l1185 + goto l1186 } - add(ruleLowerChar, position1186) + add(ruleLowerChar, position1187) } return true - l1185: - position, tokenIndex = position1185, tokenIndex1185 + l1186: + position, tokenIndex = position1186, tokenIndex1186 return false }, /* 138 SpaceCharEOI <- <(_ / !.)> */ func() bool { - position1187, tokenIndex1187 := position, tokenIndex + position1188, tokenIndex1188 := position, tokenIndex { - position1188 := position + position1189 := position { - position1189, tokenIndex1189 := position, tokenIndex + position1190, tokenIndex1190 := position, tokenIndex if !_rules[rule_]() { - goto l1190 + goto l1191 } - goto l1189 - l1190: - position, tokenIndex = position1189, tokenIndex1189 + goto l1190 + l1191: + position, tokenIndex = position1190, tokenIndex1190 { - position1191, tokenIndex1191 := position, tokenIndex + position1192, tokenIndex1192 := position, tokenIndex if !matchDot() { - goto l1191 + goto l1192 } - goto l1187 - l1191: - position, tokenIndex = position1191, tokenIndex1191 + goto l1188 + l1192: + position, tokenIndex = position1192, tokenIndex1192 } } - l1189: - add(ruleSpaceCharEOI, position1188) + l1190: + add(ruleSpaceCharEOI, position1189) } return true - l1187: - position, tokenIndex = position1187, tokenIndex1187 + l1188: + position, tokenIndex = position1188, tokenIndex1188 return false }, /* 139 Nums <- <[0-9]> */ func() bool { - position1192, tokenIndex1192 := position, tokenIndex + position1193, tokenIndex1193 := position, tokenIndex { - position1193 := position + position1194 := position if c := buffer[position]; c < rune('0') || c > rune('9') { - goto l1192 + goto l1193 } position++ - add(ruleNums, position1193) + add(ruleNums, position1194) } return true - l1192: - position, tokenIndex = position1192, tokenIndex1192 + l1193: + position, tokenIndex = position1193, tokenIndex1193 return false }, /* 140 LowerGreek <- <[α-ω]> */ func() bool { - position1194, tokenIndex1194 := position, tokenIndex + position1195, tokenIndex1195 := position, tokenIndex { - position1195 := position + position1196 := position if c := buffer[position]; c < rune('α') || c > rune('ω') { - goto l1194 + goto l1195 } position++ - add(ruleLowerGreek, position1195) + add(ruleLowerGreek, position1196) } return true - l1194: - position, tokenIndex = position1194, tokenIndex1194 + l1195: + position, tokenIndex = position1195, tokenIndex1195 return false }, /* 141 LowerASCII <- <[a-z]> */ func() bool { - position1196, tokenIndex1196 := position, tokenIndex + position1197, tokenIndex1197 := position, tokenIndex { - position1197 := position + position1198 := position if c := buffer[position]; c < rune('a') || c > rune('z') { - goto l1196 + goto l1197 } position++ - add(ruleLowerASCII, position1197) + add(ruleLowerASCII, position1198) } return true - l1196: - position, tokenIndex = position1196, tokenIndex1196 + l1197: + position, tokenIndex = position1197, tokenIndex1197 return false }, /* 142 UpperASCII <- <[A-Z]> */ func() bool { - position1198, tokenIndex1198 := position, tokenIndex + position1199, tokenIndex1199 := position, tokenIndex { - position1199 := position + position1200 := position if c := buffer[position]; c < rune('A') || c > rune('Z') { - goto l1198 + goto l1199 } position++ - add(ruleUpperASCII, position1199) + add(ruleUpperASCII, position1200) } return true - l1198: - position, tokenIndex = position1198, tokenIndex1198 + l1199: + position, tokenIndex = position1199, tokenIndex1199 return false }, /* 143 Apostrophe <- <(ApostrOther / ApostrASCII)> */ func() bool { - position1200, tokenIndex1200 := position, tokenIndex + position1201, tokenIndex1201 := position, tokenIndex { - position1201 := position + position1202 := position { - position1202, tokenIndex1202 := position, tokenIndex + position1203, tokenIndex1203 := position, tokenIndex if !_rules[ruleApostrOther]() { - goto l1203 + goto l1204 } - goto l1202 - l1203: - position, tokenIndex = position1202, tokenIndex1202 + goto l1203 + l1204: + position, tokenIndex = position1203, tokenIndex1203 if !_rules[ruleApostrASCII]() { - goto l1200 + goto l1201 } } - l1202: - add(ruleApostrophe, position1201) + l1203: + add(ruleApostrophe, position1202) } return true - l1200: - position, tokenIndex = position1200, tokenIndex1200 + l1201: + position, tokenIndex = position1201, tokenIndex1201 return false }, /* 144 ApostrASCII <- <'\''> */ func() bool { - position1204, tokenIndex1204 := position, tokenIndex + position1205, tokenIndex1205 := position, tokenIndex { - position1205 := position + position1206 := position if buffer[position] != rune('\'') { - goto l1204 + goto l1205 } position++ - add(ruleApostrASCII, position1205) + add(ruleApostrASCII, position1206) } return true - l1204: - position, tokenIndex = position1204, tokenIndex1204 + l1205: + position, tokenIndex = position1205, tokenIndex1205 return false }, /* 145 ApostrOther <- <('‘' / '’' / '`' / '´')> */ func() bool { - position1206, tokenIndex1206 := position, tokenIndex + position1207, tokenIndex1207 := position, tokenIndex { - position1207 := position + position1208 := position { - position1208, tokenIndex1208 := position, tokenIndex + position1209, tokenIndex1209 := position, tokenIndex if buffer[position] != rune('‘') { - goto l1209 - } - position++ - goto l1208 - l1209: - position, tokenIndex = position1208, tokenIndex1208 - if buffer[position] != rune('’') { goto l1210 } position++ - goto l1208 + goto l1209 l1210: - position, tokenIndex = position1208, tokenIndex1208 - if buffer[position] != rune('`') { + position, tokenIndex = position1209, tokenIndex1209 + if buffer[position] != rune('’') { goto l1211 } position++ - goto l1208 + goto l1209 l1211: - position, tokenIndex = position1208, tokenIndex1208 + position, tokenIndex = position1209, tokenIndex1209 + if buffer[position] != rune('`') { + goto l1212 + } + position++ + goto l1209 + l1212: + position, tokenIndex = position1209, tokenIndex1209 if buffer[position] != rune('´') { - goto l1206 + goto l1207 } position++ } - l1208: - add(ruleApostrOther, position1207) + l1209: + add(ruleApostrOther, position1208) } return true - l1206: - position, tokenIndex = position1206, tokenIndex1206 + l1207: + position, tokenIndex = position1207, tokenIndex1207 return false }, /* 146 Dash <- <('-' / DashOther)> */ func() bool { - position1212, tokenIndex1212 := position, tokenIndex + position1213, tokenIndex1213 := position, tokenIndex { - position1213 := position + position1214 := position { - position1214, tokenIndex1214 := position, tokenIndex + position1215, tokenIndex1215 := position, tokenIndex if buffer[position] != rune('-') { - goto l1215 + goto l1216 } position++ - goto l1214 - l1215: - position, tokenIndex = position1214, tokenIndex1214 + goto l1215 + l1216: + position, tokenIndex = position1215, tokenIndex1215 if !_rules[ruleDashOther]() { - goto l1212 + goto l1213 } } - l1214: - add(ruleDash, position1213) + l1215: + add(ruleDash, position1214) } return true - l1212: - position, tokenIndex = position1212, tokenIndex1212 + l1213: + position, tokenIndex = position1213, tokenIndex1213 return false }, /* 147 DashOther <- <'‑'> */ func() bool { - position1216, tokenIndex1216 := position, tokenIndex + position1217, tokenIndex1217 := position, tokenIndex { - position1217 := position + position1218 := position if buffer[position] != rune('‑') { - goto l1216 + goto l1217 } position++ - add(ruleDashOther, position1217) + add(ruleDashOther, position1218) } return true - l1216: - position, tokenIndex = position1216, tokenIndex1216 + l1217: + position, tokenIndex = position1217, tokenIndex1217 return false }, /* 148 Slash <- <'/'> */ func() bool { - position1218, tokenIndex1218 := position, tokenIndex + position1219, tokenIndex1219 := position, tokenIndex { - position1219 := position + position1220 := position if buffer[position] != rune('/') { - goto l1218 + goto l1219 } position++ - add(ruleSlash, position1219) + add(ruleSlash, position1220) } return true - l1218: - position, tokenIndex = position1218, tokenIndex1218 + l1219: + position, tokenIndex = position1219, tokenIndex1219 return false }, /* 149 _ <- <(MultipleSpace / SingleSpace)> */ func() bool { - position1220, tokenIndex1220 := position, tokenIndex + position1221, tokenIndex1221 := position, tokenIndex { - position1221 := position + position1222 := position { - position1222, tokenIndex1222 := position, tokenIndex + position1223, tokenIndex1223 := position, tokenIndex if !_rules[ruleMultipleSpace]() { - goto l1223 + goto l1224 } - goto l1222 - l1223: - position, tokenIndex = position1222, tokenIndex1222 + goto l1223 + l1224: + position, tokenIndex = position1223, tokenIndex1223 if !_rules[ruleSingleSpace]() { - goto l1220 + goto l1221 } } - l1222: - add(rule_, position1221) + l1223: + add(rule_, position1222) } return true - l1220: - position, tokenIndex = position1220, tokenIndex1220 + l1221: + position, tokenIndex = position1221, tokenIndex1221 return false }, /* 150 MultipleSpace <- <(SingleSpace SingleSpace+)> */ func() bool { - position1224, tokenIndex1224 := position, tokenIndex + position1225, tokenIndex1225 := position, tokenIndex { - position1225 := position + position1226 := position if !_rules[ruleSingleSpace]() { - goto l1224 + goto l1225 } if !_rules[ruleSingleSpace]() { - goto l1224 + goto l1225 } - l1226: + l1227: { - position1227, tokenIndex1227 := position, tokenIndex + position1228, tokenIndex1228 := position, tokenIndex if !_rules[ruleSingleSpace]() { - goto l1227 + goto l1228 } - goto l1226 - l1227: - position, tokenIndex = position1227, tokenIndex1227 + goto l1227 + l1228: + position, tokenIndex = position1228, tokenIndex1228 } - add(ruleMultipleSpace, position1225) + add(ruleMultipleSpace, position1226) } return true - l1224: - position, tokenIndex = position1224, tokenIndex1224 + l1225: + position, tokenIndex = position1225, tokenIndex1225 return false }, /* 151 SingleSpace <- <(' ' / OtherSpace)> */ func() bool { - position1228, tokenIndex1228 := position, tokenIndex + position1229, tokenIndex1229 := position, tokenIndex { - position1229 := position + position1230 := position { - position1230, tokenIndex1230 := position, tokenIndex + position1231, tokenIndex1231 := position, tokenIndex if buffer[position] != rune(' ') { - goto l1231 + goto l1232 } position++ - goto l1230 - l1231: - position, tokenIndex = position1230, tokenIndex1230 + goto l1231 + l1232: + position, tokenIndex = position1231, tokenIndex1231 if !_rules[ruleOtherSpace]() { - goto l1228 + goto l1229 } } - l1230: - add(ruleSingleSpace, position1229) + l1231: + add(ruleSingleSpace, position1230) } return true - l1228: - position, tokenIndex = position1228, tokenIndex1228 + l1229: + position, tokenIndex = position1229, tokenIndex1229 return false }, /* 152 OtherSpace <- <('\u3000' / '\u00a0' / '\t' / '\r' / '\n' / '\f' / '\v')> */ func() bool { - position1232, tokenIndex1232 := position, tokenIndex + position1233, tokenIndex1233 := position, tokenIndex { - position1233 := position + position1234 := position { - position1234, tokenIndex1234 := position, tokenIndex + position1235, tokenIndex1235 := position, tokenIndex if buffer[position] != rune('\u3000') { - goto l1235 - } - position++ - goto l1234 - l1235: - position, tokenIndex = position1234, tokenIndex1234 - if buffer[position] != rune('\u00a0') { goto l1236 } position++ - goto l1234 + goto l1235 l1236: - position, tokenIndex = position1234, tokenIndex1234 - if buffer[position] != rune('\t') { + position, tokenIndex = position1235, tokenIndex1235 + if buffer[position] != rune('\u00a0') { goto l1237 } position++ - goto l1234 + goto l1235 l1237: - position, tokenIndex = position1234, tokenIndex1234 - if buffer[position] != rune('\r') { + position, tokenIndex = position1235, tokenIndex1235 + if buffer[position] != rune('\t') { goto l1238 } position++ - goto l1234 + goto l1235 l1238: - position, tokenIndex = position1234, tokenIndex1234 - if buffer[position] != rune('\n') { + position, tokenIndex = position1235, tokenIndex1235 + if buffer[position] != rune('\r') { goto l1239 } position++ - goto l1234 + goto l1235 l1239: - position, tokenIndex = position1234, tokenIndex1234 - if buffer[position] != rune('\f') { + position, tokenIndex = position1235, tokenIndex1235 + if buffer[position] != rune('\n') { goto l1240 } position++ - goto l1234 + goto l1235 l1240: - position, tokenIndex = position1234, tokenIndex1234 + position, tokenIndex = position1235, tokenIndex1235 + if buffer[position] != rune('\f') { + goto l1241 + } + position++ + goto l1235 + l1241: + position, tokenIndex = position1235, tokenIndex1235 if buffer[position] != rune('\v') { - goto l1232 + goto l1233 } position++ } - l1234: - add(ruleOtherSpace, position1233) + l1235: + add(ruleOtherSpace, position1234) } return true - l1232: - position, tokenIndex = position1232, tokenIndex1232 + l1233: + position, tokenIndex = position1233, tokenIndex1233 return false }, /* 153 END <- */ func() bool { - position1241, tokenIndex1241 := position, tokenIndex + position1242, tokenIndex1242 := position, tokenIndex { - position1242 := position + position1243 := position { - position1243, tokenIndex1243 := position, tokenIndex + position1244, tokenIndex1244 := position, tokenIndex if !matchDot() { - goto l1243 + goto l1244 } - goto l1241 - l1243: - position, tokenIndex = position1243, tokenIndex1243 + goto l1242 + l1244: + position, tokenIndex = position1244, tokenIndex1244 } - add(ruleEND, position1242) + add(ruleEND, position1243) } return true - l1241: - position, tokenIndex = position1241, tokenIndex1241 + l1242: + position, tokenIndex = position1242, tokenIndex1242 return false }, } diff --git a/gnparser_test.go b/gnparser_test.go index 0976364..2ffb4bb 100644 --- a/gnparser_test.go +++ b/gnparser_test.go @@ -169,15 +169,15 @@ func Example() { cfg := gnparser.NewConfig() gnp := gnparser.New(cfg) res := gnp.ParseNames(names) - fmt.Println(res[0].Authorship.Normalized) + fmt.Println(res[0].Authorship.Verbatim) fmt.Println(res[1].Canonical.Simple) fmt.Println(parsed.HeaderCSV(gnp.Format())) fmt.Println(res[0].Output(gnp.Format())) // Output: - // Banks 1892 + // Banks, 1892 // Bubo bubo // Id,Verbatim,Cardinality,CanonicalStem,CanonicalSimple,CanonicalFull,Authorship,Year,Quality - // e2fdf10b-6a36-5cc7-b6ca-be4d3b34b21f,"Pardosa moesta Banks, 1892",2,Pardosa moest,Pardosa moesta,Pardosa moesta,Banks 1892,1892,1 + // e2fdf10b-6a36-5cc7-b6ca-be4d3b34b21f,"Pardosa moesta Banks, 1892",2,Pardosa moest,Pardosa moesta,Pardosa moesta,"Banks, 1892",1892,1 } // BenchmarkParse checks parsing event speed. Run it with: diff --git a/testdata/test_data.md b/testdata/test_data.md index 0335eaa..4e66f24 100644 --- a/testdata/test_data.md +++ b/testdata/test_data.md @@ -929,6 +929,16 @@ Authorship: ### Binomials with authorship +Name: Cymatium raderi D’Attilio & Myers, 1984 + +Canonical form: Cymatium raderi + +Authorship: D’Attilio & Myers, 1984 + +```json +{"parsed":true,"quality":3,"qualityWarnings":[{"quality":3,"warning":"Not an ASCII apostrophe"}],"verbatim":"Cymatium raderi D’Attilio \u0026 Myers, 1984","normalized":"Cymatium raderi D'Attilio \u0026 Myers 1984","canonical":{"stemmed":"Cymatium rader","simple":"Cymatium raderi","full":"Cymatium raderi"},"cardinality":2,"authorship":{"verbatim":"D’Attilio \u0026 Myers, 1984","normalized":"D'Attilio \u0026 Myers 1984","year":"1984","authors":["D'Attilio","Myers"],"originalAuth":{"authors":["D'Attilio","Myers"],"year":{"year":"1984"}}},"details":{"species":{"genus":"Cymatium","species":"raderi","authorship":{"verbatim":"D’Attilio \u0026 Myers, 1984","normalized":"D'Attilio \u0026 Myers 1984","year":"1984","authors":["D'Attilio","Myers"],"originalAuth":{"authors":["D'Attilio","Myers"],"year":{"year":"1984"}}}}},"words":[{"verbatim":"Cymatium","normalized":"Cymatium","wordType":"GENUS","start":0,"end":8},{"verbatim":"raderi","normalized":"raderi","wordType":"SPECIES","start":9,"end":15},{"verbatim":"D’Attilio","normalized":"D'Attilio","wordType":"AUTHOR_WORD","start":16,"end":25},{"verbatim":"Myers","normalized":"Myers","wordType":"AUTHOR_WORD","start":28,"end":33},{"verbatim":"1984","normalized":"1984","wordType":"YEAR","start":35,"end":39}],"id":"b3a9e67a-58b7-5aed-a74c-1f2b57b015d0","parserVersion":"test_version"} +``` + Name: Melania testudinaria Von dem Busch, 1842 Canonical: Melania testudinaria @@ -3770,7 +3780,7 @@ Canonical: Littorina littorea f. major Authorship: (Linnaeus 1758) -```json +(Linnaeus 1758)```json {"parsed":true,"quality":1,"verbatim":"Littorina (Littorina) littorea fa major (Linnaeus, 1758)","normalized":"Littorina (Littorina) littorea f. major (Linnaeus 1758)","canonical":{"stemmed":"Littorina littore maior","simple":"Littorina littorea major","full":"Littorina littorea f. major"},"cardinality":3,"authorship":{"verbatim":"(Linnaeus, 1758)","normalized":"(Linnaeus 1758)","year":"1758","authors":["Linnaeus"],"originalAuth":{"authors":["Linnaeus"],"year":{"year":"1758"}}},"details":{"infraspecies":{"genus":"Littorina","subgenus":"Littorina","species":"littorea","infraspecies":[{"value":"major","rank":"f.","authorship":{"verbatim":"(Linnaeus, 1758)","normalized":"(Linnaeus 1758)","year":"1758","authors":["Linnaeus"],"originalAuth":{"authors":["Linnaeus"],"year":{"year":"1758"}}}}]}},"words":[{"verbatim":"Littorina","normalized":"Littorina","wordType":"GENUS","start":0,"end":9},{"verbatim":"Littorina","normalized":"Littorina","wordType":"INFRA_GENUS","start":11,"end":20},{"verbatim":"littorea","normalized":"littorea","wordType":"SPECIES","start":22,"end":30},{"verbatim":"fa","normalized":"f.","wordType":"RANK","start":31,"end":33},{"verbatim":"major","normalized":"major","wordType":"INFRASPECIES","start":34,"end":39},{"verbatim":"Linnaeus","normalized":"Linnaeus","wordType":"AUTHOR_WORD","start":41,"end":49},{"verbatim":"1758","normalized":"1758","wordType":"YEAR","start":51,"end":55}],"id":"fcd777b2-d8c9-5fe5-9883-ed0affa4a0e2","parserVersion":"test_version"} ``` @@ -4582,7 +4592,7 @@ Canonical: Liopropoma Authorship: ```json -{"parsed":true,"quality":4,"qualityWarnings":[{"quality":4,"warning":"Name is approximate"}],"verbatim":"Liopropoma sp.2 Not applicable","normalized":"Liopropoma","canonical":{"stemmed":"Liopropoma","simple":"Liopropoma","full":"Liopropoma"},"cardinality":0,"surrogate":"APPROXIMATION","details":{"approximation":{"genus":"Liopropoma","approximationMarker":"sp.","ignored":"2 Not applicable"}},"words":[{"verbatim":"Liopropoma","normalized":"Liopropoma","wordType":"GENUS","start":0,"end":10},{"verbatim":"sp.","normalized":"sp.","wordType":"APPROXIMATION_MARKER","start":11,"end":14}],"id":"fb3779a4-57a0-5628-8c4e-e341ca4f952d","parserVersion":"test_version"} +{"parsed":true,"quality":4,"qualityWarnings":[{"quality":4,"warning":"Name is approximate"},{"quality":4,"warning":"Unparsed tail"}],"verbatim":"Liopropoma sp.2 Not applicable","normalized":"Liopropoma","canonical":{"stemmed":"Liopropoma","simple":"Liopropoma","full":"Liopropoma"},"cardinality":0,"surrogate":"APPROXIMATION","tail":" Not applicable","details":{"approximation":{"genus":"Liopropoma","approximationMarker":"sp.","ignored":"2"}},"words":[{"verbatim":"Liopropoma","normalized":"Liopropoma","wordType":"GENUS","start":0,"end":10},{"verbatim":"sp.","normalized":"sp.","wordType":"APPROXIMATION_MARKER","start":11,"end":14}],"id":"fb3779a4-57a0-5628-8c4e-e341ca4f952d","parserVersion":"test_version"} ``` Name: Lacanobia sp. nr. subjuncta Bold:Aab, 0925 @@ -6724,6 +6734,35 @@ Authorship: ### Misc annotations +Name: Feldmannia species + +Canonical: Feldmannia + +Authorship: + +```json +{"parsed":true,"quality":4,"qualityWarnings":[{"quality":4,"warning":"Unparsed tail"}],"verbatim":"Feldmannia species","normalized":"Feldmannia","canonical":{"stemmed":"Feldmannia","simple":"Feldmannia","full":"Feldmannia"},"cardinality":1,"tail":" species","details":{"uninomial":{"uninomial":"Feldmannia"}},"words":[{"verbatim":"Feldmannia","normalized":"Feldmannia","wordType":"UNINOMIAL","start":0,"end":10}],"id":"55474a4d-2fc1-5417-8fac-06485167c33e","parserVersion":"test_version"} +``` + +Name: Periglypta G. Paulay, MS + +Canonical: Periglypta + +Authorship: G. Paulay + +```json +{"parsed":true,"quality":4,"qualityWarnings":[{"quality":4,"warning":"Unparsed tail"}],"verbatim":"Periglypta G. Paulay, MS","normalized":"Periglypta G. Paulay","canonical":{"stemmed":"Periglypta","simple":"Periglypta","full":"Periglypta"},"cardinality":1,"authorship":{"verbatim":"G. Paulay","normalized":"G. Paulay","authors":["G. Paulay"],"originalAuth":{"authors":["G. Paulay"]}},"tail":", MS","details":{"uninomial":{"uninomial":"Periglypta","authorship":{"verbatim":"G. Paulay","normalized":"G. Paulay","authors":["G. Paulay"],"originalAuth":{"authors":["G. Paulay"]}}}},"words":[{"verbatim":"Periglypta","normalized":"Periglypta","wordType":"UNINOMIAL","start":0,"end":10},{"verbatim":"G.","normalized":"G.","wordType":"AUTHOR_WORD","start":11,"end":13},{"verbatim":"Paulay","normalized":"Paulay","wordType":"AUTHOR_WORD","start":14,"end":20}],"id":"6da4ccdf-99c9-5cef-ae1c-a2d332a9c476","parserVersion":"test_version"} +``` + +Name: Teredo not found + +Canonical: Teredo + +Authorship: + +```json +{"parsed":true,"quality":4,"qualityWarnings":[{"quality":4,"warning":"Unparsed tail"}],"verbatim":"Teredo not found","normalized":"Teredo","canonical":{"stemmed":"Teredo","simple":"Teredo","full":"Teredo"},"cardinality":1,"tail":" not found","details":{"uninomial":{"uninomial":"Teredo"}},"words":[{"verbatim":"Teredo","normalized":"Teredo","wordType":"UNINOMIAL","start":0,"end":6}],"id":"81d633f5-1f21-53ca-bbd0-92e436f440d1","parserVersion":"test_version"} +``` Name: Velutina haliotoides (Linnaeus, 1758), sensu Fabricius, 1780 Canonical: Velutina haliotoides @@ -6784,6 +6823,16 @@ Authorship: {"parsed":true,"quality":4,"qualityWarnings":[{"quality":4,"warning":"Unparsed tail"}],"verbatim":"Crenarchaeote enrichment culture clone OREC-B1022","normalized":"Crenarchaeote","canonical":{"stemmed":"Crenarchaeote","simple":"Crenarchaeote","full":"Crenarchaeote"},"cardinality":1,"tail":" enrichment culture clone OREC-B1022","details":{"uninomial":{"uninomial":"Crenarchaeote"}},"words":[{"verbatim":"Crenarchaeote","normalized":"Crenarchaeote","wordType":"UNINOMIAL","start":0,"end":13}],"id":"f16c9aa3-f749-5025-b9cb-2dcfc6d7629b","parserVersion":"test_version"} ``` +Name: Diodora dorsata CF + +Canonical: + +Authorship: + +```json +{"parsed":true,"quality":4,"qualityWarnings":[{"quality":4,"warning":"Unparsed tail"}],"verbatim":"Diodora dorsata CF","normalized":"Diodora dorsata","canonical":{"stemmed":"Diodora dorsat","simple":"Diodora dorsata","full":"Diodora dorsata"},"cardinality":2,"tail":" CF","details":{"species":{"genus":"Diodora","species":"dorsata"}},"words":[{"verbatim":"Diodora","normalized":"Diodora","wordType":"GENUS","start":0,"end":7},{"verbatim":"dorsata","normalized":"dorsata","wordType":"SPECIES","start":8,"end":15}],"id":"d3991dd5-f6c2-54aa-94e1-419fb560e703","parserVersion":"test_version"} +``` + Name: Dasysyrphus intrudens complex sp. BBDCQ003-10 Canonical: Dasysyrphus intrudens