grammar.h 766 B

1234567891011121314151617181920212223242526
  1. #ifndef VIRTUALMATH_GRAMMAR_H
  2. #define VIRTUALMATH_GRAMMAR_H
  3. #include "__macro.h"
  4. #define PASERSSIGNATURE ParserMessage *pm, Inter *inter /*pasers函数的统一签名*/
  5. #define CALLPASERSSIGNATURE pm, inter /*pasers函数调用的统一实参*/
  6. typedef struct ParserMessage{
  7. struct TokenMessage *tm;
  8. FILE *paser_debug;
  9. FILE *grammar_debug;
  10. int count;
  11. enum {
  12. success = 1,
  13. syntax_error,
  14. command_list_error,
  15. lexical_error,
  16. } status;
  17. char *status_message;
  18. } ParserMessage;
  19. ParserMessage *makeParserMessage(char *file_dir, char *debug);
  20. void freePasersMessage(ParserMessage *pm, bool self);
  21. void pasersCommandList(ParserMessage *pm, Inter *inter, bool global, Statement *st);
  22. #endif //VIRTUALMATH_GRAMMAR_H