behaviour-tree-test/modules/generative_grammar/grammar.cpp

25 lines
682 B
C++

#include "generative_grammar/grammar.h"
#include "core/object/class_db.h"
#include "macros.h"
void Sentence::_bind_methods() {
BIND_PROPERTY(Variant::STRING, symbols_string);
BIND_PROPERTY(Variant::INT, width);
}
bool Sentence::is_terminal() const {
for (char32_t c : this->symbols) {
if (String::char_uppercase(c)) {
return false;
}
}
return true; // no non-terminals in sentence
}
void Rule::_bind_methods() {
BIND_HPROPERTY(Variant::OBJECT, pattern, PROPERTY_HINT_RESOURCE_TYPE, Sentence::get_class_static());
BIND_HPROPERTY(Variant::OBJECT, result, PROPERTY_HINT_RESOURCE_TYPE, Sentence::get_class_static());
}
void Rule::try_apply(Ref<Sentence> sentence) {
}