Sha256: 50d779318c6b630962ff08b0cfb06ff25705012f3c9f88f2038689ddce7098fa

Contents?: true

Size: 633 Bytes

Versions: 1

Compression:

Stored size: 633 Bytes

Contents

#ifndef COMPILER_RULES_CHOICE_H_
#define COMPILER_RULES_CHOICE_H_

#include <string>
#include <vector>
#include "compiler/rule.h"

namespace tree_sitter {
namespace rules {

class Choice : public Rule {
 public:
  explicit Choice(const std::vector<rule_ptr> &elements);
  static rule_ptr build(const std::vector<rule_ptr> &rules);

  bool operator==(const Rule &other) const;
  size_t hash_code() const;
  rule_ptr copy() const;
  std::string to_string() const;
  void accept(Visitor *visitor) const;

  const std::vector<rule_ptr> elements;
};

}  // namespace rules
}  // namespace tree_sitter

#endif  // COMPILER_RULES_CHOICE_H_

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tree-sitter-0.0.1 ext/tree-sitter/tree-sitter/src/compiler/rules/choice.h