構造体 テンプレート toppers::c_expr_parser_base< Derived >

C言語の式を構文解析するための基本クラス [詳細]

#include "toppers/c_expr.hpp"

toppers::c_expr_parser_base< Derived >に対する継承グラフ

Inheritance graph
[凡例]
すべてのメンバ一覧

Public メソッド

 c_expr_parser_base (bool ucn=false, codeset_t codeset=ascii, bool c_plus_plus=false)
 コンストラクタ

Public 変数

bool ucn_
codeset_t codeset_
bool c_plus_plus_

構成

struct  definition
 文法定義 [詳細]

説明

template<class Derived>
struct toppers::c_expr_parser_base< Derived >

C言語の式を構文解析するための基本クラス

実際に使用する際は、 c_expr_parser_base および c_expr_parser_base::definition クラスを派生する必要があります。 c_expr_parser_base::definition の派生クラスでは、 start メンバ関数を定義して、構文中の必要なルールを取り出すようにしてください。 こうすることで、定数式の文法、一次式の文法といったように、C言語の文法のサブ セットを容易に作り出すことができます。

  // 一次式を取り出す例
  struct c_primary_expression : c_expr_parser_base<c_primary_expression>
  {
    template <class Scanner>
    struct definition : c_expr_parser_base<c_primary_expression>::definition
    {
      const rule_t& start() const { return primary_expression; }
    };
  };

c_expr.hpp80 行で定義されています。


コンストラクタとデストラクタ

template<class Derived>
toppers::c_expr_parser_base< Derived >::c_expr_parser_base bool  ucn = false,
codeset_t  codeset = ascii,
bool  c_plus_plus = false
[inline, explicit]
 

コンストラクタ

引数:
ucn 国際文字名に対応する場合は true を指定する
codeset 文字コード
c_plus_plus C++に対応する場合は true を指定する

c_expr.hpp351 行で定義されています。

00352       : ucn_( ucn ), codeset_( codeset ), c_plus_plus_( c_plus_plus )
00353     {
00354     }


この構造体の説明は次のファイルから生成されました:
Copyright © 2006 by TAKAGI Nobuhisa.
このページは Wed Apr 12 16:32:02 2006 に Doxygen によって生成されました。