精神

精神は、テンプレートメタプログラミング技術を使用して実装されたオブジェクト指向の再帰降下パーサージェネレータフレームワークです。
今すぐダウンロード

精神 ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • Boost Software Licen...
  • 価格:
  • FREE
  • 出版社名:
  • Joel de Guzman
  • 出版社のWebサイト:
  • http://www.boost.org/doc/libs/1_35_0/libs/spirit/index.html

精神 タグ


精神 説明

精神は、テンプレートメタプログラミング技術を使用して実装されたオブジェクト指向の再帰的降下パーサージェネレータフレームワークです。 精神は、テンプレートメタプログラミング技術を使用して実装された再帰的な降下オブジェクト指向パーサージェネレータフレームワークです。式テンプレートを使用すると、C ++で拡張された背景 - ノーマルフォーム(EBNF)の構文を完全に概算します。精神のフレームワークは、ターゲット文法をC ++で排他的に書くことを可能にします。インラインEBNF文法仕様は他のC ++コードと自由に混在することができ、C ++テンプレートの生成電力のおかげですぐに実行可能です。 Retrospectでは、従来のコンパイラコンパイラまたはパーサージェネレータは、ソースEBNFコードからCまたはC ++コードへの追加の翻訳ステップを実行しなければならない。整数|グループTERM :: =因子(( '*'ファクタ)|( '/' Factor))* Expression :: = TERM(( '+'項)|( ' - ' TERM))*は見られるように精神の施設を使って近似されますこのコードではスニペットで:group = '(' >>式>> '') ';因子=整数|グループ; TERM = FACTOR >> *(( '*' >>因子)|( '/' >>因子);式= TERM >> *(( '+' >>用語)|( ' - ' >> TERM);式テンプレートのマジックを通して、これは完全に有効で実行可能なC ++コードです。本番ルール式は、実際には、宣言された文法で書かれたソースコードを指定した作業を行うメンバー関数解析を持つオブジェクトです。はい、それは電卓です。 Factorによって呼び出されたルール整数の型宣言と定義をスキップすることで、今や簡単にする。伝統的に開始記号と呼ばれる私たちの文法仕様における生産規則の表現は、次のような入力を認識することができます:12345 -12345 + 123451 + 21 * 21/2 + 3/41 + 2 + 3 + 41 * 2 * 3 * 4(1 + 2)*(3 + 4)(-1 + 2)*(3 + -4)1 +((6 * 200) - 20)/ 6(1 +(3 +(3 +(3 +(3 +) 4 + 5)))確かに、元のEBNF構文をいくつか変更しました。これはC ++構文規則に準拠するために行われます。最も注目に値するShift >>オペレータの豊富さが見られます。 C ++で「空」の演算子がないので、次のようなものを書くことはできません。例えば、MATHENCTIX、または私たちの場合では、Sequencing to Sequencing to SequencingへのEBNF構文に見られるように(B)。追跡する必要があります)。この目的のために、フレームワークはShift >>演算子を使用します。私たちは>>演算子を右を指している矢印で「その後に続く」という意味です。こうして私たちは書く:a >> bthe代替オペレーター|そして括弧()はそのまま残ります。割り当て演算子=は、EBNFの代わりに使用されます。最後に、最後に、EBNFのPostfix演算子で使用されているKleene Star *は接頭辞になります。以下の代わりに:a * // ... eabnf構文で、私たちは:* a // ... Spirit ins instfixスター「*」、C / C ++の場合はありません。最後に、ユビキタスセミコロン「;」で各ルールを終了します。このリリースでは、次のようなものがあります。このバグは、マイケルアンダーセンNEXによって報告され修正されました


精神 関連ソフトウェア

matrixview.

MatrixViewは、標準のHTMLの順次リストに豊富な機能を簡単かつ誤って追加するためのJavaScriptライブラリです。 ...

117

ダウンロード

屈曲

Flexessは、Javaアプリケーション用の拡張可能なセキュリティフレームワークを提供します。 ...

124

ダウンロード

TK :: PerlMethodList

TK :: PerlMethodListは、クラス(パッケージ)で定義されているメソッド(サブルーチン)のシンボルテーブルを照会するPerlモジュールです。 ...

144

ダウンロード