You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
880 B
36 lines
880 B
/*
|
|
* File: Keywords.h
|
|
* Author: nafur
|
|
*
|
|
* Created on April 10, 2013, 6:03 PM
|
|
*/
|
|
|
|
#ifndef IDENTIFIERGRAMMARS_H
|
|
#define IDENTIFIERGRAMMARS_H
|
|
|
|
#include "Includes.h"
|
|
#include "BaseGrammar.h"
|
|
#include "VariableState.h"
|
|
|
|
namespace storm {
|
|
namespace parser {
|
|
namespace prism {
|
|
|
|
class IdentifierGrammar : public qi::grammar<Iterator, std::string(), Skipper, Unused>, public BaseGrammar<IdentifierGrammar> {
|
|
public:
|
|
IdentifierGrammar(std::shared_ptr<VariableState>& state);
|
|
private:
|
|
qi::rule<Iterator, std::string(), Skipper> identifierName;
|
|
};
|
|
|
|
class FreeIdentifierGrammar : public qi::grammar<Iterator, std::string(), Skipper, Unused>, public BaseGrammar<IdentifierGrammar> {
|
|
public:
|
|
FreeIdentifierGrammar(std::shared_ptr<VariableState>& state);
|
|
private:
|
|
qi::rule<Iterator, std::string(), Skipper> freeIdentifierName;
|
|
};
|
|
}
|
|
}
|
|
}
|
|
#endif /* IDENTIFIERGRAMMARS_H */
|
|
|