/* camxes.js Copyright (c) 2013, 2014 Masato Hagiwara https://github.com/mhagiwara/camxes.js camxes.js can be used, modified, and re-distributed under MIT license. See LICENSE for the details. */ var camxes = (function(){ /* * Generated by PEG.js 0.7.0. * * http://pegjs.majda.cz/ */ function quote(s) { /* * ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a * string literal except for the closing quote character, backslash, * carriage return, line separator, paragraph separator, and line feed. * Any character may appear in the form of an escape sequence. * * For portability, we also escape escape all control and non-ASCII * characters. Note that "\0" and "\v" escape sequences are not used * because JSHint does not like the first and IE the second. */ return '"' + s .replace(/\\/g, '\\\\') // backslash .replace(/"/g, '\\"') // closing quote character .replace(/\x08/g, '\\b') // backspace .replace(/\t/g, '\\t') // horizontal tab .replace(/\n/g, '\\n') // line feed .replace(/\f/g, '\\f') // form feed .replace(/\r/g, '\\r') // carriage return .replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g, escape) + '"'; } var result = { /* * Parses the input with a generated parser. If the parsing is successfull, * returns a value explicitly or implicitly specified by the grammar from * which the parser was generated (see |PEG.buildParser|). If the parsing is * unsuccessful, throws |PEG.parser.SyntaxError| describing the error. */ parse: function(input, startRule) { var parseFunctions = { "text": parse_text, "intro_null": parse_intro_null, "text_part_2": parse_text_part_2, "intro_si_clause": parse_intro_si_clause, "faho_clause": parse_faho_clause, "text_1": parse_text_1, "paragraphs": parse_paragraphs, "paragraph": parse_paragraph, "statement": parse_statement, "statement_1": parse_statement_1, "statement_2": parse_statement_2, "statement_3": parse_statement_3, "fragment": parse_fragment, "prenex": parse_prenex, "sentence": parse_sentence, "sentence_sa": parse_sentence_sa, "sentence_start": parse_sentence_start, "subsentence": parse_subsentence, "bridi_tail": parse_bridi_tail, "bridi_tail_sa": parse_bridi_tail_sa, "bridi_tail_start": parse_bridi_tail_start, "bridi_tail_1": parse_bridi_tail_1, "bridi_tail_2": parse_bridi_tail_2, "bridi_tail_3": parse_bridi_tail_3, "gek_sentence": parse_gek_sentence, "tail_terms": parse_tail_terms, "terms": parse_terms, "terms_1": parse_terms_1, "terms_2": parse_terms_2, "pehe_sa": parse_pehe_sa, "cehe_sa": parse_cehe_sa, "term": parse_term, "term_1": parse_term_1, "term_sa": parse_term_sa, "term_start": parse_term_start, "termset": parse_termset, "gek_termset": parse_gek_termset, "terms_gik_terms": parse_terms_gik_terms, "sumti": parse_sumti, "sumti_1": parse_sumti_1, "sumti_2": parse_sumti_2, "sumti_3": parse_sumti_3, "sumti_4": parse_sumti_4, "sumti_5": parse_sumti_5, "sumti_6": parse_sumti_6, "li_clause": parse_li_clause, "sumti_tail": parse_sumti_tail, "sumti_tail_1": parse_sumti_tail_1, "relative_clauses": parse_relative_clauses, "relative_clause": parse_relative_clause, "relative_clause_sa": parse_relative_clause_sa, "relative_clause_1": parse_relative_clause_1, "relative_clause_start": parse_relative_clause_start, "selbri": parse_selbri, "selbri_1": parse_selbri_1, "selbri_2": parse_selbri_2, "selbri_3": parse_selbri_3, "selbri_4": parse_selbri_4, "selbri_5": parse_selbri_5, "selbri_6": parse_selbri_6, "tanru_unit": parse_tanru_unit, "tanru_unit_1": parse_tanru_unit_1, "tanru_unit_2": parse_tanru_unit_2, "linkargs": parse_linkargs, "linkargs_1": parse_linkargs_1, "linkargs_sa": parse_linkargs_sa, "linkargs_start": parse_linkargs_start, "links": parse_links, "links_1": parse_links_1, "links_sa": parse_links_sa, "links_start": parse_links_start, "quantifier": parse_quantifier, "mex": parse_mex, "mex_0": parse_mex_0, "mex_sa": parse_mex_sa, "mex_start": parse_mex_start, "rp_clause": parse_rp_clause, "mex_1": parse_mex_1, "mex_2": parse_mex_2, "mex_forethought": parse_mex_forethought, "fore_operands": parse_fore_operands, "rp_expression": parse_rp_expression, "rp_expression_tail": parse_rp_expression_tail, "operator": parse_operator, "operator_0": parse_operator_0, "operator_sa": parse_operator_sa, "operator_start": parse_operator_start, "operator_1": parse_operator_1, "operator_2": parse_operator_2, "mex_operator": parse_mex_operator, "operand": parse_operand, "operand_0": parse_operand_0, "operand_sa": parse_operand_sa, "operand_start": parse_operand_start, "operand_1": parse_operand_1, "operand_2": parse_operand_2, "operand_3": parse_operand_3, "number": parse_number, "lerfu_string": parse_lerfu_string, "lerfu_word": parse_lerfu_word, "ek": parse_ek, "gihek": parse_gihek, "gihek_1": parse_gihek_1, "gihek_sa": parse_gihek_sa, "jek": parse_jek, "joik": parse_joik, "interval": parse_interval, "joik_ek": parse_joik_ek, "joik_ek_1": parse_joik_ek_1, "joik_ek_sa": parse_joik_ek_sa, "joik_jek": parse_joik_jek, "gek": parse_gek, "guhek": parse_guhek, "gik": parse_gik, "tag": parse_tag, "stag": parse_stag, "tense_modal": parse_tense_modal, "simple_tense_modal": parse_simple_tense_modal, "time": parse_time, "time_offset": parse_time_offset, "space": parse_space, "space_offset": parse_space_offset, "space_interval": parse_space_interval, "space_int_props": parse_space_int_props, "interval_property": parse_interval_property, "free": parse_free, "xi_clause": parse_xi_clause, "vocative": parse_vocative, "indicators": parse_indicators, "indicator": parse_indicator, "zei_clause": parse_zei_clause, "zei_clause_no_pre": parse_zei_clause_no_pre, "bu_clause": parse_bu_clause, "bu_clause_no_pre": parse_bu_clause_no_pre, "zei_tail": parse_zei_tail, "bu_tail": parse_bu_tail, "pre_zei_bu": parse_pre_zei_bu, "dot_star": parse_dot_star, "post_clause": parse_post_clause, "pre_clause": parse_pre_clause, "any_word_SA_handling": parse_any_word_SA_handling, "known_cmavo_SA": parse_known_cmavo_SA, "su_clause": parse_su_clause, "si_clause": parse_si_clause, "erasable_clause": parse_erasable_clause, "su_word": parse_su_word, "BRIVLA_clause": parse_BRIVLA_clause, "BRIVLA_pre": parse_BRIVLA_pre, "CMENE_clause": parse_CMENE_clause, "CMENE_pre": parse_CMENE_pre, "CMAVO_clause": parse_CMAVO_clause, "CMAVO_pre": parse_CMAVO_pre, "A_clause": parse_A_clause, "A_pre": parse_A_pre, "BAI_clause": parse_BAI_clause, "BAI_pre": parse_BAI_pre, "BAhE_clause": parse_BAhE_clause, "BAhE_pre": parse_BAhE_pre, "BAhE_post": parse_BAhE_post, "BE_clause": parse_BE_clause, "BE_pre": parse_BE_pre, "BEI_clause": parse_BEI_clause, "BEI_pre": parse_BEI_pre, "BEhO_clause": parse_BEhO_clause, "BEhO_pre": parse_BEhO_pre, "BIhE_clause": parse_BIhE_clause, "BIhE_pre": parse_BIhE_pre, "BIhI_clause": parse_BIhI_clause, "BIhI_pre": parse_BIhI_pre, "BO_clause": parse_BO_clause, "BO_pre": parse_BO_pre, "BOI_clause": parse_BOI_clause, "BOI_pre": parse_BOI_pre, "BU_clause": parse_BU_clause, "BU_pre": parse_BU_pre, "BU_post": parse_BU_post, "BY_clause": parse_BY_clause, "BY_pre": parse_BY_pre, "CAhA_clause": parse_CAhA_clause, "CAhA_pre": parse_CAhA_pre, "CAI_clause": parse_CAI_clause, "CAI_pre": parse_CAI_pre, "CEI_clause": parse_CEI_clause, "CEI_pre": parse_CEI_pre, "CEhE_clause": parse_CEhE_clause, "CEhE_pre": parse_CEhE_pre, "CO_clause": parse_CO_clause, "CO_pre": parse_CO_pre, "COI_clause": parse_COI_clause, "COI_pre": parse_COI_pre, "CU_clause": parse_CU_clause, "CU_pre": parse_CU_pre, "CUhE_clause": parse_CUhE_clause, "CUhE_pre": parse_CUhE_pre, "DAhO_clause": parse_DAhO_clause, "DAhO_pre": parse_DAhO_pre, "DOI_clause": parse_DOI_clause, "DOI_pre": parse_DOI_pre, "DOhU_clause": parse_DOhU_clause, "DOhU_pre": parse_DOhU_pre, "FA_clause": parse_FA_clause, "FA_pre": parse_FA_pre, "FAhA_clause": parse_FAhA_clause, "FAhA_pre": parse_FAhA_pre, "FAhO_clause": parse_FAhO_clause, "FEhE_clause": parse_FEhE_clause, "FEhE_pre": parse_FEhE_pre, "FEhU_clause": parse_FEhU_clause, "FEhU_pre": parse_FEhU_pre, "FIhO_clause": parse_FIhO_clause, "FIhO_pre": parse_FIhO_pre, "FOI_clause": parse_FOI_clause, "FOI_pre": parse_FOI_pre, "FUhA_clause": parse_FUhA_clause, "FUhA_pre": parse_FUhA_pre, "FUhE_clause": parse_FUhE_clause, "FUhE_pre": parse_FUhE_pre, "FUhE_post": parse_FUhE_post, "FUhO_clause": parse_FUhO_clause, "FUhO_pre": parse_FUhO_pre, "GA_clause": parse_GA_clause, "GA_pre": parse_GA_pre, "GAhO_clause": parse_GAhO_clause, "GAhO_pre": parse_GAhO_pre, "GEhU_clause": parse_GEhU_clause, "GEhU_pre": parse_GEhU_pre, "GI_clause": parse_GI_clause, "GI_pre": parse_GI_pre, "GIhA_clause": parse_GIhA_clause, "GIhA_pre": parse_GIhA_pre, "GOI_clause": parse_GOI_clause, "GOI_pre": parse_GOI_pre, "GOhA_clause": parse_GOhA_clause, "GOhA_pre": parse_GOhA_pre, "GUhA_clause": parse_GUhA_clause, "GUhA_pre": parse_GUhA_pre, "I_clause": parse_I_clause, "I_pre": parse_I_pre, "JA_clause": parse_JA_clause, "JA_pre": parse_JA_pre, "JAI_clause": parse_JAI_clause, "JAI_pre": parse_JAI_pre, "JOhI_clause": parse_JOhI_clause, "JOhI_pre": parse_JOhI_pre, "JOI_clause": parse_JOI_clause, "JOI_pre": parse_JOI_pre, "KE_clause": parse_KE_clause, "KE_pre": parse_KE_pre, "KEhE_clause": parse_KEhE_clause, "KEhE_pre": parse_KEhE_pre, "KEI_clause": parse_KEI_clause, "KEI_pre": parse_KEI_pre, "KEI_no_SA_handling": parse_KEI_no_SA_handling, "KI_clause": parse_KI_clause, "KI_pre": parse_KI_pre, "KOhA_clause": parse_KOhA_clause, "KOhA_pre": parse_KOhA_pre, "KU_clause": parse_KU_clause, "KU_pre": parse_KU_pre, "KUhE_clause": parse_KUhE_clause, "KUhE_pre": parse_KUhE_pre, "KUhO_clause": parse_KUhO_clause, "KUhO_pre": parse_KUhO_pre, "LA_clause": parse_LA_clause, "LA_pre": parse_LA_pre, "LAU_clause": parse_LAU_clause, "LAU_pre": parse_LAU_pre, "LAhE_clause": parse_LAhE_clause, "LAhE_pre": parse_LAhE_pre, "LE_clause": parse_LE_clause, "LE_pre": parse_LE_pre, "LEhU_clause": parse_LEhU_clause, "LEhU_pre": parse_LEhU_pre, "LEhU_post": parse_LEhU_post, "LI_clause": parse_LI_clause, "LI_pre": parse_LI_pre, "LIhU_clause": parse_LIhU_clause, "LIhU_pre": parse_LIhU_pre, "LOhO_clause": parse_LOhO_clause, "LOhO_pre": parse_LOhO_pre, "LOhU_clause": parse_LOhU_clause, "LOhU_pre": parse_LOhU_pre, "LU_clause": parse_LU_clause, "LU_pre": parse_LU_pre, "LUhU_clause": parse_LUhU_clause, "LUhU_pre": parse_LUhU_pre, "MAhO_clause": parse_MAhO_clause, "MAhO_pre": parse_MAhO_pre, "MAI_clause": parse_MAI_clause, "MAI_pre": parse_MAI_pre, "ME_clause": parse_ME_clause, "ME_pre": parse_ME_pre, "MEhU_clause": parse_MEhU_clause, "MEhU_pre": parse_MEhU_pre, "MOhE_clause": parse_MOhE_clause, "MOhE_pre": parse_MOhE_pre, "MOhI_clause": parse_MOhI_clause, "MOhI_pre": parse_MOhI_pre, "MOI_clause": parse_MOI_clause, "MOI_pre": parse_MOI_pre, "NA_clause": parse_NA_clause, "NA_pre": parse_NA_pre, "NAI_clause": parse_NAI_clause, "NAI_pre": parse_NAI_pre, "NAhE_clause": parse_NAhE_clause, "NAhE_pre": parse_NAhE_pre, "NAhU_clause": parse_NAhU_clause, "NAhU_pre": parse_NAhU_pre, "NIhE_clause": parse_NIhE_clause, "NIhE_pre": parse_NIhE_pre, "NIhO_clause": parse_NIhO_clause, "NIhO_pre": parse_NIhO_pre, "NIhO_post": parse_NIhO_post, "NOI_clause": parse_NOI_clause, "NOI_pre": parse_NOI_pre, "NU_clause": parse_NU_clause, "NU_pre": parse_NU_pre, "NUhA_clause": parse_NUhA_clause, "NUhA_pre": parse_NUhA_pre, "NUhI_clause": parse_NUhI_clause, "NUhI_pre": parse_NUhI_pre, "NUhU_clause": parse_NUhU_clause, "NUhU_pre": parse_NUhU_pre, "PA_clause": parse_PA_clause, "PA_pre": parse_PA_pre, "PEhE_clause": parse_PEhE_clause, "PEhE_pre": parse_PEhE_pre, "PEhO_clause": parse_PEhO_clause, "PEhO_pre": parse_PEhO_pre, "PU_clause": parse_PU_clause, "PU_pre": parse_PU_pre, "RAhO_clause": parse_RAhO_clause, "RAhO_pre": parse_RAhO_pre, "ROI_clause": parse_ROI_clause, "ROI_pre": parse_ROI_pre, "SA_clause": parse_SA_clause, "SA_pre": parse_SA_pre, "SA_post": parse_SA_post, "SE_clause": parse_SE_clause, "SE_pre": parse_SE_pre, "SEI_clause": parse_SEI_clause, "SEI_pre": parse_SEI_pre, "SEhU_clause": parse_SEhU_clause, "SEhU_pre": parse_SEhU_pre, "SI_clause": parse_SI_clause, "SOI_clause": parse_SOI_clause, "SOI_pre": parse_SOI_pre, "SU_clause": parse_SU_clause, "SU_pre": parse_SU_pre, "TAhE_clause": parse_TAhE_clause, "TAhE_pre": parse_TAhE_pre, "TEhU_clause": parse_TEhU_clause, "TEhU_pre": parse_TEhU_pre, "TEI_clause": parse_TEI_clause, "TEI_pre": parse_TEI_pre, "TO_clause": parse_TO_clause, "TO_pre": parse_TO_pre, "TOI_clause": parse_TOI_clause, "TOI_pre": parse_TOI_pre, "TUhE_clause": parse_TUhE_clause, "TUhE_pre": parse_TUhE_pre, "TUhE_post": parse_TUhE_post, "TUhU_clause": parse_TUhU_clause, "TUhU_pre": parse_TUhU_pre, "UI_clause": parse_UI_clause, "UI_pre": parse_UI_pre, "VA_clause": parse_VA_clause, "VA_pre": parse_VA_pre, "VAU_clause": parse_VAU_clause, "VAU_pre": parse_VAU_pre, "VEI_clause": parse_VEI_clause, "VEI_pre": parse_VEI_pre, "VEhO_clause": parse_VEhO_clause, "VEhO_pre": parse_VEhO_pre, "VUhU_clause": parse_VUhU_clause, "VUhU_pre": parse_VUhU_pre, "VEhA_clause": parse_VEhA_clause, "VEhA_pre": parse_VEhA_pre, "VIhA_clause": parse_VIhA_clause, "VIhA_pre": parse_VIhA_pre, "VUhO_clause": parse_VUhO_clause, "VUhO_pre": parse_VUhO_pre, "XI_clause": parse_XI_clause, "XI_pre": parse_XI_pre, "ZAhO_clause": parse_ZAhO_clause, "ZAhO_pre": parse_ZAhO_pre, "ZEhA_clause": parse_ZEhA_clause, "ZEhA_pre": parse_ZEhA_pre, "ZEI_clause": parse_ZEI_clause, "ZEI_pre": parse_ZEI_pre, "ZEI_post": parse_ZEI_post, "ZI_clause": parse_ZI_clause, "ZI_pre": parse_ZI_pre, "ZIhE_clause": parse_ZIhE_clause, "ZIhE_pre": parse_ZIhE_pre, "ZO_clause": parse_ZO_clause, "ZO_pre": parse_ZO_pre, "ZOI_clause": parse_ZOI_clause, "ZOI_pre": parse_ZOI_pre, "ZOhU_clause": parse_ZOhU_clause, "ZOhU_pre": parse_ZOhU_pre, "CMENE": parse_CMENE, "BRIVLA": parse_BRIVLA, "gismu_2": parse_gismu_2, "CMAVO": parse_CMAVO, "lojban_word": parse_lojban_word, "any_word": parse_any_word, "cmene": parse_cmene, "consonant_final": parse_consonant_final, "cmavo": parse_cmavo, "CVCy_lujvo": parse_CVCy_lujvo, "cmavo_form": parse_cmavo_form, "brivla": parse_brivla, "brivla_core": parse_brivla_core, "stressed_initial_rafsi": parse_stressed_initial_rafsi, "initial_rafsi": parse_initial_rafsi, "any_extended_rafsi": parse_any_extended_rafsi, "fuhivla": parse_fuhivla, "stressed_extended_rafsi": parse_stressed_extended_rafsi, "extended_rafsi": parse_extended_rafsi, "stressed_brivla_rafsi": parse_stressed_brivla_rafsi, "brivla_rafsi": parse_brivla_rafsi, "stressed_fuhivla_rafsi": parse_stressed_fuhivla_rafsi, "fuhivla_rafsi": parse_fuhivla_rafsi, "fuhivla_head": parse_fuhivla_head, "brivla_head": parse_brivla_head, "slinkuhi": parse_slinkuhi, "rafsi_string": parse_rafsi_string, "gismu": parse_gismu, "CVV_final_rafsi": parse_CVV_final_rafsi, "short_final_rafsi": parse_short_final_rafsi, "stressed_y_rafsi": parse_stressed_y_rafsi, "stressed_y_less_rafsi": parse_stressed_y_less_rafsi, "stressed_long_rafsi": parse_stressed_long_rafsi, "stressed_CVC_rafsi": parse_stressed_CVC_rafsi, "stressed_CCV_rafsi": parse_stressed_CCV_rafsi, "stressed_CVV_rafsi": parse_stressed_CVV_rafsi, "y_rafsi": parse_y_rafsi, "y_less_rafsi": parse_y_less_rafsi, "long_rafsi": parse_long_rafsi, "CVC_rafsi": parse_CVC_rafsi, "CCV_rafsi": parse_CCV_rafsi, "CVV_rafsi": parse_CVV_rafsi, "r_hyphen": parse_r_hyphen, "final_syllable": parse_final_syllable, "stressed_syllable": parse_stressed_syllable, "stressed_diphthong": parse_stressed_diphthong, "stressed_vowel": parse_stressed_vowel, "unstressed_syllable": parse_unstressed_syllable, "unstressed_diphthong": parse_unstressed_diphthong, "unstressed_vowel": parse_unstressed_vowel, "stress": parse_stress, "stressed": parse_stressed, "any_syllable": parse_any_syllable, "syllable": parse_syllable, "consonantal_syllable": parse_consonantal_syllable, "coda": parse_coda, "onset": parse_onset, "nucleus": parse_nucleus, "glide": parse_glide, "diphthong": parse_diphthong, "vowel": parse_vowel, "a": parse_a, "e": parse_e, "i": parse_i, "o": parse_o, "u": parse_u, "y": parse_y, "cluster": parse_cluster, "initial_pair": parse_initial_pair, "initial": parse_initial, "affricate": parse_affricate, "liquid": parse_liquid, "other": parse_other, "sibilant": parse_sibilant, "consonant": parse_consonant, "syllabic": parse_syllabic, "voiced": parse_voiced, "unvoiced": parse_unvoiced, "l": parse_l, "m": parse_m, "n": parse_n, "r": parse_r, "b": parse_b, "d": parse_d, "g": parse_g, "v": parse_v, "j": parse_j, "z": parse_z, "s": parse_s, "c": parse_c, "x": parse_x, "k": parse_k, "f": parse_f, "p": parse_p, "t": parse_t, "h": parse_h, "digit": parse_digit, "post_word": parse_post_word, "pause": parse_pause, "EOF": parse_EOF, "comma": parse_comma, "non_lojban_word": parse_non_lojban_word, "non_space": parse_non_space, "space_char": parse_space_char, "spaces": parse_spaces, "initial_spaces": parse_initial_spaces, "ybu": parse_ybu, "lujvo": parse_lujvo, "A": parse_A, "BAI": parse_BAI, "BAhE": parse_BAhE, "BE": parse_BE, "BEI": parse_BEI, "BEhO": parse_BEhO, "BIhE": parse_BIhE, "BIhI": parse_BIhI, "BO": parse_BO, "BOI": parse_BOI, "BU": parse_BU, "BY": parse_BY, "CAhA": parse_CAhA, "CAI": parse_CAI, "CEI": parse_CEI, "CEhE": parse_CEhE, "CO": parse_CO, "COI": parse_COI, "CU": parse_CU, "CUhE": parse_CUhE, "DAhO": parse_DAhO, "DOI": parse_DOI, "DOhU": parse_DOhU, "FA": parse_FA, "FAhA": parse_FAhA, "FAhO": parse_FAhO, "FEhE": parse_FEhE, "FEhU": parse_FEhU, "FIhO": parse_FIhO, "FOI": parse_FOI, "FUhA": parse_FUhA, "FUhE": parse_FUhE, "FUhO": parse_FUhO, "GA": parse_GA, "GAhO": parse_GAhO, "GEhU": parse_GEhU, "GI": parse_GI, "GIhA": parse_GIhA, "GOI": parse_GOI, "GOhA": parse_GOhA, "GUhA": parse_GUhA, "I": parse_I, "JA": parse_JA, "JAI": parse_JAI, "JOhI": parse_JOhI, "JOI": parse_JOI, "KE": parse_KE, "KEhE": parse_KEhE, "KEI": parse_KEI, "KI": parse_KI, "KOhA": parse_KOhA, "KU": parse_KU, "KUhE": parse_KUhE, "KUhO": parse_KUhO, "LA": parse_LA, "LAU": parse_LAU, "LAhE": parse_LAhE, "LE": parse_LE, "LEhU": parse_LEhU, "LI": parse_LI, "LIhU": parse_LIhU, "LOhO": parse_LOhO, "LOhU": parse_LOhU, "LU": parse_LU, "LUhU": parse_LUhU, "MAhO": parse_MAhO, "MAI": parse_MAI, "ME": parse_ME, "MEhU": parse_MEhU, "MOhE": parse_MOhE, "MOhI": parse_MOhI, "MOI": parse_MOI, "NA": parse_NA, "NAI": parse_NAI, "NAhE": parse_NAhE, "NAhU": parse_NAhU, "NIhE": parse_NIhE, "NIhO": parse_NIhO, "NOI": parse_NOI, "NU": parse_NU, "NUhA": parse_NUhA, "NUhI": parse_NUhI, "NUhU": parse_NUhU, "PA": parse_PA, "PEhE": parse_PEhE, "PEhO": parse_PEhO, "PU": parse_PU, "RAhO": parse_RAhO, "ROI": parse_ROI, "SA": parse_SA, "SE": parse_SE, "SEI": parse_SEI, "SEhU": parse_SEhU, "SI": parse_SI, "SOI": parse_SOI, "SU": parse_SU, "TAhE": parse_TAhE, "TEhU": parse_TEhU, "TEI": parse_TEI, "TO": parse_TO, "TOI": parse_TOI, "TUhE": parse_TUhE, "TUhU": parse_TUhU, "UI": parse_UI, "VA": parse_VA, "VAU": parse_VAU, "VEI": parse_VEI, "VEhO": parse_VEhO, "VUhU": parse_VUhU, "VEhA": parse_VEhA, "VIhA": parse_VIhA, "VUhO": parse_VUhO, "XI": parse_XI, "Y": parse_Y, "ZAhO": parse_ZAhO, "ZEhA": parse_ZEhA, "ZEI": parse_ZEI, "ZI": parse_ZI, "ZIhE": parse_ZIhE, "ZO": parse_ZO, "ZOI": parse_ZOI, "ZOhU": parse_ZOhU }; if (startRule !== undefined) { if (parseFunctions[startRule] === undefined) { throw new Error("Invalid rule name: " + quote(startRule) + "."); } } else { startRule = "text"; } var pos = 0; var reportFailures = 0; var rightmostFailuresPos = 0; var rightmostFailuresExpected = []; var cache = {}; function padLeft(input, padding, length) { var result = input; var padLength = length - input.length; for (var i = 0; i < padLength; i++) { result = padding + result; } return result; } function escape(ch) { var charCode = ch.charCodeAt(0); var escapeChar; var length; if (charCode <= 0xFF) { escapeChar = 'x'; length = 2; } else { escapeChar = 'u'; length = 4; } return '\\' + escapeChar + padLeft(charCode.toString(16).toUpperCase(), '0', length); } function matchFailed(failure) { if (pos < rightmostFailuresPos) { return; } if (pos > rightmostFailuresPos) { rightmostFailuresPos = pos; rightmostFailuresExpected = []; } rightmostFailuresExpected.push(failure); } function parse_text() { var cacheKey = "text@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6; var pos0, pos1, pos2, pos3; reportFailures++; pos0 = pos; pos1 = pos; result0 = parse_intro_null(); if (result0 !== null) { result1 = []; result2 = parse_NAI_clause(); while (result2 !== null) { result1.push(result2); result2 = parse_NAI_clause(); } if (result1 !== null) { result2 = parse_text_part_2(); if (result2 !== null) { pos2 = pos; pos3 = pos; reportFailures++; result3 = parse_text_1(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos3; } if (result3 !== null) { result4 = parse_joik_jek(); if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos2; } } else { result3 = null; pos = pos2; } result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_text_1(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result5 = parse_faho_clause(); if (result5 !== null) { result6 = parse_EOF(); result6 = result6 !== null ? result6 : ""; if (result6 !== null) { result0 = [result0, result1, result2, result3, result4, result5, result6]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("text", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } reportFailures--; if (reportFailures === 0 && result0 === null) { matchFailed("text"); } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_intro_null() { var cacheKey = "intro_null@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_spaces(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = []; result2 = parse_su_clause(); while (result2 !== null) { result1.push(result2); result2 = parse_su_clause(); } if (result1 !== null) { result2 = parse_intro_si_clause(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node_nonempty("intro_null", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_text_part_2() { var cacheKey = "text_part_2@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result1 = parse_CMENE_clause(); if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); result1 = parse_CMENE_clause(); } } else { result0 = null; } if (result0 === null) { result0 = parse_indicators(); result0 = result0 !== null ? result0 : ""; } if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node_nonempty("text_part_2", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_intro_si_clause() { var cacheKey = "intro_si_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_si_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = []; result2 = parse_SI_clause(); while (result2 !== null) { result1.push(result2); result2 = parse_SI_clause(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node_nonempty("intro_si_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_faho_clause() { var cacheKey = "faho_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FAhO_clause(); if (result0 !== null) { result1 = parse_dot_star(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result0 = (function(offset, expr) {return _node("faho_clause", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_text_1() { var cacheKey = "text_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_I_clause(); if (result0 !== null) { result1 = parse_jek(); if (result1 === null) { result1 = parse_joik(); } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { pos2 = pos; result2 = parse_stag(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_BO_clause(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result4 = parse_text_1(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result1 = parse_NIhO_clause(); if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); result1 = parse_NIhO_clause(); } } else { result0 = null; } if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = []; result3 = parse_su_clause(); while (result3 !== null) { result2.push(result3); result3 = parse_su_clause(); } if (result2 !== null) { result3 = parse_paragraphs(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_paragraphs(); } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("text_1", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_paragraphs() { var cacheKey = "paragraphs@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_paragraph(); if (result0 !== null) { pos2 = pos; result2 = parse_NIhO_clause(); if (result2 !== null) { result1 = []; while (result2 !== null) { result1.push(result2); result2 = parse_NIhO_clause(); } } else { result1 = null; } if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result3 = []; result4 = parse_su_clause(); while (result4 !== null) { result3.push(result4); result4 = parse_su_clause(); } if (result3 !== null) { result4 = parse_paragraphs(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("paragraphs", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_paragraph() { var cacheKey = "paragraph@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6, result7; var pos0, pos1, pos2, pos3; pos0 = pos; pos1 = pos; result0 = parse_statement(); if (result0 === null) { result0 = parse_fragment(); } if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_I_clause(); if (result2 !== null) { pos3 = pos; reportFailures++; result3 = parse_jek(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos3; } if (result3 !== null) { pos3 = pos; reportFailures++; result4 = parse_joik(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos3; } if (result4 !== null) { pos3 = pos; reportFailures++; result5 = parse_joik_jek(); reportFailures--; if (result5 === null) { result5 = ""; } else { result5 = null; pos = pos3; } if (result5 !== null) { result6 = []; result7 = parse_free(); while (result7 !== null) { result6.push(result7); result7 = parse_free(); } if (result6 !== null) { result7 = parse_statement(); if (result7 === null) { result7 = parse_fragment(); } result7 = result7 !== null ? result7 : ""; if (result7 !== null) { result2 = [result2, result3, result4, result5, result6, result7]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_I_clause(); if (result2 !== null) { pos3 = pos; reportFailures++; result3 = parse_jek(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos3; } if (result3 !== null) { pos3 = pos; reportFailures++; result4 = parse_joik(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos3; } if (result4 !== null) { pos3 = pos; reportFailures++; result5 = parse_joik_jek(); reportFailures--; if (result5 === null) { result5 = ""; } else { result5 = null; pos = pos3; } if (result5 !== null) { result6 = []; result7 = parse_free(); while (result7 !== null) { result6.push(result7); result7 = parse_free(); } if (result6 !== null) { result7 = parse_statement(); if (result7 === null) { result7 = parse_fragment(); } result7 = result7 !== null ? result7 : ""; if (result7 !== null) { result2 = [result2, result3, result4, result5, result6, result7]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("paragraph", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_statement() { var cacheKey = "statement@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; result0 = parse_statement_1(); if (result0 === null) { pos1 = pos; result0 = parse_prenex(); if (result0 !== null) { result1 = parse_statement(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("statement", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_statement_1() { var cacheKey = "statement_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_statement_2(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_I_clause(); if (result2 !== null) { result3 = parse_joik_jek(); if (result3 !== null) { result4 = parse_statement_2(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result2 = [result2, result3, result4]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_I_clause(); if (result2 !== null) { result3 = parse_joik_jek(); if (result3 !== null) { result4 = parse_statement_2(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result2 = [result2, result3, result4]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("statement_1", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_statement_2() { var cacheKey = "statement_2@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_statement_3(); if (result0 !== null) { pos2 = pos; result1 = parse_I_clause(); if (result1 !== null) { result2 = parse_jek(); if (result2 === null) { result2 = parse_joik(); } result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_stag(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_BO_clause(); if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result6 = parse_statement_2(); if (result6 !== null) { result1 = [result1, result2, result3, result4, result5, result6]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_statement_3(); if (result0 !== null) { pos2 = pos; result1 = parse_I_clause(); if (result1 !== null) { result2 = parse_jek(); if (result2 === null) { result2 = parse_joik(); } result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_stag(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_BO_clause(); if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result1 = [result1, result2, result3, result4, result5]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("statement_2", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_statement_3() { var cacheKey = "statement_3@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6; var pos0, pos1; pos0 = pos; result0 = parse_sentence(); if (result0 === null) { pos1 = pos; result0 = parse_tag(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_TUhE_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result3 = parse_text_1(); if (result3 !== null) { result4 = parse_TUhU_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("statement_3", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_fragment() { var cacheKey = "fragment@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; result0 = parse_prenex(); if (result0 === null) { pos1 = pos; result0 = parse_terms(); if (result0 !== null) { result1 = parse_VAU_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_ek(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_gihek(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_quantifier(); if (result0 === null) { pos1 = pos; result0 = parse_NA_clause(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_JA_clause(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_relative_clauses(); if (result0 === null) { result0 = parse_links(); if (result0 === null) { result0 = parse_linkargs(); } } } } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("prenex", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_prenex() { var cacheKey = "prenex@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_terms(); if (result0 !== null) { result1 = parse_ZOhU_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("prenex", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sentence() { var cacheKey = "sentence@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; result0 = parse_terms(); if (result0 !== null) { result1 = []; result2 = parse_bridi_tail_sa(); while (result2 !== null) { result1.push(result2); result2 = parse_bridi_tail_sa(); } if (result1 !== null) { result2 = parse_CU_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = []; result2 = parse_bridi_tail_sa(); while (result2 !== null) { result1.push(result2); result2 = parse_bridi_tail_sa(); } if (result1 !== null) { result2 = parse_bridi_tail(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("sentence", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sentence_sa() { var cacheKey = "sentence_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_sentence_start(); if (result0 !== null) { result1 = []; pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_sentence_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_sentence_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_sentence_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_sentence_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_text_1(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("sentence_sa", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sentence_start() { var cacheKey = "sentence_start@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_I_pre(); if (result0 === null) { result0 = parse_NIhO_pre(); } if (result0 !== null) { result0 = (function(offset, expr) {return _node("sentence_start", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_subsentence() { var cacheKey = "subsentence@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; result0 = parse_sentence(); if (result0 === null) { pos1 = pos; result0 = parse_prenex(); if (result0 !== null) { result1 = parse_subsentence(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("subsentence", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_bridi_tail() { var cacheKey = "bridi_tail@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6, result7, result8; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_bridi_tail_1(); if (result0 !== null) { pos2 = pos; result1 = parse_gihek(); if (result1 !== null) { result2 = parse_stag(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_KE_clause(); if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_bridi_tail(); if (result5 !== null) { result6 = parse_KEhE_clause(); result6 = result6 !== null ? result6 : ""; if (result6 !== null) { result7 = []; result8 = parse_free(); while (result8 !== null) { result7.push(result8); result8 = parse_free(); } if (result7 !== null) { result8 = parse_tail_terms(); if (result8 !== null) { result1 = [result1, result2, result3, result4, result5, result6, result7, result8]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("bridi_tail", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_bridi_tail_sa() { var cacheKey = "bridi_tail_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_bridi_tail_start(); if (result0 !== null) { result1 = []; result2 = parse_term(); if (result2 === null) { pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_bridi_tail_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_bridi_tail_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } while (result2 !== null) { result1.push(result2); result2 = parse_term(); if (result2 === null) { pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_bridi_tail_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_bridi_tail_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_bridi_tail(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("bridi_tail_sa", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_bridi_tail_start() { var cacheKey = "bridi_tail_start@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; result0 = parse_ME_clause(); if (result0 === null) { result0 = parse_NUhA_clause(); if (result0 === null) { result0 = parse_NU_clause(); if (result0 === null) { pos1 = pos; result0 = parse_NA_clause(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_KU_clause(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_NAhE_clause(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_BO_clause(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_selbri(); if (result0 === null) { pos1 = pos; result0 = parse_tag(); if (result0 !== null) { result1 = parse_bridi_tail_start(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_KE_clause(); if (result0 !== null) { result1 = parse_bridi_tail_start(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_bridi_tail(); } } } } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("bridi_tail_start", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_bridi_tail_1() { var cacheKey = "bridi_tail_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6, result7; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_bridi_tail_2(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_gihek(); if (result2 !== null) { pos3 = pos; reportFailures++; pos4 = pos; result3 = parse_stag(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_BO_clause(); if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos4; } } else { result3 = null; pos = pos4; } reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos3; } if (result3 !== null) { pos3 = pos; reportFailures++; pos4 = pos; result4 = parse_stag(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result5 = parse_KE_clause(); if (result5 !== null) { result4 = [result4, result5]; } else { result4 = null; pos = pos4; } } else { result4 = null; pos = pos4; } reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos3; } if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result6 = parse_bridi_tail_2(); if (result6 !== null) { result7 = parse_tail_terms(); if (result7 !== null) { result2 = [result2, result3, result4, result5, result6, result7]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_gihek(); if (result2 !== null) { pos3 = pos; reportFailures++; pos4 = pos; result3 = parse_stag(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_BO_clause(); if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos4; } } else { result3 = null; pos = pos4; } reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos3; } if (result3 !== null) { pos3 = pos; reportFailures++; pos4 = pos; result4 = parse_stag(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result5 = parse_KE_clause(); if (result5 !== null) { result4 = [result4, result5]; } else { result4 = null; pos = pos4; } } else { result4 = null; pos = pos4; } reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos3; } if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result6 = parse_bridi_tail_2(); if (result6 !== null) { result7 = parse_tail_terms(); if (result7 !== null) { result2 = [result2, result3, result4, result5, result6, result7]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("bridi_tail_1", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_bridi_tail_2() { var cacheKey = "bridi_tail_2@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_bridi_tail_3(); if (result0 !== null) { pos2 = pos; result1 = parse_gihek(); if (result1 !== null) { result2 = parse_stag(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_BO_clause(); if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_bridi_tail_2(); if (result5 !== null) { result6 = parse_tail_terms(); if (result6 !== null) { result1 = [result1, result2, result3, result4, result5, result6]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("bridi_tail_2", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_bridi_tail_3() { var cacheKey = "bridi_tail_3@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_selbri(); if (result0 !== null) { result1 = parse_tail_terms(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_gek_sentence(); } if (result0 !== null) { result0 = (function(offset, expr) {return _node("bridi_tail_3", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_gek_sentence() { var cacheKey = "gek_sentence@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_gek(); if (result0 !== null) { result1 = parse_subsentence(); if (result1 !== null) { result2 = parse_gik(); if (result2 !== null) { result3 = parse_subsentence(); if (result3 !== null) { result4 = parse_tail_terms(); if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_tag(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_KE_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result3 = parse_gek_sentence(); if (result3 !== null) { result4 = parse_KEhE_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_NA_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_gek_sentence(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("gek_sentence", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_tail_terms() { var cacheKey = "tail_terms@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_terms(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_VAU_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node_nonempty("tail_terms", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_terms() { var cacheKey = "terms@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0; pos0 = pos; result1 = parse_terms_1(); if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); result1 = parse_terms_1(); } } else { result0 = null; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("terms", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_terms_1() { var cacheKey = "terms_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_terms_2(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = []; result3 = parse_pehe_sa(); while (result3 !== null) { result2.push(result3); result3 = parse_pehe_sa(); } if (result2 !== null) { result3 = parse_PEhE_clause(); if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_joik_jek(); if (result5 !== null) { result6 = parse_terms_2(); if (result6 !== null) { result2 = [result2, result3, result4, result5, result6]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = []; result3 = parse_pehe_sa(); while (result3 !== null) { result2.push(result3); result3 = parse_pehe_sa(); } if (result2 !== null) { result3 = parse_PEhE_clause(); if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_joik_jek(); if (result5 !== null) { result6 = parse_terms_2(); if (result6 !== null) { result2 = [result2, result3, result4, result5, result6]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("terms_1", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_terms_2() { var cacheKey = "terms_2@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_term(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = []; result3 = parse_cehe_sa(); while (result3 !== null) { result2.push(result3); result3 = parse_cehe_sa(); } if (result2 !== null) { result3 = parse_CEhE_clause(); if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_term(); if (result5 !== null) { result2 = [result2, result3, result4, result5]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = []; result3 = parse_cehe_sa(); while (result3 !== null) { result2.push(result3); result3 = parse_cehe_sa(); } if (result2 !== null) { result3 = parse_CEhE_clause(); if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_term(); if (result5 !== null) { result2 = [result2, result3, result4, result5]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("terms_2", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_pehe_sa() { var cacheKey = "pehe_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_PEhE_clause(); if (result0 !== null) { result1 = []; pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_PEhE_clause(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_PEhE_clause(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_PEhE_clause(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_PEhE_clause(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("pehe_sa", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_cehe_sa() { var cacheKey = "cehe_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_CEhE_clause(); if (result0 !== null) { result1 = []; pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_CEhE_clause(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_CEhE_clause(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_CEhE_clause(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_CEhE_clause(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("cehe_sa", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_term() { var cacheKey = "term@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_term_sa(); while (result1 !== null) { result0.push(result1); result1 = parse_term_sa(); } if (result0 !== null) { result1 = parse_term_1(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("term", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_term_1() { var cacheKey = "term_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; result0 = parse_sumti(); if (result0 === null) { pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_gek(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { result1 = parse_tag(); if (result1 === null) { pos2 = pos; result1 = parse_FA_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_sumti(); if (result2 === null) { pos2 = pos; result2 = parse_KU_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_termset(); if (result0 === null) { pos1 = pos; result0 = parse_NA_clause(); if (result0 !== null) { result1 = parse_KU_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("term_1", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_term_sa() { var cacheKey = "term_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_term_start(); if (result0 !== null) { result1 = []; pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_term_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_term_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_term_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_term_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_term_1(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("term_sa", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_term_start() { var cacheKey = "term_start@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; result0 = parse_term_1(); if (result0 === null) { result0 = parse_LA_clause(); if (result0 === null) { result0 = parse_LE_clause(); if (result0 === null) { result0 = parse_LI_clause(); if (result0 === null) { result0 = parse_LU_clause(); if (result0 === null) { result0 = parse_LAhE_clause(); if (result0 === null) { pos1 = pos; result0 = parse_quantifier(); if (result0 !== null) { result1 = parse_term_start(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_gek(); if (result0 !== null) { result1 = parse_sumti(); if (result1 !== null) { result2 = parse_gik(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_FA_clause(); if (result0 === null) { pos1 = pos; result0 = parse_tag(); if (result0 !== null) { result1 = parse_term_start(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } } } } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("term_start", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_termset() { var cacheKey = "termset@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6, result7, result8, result9, result10; var pos0, pos1; pos0 = pos; result0 = parse_gek_termset(); if (result0 === null) { pos1 = pos; result0 = parse_NUhI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_gek(); if (result2 !== null) { result3 = parse_terms(); if (result3 !== null) { result4 = parse_NUhU_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result6 = parse_gik(); if (result6 !== null) { result7 = parse_terms(); if (result7 !== null) { result8 = parse_NUhU_clause(); result8 = result8 !== null ? result8 : ""; if (result8 !== null) { result9 = []; result10 = parse_free(); while (result10 !== null) { result9.push(result10); result10 = parse_free(); } if (result9 !== null) { result0 = [result0, result1, result2, result3, result4, result5, result6, result7, result8, result9]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_NUhI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_terms(); if (result2 !== null) { result3 = parse_NUhU_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } if (result0 !== null) { result0 = (function(offset, termset) {return _node("termset", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_gek_termset() { var cacheKey = "gek_termset@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_gek(); if (result0 !== null) { result1 = parse_terms_gik_terms(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("gek_termset", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_terms_gik_terms() { var cacheKey = "terms_gik_terms@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_term(); if (result0 !== null) { result1 = parse_gik(); if (result1 === null) { result1 = parse_terms_gik_terms(); } if (result1 !== null) { result2 = parse_term(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("terms_gik_terms", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sumti() { var cacheKey = "sumti@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_sumti_1(); if (result0 !== null) { pos2 = pos; result1 = parse_VUhO_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result3 = parse_relative_clauses(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("sumti", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sumti_1() { var cacheKey = "sumti_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6, result7, result8; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_sumti_2(); if (result0 !== null) { pos2 = pos; result1 = parse_joik_ek(); if (result1 !== null) { result2 = parse_stag(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_KE_clause(); if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_sumti(); if (result5 !== null) { result6 = parse_KEhE_clause(); result6 = result6 !== null ? result6 : ""; if (result6 !== null) { result7 = []; result8 = parse_free(); while (result8 !== null) { result7.push(result8); result8 = parse_free(); } if (result7 !== null) { result1 = [result1, result2, result3, result4, result5, result6, result7]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("sumti_1", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sumti_2() { var cacheKey = "sumti_2@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_sumti_3(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_joik_ek(); if (result2 !== null) { result3 = parse_sumti_3(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_joik_ek(); if (result2 !== null) { result3 = parse_sumti_3(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("sumti_2", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sumti_3() { var cacheKey = "sumti_3@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_sumti_4(); if (result0 !== null) { pos2 = pos; result1 = parse_joik_ek(); if (result1 !== null) { result2 = parse_stag(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_BO_clause(); if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_sumti_3(); if (result5 !== null) { result1 = [result1, result2, result3, result4, result5]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("sumti_3", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sumti_4() { var cacheKey = "sumti_4@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1; pos0 = pos; result0 = parse_sumti_5(); if (result0 === null) { pos1 = pos; result0 = parse_gek(); if (result0 !== null) { result1 = parse_sumti(); if (result1 !== null) { result2 = parse_gik(); if (result2 !== null) { result3 = parse_sumti_4(); if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("sumti_4", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sumti_5() { var cacheKey = "sumti_5@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_quantifier(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_sumti_6(); if (result1 !== null) { result2 = parse_relative_clauses(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_quantifier(); if (result0 !== null) { result1 = parse_selbri(); if (result1 !== null) { result2 = parse_KU_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result4 = parse_relative_clauses(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("sumti_5", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sumti_6() { var cacheKey = "sumti_6@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_ZO_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_ZOI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_LOhU_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_lerfu_string(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_MOI_clause(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result2 = parse_BOI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_LU_clause(); if (result0 !== null) { result1 = parse_text(); if (result1 !== null) { result2 = parse_LIhU_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; pos2 = pos; result0 = parse_LAhE_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } if (result0 === null) { pos2 = pos; result0 = parse_NAhE_clause(); if (result0 !== null) { result1 = parse_BO_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } } if (result0 !== null) { result1 = parse_relative_clauses(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_sumti(); if (result2 !== null) { result3 = parse_LUhU_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_KOhA_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_LA_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_relative_clauses(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result4 = parse_CMENE_clause(); if (result4 !== null) { result3 = []; while (result4 !== null) { result3.push(result4); result4 = parse_CMENE_clause(); } } else { result3 = null; } if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_LA_clause(); if (result0 === null) { result0 = parse_LE_clause(); } if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_sumti_tail(); if (result2 !== null) { result3 = parse_KU_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_li_clause(); } } } } } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("sumti_6", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_li_clause() { var cacheKey = "li_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_LI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_mex(); if (result2 !== null) { result3 = parse_LOhO_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("li_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sumti_tail() { var cacheKey = "sumti_tail@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; result0 = parse_sumti_6(); if (result0 !== null) { result1 = parse_relative_clauses(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_sumti_tail_1(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_relative_clauses(); if (result0 !== null) { result1 = parse_sumti_tail_1(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("sumti_tail", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sumti_tail_1() { var cacheKey = "sumti_tail_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_selbri(); if (result0 !== null) { result1 = parse_relative_clauses(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_quantifier(); if (result0 !== null) { result1 = parse_selbri(); if (result1 !== null) { result2 = parse_relative_clauses(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_quantifier(); if (result0 !== null) { result1 = parse_sumti(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("sumti_tail_1", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_relative_clauses() { var cacheKey = "relative_clauses@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_relative_clause(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_ZIhE_clause(); if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result4 = parse_relative_clause(); if (result4 !== null) { result2 = [result2, result3, result4]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_ZIhE_clause(); if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result4 = parse_relative_clause(); if (result4 !== null) { result2 = [result2, result3, result4]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("relative_clauses", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_relative_clause() { var cacheKey = "relative_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_relative_clause_sa(); while (result1 !== null) { result0.push(result1); result1 = parse_relative_clause_sa(); } if (result0 !== null) { result1 = parse_relative_clause_1(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("relative_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_relative_clause_sa() { var cacheKey = "relative_clause_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_relative_clause_start(); if (result0 !== null) { result1 = []; pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_relative_clause_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_relative_clause_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_relative_clause_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_relative_clause_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_relative_clause_1(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("relative_clause_sa", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_relative_clause_1() { var cacheKey = "relative_clause_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_GOI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_term(); if (result2 !== null) { result3 = parse_GEhU_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_NOI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_subsentence(); if (result2 !== null) { result3 = parse_KUhO_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("relative_clause_1", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_relative_clause_start() { var cacheKey = "relative_clause_start@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_GOI_clause(); if (result0 === null) { result0 = parse_NOI_clause(); } if (result0 !== null) { result0 = (function(offset, expr) {return _node("relative_clause_start", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_selbri() { var cacheKey = "selbri@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_tag(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_selbri_1(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("selbri", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_selbri_1() { var cacheKey = "selbri_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; result0 = parse_selbri_2(); if (result0 === null) { pos1 = pos; result0 = parse_NA_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_selbri(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("selbri_1", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_selbri_2() { var cacheKey = "selbri_2@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_selbri_3(); if (result0 !== null) { pos2 = pos; result1 = parse_CO_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result3 = parse_selbri_2(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("selbri_2", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_selbri_3() { var cacheKey = "selbri_3@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0; pos0 = pos; result1 = parse_selbri_4(); if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); result1 = parse_selbri_4(); } } else { result0 = null; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("selbri_3", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_selbri_4() { var cacheKey = "selbri_4@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6, result7, result8, result9; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_selbri_5(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_joik_jek(); if (result2 !== null) { result3 = parse_selbri_5(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } if (result2 === null) { pos2 = pos; result2 = parse_joik(); if (result2 !== null) { result3 = parse_stag(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_KE_clause(); if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result6 = parse_selbri_3(); if (result6 !== null) { result7 = parse_KEhE_clause(); result7 = result7 !== null ? result7 : ""; if (result7 !== null) { result8 = []; result9 = parse_free(); while (result9 !== null) { result8.push(result9); result9 = parse_free(); } if (result8 !== null) { result2 = [result2, result3, result4, result5, result6, result7, result8]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_joik_jek(); if (result2 !== null) { result3 = parse_selbri_5(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } if (result2 === null) { pos2 = pos; result2 = parse_joik(); if (result2 !== null) { result3 = parse_stag(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_KE_clause(); if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result6 = parse_selbri_3(); if (result6 !== null) { result7 = parse_KEhE_clause(); result7 = result7 !== null ? result7 : ""; if (result7 !== null) { result8 = []; result9 = parse_free(); while (result9 !== null) { result8.push(result9); result9 = parse_free(); } if (result8 !== null) { result2 = [result2, result3, result4, result5, result6, result7, result8]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("selbri_4", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_selbri_5() { var cacheKey = "selbri_5@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_selbri_6(); if (result0 !== null) { pos2 = pos; result1 = parse_jek(); if (result1 === null) { result1 = parse_joik(); } if (result1 !== null) { result2 = parse_stag(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_BO_clause(); if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_selbri_5(); if (result5 !== null) { result1 = [result1, result2, result3, result4, result5]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("selbri_5", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_selbri_6() { var cacheKey = "selbri_6@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_tanru_unit(); if (result0 !== null) { pos2 = pos; result1 = parse_BO_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result3 = parse_selbri_6(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_NAhE_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_guhek(); if (result2 !== null) { result3 = parse_selbri(); if (result3 !== null) { result4 = parse_gik(); if (result4 !== null) { result5 = parse_selbri_6(); if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("selbri_6", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_tanru_unit() { var cacheKey = "tanru_unit@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_tanru_unit_1(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_CEI_clause(); if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result4 = parse_tanru_unit_1(); if (result4 !== null) { result2 = [result2, result3, result4]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_CEI_clause(); if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result4 = parse_tanru_unit_1(); if (result4 !== null) { result2 = [result2, result3, result4]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("tanru_unit", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_tanru_unit_1() { var cacheKey = "tanru_unit_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_tanru_unit_2(); if (result0 !== null) { result1 = parse_linkargs(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("tanru_unit_1", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_tanru_unit_2() { var cacheKey = "tanru_unit_2@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6, result7, result8; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_BRIVLA_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_GOhA_clause(); if (result0 !== null) { result1 = parse_RAhO_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_KE_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_selbri_3(); if (result2 !== null) { result3 = parse_KEhE_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_ME_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_sumti(); if (result2 === null) { result2 = parse_lerfu_string(); } if (result2 !== null) { result3 = parse_MEhU_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_MOI_clause(); result5 = result5 !== null ? result5 : ""; if (result5 !== null) { result6 = []; result7 = parse_free(); while (result7 !== null) { result6.push(result7); result7 = parse_free(); } if (result6 !== null) { result0 = [result0, result1, result2, result3, result4, result5, result6]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_number(); if (result0 === null) { result0 = parse_lerfu_string(); } if (result0 !== null) { result1 = parse_MOI_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_NUhA_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_mex_operator(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_SE_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_tanru_unit_2(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_JAI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_tag(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_tanru_unit_2(); if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_NAhE_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_tanru_unit_2(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_NU_clause(); if (result0 !== null) { result1 = parse_NAI_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result3 = []; pos2 = pos; result4 = parse_joik_jek(); if (result4 !== null) { result5 = parse_NU_clause(); if (result5 !== null) { result6 = parse_NAI_clause(); result6 = result6 !== null ? result6 : ""; if (result6 !== null) { result7 = []; result8 = parse_free(); while (result8 !== null) { result7.push(result8); result8 = parse_free(); } if (result7 !== null) { result4 = [result4, result5, result6, result7]; } else { result4 = null; pos = pos2; } } else { result4 = null; pos = pos2; } } else { result4 = null; pos = pos2; } } else { result4 = null; pos = pos2; } while (result4 !== null) { result3.push(result4); pos2 = pos; result4 = parse_joik_jek(); if (result4 !== null) { result5 = parse_NU_clause(); if (result5 !== null) { result6 = parse_NAI_clause(); result6 = result6 !== null ? result6 : ""; if (result6 !== null) { result7 = []; result8 = parse_free(); while (result8 !== null) { result7.push(result8); result8 = parse_free(); } if (result7 !== null) { result4 = [result4, result5, result6, result7]; } else { result4 = null; pos = pos2; } } else { result4 = null; pos = pos2; } } else { result4 = null; pos = pos2; } } else { result4 = null; pos = pos2; } } if (result3 !== null) { result4 = parse_subsentence(); if (result4 !== null) { result5 = parse_KEI_clause(); result5 = result5 !== null ? result5 : ""; if (result5 !== null) { result6 = []; result7 = parse_free(); while (result7 !== null) { result6.push(result7); result7 = parse_free(); } if (result6 !== null) { result0 = [result0, result1, result2, result3, result4, result5, result6]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } } } } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("tanru_unit_2", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_linkargs() { var cacheKey = "linkargs@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_linkargs_sa(); while (result1 !== null) { result0.push(result1); result1 = parse_linkargs_sa(); } if (result0 !== null) { result1 = parse_linkargs_1(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("linkargs", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_linkargs_1() { var cacheKey = "linkargs_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BE_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_term(); if (result2 !== null) { result3 = parse_links(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_BEhO_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("linkargs_1", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_linkargs_sa() { var cacheKey = "linkargs_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_linkargs_start(); if (result0 !== null) { result1 = []; pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_linkargs_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_linkargs_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_linkargs_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_linkargs_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_linkargs_1(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("linkargs_sa", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_linkargs_start() { var cacheKey = "linkargs_start@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_BE_clause(); if (result0 !== null) { result0 = (function(offset, expr) {return ["linkargs_start", expr];})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_links() { var cacheKey = "links@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_links_sa(); while (result1 !== null) { result0.push(result1); result1 = parse_links_sa(); } if (result0 !== null) { result1 = parse_links_1(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("links", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_links_1() { var cacheKey = "links_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BEI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_term(); if (result2 !== null) { result3 = parse_links(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("links_1", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_links_sa() { var cacheKey = "links_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_links_start(); if (result0 !== null) { result1 = []; pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_links_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_links_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_links_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_links_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_links_1(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("links_sa", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_links_start() { var cacheKey = "links_start@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_BEI_clause(); if (result0 !== null) { result0 = (function(offset, expr) {return ["links_start", expr];})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_quantifier() { var cacheKey = "quantifier@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_number(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_MOI_clause(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result2 = parse_BOI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_VEI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_mex(); if (result2 !== null) { result3 = parse_VEhO_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("quantifier", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_mex() { var cacheKey = "mex@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_mex_sa(); while (result1 !== null) { result0.push(result1); result1 = parse_mex_sa(); } if (result0 !== null) { result1 = parse_mex_0(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("mex", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_mex_0() { var cacheKey = "mex_0@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_mex_1(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_operator(); if (result2 !== null) { result3 = parse_mex_1(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_operator(); if (result2 !== null) { result3 = parse_mex_1(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_rp_clause(); } if (result0 !== null) { result0 = (function(offset, expr) {return _node("mex_0", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_mex_sa() { var cacheKey = "mex_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_mex_start(); if (result0 !== null) { result1 = []; pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_mex_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_mex_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_mex_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_mex_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_mex_0(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("mex_sa", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_mex_start() { var cacheKey = "mex_start@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_FUhA_clause(); if (result0 === null) { result0 = parse_PEhO_clause(); if (result0 === null) { result0 = parse_operand_start(); } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("mex_start", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_rp_clause() { var cacheKey = "rp_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FUhA_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_rp_expression(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("rp_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_mex_1() { var cacheKey = "mex_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_mex_2(); if (result0 !== null) { pos2 = pos; result1 = parse_BIhE_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result3 = parse_operator(); if (result3 !== null) { result4 = parse_mex_1(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("mex_1", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_mex_2() { var cacheKey = "mex_2@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_operand(); if (result0 === null) { result0 = parse_mex_forethought(); } if (result0 !== null) { result0 = (function(offset, expr) {return _node("mex_2", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_mex_forethought() { var cacheKey = "mex_forethought@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6; var pos0; pos0 = pos; result0 = parse_PEhO_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_operator(); if (result2 !== null) { result3 = parse_fore_operands(); if (result3 !== null) { result4 = parse_KUhE_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_fore_operands() { var cacheKey = "fore_operands@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0; pos0 = pos; result1 = parse_mex_2(); if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); result1 = parse_mex_2(); } } else { result0 = null; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("fore_operands", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_rp_expression() { var cacheKey = "rp_expression@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_operand(); if (result0 !== null) { result1 = parse_rp_expression_tail(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("rp_expression", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_rp_expression_tail() { var cacheKey = "rp_expression_tail@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_rp_expression(); if (result0 !== null) { result1 = parse_operator(); if (result1 !== null) { result2 = parse_rp_expression_tail(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = []; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("rp_expression_tail", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operator() { var cacheKey = "operator@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_operator_sa(); while (result1 !== null) { result0.push(result1); result1 = parse_operator_sa(); } if (result0 !== null) { result1 = parse_operator_0(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operator", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operator_0() { var cacheKey = "operator_0@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6, result7, result8, result9; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_operator_1(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_joik_jek(); if (result2 !== null) { result3 = parse_operator_1(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } if (result2 === null) { pos2 = pos; result2 = parse_joik(); if (result2 !== null) { result3 = parse_stag(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_KE_clause(); if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result6 = parse_operator(); if (result6 !== null) { result7 = parse_KEhE_clause(); result7 = result7 !== null ? result7 : ""; if (result7 !== null) { result8 = []; result9 = parse_free(); while (result9 !== null) { result8.push(result9); result9 = parse_free(); } if (result8 !== null) { result2 = [result2, result3, result4, result5, result6, result7, result8]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_joik_jek(); if (result2 !== null) { result3 = parse_operator_1(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } if (result2 === null) { pos2 = pos; result2 = parse_joik(); if (result2 !== null) { result3 = parse_stag(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_KE_clause(); if (result4 !== null) { result5 = []; result6 = parse_free(); while (result6 !== null) { result5.push(result6); result6 = parse_free(); } if (result5 !== null) { result6 = parse_operator(); if (result6 !== null) { result7 = parse_KEhE_clause(); result7 = result7 !== null ? result7 : ""; if (result7 !== null) { result8 = []; result9 = parse_free(); while (result9 !== null) { result8.push(result9); result9 = parse_free(); } if (result8 !== null) { result2 = [result2, result3, result4, result5, result6, result7, result8]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operator_0", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operator_sa() { var cacheKey = "operator_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_operator_start(); if (result0 !== null) { result1 = []; pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_operator_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_operator_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_operator_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_operator_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_operator_0(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operator_sa", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operator_start() { var cacheKey = "operator_start@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; result0 = parse_guhek(); if (result0 === null) { result0 = parse_KE_clause(); if (result0 === null) { pos1 = pos; result0 = parse_SE_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_NAhE_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_SE_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_MAhO_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_SE_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_VUhU_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operator_start", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operator_1() { var cacheKey = "operator_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1; pos0 = pos; result0 = parse_operator_2(); if (result0 === null) { pos1 = pos; result0 = parse_guhek(); if (result0 !== null) { result1 = parse_operator_1(); if (result1 !== null) { result2 = parse_gik(); if (result2 !== null) { result3 = parse_operator_2(); if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_operator_2(); if (result0 !== null) { result1 = parse_jek(); if (result1 === null) { result1 = parse_joik(); } if (result1 !== null) { result2 = parse_stag(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_BO_clause(); if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_operator_1(); if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operator_1", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operator_2() { var cacheKey = "operator_2@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1; pos0 = pos; result0 = parse_mex_operator(); if (result0 === null) { pos1 = pos; result0 = parse_KE_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_operator(); if (result2 !== null) { result3 = parse_KEhE_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operator_2", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_mex_operator() { var cacheKey = "mex_operator@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_SE_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_mex_operator(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_NAhE_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_mex_operator(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_MAhO_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_mex(); if (result2 !== null) { result3 = parse_TEhU_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_NAhU_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_selbri(); if (result2 !== null) { result3 = parse_TEhU_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_VUhU_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("mex_operator", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operand() { var cacheKey = "operand@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_operand_sa(); while (result1 !== null) { result0.push(result1); result1 = parse_operand_sa(); } if (result0 !== null) { result1 = parse_operand_0(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operand", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operand_0() { var cacheKey = "operand_0@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6, result7, result8; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_operand_1(); if (result0 !== null) { pos2 = pos; result1 = parse_joik_ek(); if (result1 !== null) { result2 = parse_stag(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_KE_clause(); if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_operand(); if (result5 !== null) { result6 = parse_KEhE_clause(); result6 = result6 !== null ? result6 : ""; if (result6 !== null) { result7 = []; result8 = parse_free(); while (result8 !== null) { result7.push(result8); result8 = parse_free(); } if (result7 !== null) { result1 = [result1, result2, result3, result4, result5, result6, result7]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operand_0", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operand_sa() { var cacheKey = "operand_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_operand_start(); if (result0 !== null) { result1 = []; pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_operand_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_operand_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_operand_start(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_operand_start(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_operand_0(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operand_sa", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operand_start() { var cacheKey = "operand_start@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_quantifier(); if (result0 === null) { result0 = parse_lerfu_word(); if (result0 === null) { result0 = parse_NIhE_clause(); if (result0 === null) { result0 = parse_MOhE_clause(); if (result0 === null) { result0 = parse_JOhI_clause(); if (result0 === null) { result0 = parse_gek(); if (result0 === null) { result0 = parse_LAhE_clause(); if (result0 === null) { result0 = parse_NAhE_clause(); } } } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operand_start", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operand_1() { var cacheKey = "operand_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_operand_2(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_joik_ek(); if (result2 !== null) { result3 = parse_operand_2(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_joik_ek(); if (result2 !== null) { result3 = parse_operand_2(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operand_1", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operand_2() { var cacheKey = "operand_2@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_operand_3(); if (result0 !== null) { pos2 = pos; result1 = parse_joik_ek(); if (result1 !== null) { result2 = parse_stag(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_BO_clause(); if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result5 = parse_operand_2(); if (result5 !== null) { result1 = [result1, result2, result3, result4, result5]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operand_2", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_operand_3() { var cacheKey = "operand_3@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; result0 = parse_quantifier(); if (result0 === null) { pos1 = pos; result0 = parse_lerfu_string(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_MOI_clause(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result2 = parse_BOI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_NIhE_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_selbri(); if (result2 !== null) { result3 = parse_TEhU_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_MOhE_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_sumti(); if (result2 !== null) { result3 = parse_TEhU_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_JOhI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result3 = parse_mex_2(); if (result3 !== null) { result2 = []; while (result3 !== null) { result2.push(result3); result3 = parse_mex_2(); } } else { result2 = null; } if (result2 !== null) { result3 = parse_TEhU_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_gek(); if (result0 !== null) { result1 = parse_operand(); if (result1 !== null) { result2 = parse_gik(); if (result2 !== null) { result3 = parse_operand_3(); if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; pos2 = pos; result0 = parse_LAhE_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } if (result0 === null) { pos2 = pos; result0 = parse_NAhE_clause(); if (result0 !== null) { result1 = parse_BO_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } } if (result0 !== null) { result1 = parse_operand(); if (result1 !== null) { result2 = parse_LUhU_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("operand_3", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_number() { var cacheKey = "number@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_PA_clause(); if (result0 !== null) { result1 = []; result2 = parse_PA_clause(); if (result2 === null) { result2 = parse_lerfu_word(); } while (result2 !== null) { result1.push(result2); result2 = parse_PA_clause(); if (result2 === null) { result2 = parse_lerfu_word(); } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("number", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_lerfu_string() { var cacheKey = "lerfu_string@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_lerfu_word(); if (result0 !== null) { result1 = []; result2 = parse_PA_clause(); if (result2 === null) { result2 = parse_lerfu_word(); } while (result2 !== null) { result1.push(result2); result2 = parse_PA_clause(); if (result2 === null) { result2 = parse_lerfu_word(); } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("lerfu_string", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_lerfu_word() { var cacheKey = "lerfu_word@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; result0 = parse_BY_clause(); if (result0 === null) { pos1 = pos; result0 = parse_LAU_clause(); if (result0 !== null) { result1 = parse_lerfu_word(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_TEI_clause(); if (result0 !== null) { result1 = parse_lerfu_string(); if (result1 !== null) { result2 = parse_FOI_clause(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("lerfu_word", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ek() { var cacheKey = "ek@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NA_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_SE_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_A_clause(); if (result2 !== null) { result3 = parse_NAI_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("ek", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_gihek() { var cacheKey = "gihek@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_gihek_sa(); while (result1 !== null) { result0.push(result1); result1 = parse_gihek_sa(); } if (result0 !== null) { result1 = parse_gihek_1(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("gihek", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_gihek_1() { var cacheKey = "gihek_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NA_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_SE_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_GIhA_clause(); if (result2 !== null) { result3 = parse_NAI_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("gihek_1", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_gihek_sa() { var cacheKey = "gihek_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_gihek_1(); if (result0 !== null) { result1 = []; pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_gihek_1(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_gihek_1(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_gihek_1(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_gihek_1(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_gihek(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("gihek_sa", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_jek() { var cacheKey = "jek@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NA_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_SE_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_JA_clause(); if (result2 !== null) { result3 = parse_NAI_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("jek", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_joik() { var cacheKey = "joik@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_SE_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_JOI_clause(); if (result1 !== null) { result2 = parse_NAI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_interval(); if (result0 === null) { pos1 = pos; result0 = parse_GAhO_clause(); if (result0 !== null) { result1 = parse_interval(); if (result1 !== null) { result2 = parse_GAhO_clause(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("joik", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_interval() { var cacheKey = "interval@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_SE_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_BIhI_clause(); if (result1 !== null) { result2 = parse_NAI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("interval", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_joik_ek() { var cacheKey = "joik_ek@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_joik_ek_sa(); while (result1 !== null) { result0.push(result1); result1 = parse_joik_ek_sa(); } if (result0 !== null) { result1 = parse_joik_ek_1(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("joik_ek", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_joik_ek_1() { var cacheKey = "joik_ek_1@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_joik(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_ek(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("joik_ek_1", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_joik_ek_sa() { var cacheKey = "joik_ek_sa@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3, pos4; pos0 = pos; pos1 = pos; result0 = parse_joik_ek_1(); if (result0 !== null) { result1 = []; pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_joik_ek_1(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_joik_ek_1(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; pos3 = pos; reportFailures++; result2 = parse_joik_ek_1(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result3 = parse_pre_zei_bu(); if (result3 === null) { pos3 = pos; result3 = parse_SA_clause(); if (result3 !== null) { pos4 = pos; reportFailures++; result4 = parse_joik_ek_1(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos4; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } } if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_SA_clause(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_joik_ek(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("joik_ek_sa", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_joik_jek() { var cacheKey = "joik_jek@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_joik(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_jek(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("joik_jek", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_gek() { var cacheKey = "gek@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_SE_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_GA_clause(); if (result1 !== null) { result2 = parse_NAI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_joik(); if (result0 !== null) { result1 = parse_GI_clause(); if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_stag(); if (result0 !== null) { result1 = parse_gik(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("gek", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_guhek() { var cacheKey = "guhek@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_SE_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_GUhA_clause(); if (result1 !== null) { result2 = parse_NAI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("guhek", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_gik() { var cacheKey = "gik@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_GI_clause(); if (result0 !== null) { result1 = parse_NAI_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = []; result3 = parse_free(); while (result3 !== null) { result2.push(result3); result3 = parse_free(); } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("gik", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_tag() { var cacheKey = "tag@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_tense_modal(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_joik_jek(); if (result2 !== null) { result3 = parse_tense_modal(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_joik_jek(); if (result2 !== null) { result3 = parse_tense_modal(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("tag", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stag() { var cacheKey = "stag@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_simple_tense_modal(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_jek(); if (result2 === null) { result2 = parse_joik(); } if (result2 !== null) { result3 = parse_simple_tense_modal(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_jek(); if (result2 === null) { result2 = parse_joik(); } if (result2 !== null) { result3 = parse_simple_tense_modal(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_tense_modal(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_joik_jek(); if (result2 !== null) { result3 = parse_tense_modal(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_joik_jek(); if (result2 !== null) { result3 = parse_tense_modal(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("stag", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_tense_modal() { var cacheKey = "tense_modal@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_simple_tense_modal(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_FIhO_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_selbri(); if (result2 !== null) { result3 = parse_FEhU_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("tense_modal", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_simple_tense_modal() { var cacheKey = "simple_tense_modal@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3; pos0 = pos; pos1 = pos; result0 = parse_NAhE_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_SE_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_BAI_clause(); if (result2 !== null) { result3 = parse_NAI_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_KI_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_NAhE_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { pos2 = pos; pos3 = pos; result1 = parse_time(); if (result1 !== null) { result2 = parse_space(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos3; } } else { result1 = null; pos = pos3; } if (result1 === null) { pos3 = pos; result1 = parse_space(); if (result1 !== null) { result2 = parse_time(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos3; } } else { result1 = null; pos = pos3; } } if (result1 !== null) { result2 = parse_CAhA_clause(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_time(); if (result1 !== null) { result2 = parse_space(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_space(); if (result1 !== null) { result2 = parse_time(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 === null) { result1 = parse_CAhA_clause(); } } if (result1 !== null) { result2 = parse_KI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_KI_clause(); if (result0 === null) { result0 = parse_CUhE_clause(); } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("simple_tense_modal", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_time() { var cacheKey = "time@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2, pos3; pos0 = pos; pos1 = pos; result0 = parse_ZI_clause(); if (result0 !== null) { result1 = []; result2 = parse_time_offset(); while (result2 !== null) { result1.push(result2); result2 = parse_time_offset(); } if (result1 !== null) { pos2 = pos; result2 = parse_ZEhA_clause(); if (result2 !== null) { pos3 = pos; result3 = parse_PU_clause(); if (result3 !== null) { result4 = parse_NAI_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_interval_property(); while (result4 !== null) { result3.push(result4); result4 = parse_interval_property(); } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_ZI_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result2 = parse_time_offset(); if (result2 !== null) { result1 = []; while (result2 !== null) { result1.push(result2); result2 = parse_time_offset(); } } else { result1 = null; } if (result1 !== null) { pos2 = pos; result2 = parse_ZEhA_clause(); if (result2 !== null) { pos3 = pos; result3 = parse_PU_clause(); if (result3 !== null) { result4 = parse_NAI_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_interval_property(); while (result4 !== null) { result3.push(result4); result4 = parse_interval_property(); } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_ZI_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = []; result2 = parse_time_offset(); while (result2 !== null) { result1.push(result2); result2 = parse_time_offset(); } if (result1 !== null) { result2 = parse_ZEhA_clause(); if (result2 !== null) { pos2 = pos; result3 = parse_PU_clause(); if (result3 !== null) { result4 = parse_NAI_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos2; } } else { result3 = null; pos = pos2; } result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_interval_property(); while (result5 !== null) { result4.push(result5); result5 = parse_interval_property(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_ZI_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = []; result2 = parse_time_offset(); while (result2 !== null) { result1.push(result2); result2 = parse_time_offset(); } if (result1 !== null) { pos2 = pos; result2 = parse_ZEhA_clause(); if (result2 !== null) { pos3 = pos; result3 = parse_PU_clause(); if (result3 !== null) { result4 = parse_NAI_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos3; } } else { result3 = null; pos = pos3; } result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result4 = parse_interval_property(); if (result4 !== null) { result3 = []; while (result4 !== null) { result3.push(result4); result4 = parse_interval_property(); } } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("time", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_time_offset() { var cacheKey = "time_offset@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_PU_clause(); if (result0 !== null) { result1 = parse_NAI_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_ZI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("time_offset", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_space() { var cacheKey = "space@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_VA_clause(); if (result0 !== null) { result1 = []; result2 = parse_space_offset(); while (result2 !== null) { result1.push(result2); result2 = parse_space_offset(); } if (result1 !== null) { result2 = parse_space_interval(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { pos2 = pos; result3 = parse_MOhI_clause(); if (result3 !== null) { result4 = parse_space_offset(); if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos2; } } else { result3 = null; pos = pos2; } result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_VA_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result2 = parse_space_offset(); if (result2 !== null) { result1 = []; while (result2 !== null) { result1.push(result2); result2 = parse_space_offset(); } } else { result1 = null; } if (result1 !== null) { result2 = parse_space_interval(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { pos2 = pos; result3 = parse_MOhI_clause(); if (result3 !== null) { result4 = parse_space_offset(); if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos2; } } else { result3 = null; pos = pos2; } result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_VA_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = []; result2 = parse_space_offset(); while (result2 !== null) { result1.push(result2); result2 = parse_space_offset(); } if (result1 !== null) { result2 = parse_space_interval(); if (result2 !== null) { pos2 = pos; result3 = parse_MOhI_clause(); if (result3 !== null) { result4 = parse_space_offset(); if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos2; } } else { result3 = null; pos = pos2; } result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_VA_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = []; result2 = parse_space_offset(); while (result2 !== null) { result1.push(result2); result2 = parse_space_offset(); } if (result1 !== null) { result2 = parse_space_interval(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_MOhI_clause(); if (result3 !== null) { result4 = parse_space_offset(); if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("space", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_space_offset() { var cacheKey = "space_offset@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FAhA_clause(); if (result0 !== null) { result1 = parse_NAI_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_VA_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("space_offset", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_space_interval() { var cacheKey = "space_interval@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_VEhA_clause(); if (result0 === null) { result0 = parse_VIhA_clause(); if (result0 === null) { pos2 = pos; result0 = parse_VEhA_clause(); if (result0 !== null) { result1 = parse_VIhA_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } } } if (result0 !== null) { pos2 = pos; result1 = parse_FAhA_clause(); if (result1 !== null) { result2 = parse_NAI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_space_int_props(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_VEhA_clause(); if (result0 === null) { result0 = parse_VIhA_clause(); if (result0 === null) { pos2 = pos; result0 = parse_VEhA_clause(); if (result0 !== null) { result1 = parse_VIhA_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } } } if (result0 !== null) { pos2 = pos; result1 = parse_FAhA_clause(); if (result1 !== null) { result2 = parse_NAI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_space_int_props(); } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("space_interval", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_space_int_props() { var cacheKey = "space_int_props@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result1 = parse_FEhE_clause(); if (result1 !== null) { result2 = parse_interval_property(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos1; } } else { result1 = null; pos = pos1; } if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); pos1 = pos; result1 = parse_FEhE_clause(); if (result1 !== null) { result2 = parse_interval_property(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos1; } } else { result1 = null; pos = pos1; } } } else { result0 = null; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("space_int_props", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_interval_property() { var cacheKey = "interval_property@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_number(); if (result0 !== null) { result1 = parse_ROI_clause(); if (result1 !== null) { result2 = parse_NAI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_TAhE_clause(); if (result0 !== null) { result1 = parse_NAI_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_ZAhO_clause(); if (result0 !== null) { result1 = parse_NAI_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("interval_property", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_free() { var cacheKey = "free@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_SEI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { pos2 = pos; result2 = parse_terms(); if (result2 !== null) { result3 = parse_CU_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = []; result5 = parse_free(); while (result5 !== null) { result4.push(result5); result5 = parse_free(); } if (result4 !== null) { result2 = [result2, result3, result4]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_selbri(); if (result3 !== null) { result4 = parse_SEhU_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_SOI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_sumti(); if (result2 !== null) { result3 = parse_sumti(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_SEhU_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_vocative(); if (result0 !== null) { result1 = parse_relative_clauses(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_selbri(); if (result2 !== null) { result3 = parse_relative_clauses(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result4 = parse_DOhU_clause(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_vocative(); if (result0 !== null) { result1 = parse_relative_clauses(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result3 = parse_CMENE_clause(); if (result3 !== null) { result2 = []; while (result3 !== null) { result2.push(result3); result3 = parse_CMENE_clause(); } } else { result2 = null; } if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result4 = parse_relative_clauses(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result5 = parse_DOhU_clause(); result5 = result5 !== null ? result5 : ""; if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_vocative(); if (result0 !== null) { result1 = parse_sumti(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_DOhU_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_number(); if (result0 === null) { result0 = parse_lerfu_string(); } if (result0 !== null) { result1 = parse_MAI_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_TO_clause(); if (result0 !== null) { result1 = parse_text(); if (result1 !== null) { result2 = parse_TOI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_xi_clause(); } } } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("free", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_xi_clause() { var cacheKey = "xi_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_XI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_number(); if (result2 === null) { result2 = parse_lerfu_string(); } if (result2 !== null) { result3 = parse_BOI_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_XI_clause(); if (result0 !== null) { result1 = []; result2 = parse_free(); while (result2 !== null) { result1.push(result2); result2 = parse_free(); } if (result1 !== null) { result2 = parse_VEI_clause(); if (result2 !== null) { result3 = []; result4 = parse_free(); while (result4 !== null) { result3.push(result4); result4 = parse_free(); } if (result3 !== null) { result4 = parse_mex(); if (result4 !== null) { result5 = parse_VEhO_clause(); result5 = result5 !== null ? result5 : ""; if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("xi_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_vocative() { var cacheKey = "vocative@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; result1 = parse_COI_clause(); if (result1 !== null) { result2 = parse_NAI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); pos2 = pos; result1 = parse_COI_clause(); if (result1 !== null) { result2 = parse_NAI_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } else { result0 = null; } if (result0 !== null) { result1 = parse_DOI_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; pos2 = pos; result0 = parse_COI_clause(); if (result0 !== null) { result1 = parse_NAI_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_COI_clause(); if (result2 !== null) { result3 = parse_NAI_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_COI_clause(); if (result2 !== null) { result3 = parse_NAI_clause(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_DOI_clause(); } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("vocative", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_indicators() { var cacheKey = "indicators@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FUhE_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result2 = parse_indicator(); if (result2 !== null) { result1 = []; while (result2 !== null) { result1.push(result2); result2 = parse_indicator(); } } else { result1 = null; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("indicators", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_indicator() { var cacheKey = "indicator@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; result0 = parse_UI_clause(); if (result0 === null) { result0 = parse_CAI_clause(); } if (result0 !== null) { result1 = parse_NAI_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } if (result0 === null) { result0 = parse_DAhO_clause(); if (result0 === null) { result0 = parse_FUhO_clause(); } } if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_BU_clause(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("indicator", expr); })(pos0, result0[0]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_zei_clause() { var cacheKey = "zei_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_zei_clause_no_pre(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("zei_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_zei_clause_no_pre() { var cacheKey = "zei_clause_no_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_pre_zei_bu(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_zei_tail(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_bu_tail(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_zei_tail(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_bu_tail(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_zei_tail(); if (result2 !== null) { result3 = parse_post_clause(); if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("zei_clause_no_pre", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_bu_clause() { var cacheKey = "bu_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_bu_clause_no_pre(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("bu_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_bu_clause_no_pre() { var cacheKey = "bu_clause_no_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_pre_zei_bu(); if (result0 !== null) { result1 = []; pos2 = pos; result2 = parse_bu_tail(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_zei_tail(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } while (result2 !== null) { result1.push(result2); pos2 = pos; result2 = parse_bu_tail(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_zei_tail(); if (result3 !== null) { result2 = [result2, result3]; } else { result2 = null; pos = pos2; } } else { result2 = null; pos = pos2; } } if (result1 !== null) { result2 = parse_bu_tail(); if (result2 !== null) { result3 = parse_post_clause(); if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("bu_clause_no_pre", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_zei_tail() { var cacheKey = "zei_tail@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result1 = parse_ZEI_clause(); if (result1 !== null) { result2 = parse_any_word(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos1; } } else { result1 = null; pos = pos1; } if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); pos1 = pos; result1 = parse_ZEI_clause(); if (result1 !== null) { result2 = parse_any_word(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos1; } } else { result1 = null; pos = pos1; } } } else { result0 = null; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("zei_tail", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_bu_tail() { var cacheKey = "bu_tail@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0; pos0 = pos; result1 = parse_BU_clause(); if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); result1 = parse_BU_clause(); } } else { result0 = null; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("bu_tail", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_pre_zei_bu() { var cacheKey = "pre_zei_bu@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6, result7; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_BU_clause(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_ZEI_clause(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_SI_clause(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_SA_clause(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_SU_clause(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { pos2 = pos; reportFailures++; result5 = parse_FAhO_clause(); reportFailures--; if (result5 === null) { result5 = ""; } else { result5 = null; pos = pos2; } if (result5 !== null) { result6 = parse_any_word_SA_handling(); if (result6 !== null) { result7 = parse_si_clause(); result7 = result7 !== null ? result7 : ""; if (result7 !== null) { result0 = [result0, result1, result2, result3, result4, result5, result6, result7]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("pre_zei_bu", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_dot_star() { var cacheKey = "dot_star@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; result0 = []; if (input.length > pos) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("any character"); } } while (result1 !== null) { result0.push(result1); if (input.length > pos) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("any character"); } } } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_post_clause() { var cacheKey = "post_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_spaces(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_si_clause(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_ZEI_clause(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_BU_clause(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { result4 = []; result5 = parse_indicators(); while (result5 !== null) { result4.push(result5); result5 = parse_indicators(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node_nonempty("post_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_pre_clause() { var cacheKey = "pre_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; result0 = parse_BAhE_clause(); result0 = result0 !== null ? result0 : ""; cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_any_word_SA_handling() { var cacheKey = "any_word_SA_handling@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_BRIVLA_pre(); if (result0 === null) { result0 = parse_known_cmavo_SA(); if (result0 === null) { result0 = parse_CMAVO_pre(); if (result0 === null) { result0 = parse_CMENE_pre(); } } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("any_word_SA_handling", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_known_cmavo_SA() { var cacheKey = "known_cmavo_SA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; result0 = parse_A_pre(); if (result0 === null) { result0 = parse_BAI_pre(); if (result0 === null) { result0 = parse_BAhE_pre(); if (result0 === null) { result0 = parse_BE_pre(); if (result0 === null) { result0 = parse_BEI_pre(); if (result0 === null) { result0 = parse_BEhO_pre(); if (result0 === null) { result0 = parse_BIhE_pre(); if (result0 === null) { result0 = parse_BIhI_pre(); if (result0 === null) { result0 = parse_BO_pre(); if (result0 === null) { result0 = parse_BOI_pre(); if (result0 === null) { result0 = parse_BU_pre(); if (result0 === null) { result0 = parse_BY_pre(); if (result0 === null) { result0 = parse_CAI_pre(); if (result0 === null) { result0 = parse_CAhA_pre(); if (result0 === null) { result0 = parse_CEI_pre(); if (result0 === null) { result0 = parse_CEhE_pre(); if (result0 === null) { result0 = parse_CO_pre(); if (result0 === null) { result0 = parse_COI_pre(); if (result0 === null) { result0 = parse_CU_pre(); if (result0 === null) { result0 = parse_CUhE_pre(); if (result0 === null) { result0 = parse_DAhO_pre(); if (result0 === null) { result0 = parse_DOI_pre(); if (result0 === null) { result0 = parse_DOhU_pre(); if (result0 === null) { result0 = parse_FA_pre(); if (result0 === null) { result0 = parse_FAhA_pre(); if (result0 === null) { result0 = parse_FEhE_pre(); if (result0 === null) { result0 = parse_FEhU_pre(); if (result0 === null) { result0 = parse_FIhO_pre(); if (result0 === null) { result0 = parse_FOI_pre(); if (result0 === null) { result0 = parse_FUhA_pre(); if (result0 === null) { result0 = parse_FUhE_pre(); if (result0 === null) { result0 = parse_FUhO_pre(); if (result0 === null) { result0 = parse_GA_pre(); if (result0 === null) { result0 = parse_GAhO_pre(); if (result0 === null) { result0 = parse_GEhU_pre(); if (result0 === null) { result0 = parse_GI_pre(); if (result0 === null) { result0 = parse_GIhA_pre(); if (result0 === null) { result0 = parse_GOI_pre(); if (result0 === null) { result0 = parse_GOhA_pre(); if (result0 === null) { result0 = parse_GUhA_pre(); if (result0 === null) { result0 = parse_I_pre(); if (result0 === null) { result0 = parse_JA_pre(); if (result0 === null) { result0 = parse_JAI_pre(); if (result0 === null) { result0 = parse_JOI_pre(); if (result0 === null) { result0 = parse_JOhI_pre(); if (result0 === null) { result0 = parse_KE_pre(); if (result0 === null) { result0 = parse_KEI_pre(); if (result0 === null) { result0 = parse_KEhE_pre(); if (result0 === null) { result0 = parse_KI_pre(); if (result0 === null) { result0 = parse_KOhA_pre(); if (result0 === null) { result0 = parse_KU_pre(); if (result0 === null) { result0 = parse_KUhE_pre(); if (result0 === null) { result0 = parse_KUhO_pre(); if (result0 === null) { result0 = parse_LA_pre(); if (result0 === null) { result0 = parse_LAU_pre(); if (result0 === null) { result0 = parse_LAhE_pre(); if (result0 === null) { result0 = parse_LE_pre(); if (result0 === null) { result0 = parse_LEhU_pre(); if (result0 === null) { result0 = parse_LI_pre(); if (result0 === null) { result0 = parse_LIhU_pre(); if (result0 === null) { result0 = parse_LOhO_pre(); if (result0 === null) { result0 = parse_LOhU_pre(); if (result0 === null) { result0 = parse_LU_pre(); if (result0 === null) { result0 = parse_LUhU_pre(); if (result0 === null) { result0 = parse_MAI_pre(); if (result0 === null) { result0 = parse_MAhO_pre(); if (result0 === null) { result0 = parse_ME_pre(); if (result0 === null) { result0 = parse_MEhU_pre(); if (result0 === null) { result0 = parse_MOI_pre(); if (result0 === null) { result0 = parse_MOhE_pre(); if (result0 === null) { result0 = parse_MOhI_pre(); if (result0 === null) { result0 = parse_NA_pre(); if (result0 === null) { result0 = parse_NAI_pre(); if (result0 === null) { result0 = parse_NAhE_pre(); if (result0 === null) { result0 = parse_NAhU_pre(); if (result0 === null) { result0 = parse_NIhE_pre(); if (result0 === null) { result0 = parse_NIhO_pre(); if (result0 === null) { result0 = parse_NOI_pre(); if (result0 === null) { result0 = parse_NU_pre(); if (result0 === null) { result0 = parse_NUhA_pre(); if (result0 === null) { result0 = parse_NUhI_pre(); if (result0 === null) { result0 = parse_NUhU_pre(); if (result0 === null) { result0 = parse_PA_pre(); if (result0 === null) { result0 = parse_PEhE_pre(); if (result0 === null) { result0 = parse_PEhO_pre(); if (result0 === null) { result0 = parse_PU_pre(); if (result0 === null) { result0 = parse_RAhO_pre(); if (result0 === null) { result0 = parse_ROI_pre(); if (result0 === null) { result0 = parse_SA_pre(); if (result0 === null) { result0 = parse_SE_pre(); if (result0 === null) { result0 = parse_SEI_pre(); if (result0 === null) { result0 = parse_SEhU_pre(); if (result0 === null) { result0 = parse_SI_clause(); if (result0 === null) { result0 = parse_SOI_pre(); if (result0 === null) { result0 = parse_SU_pre(); if (result0 === null) { result0 = parse_TAhE_pre(); if (result0 === null) { result0 = parse_TEI_pre(); if (result0 === null) { result0 = parse_TEhU_pre(); if (result0 === null) { result0 = parse_TO_pre(); if (result0 === null) { result0 = parse_TOI_pre(); if (result0 === null) { result0 = parse_TUhE_pre(); if (result0 === null) { result0 = parse_TUhU_pre(); if (result0 === null) { result0 = parse_UI_pre(); if (result0 === null) { result0 = parse_VA_pre(); if (result0 === null) { result0 = parse_VAU_pre(); if (result0 === null) { result0 = parse_VEI_pre(); if (result0 === null) { result0 = parse_VEhA_pre(); if (result0 === null) { result0 = parse_VEhO_pre(); if (result0 === null) { result0 = parse_VIhA_pre(); if (result0 === null) { result0 = parse_VUhO_pre(); if (result0 === null) { result0 = parse_VUhU_pre(); if (result0 === null) { result0 = parse_XI_pre(); if (result0 === null) { result0 = parse_ZAhO_pre(); if (result0 === null) { result0 = parse_ZEI_pre(); if (result0 === null) { result0 = parse_ZEhA_pre(); if (result0 === null) { result0 = parse_ZI_pre(); if (result0 === null) { result0 = parse_ZIhE_pre(); if (result0 === null) { result0 = parse_ZO_pre(); if (result0 === null) { result0 = parse_ZOI_pre(); if (result0 === null) { result0 = parse_ZOhU_pre(); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_su_clause() { var cacheKey = "su_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0; pos0 = pos; result0 = []; result1 = parse_erasable_clause(); if (result1 === null) { result1 = parse_su_word(); } while (result1 !== null) { result0.push(result1); result1 = parse_erasable_clause(); if (result1 === null) { result1 = parse_su_word(); } } if (result0 !== null) { result1 = parse_SU_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_si_clause() { var cacheKey = "si_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0; pos0 = pos; result1 = parse_erasable_clause(); if (result1 === null) { result1 = parse_pre_zei_bu(); if (result1 === null) { result1 = parse_SA_clause(); } } if (result1 !== null) { result2 = parse_si_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_SI_clause(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos0; } } else { result1 = null; pos = pos0; } } else { result1 = null; pos = pos0; } if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); pos0 = pos; result1 = parse_erasable_clause(); if (result1 === null) { result1 = parse_pre_zei_bu(); if (result1 === null) { result1 = parse_SA_clause(); } } if (result1 !== null) { result2 = parse_si_clause(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_SI_clause(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos0; } } else { result1 = null; pos = pos0; } } else { result1 = null; pos = pos0; } } } else { result0 = null; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_erasable_clause() { var cacheKey = "erasable_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_bu_clause_no_pre(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_ZEI_clause(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_BU_clause(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_zei_clause_no_pre(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_ZEI_clause(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_BU_clause(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _node("erasable_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_su_word() { var cacheKey = "su_word@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6; var pos0, pos1; pos0 = pos; pos1 = pos; reportFailures++; result0 = parse_NIhO_clause(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos1; } if (result0 !== null) { pos1 = pos; reportFailures++; result1 = parse_LU_clause(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos1; } if (result1 !== null) { pos1 = pos; reportFailures++; result2 = parse_TUhE_clause(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos1; } if (result2 !== null) { pos1 = pos; reportFailures++; result3 = parse_TO_clause(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos1; } if (result3 !== null) { pos1 = pos; reportFailures++; result4 = parse_SU_clause(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos1; } if (result4 !== null) { pos1 = pos; reportFailures++; result5 = parse_FAhO_clause(); reportFailures--; if (result5 === null) { result5 = ""; } else { result5 = null; pos = pos1; } if (result5 !== null) { result6 = parse_any_word_SA_handling(); if (result6 !== null) { result0 = [result0, result1, result2, result3, result4, result5, result6]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BRIVLA_clause() { var cacheKey = "BRIVLA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BRIVLA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_zei_clause(); } if (result0 !== null) { result0 = (function(offset, expr) {return (expr.length == 2) ? _node2("BRIVLA_clause", expr[0], expr[1]) : _node("BRIVLA_clause", expr[0]); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BRIVLA_pre() { var cacheKey = "BRIVLA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_BRIVLA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CMENE_clause() { var cacheKey = "CMENE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_CMENE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("CMENE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CMENE_pre() { var cacheKey = "CMENE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_CMENE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CMAVO_clause() { var cacheKey = "CMAVO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_CMAVO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("CMAVO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CMAVO_pre() { var cacheKey = "CMAVO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_CMAVO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_A_clause() { var cacheKey = "A_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_A_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("A_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_A_pre() { var cacheKey = "A_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_A(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BAI_clause() { var cacheKey = "BAI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BAI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("BAI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BAI_pre() { var cacheKey = "BAI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_BAI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BAhE_clause() { var cacheKey = "BAhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result1 = parse_BAhE_pre(); if (result1 !== null) { result2 = parse_BAhE_post(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos1; } } else { result1 = null; pos = pos1; } if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); pos1 = pos; result1 = parse_BAhE_pre(); if (result1 !== null) { result2 = parse_BAhE_post(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos1; } } else { result1 = null; pos = pos1; } } } else { result0 = null; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("BAhE_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BAhE_pre() { var cacheKey = "BAhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0; pos0 = pos; result0 = parse_BAhE(); if (result0 !== null) { result1 = parse_spaces(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BAhE_post() { var cacheKey = "BAhE_post@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; result0 = parse_si_clause(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { pos1 = pos; reportFailures++; result1 = parse_ZEI_clause(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos1; } if (result1 !== null) { pos1 = pos; reportFailures++; result2 = parse_BU_clause(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos1; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BE_clause() { var cacheKey = "BE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("BE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BE_pre() { var cacheKey = "BE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_BE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BEI_clause() { var cacheKey = "BEI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BEI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("BEI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BEI_pre() { var cacheKey = "BEI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_BEI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BEhO_clause() { var cacheKey = "BEhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BEhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("BEhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BEhO_pre() { var cacheKey = "BEhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_BEhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BIhE_clause() { var cacheKey = "BIhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BIhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("BIhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BIhE_pre() { var cacheKey = "BIhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_BIhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BIhI_clause() { var cacheKey = "BIhI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BIhI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("BIhI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BIhI_pre() { var cacheKey = "BIhI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_BIhI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BO_clause() { var cacheKey = "BO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("BO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BO_pre() { var cacheKey = "BO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_BO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BOI_clause() { var cacheKey = "BOI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BOI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("BOI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BOI_pre() { var cacheKey = "BOI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_BOI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BU_clause() { var cacheKey = "BU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BU_pre(); if (result0 !== null) { result1 = parse_BU_post(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("BU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BU_pre() { var cacheKey = "BU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_BU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BU_post() { var cacheKey = "BU_post@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; result0 = parse_spaces(); result0 = result0 !== null ? result0 : ""; cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BY_clause() { var cacheKey = "BY_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_BY_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_bu_clause(); } if (result0 !== null) { result0 = (function(offset, expr) {return (expr[0] == "bu_clause") ? ["BY_clause", expr] : _node2("BY_clause", expr[0], expr[1]); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BY_pre() { var cacheKey = "BY_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_BY(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CAhA_clause() { var cacheKey = "CAhA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_CAhA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("CAhA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CAhA_pre() { var cacheKey = "CAhA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_CAhA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CAI_clause() { var cacheKey = "CAI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_CAI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("CAI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CAI_pre() { var cacheKey = "CAI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_CAI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CEI_clause() { var cacheKey = "CEI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_CEI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("CEI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CEI_pre() { var cacheKey = "CEI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_CEI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CEhE_clause() { var cacheKey = "CEhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_CEhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("CEhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CEhE_pre() { var cacheKey = "CEhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_CEhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CO_clause() { var cacheKey = "CO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_CO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("CO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CO_pre() { var cacheKey = "CO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_CO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_COI_clause() { var cacheKey = "COI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_COI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("COI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_COI_pre() { var cacheKey = "COI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_COI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CU_clause() { var cacheKey = "CU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_CU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("CU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CU_pre() { var cacheKey = "CU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_CU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CUhE_clause() { var cacheKey = "CUhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_CUhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("CUhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CUhE_pre() { var cacheKey = "CUhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_CUhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_DAhO_clause() { var cacheKey = "DAhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_DAhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("DAhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_DAhO_pre() { var cacheKey = "DAhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_DAhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_DOI_clause() { var cacheKey = "DOI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_DOI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("DOI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_DOI_pre() { var cacheKey = "DOI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_DOI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_DOhU_clause() { var cacheKey = "DOhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_DOhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("DOhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_DOhU_pre() { var cacheKey = "DOhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_DOhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FA_clause() { var cacheKey = "FA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("FA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FA_pre() { var cacheKey = "FA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_FA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FAhA_clause() { var cacheKey = "FAhA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FAhA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("FAhA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FAhA_pre() { var cacheKey = "FAhA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_FAhA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FAhO_clause() { var cacheKey = "FAhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_FAhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("FAhO_clause", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FEhE_clause() { var cacheKey = "FEhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FEhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("FEhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FEhE_pre() { var cacheKey = "FEhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_FEhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FEhU_clause() { var cacheKey = "FEhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FEhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("FEhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FEhU_pre() { var cacheKey = "FEhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_FEhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FIhO_clause() { var cacheKey = "FIhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FIhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("FIhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FIhO_pre() { var cacheKey = "FIhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_FIhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FOI_clause() { var cacheKey = "FOI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FOI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("FOI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FOI_pre() { var cacheKey = "FOI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_FOI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FUhA_clause() { var cacheKey = "FUhA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FUhA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("FUhA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FUhA_pre() { var cacheKey = "FUhA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_FUhA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FUhE_clause() { var cacheKey = "FUhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FUhE_pre(); if (result0 !== null) { result1 = parse_FUhE_post(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("FUhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FUhE_pre() { var cacheKey = "FUhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_FUhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FUhE_post() { var cacheKey = "FUhE_post@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1; pos0 = pos; pos1 = pos; reportFailures++; result0 = parse_BU_clause(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos1; } if (result0 !== null) { result1 = parse_spaces(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { pos1 = pos; reportFailures++; result2 = parse_ZEI_clause(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos1; } if (result2 !== null) { pos1 = pos; reportFailures++; result3 = parse_BU_clause(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos1; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FUhO_clause() { var cacheKey = "FUhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_FUhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("FUhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FUhO_pre() { var cacheKey = "FUhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_FUhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GA_clause() { var cacheKey = "GA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_GA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("GA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GA_pre() { var cacheKey = "GA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_GA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GAhO_clause() { var cacheKey = "GAhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_GAhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("GAhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GAhO_pre() { var cacheKey = "GAhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_GAhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GEhU_clause() { var cacheKey = "GEhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_GEhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("GEhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GEhU_pre() { var cacheKey = "GEhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_GEhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GI_clause() { var cacheKey = "GI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_GI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("GI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GI_pre() { var cacheKey = "GI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_GI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GIhA_clause() { var cacheKey = "GIhA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_GIhA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("GIhA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GIhA_pre() { var cacheKey = "GIhA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_GIhA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GOI_clause() { var cacheKey = "GOI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_GOI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("GOI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GOI_pre() { var cacheKey = "GOI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_GOI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GOhA_clause() { var cacheKey = "GOhA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_GOhA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("GOhA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GOhA_pre() { var cacheKey = "GOhA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_GOhA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GUhA_clause() { var cacheKey = "GUhA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_GUhA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("GUhA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GUhA_pre() { var cacheKey = "GUhA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_GUhA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_I_clause() { var cacheKey = "I_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_sentence_sa(); while (result1 !== null) { result0.push(result1); result1 = parse_sentence_sa(); } if (result0 !== null) { result1 = parse_I_pre(); if (result1 !== null) { result2 = parse_post_clause(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("I_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_I_pre() { var cacheKey = "I_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_I(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_JA_clause() { var cacheKey = "JA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_JA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("JA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_JA_pre() { var cacheKey = "JA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_JA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_JAI_clause() { var cacheKey = "JAI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_JAI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("JAI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_JAI_pre() { var cacheKey = "JAI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_JAI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_JOhI_clause() { var cacheKey = "JOhI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_JOhI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("JOhI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_JOhI_pre() { var cacheKey = "JOhI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_JOhI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_JOI_clause() { var cacheKey = "JOI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_JOI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("JOI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_JOI_pre() { var cacheKey = "JOI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_JOI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KE_clause() { var cacheKey = "KE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_KE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("KE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KE_pre() { var cacheKey = "KE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_KE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KEhE_clause() { var cacheKey = "KEhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_KEhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("KEhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KEhE_pre() { var cacheKey = "KEhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_KEhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KEI_clause() { var cacheKey = "KEI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_KEI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("KEI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KEI_pre() { var cacheKey = "KEI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_KEI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KEI_no_SA_handling() { var cacheKey = "KEI_no_SA_handling@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_KEI(); if (result1 !== null) { result2 = parse_post_clause(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KI_clause() { var cacheKey = "KI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_KI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("KI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KI_pre() { var cacheKey = "KI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_KI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KOhA_clause() { var cacheKey = "KOhA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_KOhA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("KOhA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KOhA_pre() { var cacheKey = "KOhA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_KOhA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KU_clause() { var cacheKey = "KU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_KU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("KU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KU_pre() { var cacheKey = "KU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_KU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KUhE_clause() { var cacheKey = "KUhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_KUhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("KUhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KUhE_pre() { var cacheKey = "KUhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_KUhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KUhO_clause() { var cacheKey = "KUhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_KUhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("KUhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KUhO_pre() { var cacheKey = "KUhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_KUhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LA_clause() { var cacheKey = "LA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_LA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("LA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LA_pre() { var cacheKey = "LA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_LA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LAU_clause() { var cacheKey = "LAU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_LAU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("LAU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LAU_pre() { var cacheKey = "LAU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_LAU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LAhE_clause() { var cacheKey = "LAhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_LAhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("LAhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LAhE_pre() { var cacheKey = "LAhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_LAhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LE_clause() { var cacheKey = "LE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_LE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("LE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LE_pre() { var cacheKey = "LE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_LE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LEhU_clause() { var cacheKey = "LEhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_LEhU_pre(); if (result0 !== null) { result1 = parse_LEhU_post(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("LEhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LEhU_pre() { var cacheKey = "LEhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_LEhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LEhU_post() { var cacheKey = "LEhU_post@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; result0 = parse_spaces(); result0 = result0 !== null ? result0 : ""; cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LI_clause() { var cacheKey = "LI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_LI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("LI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LI_pre() { var cacheKey = "LI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_LI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LIhU_clause() { var cacheKey = "LIhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_LIhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("LIhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LIhU_pre() { var cacheKey = "LIhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_LIhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LOhO_clause() { var cacheKey = "LOhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_LOhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("LOhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LOhO_pre() { var cacheKey = "LOhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_LOhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LOhU_clause() { var cacheKey = "LOhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_LOhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("LOhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LOhU_pre() { var cacheKey = "LOhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_LOhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; pos1 = pos; pos2 = pos; reportFailures++; result4 = parse_LEhU(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { result5 = parse_any_word(); if (result5 !== null) { result4 = [result4, result5]; } else { result4 = null; pos = pos1; } } else { result4 = null; pos = pos1; } while (result4 !== null) { result3.push(result4); pos1 = pos; pos2 = pos; reportFailures++; result4 = parse_LEhU(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { result5 = parse_any_word(); if (result5 !== null) { result4 = [result4, result5]; } else { result4 = null; pos = pos1; } } else { result4 = null; pos = pos1; } } if (result3 !== null) { result4 = parse_LEhU_clause(); if (result4 !== null) { result5 = parse_spaces(); result5 = result5 !== null ? result5 : ""; if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LU_clause() { var cacheKey = "LU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_LU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("LU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LU_pre() { var cacheKey = "LU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_LU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LUhU_clause() { var cacheKey = "LUhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_LUhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("LUhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LUhU_pre() { var cacheKey = "LUhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_LUhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MAhO_clause() { var cacheKey = "MAhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_MAhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("MAhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MAhO_pre() { var cacheKey = "MAhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_MAhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MAI_clause() { var cacheKey = "MAI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_MAI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("MAI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MAI_pre() { var cacheKey = "MAI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_MAI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ME_clause() { var cacheKey = "ME_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_ME_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("ME_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ME_pre() { var cacheKey = "ME_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_ME(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MEhU_clause() { var cacheKey = "MEhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_MEhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("MEhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MEhU_pre() { var cacheKey = "MEhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_MEhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MOhE_clause() { var cacheKey = "MOhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_MOhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("MOhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MOhE_pre() { var cacheKey = "MOhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_MOhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MOhI_clause() { var cacheKey = "MOhI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_MOhI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("MOhI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MOhI_pre() { var cacheKey = "MOhI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_MOhI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MOI_clause() { var cacheKey = "MOI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_MOI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("MOI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MOI_pre() { var cacheKey = "MOI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_MOI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NA_clause() { var cacheKey = "NA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("NA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NA_pre() { var cacheKey = "NA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_NA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NAI_clause() { var cacheKey = "NAI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NAI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("NAI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NAI_pre() { var cacheKey = "NAI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_NAI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NAhE_clause() { var cacheKey = "NAhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NAhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("NAhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NAhE_pre() { var cacheKey = "NAhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_NAhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NAhU_clause() { var cacheKey = "NAhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NAhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("NAhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NAhU_pre() { var cacheKey = "NAhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_NAhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NIhE_clause() { var cacheKey = "NIhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NIhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("NIhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NIhE_pre() { var cacheKey = "NIhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_NIhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NIhO_clause() { var cacheKey = "NIhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_sentence_sa(); while (result1 !== null) { result0.push(result1); result1 = parse_sentence_sa(); } if (result0 !== null) { result1 = parse_NIhO_pre(); if (result1 !== null) { result2 = parse_NIhO_post(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("NIhO_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NIhO_pre() { var cacheKey = "NIhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_NIhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NIhO_post() { var cacheKey = "NIhO_post@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0; pos0 = pos; result0 = []; result1 = parse_su_clause(); while (result1 !== null) { result0.push(result1); result1 = parse_su_clause(); } if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NOI_clause() { var cacheKey = "NOI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NOI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("NOI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NOI_pre() { var cacheKey = "NOI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_NOI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NU_clause() { var cacheKey = "NU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("NU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NU_pre() { var cacheKey = "NU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_NU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NUhA_clause() { var cacheKey = "NUhA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NUhA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("NUhA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NUhA_pre() { var cacheKey = "NUhA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_NUhA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NUhI_clause() { var cacheKey = "NUhI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NUhI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("NUhI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NUhI_pre() { var cacheKey = "NUhI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_NUhI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NUhU_clause() { var cacheKey = "NUhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_NUhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("NUhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NUhU_pre() { var cacheKey = "NUhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_NUhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_PA_clause() { var cacheKey = "PA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_PA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("PA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_PA_pre() { var cacheKey = "PA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_PA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_PEhE_clause() { var cacheKey = "PEhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_PEhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("PEhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_PEhE_pre() { var cacheKey = "PEhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_PEhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_PEhO_clause() { var cacheKey = "PEhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_PEhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("PEhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_PEhO_pre() { var cacheKey = "PEhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_PEhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_PU_clause() { var cacheKey = "PU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_PU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("PA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_PU_pre() { var cacheKey = "PU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_PU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_RAhO_clause() { var cacheKey = "RAhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_RAhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("RAhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_RAhO_pre() { var cacheKey = "RAhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_RAhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ROI_clause() { var cacheKey = "ROI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_ROI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("ROI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ROI_pre() { var cacheKey = "ROI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_ROI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SA_clause() { var cacheKey = "SA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_SA_pre(); if (result0 !== null) { result1 = parse_SA_post(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("SA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SA_pre() { var cacheKey = "SA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_SA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SA_post() { var cacheKey = "SA_post@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; result0 = parse_spaces(); result0 = result0 !== null ? result0 : ""; cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SE_clause() { var cacheKey = "SE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_SE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("SE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SE_pre() { var cacheKey = "SE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_SE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SEI_clause() { var cacheKey = "SEI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_SEI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("SEI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SEI_pre() { var cacheKey = "SEI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_SEI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SEhU_clause() { var cacheKey = "SEhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_SEhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("SEhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SEhU_pre() { var cacheKey = "SEhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_SEhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SI_clause() { var cacheKey = "SI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_spaces(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_SI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("SI_clause", expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SOI_clause() { var cacheKey = "SOI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_SOI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node("SOI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SOI_pre() { var cacheKey = "SOI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_SOI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SU_clause() { var cacheKey = "SU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_SU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node("SU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SU_pre() { var cacheKey = "SU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_SU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TAhE_clause() { var cacheKey = "TAhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_TAhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("TAhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TAhE_pre() { var cacheKey = "TAhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_TAhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TEhU_clause() { var cacheKey = "TEhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_TEhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node("TEhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TEhU_pre() { var cacheKey = "TEhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_TEhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TEI_clause() { var cacheKey = "TEI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_TEI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("TEI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TEI_pre() { var cacheKey = "TEI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_TEI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TO_clause() { var cacheKey = "TO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_TO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node("TO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TO_pre() { var cacheKey = "TO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_TO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TOI_clause() { var cacheKey = "TOI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_TOI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node("TOI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TOI_pre() { var cacheKey = "TOI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_TOI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TUhE_clause() { var cacheKey = "TUhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_TUhE_pre(); if (result0 !== null) { result1 = parse_TUhE_post(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node("TUhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TUhE_pre() { var cacheKey = "TUhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_TUhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TUhE_post() { var cacheKey = "TUhE_post@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0; pos0 = pos; result0 = []; result1 = parse_su_clause(); while (result1 !== null) { result0.push(result1); result1 = parse_su_clause(); } if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TUhU_clause() { var cacheKey = "TUhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_TUhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node("TUhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TUhU_pre() { var cacheKey = "TUhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_TUhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_UI_clause() { var cacheKey = "UI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_UI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("UI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_UI_pre() { var cacheKey = "UI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_UI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VA_clause() { var cacheKey = "VA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_VA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node("VA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VA_pre() { var cacheKey = "VA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_VA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VAU_clause() { var cacheKey = "VAU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_VAU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node("VAU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VAU_pre() { var cacheKey = "VAU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_VAU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VEI_clause() { var cacheKey = "VEI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_VEI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node("VEI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VEI_pre() { var cacheKey = "VEI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_VEI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VEhO_clause() { var cacheKey = "VEhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_VEhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node("VEhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VEhO_pre() { var cacheKey = "VEhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_VEhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VUhU_clause() { var cacheKey = "VUhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_VUhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("VUhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VUhU_pre() { var cacheKey = "VUhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_VUhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VEhA_clause() { var cacheKey = "VEhA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_VEhA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("VEhA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VEhA_pre() { var cacheKey = "VEhA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_VEhA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VIhA_clause() { var cacheKey = "VIhA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_VIhA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("VIhA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VIhA_pre() { var cacheKey = "VIhA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_VIhA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VUhO_clause() { var cacheKey = "VUhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_VUhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("VUhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VUhO_pre() { var cacheKey = "VUhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_VUhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_XI_clause() { var cacheKey = "XI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_XI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("XI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_XI_pre() { var cacheKey = "XI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_XI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZAhO_clause() { var cacheKey = "ZAhO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_ZAhO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("ZAhO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZAhO_pre() { var cacheKey = "ZAhO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_ZAhO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZEhA_clause() { var cacheKey = "ZEhA_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_ZEhA_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("ZEhA_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZEhA_pre() { var cacheKey = "ZEhA_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_ZEhA(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZEI_clause() { var cacheKey = "ZEI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_ZEI_pre(); if (result0 !== null) { result1 = parse_ZEI_post(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("ZEI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZEI_pre() { var cacheKey = "ZEI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_ZEI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZEI_post() { var cacheKey = "ZEI_post@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; result0 = parse_spaces(); result0 = result0 !== null ? result0 : ""; cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZI_clause() { var cacheKey = "ZI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_ZI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("ZI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZI_pre() { var cacheKey = "ZI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_ZI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZIhE_clause() { var cacheKey = "ZIhE_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_ZIhE_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("ZIhE_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZIhE_pre() { var cacheKey = "ZIhE_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_ZIhE(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZO_clause() { var cacheKey = "ZO_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_ZO_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("ZO_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZO_pre() { var cacheKey = "ZO_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_ZO(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_any_word(); if (result3 !== null) { result4 = parse_spaces(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZOI_clause() { var cacheKey = "ZOI_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_ZOI_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("ZOI_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZOI_pre() { var cacheKey = "ZOI_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_ZOI(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = parse_lojban_word(); if (result3 !== null) { result4 = []; result5 = parse_non_lojban_word(); while (result5 !== null) { result4.push(result5); result5 = parse_non_lojban_word(); } if (result4 !== null) { result5 = parse_lojban_word(); if (result5 !== null) { result6 = parse_spaces(); result6 = result6 !== null ? result6 : ""; if (result6 !== null) { result0 = [result0, result1, result2, result3, result4, result5, result6]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZOhU_clause() { var cacheKey = "ZOhU_clause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_ZOhU_pre(); if (result0 !== null) { result1 = parse_post_clause(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, pre, post) {return _node2("ZOhU_clause", pre, post); })(pos0, result0[0], result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZOhU_pre() { var cacheKey = "ZOhU_pre@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0; pos0 = pos; result0 = parse_pre_clause(); if (result0 !== null) { result1 = parse_ZOhU(); if (result1 !== null) { result2 = parse_spaces(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } } else { result0 = null; pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CMENE() { var cacheKey = "CMENE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_cmene(); if (result0 !== null) { result0 = (function(offset, expr) {return ["CMENE", expr];})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BRIVLA() { var cacheKey = "BRIVLA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_gismu_2(); if (result0 === null) { result0 = parse_lujvo(); if (result0 === null) { result0 = parse_fuhivla(); } } if (result0 !== null) { result0 = (function(offset, expr) {return ["BRIVLA", expr];})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_gismu_2() { var cacheKey = "gismu_2@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_gismu(); if (result0 !== null) { result0 = (function(offset, expr) {return ["gismu", expr];})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CMAVO() { var cacheKey = "CMAVO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_A(); if (result0 === null) { result0 = parse_BAI(); if (result0 === null) { result0 = parse_BAhE(); if (result0 === null) { result0 = parse_BE(); if (result0 === null) { result0 = parse_BEI(); if (result0 === null) { result0 = parse_BEhO(); if (result0 === null) { result0 = parse_BIhE(); if (result0 === null) { result0 = parse_BIhI(); if (result0 === null) { result0 = parse_BO(); if (result0 === null) { result0 = parse_BOI(); if (result0 === null) { result0 = parse_BU(); if (result0 === null) { result0 = parse_BY(); if (result0 === null) { result0 = parse_CAhA(); if (result0 === null) { result0 = parse_CAI(); if (result0 === null) { result0 = parse_CEI(); if (result0 === null) { result0 = parse_CEhE(); if (result0 === null) { result0 = parse_CO(); if (result0 === null) { result0 = parse_COI(); if (result0 === null) { result0 = parse_CU(); if (result0 === null) { result0 = parse_CUhE(); if (result0 === null) { result0 = parse_DAhO(); if (result0 === null) { result0 = parse_DOI(); if (result0 === null) { result0 = parse_DOhU(); if (result0 === null) { result0 = parse_FA(); if (result0 === null) { result0 = parse_FAhA(); if (result0 === null) { result0 = parse_FAhO(); if (result0 === null) { result0 = parse_FEhE(); if (result0 === null) { result0 = parse_FEhU(); if (result0 === null) { result0 = parse_FIhO(); if (result0 === null) { result0 = parse_FOI(); if (result0 === null) { result0 = parse_FUhA(); if (result0 === null) { result0 = parse_FUhE(); if (result0 === null) { result0 = parse_FUhO(); if (result0 === null) { result0 = parse_GA(); if (result0 === null) { result0 = parse_GAhO(); if (result0 === null) { result0 = parse_GEhU(); if (result0 === null) { result0 = parse_GI(); if (result0 === null) { result0 = parse_GIhA(); if (result0 === null) { result0 = parse_GOI(); if (result0 === null) { result0 = parse_GOhA(); if (result0 === null) { result0 = parse_GUhA(); if (result0 === null) { result0 = parse_I(); if (result0 === null) { result0 = parse_JA(); if (result0 === null) { result0 = parse_JAI(); if (result0 === null) { result0 = parse_JOhI(); if (result0 === null) { result0 = parse_JOI(); if (result0 === null) { result0 = parse_KE(); if (result0 === null) { result0 = parse_KEhE(); if (result0 === null) { result0 = parse_KEI(); if (result0 === null) { result0 = parse_KI(); if (result0 === null) { result0 = parse_KOhA(); if (result0 === null) { result0 = parse_KU(); if (result0 === null) { result0 = parse_KUhE(); if (result0 === null) { result0 = parse_KUhO(); if (result0 === null) { result0 = parse_LA(); if (result0 === null) { result0 = parse_LAU(); if (result0 === null) { result0 = parse_LAhE(); if (result0 === null) { result0 = parse_LE(); if (result0 === null) { result0 = parse_LEhU(); if (result0 === null) { result0 = parse_LI(); if (result0 === null) { result0 = parse_LIhU(); if (result0 === null) { result0 = parse_LOhO(); if (result0 === null) { result0 = parse_LOhU(); if (result0 === null) { result0 = parse_LU(); if (result0 === null) { result0 = parse_LUhU(); if (result0 === null) { result0 = parse_MAhO(); if (result0 === null) { result0 = parse_MAI(); if (result0 === null) { result0 = parse_ME(); if (result0 === null) { result0 = parse_MEhU(); if (result0 === null) { result0 = parse_MOhE(); if (result0 === null) { result0 = parse_MOhI(); if (result0 === null) { result0 = parse_MOI(); if (result0 === null) { result0 = parse_NA(); if (result0 === null) { result0 = parse_NAI(); if (result0 === null) { result0 = parse_NAhE(); if (result0 === null) { result0 = parse_NAhU(); if (result0 === null) { result0 = parse_NIhE(); if (result0 === null) { result0 = parse_NIhO(); if (result0 === null) { result0 = parse_NOI(); if (result0 === null) { result0 = parse_NU(); if (result0 === null) { result0 = parse_NUhA(); if (result0 === null) { result0 = parse_NUhI(); if (result0 === null) { result0 = parse_NUhU(); if (result0 === null) { result0 = parse_PA(); if (result0 === null) { result0 = parse_PEhE(); if (result0 === null) { result0 = parse_PEhO(); if (result0 === null) { result0 = parse_PU(); if (result0 === null) { result0 = parse_RAhO(); if (result0 === null) { result0 = parse_ROI(); if (result0 === null) { result0 = parse_SA(); if (result0 === null) { result0 = parse_SE(); if (result0 === null) { result0 = parse_SEI(); if (result0 === null) { result0 = parse_SEhU(); if (result0 === null) { result0 = parse_SI(); if (result0 === null) { result0 = parse_SOI(); if (result0 === null) { result0 = parse_SU(); if (result0 === null) { result0 = parse_TAhE(); if (result0 === null) { result0 = parse_TEhU(); if (result0 === null) { result0 = parse_TEI(); if (result0 === null) { result0 = parse_TO(); if (result0 === null) { result0 = parse_TOI(); if (result0 === null) { result0 = parse_TUhE(); if (result0 === null) { result0 = parse_TUhU(); if (result0 === null) { result0 = parse_UI(); if (result0 === null) { result0 = parse_VA(); if (result0 === null) { result0 = parse_VAU(); if (result0 === null) { result0 = parse_VEI(); if (result0 === null) { result0 = parse_VEhO(); if (result0 === null) { result0 = parse_VUhU(); if (result0 === null) { result0 = parse_VEhA(); if (result0 === null) { result0 = parse_VIhA(); if (result0 === null) { result0 = parse_VUhO(); if (result0 === null) { result0 = parse_XI(); if (result0 === null) { result0 = parse_ZAhO(); if (result0 === null) { result0 = parse_ZEhA(); if (result0 === null) { result0 = parse_ZEI(); if (result0 === null) { result0 = parse_ZI(); if (result0 === null) { result0 = parse_ZIhE(); if (result0 === null) { result0 = parse_ZO(); if (result0 === null) { result0 = parse_ZOI(); if (result0 === null) { result0 = parse_ZOhU(); if (result0 === null) { result0 = parse_cmavo(); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return ["CMAVO", expr];})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_lojban_word() { var cacheKey = "lojban_word@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_CMENE(); if (result0 === null) { result0 = parse_CMAVO(); if (result0 === null) { result0 = parse_BRIVLA(); } } if (result0 !== null) { result0 = (function(offset, expr) { return expr; })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_any_word() { var cacheKey = "any_word@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_lojban_word(); if (result0 !== null) { result1 = parse_spaces(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return expr; })(pos0, result0[0]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_cmene() { var cacheKey = "cmene@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_h(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_consonant_final(); reportFailures--; if (result1 !== null) { result1 = ""; pos = pos2; } else { result1 = null; } if (result1 !== null) { result2 = parse_coda(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_any_syllable(); if (result4 === null) { result4 = parse_digit(); } while (result4 !== null) { result3.push(result4); result4 = parse_any_syllable(); if (result4 === null) { result4 = parse_digit(); } } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_pause(); reportFailures--; if (result4 !== null) { result4 = ""; pos = pos2; } else { result4 = null; } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return ["cmene", _join(expr)]; })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_consonant_final() { var cacheKey = "consonant_final@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2, pos3; pos0 = pos; pos1 = pos; result0 = []; pos2 = pos; result1 = parse_non_space(); if (result1 !== null) { pos3 = pos; reportFailures++; result2 = parse_non_space(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos3; } else { result2 = null; } if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } while (result1 !== null) { result0.push(result1); pos2 = pos; result1 = parse_non_space(); if (result1 !== null) { pos3 = pos; reportFailures++; result2 = parse_non_space(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos3; } else { result2 = null; } if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result0 !== null) { result1 = parse_consonant(); if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_pause(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_cmavo() { var cacheKey = "cmavo@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmene(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_CVCy_lujvo(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result2 = parse_cmavo_form(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_post_word(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CVCy_lujvo() { var cacheKey = "CVCy_lujvo@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_CVC_rafsi(); if (result0 !== null) { result1 = parse_y(); if (result1 !== null) { result2 = parse_h(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result3 = []; result4 = parse_initial_rafsi(); while (result4 !== null) { result3.push(result4); result4 = parse_initial_rafsi(); } if (result3 !== null) { result4 = parse_brivla_core(); if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_stressed_CVC_rafsi(); if (result0 !== null) { result1 = parse_y(); if (result1 !== null) { result2 = parse_short_final_rafsi(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_cmavo_form() { var cacheKey = "cmavo_form@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2, pos3; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_h(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_cluster(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result2 = parse_onset(); if (result2 !== null) { result3 = []; pos2 = pos; result4 = parse_nucleus(); if (result4 !== null) { result5 = parse_h(); if (result5 !== null) { result4 = [result4, result5]; } else { result4 = null; pos = pos2; } } else { result4 = null; pos = pos2; } while (result4 !== null) { result3.push(result4); pos2 = pos; result4 = parse_nucleus(); if (result4 !== null) { result5 = parse_h(); if (result5 !== null) { result4 = [result4, result5]; } else { result4 = null; pos = pos2; } } else { result4 = null; pos = pos2; } } if (result3 !== null) { pos2 = pos; pos3 = pos; reportFailures++; result4 = parse_stressed(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos3; } if (result4 !== null) { result5 = parse_nucleus(); if (result5 !== null) { result4 = [result4, result5]; } else { result4 = null; pos = pos2; } } else { result4 = null; pos = pos2; } if (result4 === null) { pos2 = pos; result4 = parse_nucleus(); if (result4 !== null) { pos3 = pos; reportFailures++; result5 = parse_cluster(); reportFailures--; if (result5 === null) { result5 = ""; } else { result5 = null; pos = pos3; } if (result5 !== null) { result4 = [result4, result5]; } else { result4 = null; pos = pos2; } } else { result4 = null; pos = pos2; } } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result1 = parse_y(); if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); result1 = parse_y(); } } else { result0 = null; } if (result0 === null) { result0 = parse_digit(); } } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_brivla() { var cacheKey = "brivla@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { result1 = []; result2 = parse_initial_rafsi(); while (result2 !== null) { result1.push(result2); result2 = parse_initial_rafsi(); } if (result1 !== null) { result2 = parse_brivla_core(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_brivla_core() { var cacheKey = "brivla_core@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; result0 = parse_fuhivla(); if (result0 === null) { result0 = parse_gismu(); if (result0 === null) { result0 = parse_CVV_final_rafsi(); if (result0 === null) { pos1 = pos; result0 = parse_stressed_initial_rafsi(); if (result0 !== null) { result1 = parse_short_final_rafsi(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_initial_rafsi() { var cacheKey = "stressed_initial_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_stressed_extended_rafsi(); if (result0 === null) { result0 = parse_stressed_y_rafsi(); if (result0 === null) { result0 = parse_stressed_y_less_rafsi(); } } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_initial_rafsi() { var cacheKey = "initial_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; result0 = parse_extended_rafsi(); if (result0 === null) { result0 = parse_y_rafsi(); if (result0 === null) { pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_any_extended_rafsi(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { result1 = parse_y_less_rafsi(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_any_extended_rafsi() { var cacheKey = "any_extended_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_fuhivla(); if (result0 === null) { result0 = parse_extended_rafsi(); if (result0 === null) { result0 = parse_stressed_extended_rafsi(); } } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_fuhivla() { var cacheKey = "fuhivla@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_fuhivla_head(); if (result0 !== null) { result1 = parse_stressed_syllable(); if (result1 !== null) { result2 = []; result3 = parse_consonantal_syllable(); while (result3 !== null) { result2.push(result3); result3 = parse_consonantal_syllable(); } if (result2 !== null) { result3 = parse_final_syllable(); if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_extended_rafsi() { var cacheKey = "stressed_extended_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_stressed_brivla_rafsi(); if (result0 === null) { result0 = parse_stressed_fuhivla_rafsi(); } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_extended_rafsi() { var cacheKey = "extended_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_brivla_rafsi(); if (result0 === null) { result0 = parse_fuhivla_rafsi(); } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_brivla_rafsi() { var cacheKey = "stressed_brivla_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_unstressed_syllable(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { result1 = parse_brivla_head(); if (result1 !== null) { result2 = parse_stressed_syllable(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_y(); if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_brivla_rafsi() { var cacheKey = "brivla_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; pos3 = pos; result0 = parse_syllable(); if (result0 !== null) { result1 = []; result2 = parse_consonantal_syllable(); while (result2 !== null) { result1.push(result2); result2 = parse_consonantal_syllable(); } if (result1 !== null) { result2 = parse_syllable(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos3; } } else { result0 = null; pos = pos3; } } else { result0 = null; pos = pos3; } reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { result1 = parse_brivla_head(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_y(); if (result3 !== null) { result4 = parse_h(); result4 = result4 !== null ? result4 : ""; if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_fuhivla_rafsi() { var cacheKey = "stressed_fuhivla_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_fuhivla_head(); if (result0 !== null) { result1 = parse_stressed_syllable(); if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_consonant(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result3 = parse_onset(); if (result3 !== null) { result4 = parse_y(); if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_fuhivla_rafsi() { var cacheKey = "fuhivla_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_unstressed_syllable(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { result1 = parse_fuhivla_head(); if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_consonant(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result3 = parse_onset(); if (result3 !== null) { result4 = parse_y(); if (result4 !== null) { result5 = parse_h(); result5 = result5 !== null ? result5 : ""; if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_fuhivla_head() { var cacheKey = "fuhivla_head@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_rafsi_string(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { result1 = parse_brivla_head(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_brivla_head() { var cacheKey = "brivla_head@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_slinkuhi(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_onset(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result4 = []; result5 = parse_unstressed_syllable(); while (result5 !== null) { result4.push(result5); result5 = parse_unstressed_syllable(); } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_slinkuhi() { var cacheKey = "slinkuhi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_consonant(); if (result0 !== null) { result1 = parse_rafsi_string(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_rafsi_string() { var cacheKey = "rafsi_string@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_y_less_rafsi(); while (result1 !== null) { result0.push(result1); result1 = parse_y_less_rafsi(); } if (result0 !== null) { result1 = parse_gismu(); if (result1 === null) { result1 = parse_CVV_final_rafsi(); if (result1 === null) { pos2 = pos; result1 = parse_stressed_y_less_rafsi(); if (result1 !== null) { result2 = parse_short_final_rafsi(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { result1 = parse_y_rafsi(); if (result1 === null) { result1 = parse_stressed_y_rafsi(); if (result1 === null) { pos2 = pos; result1 = parse_stressed_y_less_rafsi(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_initial_pair(); if (result2 !== null) { result3 = parse_y(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_gismu() { var cacheKey = "gismu@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_stressed_long_rafsi(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_final_syllable(); reportFailures--; if (result1 !== null) { result1 = ""; pos = pos2; } else { result1 = null; } if (result1 !== null) { result2 = parse_vowel(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_post_word(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CVV_final_rafsi() { var cacheKey = "CVV_final_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_consonant(); if (result0 !== null) { result1 = parse_stressed_vowel(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_final_syllable(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result4 = parse_vowel(); if (result4 !== null) { pos2 = pos; reportFailures++; result5 = parse_post_word(); reportFailures--; if (result5 !== null) { result5 = ""; pos = pos2; } else { result5 = null; } if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_short_final_rafsi() { var cacheKey = "short_final_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_final_syllable(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_consonant(); if (result1 !== null) { result2 = parse_diphthong(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_initial_pair(); if (result1 !== null) { result2 = parse_vowel(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_y_rafsi() { var cacheKey = "stressed_y_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_stressed_long_rafsi(); if (result0 === null) { result0 = parse_stressed_CVC_rafsi(); } if (result0 !== null) { result1 = parse_y(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_y_less_rafsi() { var cacheKey = "stressed_y_less_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_stressed_CVC_rafsi(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_y(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_stressed_CCV_rafsi(); if (result0 === null) { result0 = parse_stressed_CVV_rafsi(); } } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_long_rafsi() { var cacheKey = "stressed_long_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_stressed_CCV_rafsi(); if (result0 === null) { result0 = parse_stressed_CVC_rafsi(); } if (result0 !== null) { result1 = parse_consonant(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_CVC_rafsi() { var cacheKey = "stressed_CVC_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_consonant(); if (result0 !== null) { result1 = parse_stressed_vowel(); if (result1 !== null) { result2 = parse_consonant(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_CCV_rafsi() { var cacheKey = "stressed_CCV_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_initial_pair(); if (result0 !== null) { result1 = parse_stressed_vowel(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_CVV_rafsi() { var cacheKey = "stressed_CVV_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_consonant(); if (result0 !== null) { pos2 = pos; result1 = parse_unstressed_vowel(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_stressed_vowel(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { result1 = parse_stressed_diphthong(); } if (result1 !== null) { result2 = parse_r_hyphen(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_y_rafsi() { var cacheKey = "y_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_long_rafsi(); if (result0 === null) { result0 = parse_CVC_rafsi(); } if (result0 !== null) { result1 = parse_y(); if (result1 !== null) { result2 = parse_h(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_y_less_rafsi() { var cacheKey = "y_less_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2, pos3; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_y_rafsi(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { pos2 = pos; result1 = parse_CVC_rafsi(); if (result1 !== null) { pos3 = pos; reportFailures++; result2 = parse_y(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos3; } if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { result1 = parse_CCV_rafsi(); if (result1 === null) { result1 = parse_CVV_rafsi(); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_any_extended_rafsi(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_long_rafsi() { var cacheKey = "long_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_CCV_rafsi(); if (result0 === null) { result0 = parse_CVC_rafsi(); } if (result0 !== null) { result1 = parse_consonant(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CVC_rafsi() { var cacheKey = "CVC_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_consonant(); if (result0 !== null) { result1 = parse_unstressed_vowel(); if (result1 !== null) { result2 = parse_consonant(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CCV_rafsi() { var cacheKey = "CCV_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_initial_pair(); if (result0 !== null) { result1 = parse_unstressed_vowel(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CVV_rafsi() { var cacheKey = "CVV_rafsi@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_consonant(); if (result0 !== null) { pos2 = pos; result1 = parse_unstressed_vowel(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_unstressed_vowel(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { result1 = parse_unstressed_diphthong(); } if (result1 !== null) { result2 = parse_r_hyphen(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_r_hyphen() { var cacheKey = "r_hyphen@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_r(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_consonant(); reportFailures--; if (result1 !== null) { result1 = ""; pos = pos2; } else { result1 = null; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_n(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_r(); reportFailures--; if (result1 !== null) { result1 = ""; pos = pos2; } else { result1 = null; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) { return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_final_syllable() { var cacheKey = "final_syllable@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_onset(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_y(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_stressed(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { result3 = parse_nucleus(); if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_cmene(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { pos2 = pos; reportFailures++; result5 = parse_post_word(); reportFailures--; if (result5 !== null) { result5 = ""; pos = pos2; } else { result5 = null; } if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_syllable() { var cacheKey = "stressed_syllable@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_stressed(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { result1 = parse_syllable(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_syllable(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_stress(); reportFailures--; if (result1 !== null) { result1 = ""; pos = pos2; } else { result1 = null; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_diphthong() { var cacheKey = "stressed_diphthong@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_stressed(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { result1 = parse_diphthong(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_diphthong(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_stress(); reportFailures--; if (result1 !== null) { result1 = ""; pos = pos2; } else { result1 = null; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed_vowel() { var cacheKey = "stressed_vowel@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_stressed(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { result1 = parse_vowel(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_vowel(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_stress(); reportFailures--; if (result1 !== null) { result1 = ""; pos = pos2; } else { result1 = null; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_unstressed_syllable() { var cacheKey = "unstressed_syllable@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_stressed(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { result1 = parse_syllable(); if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_stress(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_consonantal_syllable(); } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_unstressed_diphthong() { var cacheKey = "unstressed_diphthong@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_stressed(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { result1 = parse_diphthong(); if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_stress(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_unstressed_vowel() { var cacheKey = "unstressed_vowel@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_stressed(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { result1 = parse_vowel(); if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_stress(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stress() { var cacheKey = "stress@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_consonant(); while (result1 !== null) { result0.push(result1); result1 = parse_consonant(); } if (result0 !== null) { result1 = parse_y(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_syllable(); if (result2 !== null) { result3 = parse_pause(); if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_stressed() { var cacheKey = "stressed@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_onset(); if (result0 !== null) { result1 = []; result2 = parse_comma(); while (result2 !== null) { result1.push(result2); result2 = parse_comma(); } if (result1 !== null) { if (/^[AEIOU]/.test(input.charAt(pos))) { result2 = input.charAt(pos); pos++; } else { result2 = null; if (reportFailures === 0) { matchFailed("[AEIOU]"); } } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_any_syllable() { var cacheKey = "any_syllable@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_onset(); if (result0 !== null) { result1 = parse_nucleus(); if (result1 !== null) { result2 = parse_coda(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_consonantal_syllable(); } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_syllable() { var cacheKey = "syllable@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_onset(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_y(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result2 = parse_nucleus(); if (result2 !== null) { result3 = parse_coda(); result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_consonantal_syllable() { var cacheKey = "consonantal_syllable@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2, pos3; pos0 = pos; pos1 = pos; result0 = parse_consonant(); if (result0 !== null) { result1 = parse_syllabic(); if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_consonantal_syllable(); if (result2 === null) { result2 = parse_onset(); } reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { pos2 = pos; result3 = parse_consonant(); if (result3 !== null) { pos3 = pos; reportFailures++; result4 = parse_spaces(); reportFailures--; if (result4 !== null) { result4 = ""; pos = pos3; } else { result4 = null; } if (result4 !== null) { result3 = [result3, result4]; } else { result3 = null; pos = pos2; } } else { result3 = null; pos = pos2; } result3 = result3 !== null ? result3 : ""; if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_coda() { var cacheKey = "coda@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_any_syllable(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { result1 = parse_consonant(); if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_any_syllable(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_syllabic(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_consonant(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_pause(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_onset() { var cacheKey = "onset@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; result0 = parse_h(); if (result0 === null) { pos1 = pos; result0 = parse_consonant(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_glide(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_initial(); } } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_nucleus() { var cacheKey = "nucleus@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; result0 = parse_vowel(); if (result0 === null) { result0 = parse_diphthong(); if (result0 === null) { pos1 = pos; result0 = parse_y(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_nucleus(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_glide() { var cacheKey = "glide@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_i(); if (result0 === null) { result0 = parse_u(); } if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_nucleus(); reportFailures--; if (result1 !== null) { result1 = ""; pos = pos2; } else { result1 = null; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_glide(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return expr;})(pos0, result0[0]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_diphthong() { var cacheKey = "diphthong@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; result0 = parse_a(); if (result0 !== null) { result1 = parse_i(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } if (result0 === null) { pos2 = pos; result0 = parse_a(); if (result0 !== null) { result1 = parse_u(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } if (result0 === null) { pos2 = pos; result0 = parse_e(); if (result0 !== null) { result1 = parse_i(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } if (result0 === null) { pos2 = pos; result0 = parse_o(); if (result0 !== null) { result1 = parse_i(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } } } } if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_nucleus(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_glide(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0[0]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_vowel() { var cacheKey = "vowel@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_a(); if (result0 === null) { result0 = parse_e(); if (result0 === null) { result0 = parse_i(); if (result0 === null) { result0 = parse_o(); if (result0 === null) { result0 = parse_u(); } } } } if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_nucleus(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return expr;})(pos0, result0[0]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_a() { var cacheKey = "a@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[aA]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[aA]"); } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "a";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_e() { var cacheKey = "e@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[eE]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[eE]"); } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "e";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_i() { var cacheKey = "i@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[iI]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[iI]"); } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "i";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_o() { var cacheKey = "o@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[oO]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[oO]"); } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "o";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_u() { var cacheKey = "u@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[uU]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[uU]"); } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "u";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_y() { var cacheKey = "y@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[yY]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[yY]"); } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "y";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_cluster() { var cacheKey = "cluster@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_consonant(); if (result0 !== null) { result2 = parse_consonant(); if (result2 !== null) { result1 = []; while (result2 !== null) { result1.push(result2); result2 = parse_consonant(); } } else { result1 = null; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_initial_pair() { var cacheKey = "initial_pair@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_initial(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { result1 = parse_consonant(); if (result1 !== null) { result2 = parse_consonant(); if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_consonant(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_initial() { var cacheKey = "initial@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = parse_affricate(); if (result0 === null) { pos2 = pos; result0 = parse_sibilant(); result0 = result0 !== null ? result0 : ""; if (result0 !== null) { result1 = parse_other(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result2 = parse_liquid(); result2 = result2 !== null ? result2 : ""; if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } } else { result0 = null; pos = pos2; } } if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_consonant(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_glide(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0[0]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_affricate() { var cacheKey = "affricate@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_t(); if (result0 !== null) { result1 = parse_c(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_t(); if (result0 !== null) { result1 = parse_s(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_d(); if (result0 !== null) { result1 = parse_j(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_d(); if (result0 !== null) { result1 = parse_z(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_liquid() { var cacheKey = "liquid@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_l(); if (result0 === null) { result0 = parse_r(); } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_other() { var cacheKey = "other@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; result0 = parse_p(); if (result0 === null) { pos1 = pos; result0 = parse_t(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_l(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_k(); if (result0 === null) { result0 = parse_f(); if (result0 === null) { result0 = parse_x(); if (result0 === null) { result0 = parse_b(); if (result0 === null) { pos1 = pos; result0 = parse_d(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_l(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_g(); if (result0 === null) { result0 = parse_v(); if (result0 === null) { result0 = parse_m(); if (result0 === null) { pos1 = pos; result0 = parse_n(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_liquid(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } } } } } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_sibilant() { var cacheKey = "sibilant@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; result0 = parse_c(); if (result0 === null) { pos1 = pos; result0 = parse_s(); if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_x(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { pos1 = pos; result0 = parse_j(); if (result0 === null) { result0 = parse_z(); } if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_n(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_liquid(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr); })(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_consonant() { var cacheKey = "consonant@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_voiced(); if (result0 === null) { result0 = parse_unvoiced(); if (result0 === null) { result0 = parse_syllabic(); } } if (result0 !== null) { result0 = (function(offset, expr) {return expr;})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_syllabic() { var cacheKey = "syllabic@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_l(); if (result0 === null) { result0 = parse_m(); if (result0 === null) { result0 = parse_n(); if (result0 === null) { result0 = parse_r(); } } } if (result0 !== null) { result0 = (function(offset, expr) {return expr;})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_voiced() { var cacheKey = "voiced@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_b(); if (result0 === null) { result0 = parse_d(); if (result0 === null) { result0 = parse_g(); if (result0 === null) { result0 = parse_j(); if (result0 === null) { result0 = parse_v(); if (result0 === null) { result0 = parse_z(); } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return expr;})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_unvoiced() { var cacheKey = "unvoiced@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; result0 = parse_c(); if (result0 === null) { result0 = parse_f(); if (result0 === null) { result0 = parse_k(); if (result0 === null) { result0 = parse_p(); if (result0 === null) { result0 = parse_s(); if (result0 === null) { result0 = parse_t(); if (result0 === null) { result0 = parse_x(); } } } } } } if (result0 !== null) { result0 = (function(offset, expr) {return expr;})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_l() { var cacheKey = "l@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[lL]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[lL]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_l(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "l";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_m() { var cacheKey = "m@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[mM]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[mM]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_m(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_z(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "m";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_n() { var cacheKey = "n@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[nN]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[nN]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_n(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_affricate(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "n";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_r() { var cacheKey = "r@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[rR]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[rR]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_r(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "r";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_b() { var cacheKey = "b@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[bB]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[bB]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_b(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_unvoiced(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "b";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_d() { var cacheKey = "d@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[dD]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[dD]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_d(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_unvoiced(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "d";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_g() { var cacheKey = "g@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[gG]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[gG]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_g(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_unvoiced(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "g";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_v() { var cacheKey = "v@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[vV]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[vV]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_v(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_unvoiced(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "v";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_j() { var cacheKey = "j@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[jJ]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[jJ]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_j(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_z(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { pos2 = pos; reportFailures++; result5 = parse_unvoiced(); reportFailures--; if (result5 === null) { result5 = ""; } else { result5 = null; pos = pos2; } if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "j";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_z() { var cacheKey = "z@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[zZ]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[zZ]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_z(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_j(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { pos2 = pos; reportFailures++; result5 = parse_unvoiced(); reportFailures--; if (result5 === null) { result5 = ""; } else { result5 = null; pos = pos2; } if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "z";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_s() { var cacheKey = "s@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[sS]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[sS]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_s(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_c(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { pos2 = pos; reportFailures++; result5 = parse_voiced(); reportFailures--; if (result5 === null) { result5 = ""; } else { result5 = null; pos = pos2; } if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "s";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_c() { var cacheKey = "c@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[cC]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[cC]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_c(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_s(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { pos2 = pos; reportFailures++; result5 = parse_x(); reportFailures--; if (result5 === null) { result5 = ""; } else { result5 = null; pos = pos2; } if (result5 !== null) { pos2 = pos; reportFailures++; result6 = parse_voiced(); reportFailures--; if (result6 === null) { result6 = ""; } else { result6 = null; pos = pos2; } if (result6 !== null) { result0 = [result0, result1, result2, result3, result4, result5, result6]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "c";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_x() { var cacheKey = "x@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5, result6; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[xX]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[xX]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_x(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_c(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { pos2 = pos; reportFailures++; result5 = parse_k(); reportFailures--; if (result5 === null) { result5 = ""; } else { result5 = null; pos = pos2; } if (result5 !== null) { pos2 = pos; reportFailures++; result6 = parse_voiced(); reportFailures--; if (result6 === null) { result6 = ""; } else { result6 = null; pos = pos2; } if (result6 !== null) { result0 = [result0, result1, result2, result3, result4, result5, result6]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "x";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_k() { var cacheKey = "k@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4, result5; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[kK]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[kK]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_k(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_x(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { pos2 = pos; reportFailures++; result5 = parse_voiced(); reportFailures--; if (result5 === null) { result5 = ""; } else { result5 = null; pos = pos2; } if (result5 !== null) { result0 = [result0, result1, result2, result3, result4, result5]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "k";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_f() { var cacheKey = "f@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[fF]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[fF]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_f(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_voiced(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "f";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_p() { var cacheKey = "p@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[pP]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[pP]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_p(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_voiced(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "p";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_t() { var cacheKey = "t@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[tT]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[tT]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_t(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { pos2 = pos; reportFailures++; result4 = parse_voiced(); reportFailures--; if (result4 === null) { result4 = ""; } else { result4 = null; pos = pos2; } if (result4 !== null) { result0 = [result0, result1, result2, result3, result4]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "t";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_h() { var cacheKey = "h@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^['h]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("['h]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_nucleus(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset) {return "'";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_digit() { var cacheKey = "digit@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { if (/^[0123456789]/.test(input.charAt(pos))) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("[0123456789]"); } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_h(); reportFailures--; if (result2 === null) { result2 = ""; } else { result2 = null; pos = pos2; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_nucleus(); reportFailures--; if (result3 === null) { result3 = ""; } else { result3 = null; pos = pos2; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_post_word() { var cacheKey = "post_word@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; result0 = parse_pause(); if (result0 === null) { pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_nucleus(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { result1 = parse_lojban_word(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_pause() { var cacheKey = "pause@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { result1 = parse_space_char(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_EOF(); } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_EOF() { var cacheKey = "EOF@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; result0 = []; result1 = parse_comma(); while (result1 !== null) { result0.push(result1); result1 = parse_comma(); } if (result0 !== null) { pos2 = pos; reportFailures++; if (input.length > pos) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("any character"); } } reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_comma() { var cacheKey = "comma@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; if (/^[,]/.test(input.charAt(pos))) { result0 = input.charAt(pos); pos++; } else { result0 = null; if (reportFailures === 0) { matchFailed("[,]"); } } if (result0 !== null) { result0 = (function(offset) {return "";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_non_lojban_word() { var cacheKey = "non_lojban_word@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_lojban_word(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { result2 = parse_non_space(); if (result2 !== null) { result1 = []; while (result2 !== null) { result1.push(result2); result2 = parse_non_space(); } } else { result1 = null; } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_non_space() { var cacheKey = "non_space@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_space_char(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { if (input.length > pos) { result1 = input.charAt(pos); pos++; } else { result1 = null; if (reportFailures === 0) { matchFailed("any character"); } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_space_char() { var cacheKey = "space_char@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0; var pos0; pos0 = pos; if (/^[.\t\n\r?! ]/.test(input.charAt(pos))) { result0 = input.charAt(pos); pos++; } else { result0 = null; if (reportFailures === 0) { matchFailed("[.\\t\\n\\r?! ]"); } } if (result0 !== null) { result0 = (function(offset) {return "";})(pos0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_spaces() { var cacheKey = "spaces@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_Y(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { result1 = parse_initial_spaces(); if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_initial_spaces() { var cacheKey = "initial_spaces@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2, pos3; pos0 = pos; pos1 = pos; pos2 = pos; result1 = []; result2 = parse_comma(); while (result2 !== null) { result1.push(result2); result2 = parse_comma(); } if (result1 !== null) { result2 = parse_space_char(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; pos3 = pos; reportFailures++; result1 = parse_ybu(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos3; } if (result1 !== null) { result2 = parse_Y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { result0 = []; while (result1 !== null) { result0.push(result1); pos2 = pos; result1 = []; result2 = parse_comma(); while (result2 !== null) { result1.push(result2); result2 = parse_comma(); } if (result1 !== null) { result2 = parse_space_char(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; pos3 = pos; reportFailures++; result1 = parse_ybu(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos3; } if (result1 !== null) { result2 = parse_Y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } else { result0 = null; } if (result0 !== null) { result1 = parse_EOF(); result1 = result1 !== null ? result1 : ""; if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 === null) { result0 = parse_EOF(); } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ybu() { var cacheKey = "ybu@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1; pos0 = pos; pos1 = pos; result0 = parse_Y(); if (result0 !== null) { result1 = []; result2 = parse_space_char(); while (result2 !== null) { result1.push(result2); result2 = parse_space_char(); } if (result1 !== null) { result2 = parse_BU(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _join(expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_lujvo() { var cacheKey = "lujvo@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_gismu(); reportFailures--; if (result0 === null) { result0 = ""; } else { result0 = null; pos = pos2; } if (result0 !== null) { pos2 = pos; reportFailures++; result1 = parse_fuhivla(); reportFailures--; if (result1 === null) { result1 = ""; } else { result1 = null; pos = pos2; } if (result1 !== null) { result2 = parse_brivla(); if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return _node("lujvo", expr);})(pos0, result0); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_A() { var cacheKey = "A@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { result1 = parse_a(); if (result1 === null) { result1 = parse_e(); if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { result1 = parse_o(); if (result1 === null) { result1 = parse_u(); } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["A", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BAI() { var cacheKey = "BAI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["BAI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BAhE() { var cacheKey = "BAhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["BAhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BE() { var cacheKey = "BE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["BE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BEI() { var cacheKey = "BEI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["BEI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BEhO() { var cacheKey = "BEhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["BEhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BIhE() { var cacheKey = "BIhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["BIhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BIhI() { var cacheKey = "BIhI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["BIhI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BO() { var cacheKey = "BO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["BO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BOI() { var cacheKey = "BOI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["BOI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BU() { var cacheKey = "BU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["BU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_BY() { var cacheKey = "BY@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; result0 = parse_ybu(); if (result0 === null) { pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_y(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_y(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_x(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } } } } } } } } } } } } } } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["BY", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CAhA() { var cacheKey = "CAhA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["CAhA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CAI() { var cacheKey = "CAI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["CAI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CEI() { var cacheKey = "CEI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["CEI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CEhE() { var cacheKey = "CEhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["CEhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CO() { var cacheKey = "CO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["CO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_COI() { var cacheKey = "COI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } } } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["COI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CU() { var cacheKey = "CU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["CU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_CUhE() { var cacheKey = "CUhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["CUhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_DAhO() { var cacheKey = "DAhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["DAhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_DOI() { var cacheKey = "DOI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["DOI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_DOhU() { var cacheKey = "DOhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["DOhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FA() { var cacheKey = "FA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["FA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FAhA() { var cacheKey = "FAhA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } } } } } } } } } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { pos2 = pos; reportFailures++; result3 = parse_post_word(); reportFailures--; if (result3 !== null) { result3 = ""; pos = pos2; } else { result3 = null; } if (result3 !== null) { result0 = [result0, result1, result2, result3]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["FAhA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FAhO() { var cacheKey = "FAhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["FAhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FEhE() { var cacheKey = "FEhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["FEhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FEhU() { var cacheKey = "FEhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["FEhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FIhO() { var cacheKey = "FIhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["FIhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FOI() { var cacheKey = "FOI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["FOI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FUhA() { var cacheKey = "FUhA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["FUhA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FUhE() { var cacheKey = "FUhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["FUhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_FUhO() { var cacheKey = "FUhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["FUhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GA() { var cacheKey = "GA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["GA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GAhO() { var cacheKey = "GAhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["GAhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GEhU() { var cacheKey = "GEhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["GEhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GI() { var cacheKey = "GI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["GI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GIhA() { var cacheKey = "GIhA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["GIhA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GOI() { var cacheKey = "GOI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["GOI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GOhA() { var cacheKey = "GOhA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["GOhA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_GUhA() { var cacheKey = "GUhA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["GUhA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_I() { var cacheKey = "I@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { result1 = parse_i(); if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["I", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_JA() { var cacheKey = "JA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return ["JA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_JAI() { var cacheKey = "JAI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["JAI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_JOhI() { var cacheKey = "JOhI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["JOhI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_JOI() { var cacheKey = "JOI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["JOI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KE() { var cacheKey = "KE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["KE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KEhE() { var cacheKey = "KEhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["KEhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KEI() { var cacheKey = "KEI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["KEI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KI() { var cacheKey = "KI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["KI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KOhA() { var cacheKey = "KOhA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return ["KOhA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KU() { var cacheKey = "KU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["KU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KUhE() { var cacheKey = "KUhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["KUhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_KUhO() { var cacheKey = "KUhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["KUhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LA() { var cacheKey = "LA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return ["LA", _join(expr)]; })(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LAU() { var cacheKey = "LAU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["LAU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LAhE() { var cacheKey = "LAhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["LAhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LE() { var cacheKey = "LE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) { return ["LE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LEhU() { var cacheKey = "LEhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["LEhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LI() { var cacheKey = "LI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["LI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LIhU() { var cacheKey = "LIhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["LIhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LOhO() { var cacheKey = "LOhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["LOhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LOhU() { var cacheKey = "LOhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["LOhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LU() { var cacheKey = "LU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["LU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_LUhU() { var cacheKey = "LUhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["LUhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MAhO() { var cacheKey = "MAhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["MAhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MAI() { var cacheKey = "MAI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["MAI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ME() { var cacheKey = "ME@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["ME", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MEhU() { var cacheKey = "MEhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["MEhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MOhE() { var cacheKey = "MOhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["MOhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MOhI() { var cacheKey = "MOhI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["MOhI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_MOI() { var cacheKey = "MOI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["MOI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NA() { var cacheKey = "NA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["MA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NAI() { var cacheKey = "NAI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["NAI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NAhE() { var cacheKey = "NAhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["NAhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NAhU() { var cacheKey = "NAhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["NAhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NIhE() { var cacheKey = "NIhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["NIhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NIhO() { var cacheKey = "NIhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["NIhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NOI() { var cacheKey = "NOI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["NOI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NU() { var cacheKey = "NU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["NU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NUhA() { var cacheKey = "NUhA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["NUhA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NUhI() { var cacheKey = "NUhI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["NUhI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_NUhU() { var cacheKey = "NUhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["NUhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_PA() { var cacheKey = "PA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_x(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_x(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { result1 = parse_digit(); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["PA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_PEhE() { var cacheKey = "PEhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["PEhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_PEhO() { var cacheKey = "PEhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["PEhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_PU() { var cacheKey = "PU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["PU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_RAhO() { var cacheKey = "RAhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["RAhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ROI() { var cacheKey = "ROI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["ROI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SA() { var cacheKey = "SA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["SA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SE() { var cacheKey = "SE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_x(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["SE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SEI() { var cacheKey = "SEI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["SEI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SEhU() { var cacheKey = "SEhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["SEhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SI() { var cacheKey = "SI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["SI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SOI() { var cacheKey = "SOI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["SOI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_SU() { var cacheKey = "SU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["SU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TAhE() { var cacheKey = "TAhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["TAhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TEhU() { var cacheKey = "TEhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["TEhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TEI() { var cacheKey = "TEI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["TEI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TO() { var cacheKey = "TO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["TO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TOI() { var cacheKey = "TOI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["TOI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TUhE() { var cacheKey = "TUhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["TUhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_TUhU() { var cacheKey = "TUhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["TUhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_UI() { var cacheKey = "UI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_i(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_a(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_i(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_a(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_e(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_u(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_i(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_o(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_i(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_e(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_a(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_a(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_i(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_o(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_o(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_e(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_e(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_e(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_o(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_u(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_e(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_u(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_o(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_a(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_u(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_a(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_i(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_i(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_u(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_a(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_u(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_a(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_o(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_a(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_a(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_i(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_e(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_o(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_o(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_e(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_a(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_u(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_o(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_a(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_o(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_u(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_e(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_o(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_i(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_e(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_u(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_i(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_u(); if (result1 !== null) { result2 = parse_h(); if (result2 !== null) { result3 = parse_e(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_k(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_x(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["UI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VA() { var cacheKey = "VA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["VA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VAU() { var cacheKey = "VAU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_u(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["VAU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VEI() { var cacheKey = "VEI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["VEI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VEhO() { var cacheKey = "VEhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["VEhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VUhU() { var cacheKey = "VUhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_j(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_g(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_t(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_n(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_f(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_r(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_s(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } } } } } } } } } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["VUhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VEhA() { var cacheKey = "VEhA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["VEhA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VIhA() { var cacheKey = "VIhA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["VIhA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_VUhO() { var cacheKey = "VUhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_v(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["VUhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_XI() { var cacheKey = "XI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_x(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["XI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_Y() { var cacheKey = "Y@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { result2 = parse_y(); if (result2 !== null) { result1 = []; while (result2 !== null) { result1.push(result2); result2 = parse_y(); } } else { result1 = null; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["Y", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZAhO() { var cacheKey = "ZAhO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_p(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_m(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_c(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_b(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_d(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } } } } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["ZAhO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZEhA() { var cacheKey = "ZEhA@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_a(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_i(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["ZEhA", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZEI() { var cacheKey = "ZEI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_e(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["ZEI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZI() { var cacheKey = "ZI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_u(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["ZI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZIhE() { var cacheKey = "ZIhE@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_i(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_e(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["ZIhE", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZO() { var cacheKey = "ZO@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result1 = [result1, result2]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["ZO", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZOI() { var cacheKey = "ZOI@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_i(); if (result3 !== null) { result1 = [result1, result2, result3]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 === null) { pos2 = pos; result1 = parse_l(); if (result1 !== null) { result2 = parse_a(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_o(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["ZOI", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function parse_ZOhU() { var cacheKey = "ZOhU@" + pos; var cachedResult = cache[cacheKey]; if (cachedResult) { pos = cachedResult.nextPos; return cachedResult.result; } var result0, result1, result2, result3, result4; var pos0, pos1, pos2; pos0 = pos; pos1 = pos; pos2 = pos; reportFailures++; result0 = parse_cmavo(); reportFailures--; if (result0 !== null) { result0 = ""; pos = pos2; } else { result0 = null; } if (result0 !== null) { pos2 = pos; result1 = parse_z(); if (result1 !== null) { result2 = parse_o(); if (result2 !== null) { result3 = parse_h(); if (result3 !== null) { result4 = parse_u(); if (result4 !== null) { result1 = [result1, result2, result3, result4]; } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } } else { result1 = null; pos = pos2; } if (result1 !== null) { pos2 = pos; reportFailures++; result2 = parse_post_word(); reportFailures--; if (result2 !== null) { result2 = ""; pos = pos2; } else { result2 = null; } if (result2 !== null) { result0 = [result0, result1, result2]; } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } } else { result0 = null; pos = pos1; } if (result0 !== null) { result0 = (function(offset, expr) {return ["ZOhU", _join(expr)];})(pos0, result0[1]); } if (result0 === null) { pos = pos0; } cache[cacheKey] = { nextPos: pos, result: result0 }; return result0; } function cleanupExpected(expected) { expected.sort(); var lastExpected = null; var cleanExpected = []; for (var i = 0; i < expected.length; i++) { if (expected[i] !== lastExpected) { cleanExpected.push(expected[i]); lastExpected = expected[i]; } } return cleanExpected; } function computeErrorPosition() { /* * The first idea was to use |String.split| to break the input up to the * error position along newlines and derive the line and column from * there. However IE's |split| implementation is so broken that it was * enough to prevent it. */ var line = 1; var column = 1; var seenCR = false; for (var i = 0; i < Math.max(pos, rightmostFailuresPos); i++) { var ch = input.charAt(i); if (ch === "\n") { if (!seenCR) { line++; } column = 1; seenCR = false; } else if (ch === "\r" || ch === "\u2028" || ch === "\u2029") { line++; column = 1; seenCR = true; } else { column++; seenCR = false; } } return { line: line, column: column }; } function _join(arg) { if (typeof(arg) == "string") return arg; else { ret = ""; for (v in arg) { ret += _join(arg[v]); } return ret; } } function _node(label, arg) { var ret = []; if (label != undefined) ret.push( label ); if (typeof( arg ) == "object" && typeof( arg[0] ) == "string" && arg[0] != "") { ret.push( arg ); return ret; } return _node_int(label, arg); } function _node_int(label, arg) { if (typeof( arg ) == "string") return arg; var ret = []; if (label != undefined) ret.push( label ); for (v in arg) { if (arg[v].length != 0) ret.push( _node_int( undefined, arg[v] ) ); } return ret; } function _node2(label, arg1, arg2) { return [label].concat(_node(arg1)).concat(_node(arg2)); } function _node_nonempty(label, arg) { var _n = _node(label, arg); return (_n.length == 1 && _n[0] == label) ? [] : _n; } var result = parseFunctions[startRule](); /* * The parser is now in one of the following three states: * * 1. The parser successfully parsed the whole input. * * - |result !== null| * - |pos === input.length| * - |rightmostFailuresExpected| may or may not contain something * * 2. The parser successfully parsed only a part of the input. * * - |result !== null| * - |pos < input.length| * - |rightmostFailuresExpected| may or may not contain something * * 3. The parser did not successfully parse any part of the input. * * - |result === null| * - |pos === 0| * - |rightmostFailuresExpected| contains at least one failure * * All code following this comment (including called functions) must * handle these states. */ if (result === null || pos !== input.length) { var offset = Math.max(pos, rightmostFailuresPos); var found = offset < input.length ? input.charAt(offset) : null; var errorPosition = computeErrorPosition(); throw new this.SyntaxError( cleanupExpected(rightmostFailuresExpected), found, offset, errorPosition.line, errorPosition.column ); } return result; }, /* Returns the parser source code. */ toSource: function() { return this._source; } }; /* Thrown when a parser encounters a syntax error. */ result.SyntaxError = function(expected, found, offset, line, column) { function buildMessage(expected, found) { var expectedHumanized, foundHumanized; switch (expected.length) { case 0: expectedHumanized = "end of input"; break; case 1: expectedHumanized = expected[0]; break; default: expectedHumanized = expected.slice(0, expected.length - 1).join(", ") + " or " + expected[expected.length - 1]; } foundHumanized = found ? quote(found) : "end of input"; return "Expected " + expectedHumanized + " but " + foundHumanized + " found."; } this.name = "SyntaxError"; this.expected = expected; this.found = found; this.message = buildMessage(expected, found); this.offset = offset; this.line = line; this.column = column; }; result.SyntaxError.prototype = Error.prototype; return result; })()