Gaudi Framework, version v21r11

Home   Generated: 30 Sep 2010

Gaudi::Parsers::ValueGrammar Class Reference

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

#include <ParserGrammar.h>

List of all members.

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

Classes

struct  definition


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 321 of file ParserGrammar.h.


Constructor & Destructor Documentation

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

Definition at line 325 of file ParserGrammar.h.

00325 : m_parser(NULL){}


Member Function Documentation

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

Action called when brace is matched.

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

Definition at line 331 of file ParserGrammar.h.

00332       {
00333         if ( isopen ){ attrs().get<0>()++; }
00334         else         { attrs().get<0>()--; }
00335       }

void Gaudi::Parsers::ValueGrammar::matchVectorValue ( std::string  value  )  const [inline]

Action called when vector value matched.

Parameters:
value string representation of value

Definition at line 340 of file ParserGrammar.h.

00341       { 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:
value string representation of value

Definition at line 347 of file ParserGrammar.h.

00347 { val().get<0>() = value; }

Parser* Gaudi::Parsers::ValueGrammar::parser (  )  const [inline]

Pointer to parser.

Definition at line 350 of file ParserGrammar.h.

00350 { return m_parser;}

void Gaudi::Parsers::ValueGrammar::setParser ( Parser parser  )  [inline]

Set poinet to parser.

Definition at line 353 of file ParserGrammar.h.

00353 { m_parser = parser; }


Member Data Documentation

Parser* Gaudi::Parsers::ValueGrammar::m_parser [private]

Definition at line 437 of file ParserGrammar.h.


The documentation for this class was generated from the following file:

Generated at Thu Sep 30 09:58:55 2010 for Gaudi Framework, version v21r11 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004