rabukasim / compiler /parser_patterns.py
trioskosmos's picture
Upload folder using huggingface_hub
463f868 verified
# -*- coding: utf-8 -*-
import re
from .aliases import (
CONDITION_SEMANTIC_SPECIAL_CASES,
CONDITION_TRUE_ALIASES,
EFFECT_GRAMMAR_CONVENIENCES,
EFFECT_SEMANTIC_SPECIAL_CASES,
EFFECT_TRUE_ALIASES,
IGNORED_CONDITIONS,
KEYWORD_CONDITIONS,
MAX_SELECT_ALL,
TRIGGER_ALIASES,
)
_RE_CONDITION_NAME = re.compile(r"(\w+)(?:\s*\{(.*)\})?")
_RE_CONDITION_PARENS = re.compile(r"\((.*?)\)")
_RE_CONDITION_EQUALS = re.compile(r"=\s*[\"']?(.*?)[\"']?$")
_RE_EFFECT_FULL = re.compile(r"^([\w_]+)(?:\((.*?)\))?\s*(?:(\{.*?\})\s*)?(?:->\s*([\w, _]+))?(.*)$")
_RE_EFFECT_COMPACT = re.compile(r"(\w+)\((.*?)\)\s*->\s*(\w+)(.*)")
_RE_GRANT_ABILITY = re.compile(r"GRANT_ABILITY\((.*?),\s*\"(.*?)\"\)")
_RE_COST_FORMAT = re.compile(r"(\w+)(?:\((.*?)\))?(.*)")
_RE_TRIGGER_KEYWORD = re.compile(r"TRIGGER:", re.I)
_RE_TRIGGER_PARENS = re.compile(r"\(.*?\)")
_RE_COST_GE = re.compile(r"COST_GE=(\d+)")
_RE_COST_COMPARISON = re.compile(r"COST_(GE|LE|GT|LT|EQ)=(\d+)")
__all__ = [
"CONDITION_SEMANTIC_SPECIAL_CASES",
"CONDITION_TRUE_ALIASES",
"EFFECT_GRAMMAR_CONVENIENCES",
"EFFECT_SEMANTIC_SPECIAL_CASES",
"EFFECT_TRUE_ALIASES",
"IGNORED_CONDITIONS",
"KEYWORD_CONDITIONS",
"MAX_SELECT_ALL",
"TRIGGER_ALIASES",
"_RE_CONDITION_EQUALS",
"_RE_CONDITION_NAME",
"_RE_CONDITION_PARENS",
"_RE_COST_COMPARISON",
"_RE_COST_FORMAT",
"_RE_COST_GE",
"_RE_EFFECT_COMPACT",
"_RE_EFFECT_FULL",
"_RE_GRANT_ABILITY",
"_RE_TRIGGER_KEYWORD",
"_RE_TRIGGER_PARENS",
]