Esempio n. 1
0
def getOrderBy(t):
    if len(t) == 4:
        gramatica = '<orderby> ::= \"ORDER\" \"BY\" <listaorderby>'
        childs = Nodo('LISTA', '', t[3], t.lexer.lineno)
        return Nodo('ORDERBY', '', [childs], t.lexer.lineno, 0, gramatica)
    else:
        gramatica = '<orderby> ::= \"ORDER\" \"BY\" <listaorderby> <instrlimit>'
        childs = [Nodo('LISTA', '', t[3], t.lexer.lineno)]
        childs.append(t[4])
        return Nodo('ORDERBY', '', childs, t.lexer.lineno, 0, gramatica)
Esempio n. 2
0
def getGroupby(t):
    if len(t) == 4:
        gramatica = '<groupby> ::= \"GROUP\" \"BY\" <listagroupby>'
        childs = Nodo('LISTA', '', t[3], t.lexer.lineno)
        return Nodo('GROUPBY', '', [childs], t.lexer.lineno, 0, gramatica)
    else:
        gramatica = '<groupby> ::= \"GROUP\" \"BY\" <listagroupby> \"HAVING\" <condicioneshaving>'
        childs = [Nodo('LISTA', '', t[3], t.lexer.lineno)]
        childs.append(Nodo('HAVING', '', [t[5]], t.lexer.lineno))
        return Nodo('GROUPBY', '', childs, t.lexer.lineno, 0, gramatica)