#!/usr/bin/env python
# CAVEAT UTILITOR
#
# This file was automatically generated by TatSu.
#
# https://pypi.python.org/pypi/tatsu/
#
# Any changes you make to it will be overwritten the next time
# the file is generated.
from __future__ import annotations
from typing import Any
from dataclasses import dataclass
from tatsu.objectmodel import Node
from tatsu.semantics import ModelBuilderSemantics
[docs]@dataclass(eq=False)
class ModelBase(Node):
pass
[docs]class GameLogicModelBuilderSemantics(ModelBuilderSemantics):
def __init__(self, context=None, types=None):
types = [
t for t in globals().values()
if type(t) is type and issubclass(t, ModelBase)
] + (types or [])
super().__init__(context=context, types=types)
[docs]@dataclass(eq=False)
class VariableNode(ModelBase):
name: Any = None
type: Any = None
[docs]@dataclass(eq=False)
class SignatureNode(ModelBase):
name: Any = None
types: Any = None
[docs]@dataclass(eq=False)
class PropositionNode(ModelBase):
arguments: Any = None
name: Any = None
[docs]@dataclass(eq=False)
class ActionPreconditionNode(ModelBase):
condition: Any = None
preserve: Any = None
[docs]@dataclass(eq=False)
class ActionNode(ModelBase):
name: Any = None
postconditions: Any = None
preconditions: Any = None
[docs]@dataclass(eq=False)
class PlaceholderNode(ModelBase):
name: Any = None
type: Any = None
[docs]@dataclass(eq=False)
class PredicateNode(ModelBase):
name: Any = None
parameters: Any = None
[docs]@dataclass(eq=False)
class RulePreconditionNode(ModelBase):
condition: Any = None
preserve: Any = None
[docs]@dataclass(eq=False)
class RuleNode(ModelBase):
name: Any = None
postconditions: Any = None
preconditions: Any = None
[docs]@dataclass(eq=False)
class AliasNode(ModelBase):
lhs: Any = None
rhs: Any = None
[docs]@dataclass(eq=False)
class ReverseRuleNode(ModelBase):
lhs: Any = None
rhs: Any = None
[docs]@dataclass(eq=False)
class PredicatesNode(ModelBase):
predicates: Any = None
[docs]@dataclass(eq=False)
class RulesNode(ModelBase):
rules: Any = None
[docs]@dataclass(eq=False)
class ReverseRulesNode(ModelBase):
reverse_rules: Any = None
[docs]@dataclass(eq=False)
class ConstraintsNode(ModelBase):
constraints: Any = None
[docs]@dataclass(eq=False)
class TypeNode(ModelBase):
name: Any = None
parts: Any = None
supertypes: Any = None
[docs]@dataclass(eq=False)
class DocumentNode(ModelBase):
types: Any = None