molecular
Classes | Typedefs
molecular::util::Parser Namespace Reference

A recursive-descent parser with backtracking. More...

Classes

class  Action
 Executes Functor if P0 was successful. More...
 
class  Alpha
 Match alphanumerical characters. More...
 
class  Alternation
 Succeeds when one of the parameters succeeds. More...
 
class  Char
 Match a single character. More...
 
class  CharRange
 Match range of characters. More...
 
class  Concatenation
 Succeeds when all of the parameters succeeds. More...
 
class  False
 Parsing always fails. More...
 
class  Option
 Matches zero or one occurences of P0. More...
 
class  Repetition
 Succeeds for an arbitrary count of repetitions (also zero) of P0. More...
 
class  True
 Parsing always succeeds. More...
 
class  Whitespace
 Matches one or more whitespace characters. More...
 

Typedefs

using Digit = CharRange<'0', '9'>
 Match numerical digit. More...
 
using LowerCaseLetter = CharRange<'a', 'z'>
 Match lowercase letter (from a to z) More...
 
using UpperCaseLetter = CharRange<'A', 'Z'>
 Match uppercase letter (from A to Z) More...
 
typedef Concatenation< Digit, Repetition< Digit > > UnsignedInteger
 Match unsigned integer. More...
 
typedef Concatenation< Option< Char<'-'> >, UnsignedIntegerInteger
 Match signed integer. More...
 
typedef Concatenation< Integer, Option< Concatenation< Char<'.'>, UnsignedInteger > >, Option< Concatenation< Char<'e'>, Integer > > > Real
 Match signed real number. More...
 

Detailed Description

A recursive-descent parser with backtracking.

Can be used as a scannerless parser.

Bug:
The actor is also invoked for decision paths which are later discarded.

Typedef Documentation

using molecular::util::Parser::Digit = typedef CharRange<'0', '9'>

Match numerical digit.

Match signed integer.

Match lowercase letter (from a to z)

Match signed real number.

Match unsigned integer.

Match uppercase letter (from A to Z)