示例#1
0
def p_argument_declaration(p):
    '''argument_declaration	: IDENTIFIER
							| NUMBER
							| IDENTIFIER LBRACKET RBRACKET'''
	
    if len(p) == 2:
        p[0] = AST.TokenNode(p[1], nlines)
    elif len(p) == 2 and isinstance (p[1], AST.NumberNode):
        p[0] = AST.NumberNode(p[1], nlines)
    else:
        p[0] = AST.array_declNode(AST.TokenNode(p[1], nlines), nlines)
示例#2
0
def p_array_declaration(p):
	'''array_declaration	: NEW IDENTIFIER bracket_list'''
							
	p[0] = AST.array_declNode([AST.TokenNode(p[2], nlines)] + [p[3]], nlines)