1 #ifndef PPPARSER_HPP
 2 #define PPPARSER_HPP
 3 #include <sngcpp/pp/PP.hpp>
 4 #include <soulng/lexer/Token.hpp>
 5 #include <soulng/parser/Match.hpp>
 6 #include <soulng/parser/Value.hpp>
 7 
 8 // this file has been automatically generated from 'D:/work/soulng-project/sngcpp/pp/PPParser.parser' using soulng parser generator spg version 3.0.0
 9 
10 class PPLexer;
11 
12 struct PPLineParser 
13 {
14     static void Parse(PPLexer& lexersngcpp::pp::PP* pp);
15     static soulng::parser::Match PPLine(PPLexer& lexersngcpp::pp::PP* pp);
16     static soulng::parser::Match Define(PPLexer& lexersngcpp::pp::PP* pp);
17     static soulng::parser::Match Include(PPLexer& lexersngcpp::pp::PP* pp);
18     static soulng::parser::Match If(PPLexer& lexersngcpp::pp::PP* pp);
19     static soulng::parser::Match Ifdef(PPLexer& lexersngcpp::pp::PP* pp);
20     static soulng::parser::Match Ifndef(PPLexer& lexersngcpp::pp::PP* pp);
21     static soulng::parser::Match Elif(PPLexer& lexersngcpp::pp::PP* pp);
22     static soulng::parser::Match Else(PPLexer& lexersngcpp::pp::PP* pp);
23     static soulng::parser::Match Endif(PPLexer& lexersngcpp::pp::PP* pp);
24     static soulng::parser::Match Other(PPLexer& lexersngcpp::pp::PP* pp);
25     static soulng::parser::Match PPToken(PPLexer& lexerstd::std::vector<soulng::lexer::Token>*tokens);
26 };
27 
28 #endif // PPPARSER_HPP