stx::Grammar::ExpressionGrammar::definition< ScannerT > Struct Template Reference

The boost::spirit expression parser grammar definition (for a specific scanner) with two entry points. More...

List of all members.

Public Member Functions

 definition (ExpressionGrammar const &)
 Real definition function of the grammar.

Public Attributes

rule< ScannerT, parser_context<
>, parser_tag< constant_id > > 
constant
 Rule for a constant: one of the three scalar types integer_const, double_const or string_const.
rule< ScannerT, parser_context<
>, parser_tag< boolean_const_id > > 
boolean_const
 Boolean value constant rule: "true" or "false".
rule< ScannerT, parser_context<
>, parser_tag< integer_const_id > > 
integer_const
 Integer constant rule: "1234".
rule< ScannerT, parser_context<
>, parser_tag< long_const_id > > 
long_const
 Long integer constant rule: "12345452154".
rule< ScannerT, parser_context<
>, parser_tag< double_const_id > > 
double_const
 Float constant rule: "1234.3".
rule< ScannerT, parser_context<
>, parser_tag< string_const_id > > 
string_const
 String constant rule: with quotes "abc".
rule< ScannerT, parser_context<
>, parser_tag< function_call_id > > 
function_call
 Function call rule: func1(a,b,c) where a,b,c is a list of exprs.
rule< ScannerT, parser_context<
>, parser_tag< function_identifier_id > > 
function_identifier
 Function rule to match a function identifier: alphanumeric and _ are allowed.
rule< ScannerT, parser_context<
>, parser_tag< varname_id > > 
varname
 Rule to match a variable name: alphanumeric with _.
rule< ScannerT, parser_context<
>, parser_tag< atom_expr_id > > 
atom_expr
 Helper rule which implements () bracket grouping.
rule< ScannerT, parser_context<
>, parser_tag< unary_expr_id > > 
unary_expr
 Unary operator rule: recognizes + - ! and "not".
rule< ScannerT, parser_context<
>, parser_tag< mul_expr_id > > 
mul_expr
 Binary operator rule taking precedent before add_expr: recognizes * and /.
rule< ScannerT, parser_context<
>, parser_tag< add_expr_id > > 
add_expr
 Binary operator rule: recognizes + and -.
rule< ScannerT, parser_context<
>, parser_tag< cast_spec_id > > 
cast_spec
 Match all the allowed cast types: short, double, etc.
rule< ScannerT, parser_context<
>, parser_tag< cast_expr_id > > 
cast_expr
 Cast operator written like in C: (short).
rule< ScannerT, parser_context<
>, parser_tag< comp_expr_id > > 
comp_expr
 Comparison operator: recognizes == = != <= >= < > => =<.
rule< ScannerT, parser_context<
>, parser_tag< and_expr_id > > 
and_expr
 Boolean operator: recognizes && and "and" and works only on boolean values.
rule< ScannerT, parser_context<
>, parser_tag< or_expr_id > > 
or_expr
 Boolean operator: recognizes || and "or" and works only on boolean values.
rule< ScannerT, parser_context<
>, parser_tag< expr_id > > 
expr
 Base rule to match an expression.
rule< ScannerT, parser_context<
>, parser_tag< exprlist_id > > 
exprlist
 Base rule to match a comma-separated list of expressions (used for function arguments and lists of expressions).


Detailed Description

template<typename ScannerT>
struct stx::Grammar::ExpressionGrammar::definition< ScannerT >

The boost::spirit expression parser grammar definition (for a specific scanner) with two entry points.

Definition at line 94 of file ExpressionParser.cc.


Member Data Documentation

template<typename ScannerT>
rule<ScannerT, parser_context<>, parser_tag<function_identifier_id> > stx::Grammar::ExpressionGrammar::definition< ScannerT >::function_identifier

Function rule to match a function identifier: alphanumeric and _ are allowed.

Definition at line 276 of file ExpressionParser.cc.

Referenced by stx::Grammar::ExpressionGrammar::definition< ScannerT >::definition().


The documentation for this struct was generated from the following file:
Generated on Tue Jul 17 16:51:58 2007 for STX Expression Parser by  doxygen 1.5.2