Esempio n. 1
0
def p_type(p):
    '''type : MATRIX subty
            | VECTOR
            | SCALAR'''
    if len(p) == 3:
        if p[2] is None:
            p[0] = ast.IdentExp(p[1])
        else:
            p[0] = ast.QualIdentExp(p[1], p[2])
    else:
        p[0] = ast.IdentExp(p[1])
Esempio n. 2
0
def p_subty(p):
    '''subty : "." DIA
            | empty'''
    if p[1] is None:
        p[0] = None
    else:
        p[0] = ast.IdentExp(p[2])
Esempio n. 3
0
def p_sid(p):
    'sid : ID'
    p[0] = ast.IdentExp(p[1], p.lineno(1))
Esempio n. 4
0
def p_prog_b(p):
    '''prog : sid IN params            '{' stmts '}'
            | sid           OUT params '{' stmts '}' '''
    p[0] = ast.FunDec(p[1], ast.IdentExp('void'), [], p[3], p[5])