def p_unit_simple(p):
    'unit : ID'
    p[0] = unit_from_string( p[1] )
    

def p_unit_simplenumber(p):
    'unit : ID NUMBER'
    u = unit_from_string( p[1] )
    p[0] = np.power(u, p[2] )


def p_error(p):
    print "Syntax error in input!"
    assert False
    


parser = yacc.yacc(tabmodule = 'unitsparser_parsetab.py', outputdir=LocMgr.getPLYParseTabLocation('unitsparser'), debug=SettingsMgr.getPLYYaccDebugFlag()  )


def parse(s):
    r = parser.parse(s, lexer=lexer, )
    return r