grammar.h 766 B

123456789101112131415161718192021222324252627
  1. #ifndef VIRTUALMATH_GRAMMAR_H
  2. #define VIRTUALMATH_GRAMMAR_H
  3. #include "__macro.h"
  4. struct ParserMessage{
  5. struct TokenMessage *tm;
  6. enum ParserMessageStatus{
  7. success = 1,
  8. syntax_error,
  9. command_list_error,
  10. lexical_error,
  11. int_error,
  12. } status;
  13. char *status_message;
  14. char *file;
  15. bool short_cm; // 短匹配
  16. };
  17. typedef struct ParserMessage ParserMessage;
  18. ParserMessage *makeParserMessageFile(char *file_dir, bool short_cm);
  19. ParserMessage *makeParserMessageStr(wchar_t *str, bool short_cm);
  20. bool checkParserMessageIO(ParserMessage *pm);
  21. void freeParserMessage(ParserMessage *pm, bool self);
  22. void parserCommandList(ParserMessage *pm, Inter *inter, bool global, Statement *st);
  23. #endif //VIRTUALMATH_GRAMMAR_H