マルパ:: XS

XS拡張子の拡張
今すぐダウンロード

マルパ:: XS ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • LGPL
  • 出版社名:
  • Jeffrey Kegler
  • 出版社のWebサイト:
  • http://search.cpan.org/jkegl/

マルパ:: XS タグ


マルパ:: XS 説明

隔金のXS拡張 MARPA :: XSは、文法をBNFで書くことができる言語を解析するPerlモジュールです。それは、再帰的な文法、あいまいな文法、無限にあいまいな文法と無用または空のプロダクションを含む文法を含みます。この文書には、MARPA ParseエンジンのAPIの最上位概要が含まれています。この文書の2つの例は、MARPAメソッド呼び出しの典型的なフローを示しています。この文書はこれらの例を使用して、MARPAの基本的な機能を半チュートリアルファッションで説明します。 MARPAの高度な機能、およびすべての機能の詳細は、他のMARPA API Documents.Synopsis My $ GRAMMAR = MARPA :: XS :: Grammar-> New({start => '式'、Actions => ' my_actions '、default_action =>' first_arg '、rules => }、{lhs =>' term '、rhs => {LHS => 'ファクタ'、RHS => 、ACTION =>' DO_ADD '}、{ LHS => 'Factor'、RHS => 、Action => 'DO_MULTIPLY'}、]、})。 $ grammar-> precompute(); My $ RECCE = MARPA :: XS :: Recognizer-> New({grammar => $ grammar}); $ recce-> read( 'number'、42); $ recce->読み取り( 'multiply'、); $ recce->読み取り( 'number'、1); $ recce->読み取り( 'add'、); $ recce-> read( 'number'、7); sub my_actions :: do_add {My(undef、$ t1、undef、$ t2)= @_; $ T1 + $ T2を返します。 sub my_actions :: do_multiply {my(undef、$ t1、undef、$ t2)= @_; $ t1 * $ t2を返します。 sub my_actions :: first_arg {shift;戻りシフトMy $ value_ref = $ recce->値; My $ value = $ value_ref? $ {$ value_ref}: 'no parse';要件: ・Perl


マルパ:: XS 関連ソフトウェア