1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#pragma once
#include "Core/Object.h"
namespace storm {
namespace syntax {
STORM_PKG(lang.bnf);
class Rule;
/**
* Delimiter types in the system in order to create generic implementations of many classes.
*/
namespace delim {
enum Delimiter {
all,
optional,
required
};
}
/**
* Set of delimiters used in a file.
*/
class Delimiters : public Object {
STORM_CLASS;
public:
// Create.
Delimiters();
// Optional delimiter (used for ",").
MAYBE(Rule *) optional;
// Required delimiter (used for "~").
MAYBE(Rule *) required;
};
}
}
|