tree-sitter/src/compiler/rules/seq.h

27 lines
670 B
C
Raw Normal View History

2014-03-09 22:05:17 -07:00
#ifndef COMPILER_RULES_SEQ_H_
#define COMPILER_RULES_SEQ_H_
2013-11-07 13:24:01 -08:00
#include <vector>
2014-03-09 21:37:21 -07:00
#include "compiler/rules/rule.h"
2013-11-07 13:24:01 -08:00
namespace tree_sitter {
namespace rules {
class Seq : public Rule {
public:
Seq(rule_ptr left, rule_ptr right);
static rule_ptr Build(const std::vector<rule_ptr> &rules);
2013-12-30 23:52:38 -08:00
2013-11-07 13:24:01 -08:00
bool operator==(const Rule& other) const;
2013-12-30 23:52:38 -08:00
size_t hash_code() const;
2014-01-02 13:04:41 -08:00
rule_ptr copy() const;
2013-11-07 13:24:01 -08:00
std::string to_string() const;
void accept(Visitor *visitor) const;
2013-12-18 20:58:05 -08:00
2013-11-13 20:22:06 -08:00
const rule_ptr left;
const rule_ptr right;
2013-11-07 13:24:01 -08:00
};
}
}
2014-03-09 22:05:17 -07:00
#endif // COMPILER_RULES_SEQ_H_