tree-sitter/spec/lr/parse_table_spec.cpp
Max Brunsfeld 11e3980319 Add helper functions for making shared pointers to rules
- start work on item set class
2013-11-10 14:59:40 -08:00

43 lines
1.2 KiB
C++

#include "spec_helper.h"
Describe(parse_table_construction) {
Grammar grammar = Grammar(
{
"expression",
"term",
"factor",
"number",
"variable",
"plus",
"times",
"left_paren",
"right_paren"
}, {
rules::choice({
rules::seq({
rules::sym("term"),
rules::sym("plus"),
rules::sym("term") }),
rules::sym("term") }),
rules::choice({
rules::seq({
rules::sym("factor"),
rules::sym("times"),
rules::sym("factor") }),
rules::sym("factor") }),
rules::choice({
rules::sym("variable"),
rules::sym("number"),
rules::seq({
rules::sym("left_paren"),
rules::sym("expression"),
rules::sym("right_paren") }) }),
rules::pattern("\\d+"),
rules::pattern("\\w+"),
rules::str("+"),
rules::str("*"),
rules::str("("),
rules::str(")")
}
);
};