# -*- Mode: Python -*-
import sys
import Parsing
T = Parsing.Token
NT = Parsing.Nonterm
class t_rparen (T):
"%token rparen [p1]"
class t_STRING (T):
"%token STRING [p1]"
class t_NUMBER (T):
"%token NUMBER [p1]"
class t_lbracket (T):
"%token lbracket [p1]"
class t_comma (T):
"%token comma [p1]"
class t_lparen (T):
"%token lparen [p1]"
class t_dot (T):
"%token dot [p1]"
class t_NAME (T):
"%token NAME [p1]"
class p1 (Parsing.Precedence):
"%right p1"
class predicate_c_4_q (NT):
"%nonterm"
def r_0 (self, *args):
"%reduce trailer [p1]"
def r_1 (self, *args):
"%reduce [p1]"
class atom (NT):
"%nonterm"
def r_0 (self, *args):
"%reduce NAME [p1]"
def r_1 (self, *args):
"%reduce NUMBER [p1]"
def r_2 (self, *args):
"%reduce STRING [p1]"
class predicate (NT):
"%nonterm"
def r_0 (self, *args):
"%reduce NAME lparen predicate_c_2_q rparen predicate_c_4_q [p1]"
class list (NT):
"%nonterm"
def r_0 (self, *args):
"%reduce expr list_c_1_s1 [p1]"
class list_c_1_s1 (NT):
"%nonterm"
def r_0 (self, *args):
"%reduce list_c_1_s1 comma expr [p1]"
def r_1 (self, *args):
"%reduce [p1]"
class trailer (NT):
"%nonterm"
def r_0 (self, *args):
"%reduce lparen [p1]"
def r_1 (self, *args):
"%reduce lbracket [p1]"
def r_2 (self, *args):
"%reduce dot [p1]"
def r_3 (self, *args):
"%reduce NAME [p1]"
class predicate_c_2_q (NT):
"%nonterm"
def r_0 (self, *args):
"%reduce list [p1]"
def r_1 (self, *args):
"%reduce [p1]"
class expr (NT):
"%start"
def r_0 (self, *args):
"%reduce predicate [p1]"
def r_1 (self, *args):
"%reduce atom [p1]"
spec = Parsing.Spec (sys.modules[__name__], skinny=False, logFile="t3.log", verbose=True)