Example #1
0
 def parse_START(prim__state, prim__tokens):
     lcl_0 = 0
     try:
         _py_local_tk = prim__tokens.array[prim__tokens.offset]
         if (_py_local_tk.idint is lcl_0):
             prim__tokens.offset += 1
         else:
             _py_local_tk = None
     except IndexError:
         _py_local_tk = None
     lcl_0 = _py_local_tk
     _slot_0 = lcl_0
     lcl_0 = (_slot_0 is None)
     if lcl_0:
         lcl_1 = prim__tokens.offset
         lcl_1 = (lcl_1, 'BOF not match')
         lcl_1 = prim__cons(lcl_1, prim__nil)
         lcl_1 = lcl_1
         lcl_1 = (False, lcl_1)
         lcl_0 = lcl_1
     else:
         lcl_1 = parse_Mul(prim__state, prim__tokens)
         _slot_1_check = lcl_1
         lcl_1 = _slot_1_check[0]
         lcl_1 = (lcl_1 is False)
         if lcl_1:
             lcl_1 = _slot_1_check
         else:
             lcl_2 = _slot_1_check[1]
             lcl_2 = lcl_2
             _slot_1 = lcl_2
             START_a_1 = _slot_1
             lcl_2 = 1
             try:
                 _py_local_tk = prim__tokens.array[prim__tokens.offset]
                 if (_py_local_tk.idint is lcl_2):
                     prim__tokens.offset += 1
                 else:
                     _py_local_tk = None
             except IndexError:
                 _py_local_tk = None
             lcl_2 = _py_local_tk
             _slot_2 = lcl_2
             lcl_2 = (_slot_2 is None)
             if lcl_2:
                 lcl_3 = prim__tokens.offset
                 lcl_3 = (lcl_3, 'EOF not match')
                 lcl_3 = prim__cons(lcl_3, prim__nil)
                 lcl_3 = lcl_3
                 lcl_3 = (False, lcl_3)
                 lcl_2 = lcl_3
             else:
                 _slot_local__1 = START_a_1
                 lcl_3 = (True, _slot_local__1)
                 lcl_2 = lcl_3
             lcl_1 = lcl_2
         lcl_0 = lcl_1
     return lcl_0
Example #2
0
 def parse_quote(prim__state, prim__tokens):
     lcl_0 = 2
     try:
         _py_local_tk = prim__tokens.array[prim__tokens.offset]
         if (_py_local_tk.idint is lcl_0):
             prim__tokens.offset += 1
         else:
             _py_local_tk = None
     except IndexError:
         _py_local_tk = None
     lcl_0 = _py_local_tk
     _slot_0 = lcl_0
     lcl_0 = (_slot_0 is None)
     if lcl_0:
         lcl_0 = prim__tokens.offset
         lcl_0 = (lcl_0, 'quote ` not match')
         lcl_0 = prim__cons(lcl_0, prim__nil)
         lcl_0 = lcl_0
         lcl_0 = (False, lcl_0)
     else:
         lcl_0 = parse_args(prim__state, prim__tokens)
         _slot_1_check = lcl_0
         lcl_0 = _slot_1_check[0]
         lcl_0 = (lcl_0 is False)
         if lcl_0:
             lcl_0 = _slot_1_check
         else:
             lcl_1 = _slot_1_check[1]
             lcl_1 = lcl_1
             _slot_1 = lcl_1
             lcl_1 = 2
             try:
                 _py_local_tk = prim__tokens.array[prim__tokens.offset]
                 if (_py_local_tk.idint is lcl_1):
                     prim__tokens.offset += 1
                 else:
                     _py_local_tk = None
             except IndexError:
                 _py_local_tk = None
             lcl_1 = _py_local_tk
             _slot_2 = lcl_1
             lcl_1 = (_slot_2 is None)
             if lcl_1:
                 lcl_1 = prim__tokens.offset
                 lcl_1 = (lcl_1, 'quote ` not match')
                 lcl_1 = prim__cons(lcl_1, prim__nil)
                 lcl_1 = lcl_1
                 lcl_1 = (False, lcl_1)
             else:
                 lcl_1 = (_slot_0, _slot_1, _slot_2)
                 lcl_1 = prim__mk__ast('quote', lcl_1)
                 _slot_local__1 = lcl_1
                 lcl_1 = (True, _slot_local__1)
             lcl_0 = lcl_1
     return lcl_0
Example #3
0
 def parse_LitType(prim__state, prim__tokens):
     lcl_0 = 2
     try:
         _py_local_tk = prim__tokens.array[prim__tokens.offset]
         if (_py_local_tk.idint is lcl_0):
             prim__tokens.offset += 1
         else:
             _py_local_tk = None
     except IndexError:
         _py_local_tk = None
     lcl_0 = _py_local_tk
     _slot_0 = lcl_0
     lcl_0 = (_slot_0 is None)
     if lcl_0:
         lcl_0 = prim__tokens.offset
         lcl_0 = (lcl_0, 'quote * not match')
         lcl_0 = prim__cons(lcl_0, prim__nil)
         lcl_0 = lcl_0
         lcl_0 = (False, lcl_0)
     else:
         lcl_0 = (_slot_0, )
         lcl_0 = prim__mk__ast('LitType', lcl_0)
         _slot_local__1 = lcl_0
         lcl_0 = (True, _slot_local__1)
     return lcl_0
Example #4
0
 def parse_TypeArrow(prim__state, prim__tokens):
     lcl_0 = parse_TypeApp(prim__state, prim__tokens)
     _slot_0_check = lcl_0
     lcl_0 = _slot_0_check[0]
     lcl_0 = (lcl_0 is False)
     if lcl_0:
         lcl_0 = _slot_0_check
     else:
         lcl_0 = _slot_0_check[1]
         lcl_0 = lcl_0
         _slot_0 = lcl_0
         lcl_0 = prim__tokens.offset
         _off_0 = lcl_0
         lcl_0 = (len(prim__tokens.array) > (prim__tokens.offset + 0))
         if lcl_0:
             lcl_2 = prim__tokens.array[(prim__tokens.offset + 0)]
             lcl_2 = lcl_2.idint
             if (lcl_2 == 3):
                 _py_local_i = prim__tokens.offset
                 _py_local_t = prim__tokens.array[_py_local_i]
                 prim__tokens.offset = (_py_local_i + 1)
                 lcl_2 = _py_local_t
                 _slot_1 = lcl_2
                 lcl_2 = parse_TypeArrow(prim__state, prim__tokens)
                 _slot_2_check = lcl_2
                 lcl_2 = _slot_2_check[0]
                 lcl_2 = (lcl_2 is False)
                 if lcl_2:
                     lcl_2 = _slot_2_check
                 else:
                     lcl_3 = _slot_2_check[1]
                     lcl_3 = lcl_3
                     _slot_2 = lcl_3
                     lcl_3 = (_slot_1, _slot_2)
                     _slot_local__1 = lcl_3
                     lcl_3 = (_slot_0, _slot_local__1)
                     lcl_3 = prim__mk__ast('TypeArrow', lcl_3)
                     _slot_local__2 = lcl_3
                     lcl_3 = (True, _slot_local__2)
                     lcl_2 = lcl_3
                 lcl_1 = lcl_2
             else:
                 lcl_2 = (_slot_0, )
                 lcl_2 = prim__mk__ast('TypeArrow', lcl_2)
                 _slot_local__1 = lcl_2
                 lcl_2 = (True, _slot_local__1)
                 lcl_1 = lcl_2
             lcl_0 = lcl_1
         else:
             lcl_1 = (_off_0, 'TypeArrow got EOF')
             lcl_1 = prim__cons(lcl_1, prim__nil)
             lcl_1 = lcl_1
             lcl_1 = (False, lcl_1)
             lcl_0 = lcl_1
     return lcl_0
Example #5
0
 def lr_step_rbnf__sep__list__0(_slot_0, prim__state, prim__tokens):
     lcl_0 = 2
     try:
         _py_local_tk = prim__tokens.array[prim__tokens.offset]
         if (_py_local_tk.idint is lcl_0):
             prim__tokens.offset += 1
         else:
             _py_local_tk = None
     except IndexError:
         _py_local_tk = None
     lcl_0 = _py_local_tk
     _slot_1 = lcl_0
     lcl_0 = (_slot_1 is None)
     if lcl_0:
         lcl_1 = prim__tokens.offset
         lcl_1 = (lcl_1, 'quote , not match')
         lcl_1 = prim__cons(lcl_1, prim__nil)
         lcl_1 = lcl_1
         lcl_1 = (False, lcl_1)
         lcl_0 = lcl_1
     else:
         lcl_1 = parse_value(prim__state, prim__tokens)
         _slot_2_check = lcl_1
         lcl_1 = _slot_2_check[0]
         lcl_1 = (lcl_1 is False)
         if lcl_1:
             lcl_1 = _slot_2_check
         else:
             lcl_2 = _slot_2_check[1]
             lcl_2 = lcl_2
             _slot_2 = lcl_2
             lcl_2 = _slot_0
             lcl_3 = _slot_2
             _py_local_t = lcl_2
             _py_local_t.append(lcl_3)
             lcl_2 = _py_local_t
             _slot_local__1 = lcl_2
             lcl_2 = (True, _slot_local__1)
             lcl_1 = lcl_2
         lcl_0 = lcl_1
     return lcl_0
Example #6
0
 def lr_step_Mul(_slot_0, prim__state, prim__tokens):
     Mul_lhs_0 = _slot_0
     lcl_0 = 2
     try:
         _py_local_tk = prim__tokens.array[prim__tokens.offset]
         if (_py_local_tk.idint is lcl_0):
             prim__tokens.offset += 1
         else:
             _py_local_tk = None
     except IndexError:
         _py_local_tk = None
     lcl_0 = _py_local_tk
     _slot_1 = lcl_0
     lcl_0 = (_slot_1 is None)
     if lcl_0:
         lcl_1 = prim__tokens.offset
         lcl_1 = (lcl_1, 'quote * not match')
         lcl_1 = prim__cons(lcl_1, prim__nil)
         lcl_1 = lcl_1
         lcl_1 = (False, lcl_1)
         lcl_0 = lcl_1
     else:
         lcl_1 = parse_Atom(prim__state, prim__tokens)
         _slot_2_check = lcl_1
         lcl_1 = _slot_2_check[0]
         lcl_1 = (lcl_1 is False)
         if lcl_1:
             lcl_1 = _slot_2_check
         else:
             lcl_2 = _slot_2_check[1]
             lcl_2 = lcl_2
             _slot_2 = lcl_2
             Mul_rhs_1 = _slot_2
             lcl_2 = mul(Mul_lhs_0, Mul_rhs_1)
             _slot_local__1 = lcl_2
             lcl_2 = (True, _slot_local__1)
             lcl_1 = lcl_2
         lcl_0 = lcl_1
     return lcl_0
Example #7
0
 def parse_Atom(prim__state, prim__tokens):
     lcl_0 = prim__tokens.offset
     _off_0 = lcl_0
     lcl_0 = (len(prim__tokens.array) > (prim__tokens.offset + 0))
     if lcl_0:
         lcl_2 = prim__tokens.array[(prim__tokens.offset + 0)]
         lcl_2 = lcl_2.idint
         if (lcl_2 == 3):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_3 = _py_local_t
             _slot_0 = lcl_3
             lcl_3 = parse_Mul(prim__state, prim__tokens)
             _slot_1_check = lcl_3
             lcl_3 = _slot_1_check[0]
             lcl_3 = (lcl_3 is False)
             if lcl_3:
                 lcl_3 = _slot_1_check
             else:
                 lcl_4 = _slot_1_check[1]
                 lcl_4 = lcl_4
                 _slot_1 = lcl_4
                 Atom_a_1 = _slot_1
                 lcl_4 = 4
                 try:
                     _py_local_tk = prim__tokens.array[prim__tokens.offset]
                     if (_py_local_tk.idint is lcl_4):
                         prim__tokens.offset += 1
                     else:
                         _py_local_tk = None
                 except IndexError:
                     _py_local_tk = None
                 lcl_4 = _py_local_tk
                 _slot_2 = lcl_4
                 lcl_4 = (_slot_2 is None)
                 if lcl_4:
                     lcl_5 = prim__tokens.offset
                     lcl_5 = (lcl_5, 'quote ) not match')
                     lcl_5 = prim__cons(lcl_5, prim__nil)
                     lcl_5 = lcl_5
                     lcl_5 = (False, lcl_5)
                     lcl_4 = lcl_5
                 else:
                     _slot_local__1 = Atom_a_1
                     lcl_5 = (True, _slot_local__1)
                     lcl_4 = lcl_5
                 lcl_3 = lcl_4
             lcl_1 = lcl_3
         elif (lcl_2 == 5):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_3 = _py_local_t
             _slot_0 = lcl_3
             Atom_a_1 = _slot_0
             lcl_3 = unwrap(Atom_a_1)
             _slot_local__1 = lcl_3
             lcl_3 = (True, _slot_local__1)
             lcl_1 = lcl_3
         else:
             lcl_3 = (_off_0, 'Atom lookahead failed')
             lcl_3 = prim__cons(lcl_3, prim__nil)
             lcl_3 = lcl_3
             lcl_3 = (False, lcl_3)
             lcl_1 = lcl_3
         lcl_0 = lcl_1
     else:
         lcl_1 = (_off_0, 'Atom got EOF')
         lcl_1 = prim__cons(lcl_1, prim__nil)
         lcl_1 = lcl_1
         lcl_1 = (False, lcl_1)
         lcl_0 = lcl_1
     return lcl_0
Example #8
0
 def parse_strPattern(prim__state, prim__tokens):
     lcl_0 = prim__tokens.offset
     _off_0 = lcl_0
     lcl_0 = (len(prim__tokens.array) > (prim__tokens.offset + 0))
     if lcl_0:
         lcl_2 = prim__tokens.array[(prim__tokens.offset + 0)]
         lcl_2 = lcl_2.idint
         if (lcl_2 == 5):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_2 = _py_local_t
             _slot_0 = lcl_2
             lcl_2 = (_slot_0, )
             lcl_2 = prim__mk__ast('strPattern', lcl_2)
             _slot_local__1 = lcl_2
             lcl_2 = (True, _slot_local__1)
             lcl_1 = lcl_2
         elif (lcl_2 == 2):
             lcl_2 = parse_quote(prim__state, prim__tokens)
             _slot_0_check = lcl_2
             lcl_2 = _slot_0_check[0]
             lcl_2 = (lcl_2 is False)
             if lcl_2:
                 lcl_2 = _slot_0_check
             else:
                 lcl_2 = _slot_0_check[1]
                 lcl_2 = lcl_2
                 _slot_0 = lcl_2
                 lcl_2 = (_slot_0, )
                 lcl_2 = prim__mk__ast('strPattern', lcl_2)
                 _slot_local__1 = lcl_2
                 lcl_2 = (True, _slot_local__1)
             lcl_1 = lcl_2
         elif (lcl_2 == 4):
             lcl_2 = parse_pattern(prim__state, prim__tokens)
             _slot_0_check = lcl_2
             lcl_2 = _slot_0_check[0]
             lcl_2 = (lcl_2 is False)
             if lcl_2:
                 lcl_2 = _slot_0_check
             else:
                 lcl_3 = _slot_0_check[1]
                 lcl_3 = lcl_3
                 _slot_0 = lcl_3
                 lcl_3 = (_slot_0, )
                 lcl_3 = prim__mk__ast('strPattern', lcl_3)
                 _slot_local__1 = lcl_3
                 lcl_3 = (True, _slot_local__1)
                 lcl_2 = lcl_3
             lcl_1 = lcl_2
         elif (lcl_2 == 3):
             lcl_2 = parse_doubleQuotedStr(prim__state, prim__tokens)
             _slot_0_check = lcl_2
             lcl_3 = _slot_0_check[0]
             lcl_2 = (lcl_3 is False)
             if lcl_2:
                 lcl_2 = _slot_0_check
             else:
                 lcl_2 = _slot_0_check[1]
                 lcl_2 = lcl_2
                 _slot_0 = lcl_2
                 lcl_2 = (_slot_0, )
                 lcl_2 = prim__mk__ast('strPattern', lcl_2)
                 _slot_local__1 = lcl_2
                 lcl_2 = (True, _slot_local__1)
             lcl_1 = lcl_2
         elif (lcl_2 == 6):
             lcl_2 = parse_pattern(prim__state, prim__tokens)
             _slot_0_check = lcl_2
             lcl_2 = _slot_0_check[0]
             lcl_2 = (lcl_2 is False)
             if lcl_2:
                 lcl_2 = _slot_0_check
             else:
                 lcl_3 = _slot_0_check[1]
                 lcl_3 = lcl_3
                 _slot_0 = lcl_3
                 lcl_3 = (_slot_0, )
                 lcl_3 = prim__mk__ast('strPattern', lcl_3)
                 _slot_local__1 = lcl_3
                 lcl_3 = (True, _slot_local__1)
                 lcl_2 = lcl_3
             lcl_1 = lcl_2
         else:
             lcl_2 = (_off_0, 'strPattern lookahead failed')
             lcl_3 = prim__cons(lcl_2, prim__nil)
             lcl_2 = lcl_3
             lcl_2 = (False, lcl_2)
             lcl_1 = lcl_2
         lcl_0 = lcl_1
     else:
         lcl_1 = (_off_0, 'strPattern got EOF')
         lcl_1 = prim__cons(lcl_1, prim__nil)
         lcl_1 = lcl_1
         lcl_1 = (False, lcl_1)
         lcl_0 = lcl_1
     return lcl_0
Example #9
0
 def parse_doubleQuotedStr(prim__state, prim__tokens):
     lcl_0 = 3
     try:
         _py_local_tk = prim__tokens.array[prim__tokens.offset]
         if (_py_local_tk.idint is lcl_0):
             prim__tokens.offset += 1
         else:
             _py_local_tk = None
     except IndexError:
         _py_local_tk = None
     lcl_0 = _py_local_tk
     _slot_0 = lcl_0
     lcl_0 = (_slot_0 is None)
     if lcl_0:
         lcl_0 = prim__tokens.offset
         lcl_0 = (lcl_0, 'quote " not match')
         lcl_0 = prim__cons(lcl_0, prim__nil)
         lcl_0 = lcl_0
         lcl_0 = (False, lcl_0)
     else:
         lcl_0 = prim__tokens.offset
         _off_1 = lcl_0
         lcl_0 = (len(prim__tokens.array) > (prim__tokens.offset + 0))
         if lcl_0:
             lcl_1 = prim__tokens.array[(prim__tokens.offset + 0)]
             lcl_1 = lcl_1.idint
             if (lcl_1 == 5):
                 lcl_1 = parse_args(prim__state, prim__tokens)
                 _slot_1_check = lcl_1
                 lcl_1 = _slot_1_check[0]
                 lcl_1 = (lcl_1 is False)
                 if lcl_1:
                     lcl_1 = _slot_1_check
                 else:
                     lcl_1 = _slot_1_check[1]
                     lcl_1 = lcl_1
                     _slot_1 = lcl_1
                     lcl_1 = 3
                     try:
                         _py_local_tk = prim__tokens.array[
                             prim__tokens.offset]
                         if (_py_local_tk.idint is lcl_1):
                             prim__tokens.offset += 1
                         else:
                             _py_local_tk = None
                     except IndexError:
                         _py_local_tk = None
                     lcl_1 = _py_local_tk
                     _slot_2 = lcl_1
                     lcl_1 = (_slot_2 is None)
                     if lcl_1:
                         lcl_1 = prim__tokens.offset
                         lcl_1 = (lcl_1, 'quote " not match')
                         lcl_1 = prim__cons(lcl_1, prim__nil)
                         lcl_1 = lcl_1
                         lcl_1 = (False, lcl_1)
                     else:
                         lcl_1 = (_slot_0, _slot_1, _slot_2)
                         lcl_1 = prim__mk__ast('doubleQuotedStr', lcl_1)
                         _slot_local__1 = lcl_1
                         lcl_1 = (True, _slot_local__1)
                 lcl_0 = lcl_1
             elif (lcl_1 == 2):
                 lcl_1 = parse_args(prim__state, prim__tokens)
                 _slot_1_check = lcl_1
                 lcl_1 = _slot_1_check[0]
                 lcl_1 = (lcl_1 is False)
                 if lcl_1:
                     lcl_1 = _slot_1_check
                 else:
                     lcl_1 = _slot_1_check[1]
                     lcl_1 = lcl_1
                     _slot_1 = lcl_1
                     lcl_1 = 3
                     try:
                         _py_local_tk = prim__tokens.array[
                             prim__tokens.offset]
                         if (_py_local_tk.idint is lcl_1):
                             prim__tokens.offset += 1
                         else:
                             _py_local_tk = None
                     except IndexError:
                         _py_local_tk = None
                     lcl_1 = _py_local_tk
                     _slot_2 = lcl_1
                     lcl_1 = (_slot_2 is None)
                     if lcl_1:
                         lcl_1 = prim__tokens.offset
                         lcl_1 = (lcl_1, 'quote " not match')
                         lcl_1 = prim__cons(lcl_1, prim__nil)
                         lcl_1 = lcl_1
                         lcl_1 = (False, lcl_1)
                     else:
                         lcl_1 = (_slot_0, _slot_1, _slot_2)
                         lcl_1 = prim__mk__ast('doubleQuotedStr', lcl_1)
                         _slot_local__1 = lcl_1
                         lcl_1 = (True, _slot_local__1)
                 lcl_0 = lcl_1
             elif (lcl_1 == 4):
                 lcl_1 = parse_args(prim__state, prim__tokens)
                 _slot_1_check = lcl_1
                 lcl_1 = _slot_1_check[0]
                 lcl_1 = (lcl_1 is False)
                 if lcl_1:
                     lcl_1 = _slot_1_check
                 else:
                     lcl_1 = _slot_1_check[1]
                     lcl_1 = lcl_1
                     _slot_1 = lcl_1
                     lcl_1 = 3
                     try:
                         _py_local_tk = prim__tokens.array[
                             prim__tokens.offset]
                         if (_py_local_tk.idint is lcl_1):
                             prim__tokens.offset += 1
                         else:
                             _py_local_tk = None
                     except IndexError:
                         _py_local_tk = None
                     lcl_1 = _py_local_tk
                     _slot_2 = lcl_1
                     lcl_1 = (_slot_2 is None)
                     if lcl_1:
                         lcl_1 = prim__tokens.offset
                         lcl_1 = (lcl_1, 'quote " not match')
                         lcl_1 = prim__cons(lcl_1, prim__nil)
                         lcl_1 = lcl_1
                         lcl_1 = (False, lcl_1)
                     else:
                         lcl_1 = (_slot_0, _slot_1, _slot_2)
                         lcl_1 = prim__mk__ast('doubleQuotedStr', lcl_1)
                         _slot_local__1 = lcl_1
                         lcl_1 = (True, _slot_local__1)
                 lcl_0 = lcl_1
             elif (lcl_1 == 3):
                 lcl_1 = prim__tokens.offset
                 _off_2 = lcl_1
                 lcl_1 = parse_args(prim__state, prim__tokens)
                 _slot_1_check = lcl_1
                 lcl_1 = _slot_1_check[0]
                 lcl_1 = (lcl_1 is False)
                 if lcl_1:
                     lcl_1 = _slot_1_check
                 else:
                     lcl_2 = _slot_1_check[1]
                     lcl_2 = lcl_2
                     _slot_1 = lcl_2
                     lcl_2 = 3
                     try:
                         _py_local_tk = prim__tokens.array[
                             prim__tokens.offset]
                         if (_py_local_tk.idint is lcl_2):
                             prim__tokens.offset += 1
                         else:
                             _py_local_tk = None
                     except IndexError:
                         _py_local_tk = None
                     lcl_2 = _py_local_tk
                     _slot_2 = lcl_2
                     lcl_2 = (_slot_2 is None)
                     if lcl_2:
                         lcl_2 = prim__tokens.offset
                         lcl_2 = (lcl_2, 'quote " not match')
                         lcl_2 = prim__cons(lcl_2, prim__nil)
                         lcl_2 = lcl_2
                         lcl_2 = (False, lcl_2)
                     else:
                         lcl_2 = (_slot_0, _slot_1, _slot_2)
                         lcl_2 = prim__mk__ast('doubleQuotedStr', lcl_2)
                         _slot_local__1 = lcl_2
                         lcl_2 = (True, _slot_local__1)
                     lcl_1 = lcl_2
                 lcl_0 = lcl_1
             elif (lcl_1 == 6):
                 lcl_1 = parse_args(prim__state, prim__tokens)
                 _slot_1_check = lcl_1
                 lcl_1 = _slot_1_check[0]
                 lcl_1 = (lcl_1 is False)
                 if lcl_1:
                     lcl_1 = _slot_1_check
                 else:
                     lcl_2 = _slot_1_check[1]
                     lcl_2 = lcl_2
                     _slot_1 = lcl_2
                     lcl_2 = 3
                     try:
                         _py_local_tk = prim__tokens.array[
                             prim__tokens.offset]
                         if (_py_local_tk.idint is lcl_2):
                             prim__tokens.offset += 1
                         else:
                             _py_local_tk = None
                     except IndexError:
                         _py_local_tk = None
                     lcl_2 = _py_local_tk
                     _slot_2 = lcl_2
                     lcl_2 = (_slot_2 is None)
                     if lcl_2:
                         lcl_2 = prim__tokens.offset
                         lcl_2 = (lcl_2, 'quote " not match')
                         lcl_2 = prim__cons(lcl_2, prim__nil)
                         lcl_2 = lcl_2
                         lcl_2 = (False, lcl_2)
                     else:
                         lcl_2 = (_slot_0, _slot_1, _slot_2)
                         lcl_2 = prim__mk__ast('doubleQuotedStr', lcl_2)
                         _slot_local__1 = lcl_2
                         lcl_2 = (True, _slot_local__1)
                     lcl_1 = lcl_2
                 lcl_0 = lcl_1
             else:
                 lcl_1 = (_off_1, 'doubleQuotedStr lookahead failed')
                 lcl_1 = prim__cons(lcl_1, prim__nil)
                 lcl_1 = lcl_1
                 lcl_1 = (False, lcl_1)
                 lcl_0 = lcl_1
         else:
             lcl_0 = (_off_1, 'doubleQuotedStr got EOF')
             lcl_1 = prim__cons(lcl_0, prim__nil)
             lcl_0 = lcl_1
             lcl_0 = (False, lcl_0)
     return lcl_0
Example #10
0
 def parse_ch(prim__state, prim__tokens):
     lcl_0 = prim__tokens.offset
     _off_0 = lcl_0
     lcl_0 = (len(prim__tokens.array) > (prim__tokens.offset + 0))
     if lcl_0:
         lcl_2 = prim__tokens.array[(prim__tokens.offset + 0)]
         lcl_2 = lcl_2.idint
         if (lcl_2 == 4):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_2 = _py_local_t
             _slot_0 = lcl_2
             lcl_2 = prim__tokens.offset
             _off_1 = lcl_2
             lcl_2 = (len(prim__tokens.array) > (prim__tokens.offset + 0))
             if lcl_2:
                 lcl_3 = prim__tokens.array[(prim__tokens.offset + 0)]
                 lcl_3 = lcl_3.idint
                 if (lcl_3 == 4):
                     _py_local_i = prim__tokens.offset
                     _py_local_t = prim__tokens.array[_py_local_i]
                     prim__tokens.offset = (_py_local_i + 1)
                     lcl_3 = _py_local_t
                     _slot_1 = lcl_3
                     lcl_3 = (_slot_0, _slot_1)
                     lcl_3 = prim__mk__ast('ch', lcl_3)
                     _slot_local__1 = lcl_3
                     lcl_3 = (True, _slot_local__1)
                     lcl_2 = lcl_3
                 elif (lcl_3 == 3):
                     _py_local_i = prim__tokens.offset
                     _py_local_t = prim__tokens.array[_py_local_i]
                     prim__tokens.offset = (_py_local_i + 1)
                     lcl_3 = _py_local_t
                     _slot_1 = lcl_3
                     lcl_3 = (_slot_0, _slot_1)
                     lcl_3 = prim__mk__ast('ch', lcl_3)
                     _slot_local__1 = lcl_3
                     lcl_3 = (True, _slot_local__1)
                     lcl_2 = lcl_3
                 else:
                     lcl_3 = (_off_1, 'ch lookahead failed')
                     lcl_3 = prim__cons(lcl_3, prim__nil)
                     lcl_3 = lcl_3
                     lcl_3 = (False, lcl_3)
                     lcl_2 = lcl_3
             else:
                 lcl_2 = (_off_1, 'ch got EOF')
                 lcl_2 = prim__cons(lcl_2, prim__nil)
                 lcl_2 = lcl_2
                 lcl_2 = (False, lcl_2)
             lcl_1 = lcl_2
         elif (lcl_2 == 6):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_2 = _py_local_t
             _slot_0 = lcl_2
             lcl_2 = (_slot_0, )
             lcl_2 = prim__mk__ast('ch', lcl_2)
             _slot_local__1 = lcl_2
             lcl_2 = (True, _slot_local__1)
             lcl_1 = lcl_2
         else:
             lcl_2 = (_off_0, 'ch lookahead failed')
             lcl_2 = prim__cons(lcl_2, prim__nil)
             lcl_2 = lcl_2
             lcl_2 = (False, lcl_2)
             lcl_1 = lcl_2
         lcl_0 = lcl_1
     else:
         lcl_1 = (_off_0, 'ch got EOF')
         lcl_2 = prim__cons(lcl_1, prim__nil)
         lcl_1 = lcl_2
         lcl_1 = (False, lcl_1)
         lcl_0 = lcl_1
     return lcl_0
Example #11
0
 def parse_START(prim__state, prim__tokens):
     lcl_0 = 0
     try:
         _py_local_tk = prim__tokens.array[prim__tokens.offset]
         if (_py_local_tk.idint is lcl_0):
             prim__tokens.offset += 1
         else:
             _py_local_tk = None
     except IndexError:
         _py_local_tk = None
     lcl_0 = _py_local_tk
     _slot_0 = lcl_0
     lcl_0 = (_slot_0 is None)
     if lcl_0:
         lcl_1 = prim__tokens.offset
         lcl_1 = (lcl_1, 'BOF not match')
         lcl_1 = prim__cons(lcl_1, prim__nil)
         lcl_1 = lcl_1
         lcl_1 = (False, lcl_1)
         lcl_0 = lcl_1
     else:
         lcl_1 = 2
         try:
             _py_local_tk = prim__tokens.array[prim__tokens.offset]
             if (_py_local_tk.idint is lcl_1):
                 prim__tokens.offset += 1
             else:
                 _py_local_tk = None
         except IndexError:
             _py_local_tk = None
         lcl_1 = _py_local_tk
         _slot_1 = lcl_1
         lcl_1 = (_slot_1 is None)
         if lcl_1:
             lcl_2 = prim__tokens.offset
             lcl_2 = (lcl_2, 'quote a not match')
             lcl_2 = prim__cons(lcl_2, prim__nil)
             lcl_2 = lcl_2
             lcl_2 = (False, lcl_2)
             lcl_1 = lcl_2
         else:
             lcl_2 = 1
             try:
                 _py_local_tk = prim__tokens.array[prim__tokens.offset]
                 if (_py_local_tk.idint is lcl_2):
                     prim__tokens.offset += 1
                 else:
                     _py_local_tk = None
             except IndexError:
                 _py_local_tk = None
             lcl_2 = _py_local_tk
             _slot_2 = lcl_2
             lcl_2 = (_slot_2 is None)
             if lcl_2:
                 lcl_3 = prim__tokens.offset
                 lcl_3 = (lcl_3, 'EOF not match')
                 lcl_3 = prim__cons(lcl_3, prim__nil)
                 lcl_3 = lcl_3
                 lcl_3 = (False, lcl_3)
                 lcl_2 = lcl_3
             else:
                 lcl_3 = (_slot_1.lineno, _slot_1.colno, _slot_1.filename)
                 _slot_local__1 = lcl_3
                 lcl_3 = (True, _slot_local__1)
                 lcl_2 = lcl_3
             lcl_1 = lcl_2
         lcl_0 = lcl_1
     return lcl_0
Example #12
0
 def lr_step_Add(_slot_0, prim__state, prim__tokens):
     Add_lhs_0 = _slot_0
     lcl_0 = prim__tokens.offset
     _off_0 = lcl_0
     lcl_0 = (len(prim__tokens.array) > (prim__tokens.offset + 0))
     if lcl_0:
         lcl_2 = prim__tokens.array[(prim__tokens.offset + 0)]
         lcl_2 = lcl_2.idint
         if (lcl_2 == 5):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_3 = _py_local_t
             _slot_1 = lcl_3
             Add_op_1 = _slot_1
             lcl_3 = parse_Mul(prim__state, prim__tokens)
             _slot_2_check = lcl_3
             lcl_3 = _slot_2_check[0]
             lcl_3 = (lcl_3 is False)
             if lcl_3:
                 lcl_3 = _slot_2_check
             else:
                 lcl_4 = _slot_2_check[1]
                 lcl_4 = lcl_4
                 _slot_2 = lcl_4
                 Add_rhs_1 = _slot_2
                 lcl_4 = arith(Add_op_1, Add_lhs_0, Add_rhs_1)
                 _slot_local__1 = lcl_4
                 lcl_4 = (True, _slot_local__1)
                 lcl_3 = lcl_4
             lcl_1 = lcl_3
         elif (lcl_2 == 4):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_3 = _py_local_t
             _slot_1 = lcl_3
             Add_op_1 = _slot_1
             lcl_3 = parse_Mul(prim__state, prim__tokens)
             _slot_2_check = lcl_3
             lcl_3 = _slot_2_check[0]
             lcl_3 = (lcl_3 is False)
             if lcl_3:
                 lcl_3 = _slot_2_check
             else:
                 lcl_4 = _slot_2_check[1]
                 lcl_4 = lcl_4
                 _slot_2 = lcl_4
                 Add_rhs_1 = _slot_2
                 lcl_4 = arith(Add_op_1, Add_lhs_0, Add_rhs_1)
                 _slot_local__1 = lcl_4
                 lcl_4 = (True, _slot_local__1)
                 lcl_3 = lcl_4
             lcl_1 = lcl_3
         else:
             lcl_3 = (_off_0, 'Add lookahead failed')
             lcl_3 = prim__cons(lcl_3, prim__nil)
             lcl_3 = lcl_3
             lcl_3 = (False, lcl_3)
             lcl_1 = lcl_3
         lcl_0 = lcl_1
     else:
         lcl_1 = (_off_0, 'Add got EOF')
         lcl_1 = prim__cons(lcl_1, prim__nil)
         lcl_1 = lcl_1
         lcl_1 = (False, lcl_1)
         lcl_0 = lcl_1
     return lcl_0
Example #13
0
 def parse_value(prim__state, prim__tokens):
     lcl_0 = prim__tokens.offset
     _off_0 = lcl_0
     lcl_0 = (len(prim__tokens.array) > (prim__tokens.offset + 0))
     if lcl_0:
         lcl_2 = prim__tokens.array[(prim__tokens.offset + 0)]
         lcl_2 = lcl_2.idint
         if (lcl_2 == 8):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_3 = _py_local_t
             _slot_0 = lcl_3
             lcl_3 = prim__tokens.offset
             _off_1 = lcl_3
             lcl_3 = (len(prim__tokens.array) > (prim__tokens.offset + 0))
             if lcl_3:
                 lcl_5 = prim__tokens.array[(prim__tokens.offset + 0)]
                 lcl_5 = lcl_5.idint
                 if (lcl_5 == 9):
                     _py_local_i = prim__tokens.offset
                     _py_local_t = prim__tokens.array[_py_local_i]
                     prim__tokens.offset = (_py_local_i + 1)
                     lcl_6 = _py_local_t
                     _slot_1 = lcl_6
                     lcl_6 = dict()
                     _slot_local__1 = lcl_6
                     lcl_6 = (True, _slot_local__1)
                     lcl_4 = lcl_6
                 elif (lcl_5 == 12):
                     lcl_6 = parse_rbnf__sep__list__1(
                         prim__state, prim__tokens)
                     _slot_1_check = lcl_6
                     lcl_6 = _slot_1_check[0]
                     lcl_6 = (lcl_6 is False)
                     if lcl_6:
                         lcl_6 = _slot_1_check
                     else:
                         lcl_7 = _slot_1_check[1]
                         lcl_7 = lcl_7
                         _slot_1 = lcl_7
                         lcl_7 = 9
                         try:
                             _py_local_tk = prim__tokens.array[
                                 prim__tokens.offset]
                             if (_py_local_tk.idint is lcl_7):
                                 prim__tokens.offset += 1
                             else:
                                 _py_local_tk = None
                         except IndexError:
                             _py_local_tk = None
                         lcl_7 = _py_local_tk
                         _slot_2 = lcl_7
                         lcl_7 = (_slot_2 is None)
                         if lcl_7:
                             lcl_8 = prim__tokens.offset
                             lcl_8 = (lcl_8, 'quote } not match')
                             lcl_8 = prim__cons(lcl_8, prim__nil)
                             lcl_8 = lcl_8
                             lcl_8 = (False, lcl_8)
                             lcl_7 = lcl_8
                         else:
                             lcl_8 = _slot_1
                             lcl_8 = dict(lcl_8)
                             _slot_local__1 = lcl_8
                             lcl_8 = (True, _slot_local__1)
                             lcl_7 = lcl_8
                         lcl_6 = lcl_7
                     lcl_4 = lcl_6
                 else:
                     lcl_6 = (_off_1, 'value lookahead failed')
                     lcl_6 = prim__cons(lcl_6, prim__nil)
                     lcl_6 = lcl_6
                     lcl_6 = (False, lcl_6)
                     lcl_4 = lcl_6
                 lcl_3 = lcl_4
             else:
                 lcl_4 = (_off_1, 'value got EOF')
                 lcl_4 = prim__cons(lcl_4, prim__nil)
                 lcl_4 = lcl_4
                 lcl_4 = (False, lcl_4)
                 lcl_3 = lcl_4
             lcl_1 = lcl_3
         elif (lcl_2 == 3):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_3 = _py_local_t
             _slot_0 = lcl_3
             _slot_local__1 = True
             lcl_3 = (True, _slot_local__1)
             lcl_1 = lcl_3
         elif (lcl_2 == 4):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_3 = _py_local_t
             _slot_0 = lcl_3
             _slot_local__1 = None
             lcl_3 = (True, _slot_local__1)
             lcl_1 = lcl_3
         elif (lcl_2 == 5):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_3 = _py_local_t
             _slot_0 = lcl_3
             _slot_local__1 = False
             lcl_3 = (True, _slot_local__1)
             lcl_1 = lcl_3
         elif (lcl_2 == 6):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_3 = _py_local_t
             _slot_0 = lcl_3
             lcl_3 = prim__tokens.offset
             _off_1 = lcl_3
             lcl_3 = (len(prim__tokens.array) > (prim__tokens.offset + 0))
             if lcl_3:
                 lcl_5 = prim__tokens.array[(prim__tokens.offset + 0)]
                 lcl_5 = lcl_5.idint
                 if (lcl_5 == 8):
                     lcl_6 = parse_rbnf__sep__list__0(
                         prim__state, prim__tokens)
                     _slot_1_check = lcl_6
                     lcl_6 = _slot_1_check[0]
                     lcl_6 = (lcl_6 is False)
                     if lcl_6:
                         lcl_6 = _slot_1_check
                     else:
                         lcl_7 = _slot_1_check[1]
                         lcl_7 = lcl_7
                         _slot_1 = lcl_7
                         lcl_7 = 7
                         try:
                             _py_local_tk = prim__tokens.array[
                                 prim__tokens.offset]
                             if (_py_local_tk.idint is lcl_7):
                                 prim__tokens.offset += 1
                             else:
                                 _py_local_tk = None
                         except IndexError:
                             _py_local_tk = None
                         lcl_7 = _py_local_tk
                         _slot_2 = lcl_7
                         lcl_7 = (_slot_2 is None)
                         if lcl_7:
                             lcl_8 = prim__tokens.offset
                             lcl_8 = (lcl_8, 'quote ] not match')
                             lcl_8 = prim__cons(lcl_8, prim__nil)
                             lcl_8 = lcl_8
                             lcl_8 = (False, lcl_8)
                             lcl_7 = lcl_8
                         else:
                             lcl_8 = _slot_1
                             _slot_local__1 = lcl_8
                             lcl_8 = (True, _slot_local__1)
                             lcl_7 = lcl_8
                         lcl_6 = lcl_7
                     lcl_4 = lcl_6
                 elif (lcl_5 == 3):
                     lcl_6 = parse_rbnf__sep__list__0(
                         prim__state, prim__tokens)
                     _slot_1_check = lcl_6
                     lcl_6 = _slot_1_check[0]
                     lcl_6 = (lcl_6 is False)
                     if lcl_6:
                         lcl_6 = _slot_1_check
                     else:
                         lcl_7 = _slot_1_check[1]
                         lcl_7 = lcl_7
                         _slot_1 = lcl_7
                         lcl_7 = 7
                         try:
                             _py_local_tk = prim__tokens.array[
                                 prim__tokens.offset]
                             if (_py_local_tk.idint is lcl_7):
                                 prim__tokens.offset += 1
                             else:
                                 _py_local_tk = None
                         except IndexError:
                             _py_local_tk = None
                         lcl_7 = _py_local_tk
                         _slot_2 = lcl_7
                         lcl_7 = (_slot_2 is None)
                         if lcl_7:
                             lcl_8 = prim__tokens.offset
                             lcl_8 = (lcl_8, 'quote ] not match')
                             lcl_8 = prim__cons(lcl_8, prim__nil)
                             lcl_8 = lcl_8
                             lcl_8 = (False, lcl_8)
                             lcl_7 = lcl_8
                         else:
                             lcl_8 = _slot_1
                             _slot_local__1 = lcl_8
                             lcl_8 = (True, _slot_local__1)
                             lcl_7 = lcl_8
                         lcl_6 = lcl_7
                     lcl_4 = lcl_6
                 elif (lcl_5 == 4):
                     lcl_6 = parse_rbnf__sep__list__0(
                         prim__state, prim__tokens)
                     _slot_1_check = lcl_6
                     lcl_6 = _slot_1_check[0]
                     lcl_6 = (lcl_6 is False)
                     if lcl_6:
                         lcl_6 = _slot_1_check
                     else:
                         lcl_7 = _slot_1_check[1]
                         lcl_7 = lcl_7
                         _slot_1 = lcl_7
                         lcl_7 = 7
                         try:
                             _py_local_tk = prim__tokens.array[
                                 prim__tokens.offset]
                             if (_py_local_tk.idint is lcl_7):
                                 prim__tokens.offset += 1
                             else:
                                 _py_local_tk = None
                         except IndexError:
                             _py_local_tk = None
                         lcl_7 = _py_local_tk
                         _slot_2 = lcl_7
                         lcl_7 = (_slot_2 is None)
                         if lcl_7:
                             lcl_8 = prim__tokens.offset
                             lcl_8 = (lcl_8, 'quote ] not match')
                             lcl_8 = prim__cons(lcl_8, prim__nil)
                             lcl_8 = lcl_8
                             lcl_8 = (False, lcl_8)
                             lcl_7 = lcl_8
                         else:
                             lcl_8 = _slot_1
                             _slot_local__1 = lcl_8
                             lcl_8 = (True, _slot_local__1)
                             lcl_7 = lcl_8
                         lcl_6 = lcl_7
                     lcl_4 = lcl_6
                 elif (lcl_5 == 5):
                     lcl_6 = parse_rbnf__sep__list__0(
                         prim__state, prim__tokens)
                     _slot_1_check = lcl_6
                     lcl_6 = _slot_1_check[0]
                     lcl_6 = (lcl_6 is False)
                     if lcl_6:
                         lcl_6 = _slot_1_check
                     else:
                         lcl_7 = _slot_1_check[1]
                         lcl_7 = lcl_7
                         _slot_1 = lcl_7
                         lcl_7 = 7
                         try:
                             _py_local_tk = prim__tokens.array[
                                 prim__tokens.offset]
                             if (_py_local_tk.idint is lcl_7):
                                 prim__tokens.offset += 1
                             else:
                                 _py_local_tk = None
                         except IndexError:
                             _py_local_tk = None
                         lcl_7 = _py_local_tk
                         _slot_2 = lcl_7
                         lcl_7 = (_slot_2 is None)
                         if lcl_7:
                             lcl_8 = prim__tokens.offset
                             lcl_8 = (lcl_8, 'quote ] not match')
                             lcl_8 = prim__cons(lcl_8, prim__nil)
                             lcl_8 = lcl_8
                             lcl_8 = (False, lcl_8)
                             lcl_7 = lcl_8
                         else:
                             lcl_8 = _slot_1
                             _slot_local__1 = lcl_8
                             lcl_8 = (True, _slot_local__1)
                             lcl_7 = lcl_8
                         lcl_6 = lcl_7
                     lcl_4 = lcl_6
                 elif (lcl_5 == 7):
                     _py_local_i = prim__tokens.offset
                     _py_local_t = prim__tokens.array[_py_local_i]
                     prim__tokens.offset = (_py_local_i + 1)
                     lcl_6 = _py_local_t
                     _slot_1 = lcl_6
                     lcl_6 = []
                     _slot_local__1 = lcl_6
                     lcl_6 = (True, _slot_local__1)
                     lcl_4 = lcl_6
                 elif (lcl_5 == 6):
                     lcl_6 = parse_rbnf__sep__list__0(
                         prim__state, prim__tokens)
                     _slot_1_check = lcl_6
                     lcl_6 = _slot_1_check[0]
                     lcl_6 = (lcl_6 is False)
                     if lcl_6:
                         lcl_6 = _slot_1_check
                     else:
                         lcl_7 = _slot_1_check[1]
                         lcl_7 = lcl_7
                         _slot_1 = lcl_7
                         lcl_7 = 7
                         try:
                             _py_local_tk = prim__tokens.array[
                                 prim__tokens.offset]
                             if (_py_local_tk.idint is lcl_7):
                                 prim__tokens.offset += 1
                             else:
                                 _py_local_tk = None
                         except IndexError:
                             _py_local_tk = None
                         lcl_7 = _py_local_tk
                         _slot_2 = lcl_7
                         lcl_7 = (_slot_2 is None)
                         if lcl_7:
                             lcl_8 = prim__tokens.offset
                             lcl_8 = (lcl_8, 'quote ] not match')
                             lcl_8 = prim__cons(lcl_8, prim__nil)
                             lcl_8 = lcl_8
                             lcl_8 = (False, lcl_8)
                             lcl_7 = lcl_8
                         else:
                             lcl_8 = _slot_1
                             _slot_local__1 = lcl_8
                             lcl_8 = (True, _slot_local__1)
                             lcl_7 = lcl_8
                         lcl_6 = lcl_7
                     lcl_4 = lcl_6
                 elif (lcl_5 == 14):
                     lcl_6 = parse_rbnf__sep__list__0(
                         prim__state, prim__tokens)
                     _slot_1_check = lcl_6
                     lcl_6 = _slot_1_check[0]
                     lcl_6 = (lcl_6 is False)
                     if lcl_6:
                         lcl_6 = _slot_1_check
                     else:
                         lcl_7 = _slot_1_check[1]
                         lcl_7 = lcl_7
                         _slot_1 = lcl_7
                         lcl_7 = 7
                         try:
                             _py_local_tk = prim__tokens.array[
                                 prim__tokens.offset]
                             if (_py_local_tk.idint is lcl_7):
                                 prim__tokens.offset += 1
                             else:
                                 _py_local_tk = None
                         except IndexError:
                             _py_local_tk = None
                         lcl_7 = _py_local_tk
                         _slot_2 = lcl_7
                         lcl_7 = (_slot_2 is None)
                         if lcl_7:
                             lcl_8 = prim__tokens.offset
                             lcl_8 = (lcl_8, 'quote ] not match')
                             lcl_8 = prim__cons(lcl_8, prim__nil)
                             lcl_8 = lcl_8
                             lcl_8 = (False, lcl_8)
                             lcl_7 = lcl_8
                         else:
                             lcl_8 = _slot_1
                             _slot_local__1 = lcl_8
                             lcl_8 = (True, _slot_local__1)
                             lcl_7 = lcl_8
                         lcl_6 = lcl_7
                     lcl_4 = lcl_6
                 elif (lcl_5 == 13):
                     lcl_6 = parse_rbnf__sep__list__0(
                         prim__state, prim__tokens)
                     _slot_1_check = lcl_6
                     lcl_6 = _slot_1_check[0]
                     lcl_6 = (lcl_6 is False)
                     if lcl_6:
                         lcl_6 = _slot_1_check
                     else:
                         lcl_7 = _slot_1_check[1]
                         lcl_7 = lcl_7
                         _slot_1 = lcl_7
                         lcl_7 = 7
                         try:
                             _py_local_tk = prim__tokens.array[
                                 prim__tokens.offset]
                             if (_py_local_tk.idint is lcl_7):
                                 prim__tokens.offset += 1
                             else:
                                 _py_local_tk = None
                         except IndexError:
                             _py_local_tk = None
                         lcl_7 = _py_local_tk
                         _slot_2 = lcl_7
                         lcl_7 = (_slot_2 is None)
                         if lcl_7:
                             lcl_8 = prim__tokens.offset
                             lcl_8 = (lcl_8, 'quote ] not match')
                             lcl_8 = prim__cons(lcl_8, prim__nil)
                             lcl_8 = lcl_8
                             lcl_8 = (False, lcl_8)
                             lcl_7 = lcl_8
                         else:
                             lcl_8 = _slot_1
                             _slot_local__1 = lcl_8
                             lcl_8 = (True, _slot_local__1)
                             lcl_7 = lcl_8
                         lcl_6 = lcl_7
                     lcl_4 = lcl_6
                 elif (lcl_5 == 12):
                     lcl_6 = parse_rbnf__sep__list__0(
                         prim__state, prim__tokens)
                     _slot_1_check = lcl_6
                     lcl_6 = _slot_1_check[0]
                     lcl_6 = (lcl_6 is False)
                     if lcl_6:
                         lcl_6 = _slot_1_check
                     else:
                         lcl_7 = _slot_1_check[1]
                         lcl_7 = lcl_7
                         _slot_1 = lcl_7
                         lcl_7 = 7
                         try:
                             _py_local_tk = prim__tokens.array[
                                 prim__tokens.offset]
                             if (_py_local_tk.idint is lcl_7):
                                 prim__tokens.offset += 1
                             else:
                                 _py_local_tk = None
                         except IndexError:
                             _py_local_tk = None
                         lcl_7 = _py_local_tk
                         _slot_2 = lcl_7
                         lcl_7 = (_slot_2 is None)
                         if lcl_7:
                             lcl_8 = prim__tokens.offset
                             lcl_8 = (lcl_8, 'quote ] not match')
                             lcl_8 = prim__cons(lcl_8, prim__nil)
                             lcl_8 = lcl_8
                             lcl_8 = (False, lcl_8)
                             lcl_7 = lcl_8
                         else:
                             lcl_8 = _slot_1
                             _slot_local__1 = lcl_8
                             lcl_8 = (True, _slot_local__1)
                             lcl_7 = lcl_8
                         lcl_6 = lcl_7
                     lcl_4 = lcl_6
                 else:
                     lcl_6 = (_off_1, 'value lookahead failed')
                     lcl_6 = prim__cons(lcl_6, prim__nil)
                     lcl_6 = lcl_6
                     lcl_6 = (False, lcl_6)
                     lcl_4 = lcl_6
                 lcl_3 = lcl_4
             else:
                 lcl_4 = (_off_1, 'value got EOF')
                 lcl_4 = prim__cons(lcl_4, prim__nil)
                 lcl_4 = lcl_4
                 lcl_4 = (False, lcl_4)
                 lcl_3 = lcl_4
             lcl_1 = lcl_3
         elif (lcl_2 == 14):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_3 = _py_local_t
             _slot_0 = lcl_3
             lcl_3 = _slot_0
             lcl_3 = lcl_3.value
             lcl_3 = int(lcl_3)
             _slot_local__1 = lcl_3
             lcl_3 = (True, _slot_local__1)
             lcl_1 = lcl_3
         elif (lcl_2 == 13):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_3 = _py_local_t
             _slot_0 = lcl_3
             lcl_3 = _slot_0
             lcl_3 = lcl_3.value
             lcl_3 = float(lcl_3)
             _slot_local__1 = lcl_3
             lcl_3 = (True, _slot_local__1)
             lcl_1 = lcl_3
         elif (lcl_2 == 12):
             _py_local_i = prim__tokens.offset
             _py_local_t = prim__tokens.array[_py_local_i]
             prim__tokens.offset = (_py_local_i + 1)
             lcl_3 = _py_local_t
             _slot_0 = lcl_3
             lcl_3 = _slot_0
             lcl_3 = lcl_3.value
             lcl_3 = DQString(lcl_3)
             _slot_local__1 = lcl_3
             lcl_3 = (True, _slot_local__1)
             lcl_1 = lcl_3
         else:
             lcl_3 = (_off_0, 'value lookahead failed')
             lcl_3 = prim__cons(lcl_3, prim__nil)
             lcl_3 = lcl_3
             lcl_3 = (False, lcl_3)
             lcl_1 = lcl_3
         lcl_0 = lcl_1
     else:
         lcl_1 = (_off_0, 'value got EOF')
         lcl_1 = prim__cons(lcl_1, prim__nil)
         lcl_1 = lcl_1
         lcl_1 = (False, lcl_1)
         lcl_0 = lcl_1
     return lcl_0
Example #14
0
 def parse_pair(prim__state, prim__tokens):
     lcl_0 = 12
     try:
         _py_local_tk = prim__tokens.array[prim__tokens.offset]
         if (_py_local_tk.idint is lcl_0):
             prim__tokens.offset += 1
         else:
             _py_local_tk = None
     except IndexError:
         _py_local_tk = None
     lcl_0 = _py_local_tk
     _slot_0 = lcl_0
     lcl_0 = (_slot_0 is None)
     if lcl_0:
         lcl_1 = prim__tokens.offset
         lcl_1 = (lcl_1, 'ESCAPED_STRING not match')
         lcl_1 = prim__cons(lcl_1, prim__nil)
         lcl_1 = lcl_1
         lcl_1 = (False, lcl_1)
         lcl_0 = lcl_1
     else:
         lcl_1 = 10
         try:
             _py_local_tk = prim__tokens.array[prim__tokens.offset]
             if (_py_local_tk.idint is lcl_1):
                 prim__tokens.offset += 1
             else:
                 _py_local_tk = None
         except IndexError:
             _py_local_tk = None
         lcl_1 = _py_local_tk
         _slot_1 = lcl_1
         lcl_1 = (_slot_1 is None)
         if lcl_1:
             lcl_2 = prim__tokens.offset
             lcl_2 = (lcl_2, 'quote : not match')
             lcl_2 = prim__cons(lcl_2, prim__nil)
             lcl_2 = lcl_2
             lcl_2 = (False, lcl_2)
             lcl_1 = lcl_2
         else:
             lcl_2 = parse_value(prim__state, prim__tokens)
             _slot_2_check = lcl_2
             lcl_2 = _slot_2_check[0]
             lcl_2 = (lcl_2 is False)
             if lcl_2:
                 lcl_2 = _slot_2_check
             else:
                 lcl_3 = _slot_2_check[1]
                 lcl_3 = lcl_3
                 _slot_2 = lcl_3
                 lcl_3 = _slot_0
                 lcl_3 = lcl_3.value
                 lcl_3 = DQString(lcl_3)
                 lcl_4 = _slot_2
                 lcl_3 = (lcl_3, lcl_4)
                 _slot_local__1 = lcl_3
                 lcl_3 = (True, _slot_local__1)
                 lcl_2 = lcl_3
             lcl_1 = lcl_2
         lcl_0 = lcl_1
     return lcl_0