/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Classes | Public Member Functions | Private Attributes
Gaudi::Parsers::ValueGrammar Class Reference

Grammar recognize value that can appear in right side of '=' operator in job options file. More...

#include <ParserGrammar.h>

Collaboration diagram for Gaudi::Parsers::ValueGrammar:
Collaboration graph
[legend]

List of all members.

Classes

struct  definition

Public Member Functions

 ValueGrammar ()
void matchBrace (bool isopen) const
 Action called when brace is matched.
void matchVectorValue (std::string value) const
 Action called when vector value matched.
void matchValue (std::string value) const
 Action called when right side of '=' top value is matched.
Parserparser () const
 Pointer to parser.
void setParser (Parser *parser)
 Set poinet to parser.

Private Attributes

Parserm_parser

Detailed Description

Grammar recognize value that can appear in right side of '=' operator in job options file.

Grammar's EBNF value ::= vectorvalue | vector_type | property_link. vectorvalue ::= pairvalue | literalvalue | mapvalue. literalvalue ::= realunits_grammar | boolean_grammar | string_grammar. mapvalue ::= literalvalue ('=' | ':') value. pairvalue ::= '(' vectorvalue ',' vectorvalue ')'. vector_type ::= ('{' vectorvalue_list '}') | ('[' vectorvalue_list ']'). vectorvalue_list ::= (vector_value (',' vector_value)*)?. property_link = '@' identifier_grammar ('.' identifier_grammar)+.

Grammar has two attributes

See also:
Gaudi::Parsers::RealUnitsGrammar for realunits_grammar
Gaudi::Parsers::BoolGrammar for boolean_grammar
Gaudi::Parsers::StringGrammar for string_grammar
Gaudi::Parsers::IdentifierGrammar for identifier_grammar
Author:
Alexander MAZUROV Alexander.Mazurov@gmail.com
Vanya BELYAEV ibelyaev@physics.syr.edu
Date:
2006-05-14

Definition at line 219 of file ParserGrammar.h.


Constructor & Destructor Documentation

Gaudi::Parsers::ValueGrammar::ValueGrammar ( ) [inline]

Definition at line 223 of file ParserGrammar.h.

: m_parser(NULL){}

Member Function Documentation

void Gaudi::Parsers::ValueGrammar::matchBrace ( bool  isopen) const [inline]

Action called when brace is matched.

Parameters:
isopentrue - if this is '{' or '[' brase, false - '}' or ']'

Definition at line 229 of file ParserGrammar.h.

      {
        if ( isopen ){ attrs().get<0>()++; }
        else         { attrs().get<0>()--; }
      }
void Gaudi::Parsers::ValueGrammar::matchVectorValue ( std::string  value) const [inline]

Action called when vector value matched.

Parameters:
valuestring representation of value

Definition at line 238 of file ParserGrammar.h.

      { if(attrs().get<0>()==1){val().get<1>().push_back(value); } }
void Gaudi::Parsers::ValueGrammar::matchValue ( std::string  value) const [inline]

Action called when right side of '=' top value is matched.

Parameters:
valuestring representation of value

Definition at line 245 of file ParserGrammar.h.

{ val().get<0>() = value; }
Parser* Gaudi::Parsers::ValueGrammar::parser ( ) const [inline]

Pointer to parser.

Definition at line 248 of file ParserGrammar.h.

{ return m_parser;}
void Gaudi::Parsers::ValueGrammar::setParser ( Parser parser) [inline]

Set poinet to parser.

Definition at line 251 of file ParserGrammar.h.


Member Data Documentation

Definition at line 335 of file ParserGrammar.h.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 09:50:18 for LafKernel by doxygen 1.7.4