Sha256: 306f8b4344742c25d7b7d4155297407e60d93d7a73c7de761b92adc9c455f909
Contents?: true
Size: 1.4 KB
Versions: 1
Compression:
Stored size: 1.4 KB
Contents
#ifndef COMPILER_BUILD_TABLES_PARSE_ITEM_H_ #define COMPILER_BUILD_TABLES_PARSE_ITEM_H_ #include <map> #include <utility> #include "compiler/build_tables/lookahead_set.h" #include "compiler/rule.h" #include "compiler/syntax_grammar.h" #include "compiler/precedence_range.h" namespace tree_sitter { namespace build_tables { struct ParseItem { ParseItem(); ParseItem(const rules::Symbol &, const Production &, unsigned int); struct CompletionStatus { bool is_done; int precedence; rules::Associativity associativity; }; bool operator==(const ParseItem &other) const; bool operator<(const ParseItem &other) const; rules::Symbol lhs() const; rules::Symbol next_symbol() const; int precedence() const; int dynamic_precedence() const; rules::Associativity associativity() const; bool is_done() const; int variable_index; const Production *production; unsigned int step_index; }; struct ParseItemSet { bool operator==(const ParseItemSet &) const; void add(const ParseItemSet &); size_t unfinished_item_signature() const; std::map<ParseItem, LookaheadSet> entries; }; } // namespace build_tables } // namespace tree_sitter namespace std { using tree_sitter::build_tables::ParseItemSet; template <> struct hash<tree_sitter::build_tables::ParseItemSet> { size_t operator()(const ParseItemSet &item_set) const; }; } // namespace std #endif // COMPILER_BUILD_TABLES_PARSE_ITEM_H_
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tree-sitter-0.1.0 | ext/tree-sitter/tree-sitter/src/compiler/build_tables/parse_item.h |