def p_propiedades5(p): '''propiedades : null''' node = grammer.nodoDireccion('propiedades') node1 = grammer.nodoDireccion(t[1]) node.agregar(node1) t[0] = node
def p_propiedades3(p): '''propiedades : identity propiedades''' node = grammer.nodoDireccion('propiedades') node1 = grammer.nodoDireccion(t[1]) node.agregar(node1) node.agregar(t[2]) t[0] = node
def p_propiedades8(p): '''propiedades : primary key''' node = grammer.nodoDireccion('propiedades') node1 = grammer.nodoDireccion(t[1]) node2 = grammer.nodoDireccion(t[2]) node.agregar(node1) node.agregar(node2) t[0] = node
def p_col_tabla4(p): '''col_tabla : identificador tipo''' node =grammer.nodoDireccion('col_tabla') node2 = grammer.nodoDireccion(t[1]) node.agregar(node2) node.agregar(t[2]) t[0]= node
def p_col_tabla3(p): '''col_tabla : identificador tipo propiedades''' node =grammer.nodoDireccion('col_tabla') node2 = grammer.nodoDireccion(t[1]) node.agregar(node2) node.agregar(t[2]) node5 = grammer.nodoDireccion(t[3]) node.agregar(node5) t[0]= node
def p_if_not4(p): '''if_not : identificador owner valor''' node =grammer.nodoDireccion('if_not') node1= grammer.nodoDireccion('(ID)'+t[1]) node2 = grammer.nodoDireccion(t[2]) node.agregar(node1) node.agregar(node2) node.agregar(t[3]) t[0]= node
def p_create_cont2(p): '''create_cont : table if_not par1 col_tabla par2 fin_tabla ''' node = grammer.nodoDireccion('create_cont') node1 = grammer.nodoDireccion(''+t[1]) node.agregar(node1) node.agregar(t[2]) node.agregar(t[4]) node.agregar(t[6]) t[0] = node
def p_propiedades2(p): '''propiedades : not null propiedades''' node = grammer.nodoDireccion('propiedades') node1 = grammer.nodoDireccion(t[1]) node2 = grammer.nodoDireccion(t[2]) node.agregar(node1) node.agregar(node2) node.agregar(t[3]) t[0] = node
def p_col_tabla2(p): '''col_tabla : col_tabla coma identificador tipo''' node =grammer.nodoDireccion('col_tabla') node.agregar(t[1]) node2 = grammer.nodoDireccion(t[2]) node4= grammer.nodoDireccion('(ID) '+t[3]) node.agregar(node2) node.agregar(node4) node.agregar(t[4]) t[0]= node
def p_if_not6(p): '''if_not : identificador mode igual valor''' node =grammer.nodoDireccion('if_not') node1= grammer.nodoDireccion('(ID) 't[1]) node2 = grammer.nodoDireccion(t[2]) node3 = grammer.nodoDireccion(t[3]) node.agregar(node1) node.agregar(node2) node.agregar(node3) node.agregar(t[4]) t[0]= node
def p_col_tabla6(p): '''col_tabla : col_tabla coma primary key lista_id''' node =grammer.nodoDireccion('col_tabla') node2 = grammer.nodoDireccion(t[2]) node3 = grammer.nodoDireccion(t[3]) node4= grammer.nodoDireccion(t[4]) node.agregar(t[1]) node.agregar(node2) node.agregar(node3) node.agregar(node4) node.agregar(t[5]) t[0]= node
def p_create_cont3(p): '''create_cont : type valor as enum par1 lista_insertar par2 pyc''' node = grammer.nodoDireccion('create_cont') node1 = grammer.nodoDireccion(''+t[1]) node.agregar(node1) node.agregar(t[2]) node2 = grammer.nodoDireccion(' '+t[3]) node3 = grammer.nodoDireccion(' '+t[4]) node.agregar(node2) node.agregar(node3) node.agregar(t[6]) t[0]=node
def p_tipo5(p): '''tipo :char par1 num par2''' node = grammer.nodoDireccion('tipo') node1= grammer.nodoDireccion(t[1]) node2= grammer.nodoDireccion(t[2]) node3= grammer.nodoDireccion(t[3]) node4= grammer.nodoDireccion(t[4]) node.agregar(node1) node.agregar(node2) node.agregar(node3) node.agregar(node4) t[0]= node
def p_col_tabla5(p): '''col_tabla : foreing key lista_id references identificador''' node =grammer.nodoDireccion('col_tabla') node1= grammer.nodoDireccion(t[1]) node2 = grammer.nodoDireccion(t[2]) node4= grammer.nodoDireccion(t[4]) node5 = grammer.nodoDireccion(t[5]) node.agregar(node1) node.agregar(node2) node.agregar(t[3]) node.agregar(node4) node.agregar(node5) t[0]= node
def p_alter_objeto2(p): '''alter_objeto : database identificador rename to identificador pyc | database identificador owner to identificador pyc''' node = grammer.nodoDireccion('alter_objeto') node1= grammer.nodoDireccion(t[1]) node2= grammer.nodoDireccion(t[2]) node3= grammer.nodoDireccion(t[3]) node4= grammer.nodoDireccion(t[4]) node5= grammer.nodoDireccion(t[5]) node6= grammer.nodoDireccion(t[6]) node.agregar(node1) node.agregar(node2) node.agregar(node3) node.agregar(node4) node.agregar(node5) node.agregar(node6) t[0]= node
def p_if_not5(p): '''if_not : if not exists identificador mode igual valor''' node =grammer.nodoDireccion('if_not') node1= grammer.nodoDireccion(t[1]) node2 = grammer.nodoDireccion(t[2]) node3 = grammer.nodoDireccion(t[3]) node4= grammer.nodoDireccion('(ID) '+t[4]) node5 = grammer.nodoDireccion(t[5]) node6 = grammer.nodoDireccion(t[6]) node.agregar(node1) node.agregar(node2) node.agregar(node3) node.agregar(node4) node.agregar(node5) node.agregar(node6) node.agregar(t[7]) t[0]= node
tokens = lexico.tokens precedence = ( ('left', 'mas', 'menos'), ('left', 'por', 'div'), ('nonassoc','between', 'like'), ('left', 'menor', 'mayor', 'igual', 'menorigual', 'mayorigual', 'diferente'), ('right', 'not'), ('left', 'and'), ('left', 'or') ) def p_inicio(p): '''inicio : instrucciones''' node = grammer.nodoDireccion('inicio') node.agregar(t[1]) t[0] = node def p_instrucciones(p): '''instrucciones : instrucciones NEWLINE instruccion''' #se genera el nodo del arbol node = grammer.nodoDireccion('instrucciones') node.agregar(t[1]) node.agregar(t[3]) t[0] =node def p_instrucciones2(p): '''instrucciones : instruccion'''
def p_if_not2(p): '''if_not : identificador''' node =grammer.nodoDireccion('if_not') node1 =grammer.nodoDireccion('(ID)'+ t[1]) node.agregar(node1) t[0]= node
def p_instrucciones2(p): '''instrucciones : instruccion''' node = grammer.nodoDireccion('instrucciones') node.agregar(t[1]) t[0]= node
def p_inherits2(p): '''fin_tabla : pyc''' node = grammer.nodoDireccion('fin_tabla') node1 = grammer.nodoDireccion(''+t[1]) node.agregar(node1) t[0] = node