TDParser.

トップダウンアルゴリズムに基づく非常に単純な解析ライブラリ
今すぐダウンロード

TDParser. ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • MIT/X Consortium Lic...
  • 価格:
  • FREE
  • 出版社名:
  • Raphael Barrois
  • 出版社のWebサイト:
  • https://github.com/rbarrois/

TDParser. タグ


TDParser. 説明

TDParserは、トップダウン解析アルゴリズムを使用して、Pythonで単純なレクサ/パーサーを作成するための効率的な方法を提供することを目的としたPythonライブラリです。その他のPythonライブラリは解析/ lexingツールを提供します(http://edbatchelder.com/text/pythonを参照)。例のようなparsers.html)。 TDParserの独特の機能は次のとおりです。 - DocStringベースの文法定義を避けてください - 汎用パーサー構造を提供してください。 ..examplehereは、単純な算術パーサの定義です.TDParserのインポートLexer、TokenClass整数(トークン)から:DEF __init __(self、text):self.value = int(テキスト)DEF NUD(Self、Context): ""トークンが "" "" "" "" "" "" "" "" "Self.Valueclassの追加(トークン):LBP = 10#優先順位DEF LED(self、左、コンテキスト):" "2つの式の間のこのトークンの値を計算します。" "#式を右にフェッチして、同じ優先順位の次の境界番号で停止します。 context):returnを返します - context.expression(self.lbp)def nud(self、context): "" ""が左に存在する場合式。 ""# "#"#これは私たちが次の式returnの反対を返していることを意味します - context.expression(token):LBP = 20#追加/部分破断DEF LED(Self、左、コンテキスト):left left * context.expression(self.lbp)Lexer = Lexer(ith_parens = true)Lexer.Register_Token(整数、recompile(r ' d +'))Lexer.register_Token(追加、recompile (R ' +'))Lexer.Register_Token(SubserAction、Re.Compile(R ' - '))Lexer.Register_Token(乗算、recompile(r '*'))DEF解析(テキスト):return lexer.parse (テキスト)予想値を返す:>>> Parse( "1 + 1")2 >>> Parse( "1 + -2 * 3") - 5Adding New Tokensは簡単です。 = 20#乗算DEF LED(self、左、コンテキスト)と同じ優先順位:refting left // context.expression(self.lbp)Lexer.Register_Token(Division、Re.Compile(R '/'))および使用:> >> PARSE( "3 + 12/3")7let's Parte Parter:クラス電源(トークン):LBP = 30#マルチDEF LED(Self、左、コンテキスト):#2 ** 3 ** 2が2 **(3 ** 2)を計算します。** context.expression(self.lbp - 1)Lexer .register_token(Power、Re.compile(R ' * *'))およびそれを使用します。>>> Parse( "2 ** 3 ** 2")512製品のホームページ


TDParser. 関連ソフトウェア

minitage.recipe.du.

ソフトウェアまたはPythonパッケージをコンパイルしてインストールし、スクリプトまたはConfigurを生成するためのZC.BuildOutレシピ... ...

74

ダウンロード