#ifndef COMPILER_SYNTAX_GRAMMAR_H_ #define COMPILER_SYNTAX_GRAMMAR_H_ #include #include #include #include #include "tree_sitter/compiler.h" #include "compiler/rules/symbol.h" namespace tree_sitter { class SyntaxGrammar { public: const std::string &rule_name(const rules::Symbol &symbol) const; const rules::rule_ptr &rule(const rules::Symbol &symbol) const; std::vector> rules; std::vector> aux_rules; std::set ubiquitous_tokens; std::set> expected_conflicts; }; } // namespace tree_sitter #endif // COMPILER_SYNTAX_GRAMMAR_H_