一个简单的解析框架
gobble的Python项目详细描述
python中更简单的解析。
用法
fromgobbleimport*
基本分析器:
@parserdefnatural():digits=yieldcharacter('0123456789').starreturnint(''.join(digits))
备选方案:
@parserdefliteral_null():yieldliteral('NULL')returnNoneliteral=natural/literal_null
可选元素:
@parserdefnatural():sign=yieldcharacter('-+').option('+')factor={'-':-1,'+':1}[sign]value=yieldnaturalreturnvalue*factor
使用运算符排序:
whitespace=character(' \n\r\t').starliteral_expr=literal<<whitespace
实际运行解析器:
value=literal_expr.execute(input_string)print(value)