Beispiel #1
0
def p_propiedades5(p):
        '''propiedades : null'''
        node = grammer.nodoDireccion('propiedades')
        node1 = grammer.nodoDireccion(t[1])
        
        node.agregar(node1)
        t[0] = node
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
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
Beispiel #5
0
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
Beispiel #6
0
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
Beispiel #7
0
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
Beispiel #8
0
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
Beispiel #9
0
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
Beispiel #10
0
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
Beispiel #11
0
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
Beispiel #12
0
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
Beispiel #13
0
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
Beispiel #14
0
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
Beispiel #15
0
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
Beispiel #16
0
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
Beispiel #17
0
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'''
Beispiel #18
0
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
Beispiel #19
0
def p_instrucciones2(p):
        '''instrucciones : instruccion'''
        node = grammer.nodoDireccion('instrucciones')
        node.agregar(t[1])
        t[0]= node
Beispiel #20
0
def p_inherits2(p):
        '''fin_tabla : pyc'''
        node = grammer.nodoDireccion('fin_tabla')
        node1 = grammer.nodoDireccion(''+t[1])
        node.agregar(node1)
        t[0] = node