Source code for textworld.logic.model

#!/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 Inform7TypeNode(ModelBase): definition: Any = None kind: Any = None
[docs]@dataclass(eq=False) class Inform7PredicateNode(ModelBase): predicate: Any = None source: Any = None
[docs]@dataclass(eq=False) class Inform7PredicatesNode(ModelBase): predicates: Any = None
[docs]@dataclass(eq=False) class Inform7CommandNode(ModelBase): command: Any = None event: Any = None rule: Any = None
[docs]@dataclass(eq=False) class Inform7CommandsNode(ModelBase): commands: Any = None
[docs]@dataclass(eq=False) class Inform7CodeNode(ModelBase): code: Any = None
[docs]@dataclass(eq=False) class Inform7Node(ModelBase): parts: 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