Gaudi Framework, version v22r1

Home   Generated: Mon Feb 28 2011
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 321 of file ParserGrammar.h.


Constructor & Destructor Documentation

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

Definition at line 325 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 331 of file ParserGrammar.h.

      {
        if ( isopen ){ attrs().get<0>()++; }
        else         { attrs().get<0>()--; }
      }
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 347 of file ParserGrammar.h.

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

Action called when vector value matched.

Parameters:
valuestring representation of value

Definition at line 340 of file ParserGrammar.h.

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

Pointer to parser.

Definition at line 350 of file ParserGrammar.h.

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

Set poinet to parser.

Definition at line 353 of file ParserGrammar.h.


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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Mon Feb 28 2011 18:28:39 for Gaudi Framework, version v22r1 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004