grammar.h 720 B

1234567891011121314151617181920212223242526
  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. void freeParserMessage(ParserMessage *pm, bool self);
  21. void parserCommandList(ParserMessage *pm, Inter *inter, bool global, Statement *st);
  22. #endif //VIRTUALMATH_GRAMMAR_H