flexicon - 一种用于Python轻量级\基于正则表达式的词法分析器框架

网友投稿 888 2022-11-05

flexicon - 一种用于Python轻量级\基于正则表达式的词法分析器框架

flexicon - 一种用于Python轻量级\基于正则表达式的词法分析器框架

Flexicon

Flexicon is a simple regex-based lexer and tokenizer.

Installation

$ pip install flexicon

Usage

from flexicon import Lexer# Simple Expression LexerEXPRESSION_LEXER = Lexer().simple( (r'[ \t]+', lambda: None), (r'\+', lambda: ('ADD',)), (r'\/', lambda: ('DIVIDE',)), (r'\-', lambda: ('SUBTRACT',)), (r'\*', lambda: ('MULTIPLY',)), (r'\(', lambda: ('OPAREN',)), (r'\)', lambda: ('CPAREN',)), (r'([0-9]+)', lambda n: ('NUMBER', int(n))), (r'([a-zA-Z])', lambda c: ('VARIABLE', c)))print(EXPRESSION_LEXER.lex(u'1 + 2a(4 / b)'))# Outputs:# [# ('NUMBER', 1),# ('ADD',),# ('NUMBER', 2),# ('VARIABLE', 'a'),# ('OPAREN',),# ('NUMBER', 4),# ('DIVIDE',),# ('VARIABLE', 'b'),# ('CPAREN',)# ]

License

Copyright © 2017, Josh Junon. Released under the MIT License.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:最长上升子序列(DP)
下一篇:21. 合并两个有序链表
相关文章

 发表评论

暂时没有评论,来抢沙发吧~