Sha256: a3b99c11ed0992f37f435ea61d97e9cb1955e066fa39ec96dc4b8bb8707d8554
Contents?: true
Size: 885 Bytes
Versions: 1
Compression:
Stored size: 885 Bytes
Contents
#include "compiler/build_tables/rule_can_be_blank.h" #include "compiler/rule.h" namespace tree_sitter { namespace build_tables { bool rule_can_be_blank(const rules::Rule &rule) { return rule.match( [](rules::Blank) { return true; }, [](rules::CharacterSet) { return false; }, [](rules::Repeat repeat) { return rule_can_be_blank(*repeat.rule); }, [](rules::Metadata metadata) { return rule_can_be_blank(*metadata.rule); }, [](rules::Choice choice) { for (const auto &element : choice.elements) { if (rule_can_be_blank(element)) { return true; } } return false; }, [](rules::Seq seq) { return rule_can_be_blank(*seq.left) && rule_can_be_blank(*seq.right); }, [](auto) { return false; } ); } } // namespace build_tables } // namespace tree_sitter
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/rule_can_be_blank.cc |