| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 2010

# Gaudi::Parsers::UnitsFileGrammar Class Reference

The valid represenation units file: `1 cm = 10 1 m = 1000` . More...

`#include <ParserGrammar.h>`

List of all members.

## Public Member Functions
| UnitsFileGrammar (Parser *parser)
| Constructor.
void | matchUnit () const
| Action called when matched unit definition.
void | matchLeftReal (double real) const
| Action called when number matched in left part of definition.
void | matchLeftUnit (std::string newunit) const
| Action called when new unit name matched.
void | matchRight (std::string value) const
| Action called when right part number (possible with unit) matched.
Parser * | parser () const
| Pointer to parser.
## Private Attributes
Parser * | m_parser
## Classes
struct | definition

## Detailed Description

The valid represenation units file: `1 cm = 10 1 m = 1000` .

See also:
  Gaudi::Parsers::RealUnitsGrammar

  Gaudi::Parsers::IdentifierGrammar

Author:
  Alexander MAZUROV Alexander.Mazurov@gmail.com

  Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
  2006-05-14

Definition at line 214 of file ParserGrammar.h.

## Constructor & Destructor Documentation

Gaudi::Parsers::UnitsFileGrammar::UnitsFileGrammar | ( | Parser * | parser | ) | `[inline]`

Constructor.

Parameters:

  | parser | Pointer to parser object

Definition at line 224 of file ParserGrammar.h.

    00225         : m_parser(parser) {}

## Member Function Documentation

void Gaudi::Parsers::UnitsFileGrammar::matchUnit | ( |  | ) | const`[inline]`

Action called when matched unit definition.

Definition at line 228 of file ParserGrammar.h.

    00229       {
    00230         file_position fpos = val().get_position();
    00231         m_parser->matchUnitEntry
    00232           (attrs().get<0>(),attrs().get<1>(),
    00233            Position(fpos.file,fpos.line,fpos.column));
    00234         attrs().get<1>() = 1;
    00235       }

void Gaudi::Parsers::UnitsFileGrammar::matchLeftReal | ( | double | real | ) | const`[inline]`

Action called when number matched in left part of definition.

Parameters:

  | real | Matched number

Definition at line 240 of file ParserGrammar.h.

    00241       { attrs().get<1>() = real; }

void Gaudi::Parsers::UnitsFileGrammar::matchLeftUnit | ( | std::string | newunit | ) | const`[inline]`

Action called when new unit name matched.

Parameters:

  | newunit | Matched name

Definition at line 247 of file ParserGrammar.h.

    00248       { attrs().get<0>() = newunit; }

void Gaudi::Parsers::UnitsFileGrammar::matchRight | ( | std::string | value | ) | const`[inline]`

Action called when right part number (possible with unit) matched.

Parameters:

  | value | String representation of number

Definition at line 254 of file ParserGrammar.h.

    00255       { attrs().get<1>() =
    00256           boost::lexical_cast<double>(value)/attrs().get<1>(); }

Parser* Gaudi::Parsers::UnitsFileGrammar::parser | ( |  | ) | const`[inline]`

Pointer to parser.

Definition at line 280 of file ParserGrammar.h.

    00280 { return m_parser;}

## Member Data Documentation

Parser* Gaudi::Parsers::UnitsFileGrammar::m_parser`[private]`

Definition at line 282 of file ParserGrammar.h.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v21r10p1/GaudiSvc/src/JobOptionsSvc/ParserGrammar.h