core-parser.inline.h 869 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef AFUN_CORE_PARSER_INLINE_H
  2. #define AFUN_CORE_PARSER_INLINE_H
  3. #include "core-parser.h"
  4. namespace aFuncore {
  5. Parser::Parser(Reader &reader_)
  6. : reader{reader_},
  7. lexical{lex_begin, TK_PREFIX, 0, 0, false, false},
  8. syntactic{false, TK_PREFIX, "", false}{
  9. reader.readFirstWord();
  10. }
  11. Parser::ParserEvent Parser::popEvent() {
  12. ParserEvent pop = event.front();
  13. event.pop();
  14. return pop;
  15. }
  16. size_t Parser::countEvent() const {
  17. return event.size();
  18. }
  19. void Parser::pushEvent(const ParserEvent &new_event) {
  20. event.push(new_event);
  21. }
  22. void Parser::pushEvent(ParserEvent &&new_event) {
  23. event.push(new_event);
  24. }
  25. const Parser::ParserEvent &Parser::checkEvent() const {
  26. return event.front();
  27. }
  28. }
  29. #endif //AFUN_CORE_PARSER_INLINE_H