From 558cd65b3378f72b1909b41be4be6e0501c91da3 Mon Sep 17 00:00:00 2001 From: Gustavo Ramos Rehermann Date: Wed, 23 Aug 2023 22:41:15 -0300 Subject: [PATCH] Work towards satisfying pylint, part 2 --- .../out/ZDWorld-2.13.6-zdw1-debug-asset.pk3 | Bin 328024 -> 328024 bytes .../out/ZDWorld-2.13.6-zdw1-debug-code.pk3 | Bin 3781887 -> 3781887 bytes .../out/ZDWorld-2.13.6-zdw1-release-asset.pk3 | Bin 328024 -> 328024 bytes .../out/ZDWorld-2.13.6-zdw1-release-code.pk3 | Bin 3780789 -> 3780789 bytes ...ZDWorld-2.13.6-zdw1-release-foes-asset.pk3 | Bin 328024 -> 328024 bytes .../ZDWorld-2.13.6-zdw1-release-foes-code.pk3 | Bin 3787104 -> 3787104 bytes zdcode/bundle.py | 22 +- zdcode/compiler/compiler.py | 55 ++-- zdcode/compiler/context.py | 67 +++-- zdcode/compiler/error.py | 5 +- zdcode/compiler/parser.py | 226 +++++++-------- zdcode/compiler/task.py | 1 + zdcode/objects/__init__.py | 17 -- zdcode/objects/actor.py | 79 ++--- zdcode/objects/block.py | 1 + zdcode/objects/dummy.py | 8 +- zdcode/objects/ifjump.py | 28 +- zdcode/objects/ifs.py | 23 +- zdcode/objects/raw.py | 3 + zdcode/objects/skip.py | 17 +- zdcode/objects/sometimes.py | 1 + zdcode/objects/state.py | 10 +- zdcode/objects/template.py | 127 +++++--- zdcode/objects/whilejump.py | 47 +-- zdcode/objects/whiles.py | 58 ++-- zdcode/types/__init__.py | 2 +- zdcode/types/basic.py | 15 +- zdcode/zake.py | 274 ++++++++++-------- 28 files changed, 618 insertions(+), 468 deletions(-) diff --git a/example/out/ZDWorld-2.13.6-zdw1-debug-asset.pk3 b/example/out/ZDWorld-2.13.6-zdw1-debug-asset.pk3 index e851a171ae99c651d37bf8df117f54a913365601..684e7f732a8dc16686e588707833ef38dce4b93b 100644 GIT binary patch delta 2359 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 SwBZ?NZdg5Z{Dn^~E&e|-3>{Yh delta 159193 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 diff --git a/example/out/ZDWorld-2.13.6-zdw1-release-asset.pk3 b/example/out/ZDWorld-2.13.6-zdw1-release-asset.pk3 index bd6b175b544a9d302724edc683248820d44ecee3..274d0767a25d69b82fdec33fcc295b3fa16b358a 100644 GIT binary patch delta 2359 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

ET|m@0mTJd4+2>g9N;-PBbkKOkz0M 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 Op0;=U^bNO8mi{MV?)y6c diff --git a/example/out/ZDWorld-2.13.6-zdw1-release-foes-asset.pk3 b/example/out/ZDWorld-2.13.6-zdw1-release-foes-asset.pk3 index 399cbefeb592ffad28947cca736185f5f7782269..3517db421eee558cc4f1ba36a363e10bfc9502c1 100644 GIT binary patch delta 2359 zcmXw*dr(zX6vppadtb!y#v?`Y3IeGJf<}-gN;gO$L==1krf3e4V~A*GqD`dIZ>_z~Is2STP1dlQ ztYN13S&R=eh(FJgY}0k{EIEDqrlOIfAeQYzEMggC%6AsLF>;+* zaK_|fH^H7+{XWQ5S$=|$d*a7AyNf;D^!?q` zxVehET2;@DnmJ4vC;DmA=PIrvg-A$Kj)+cLpQ>CPE`+sEIUr`xlFOAHzCyG$C|-kw zaIz@@D5iBOHWUF0L=SQl`{nUDCN(=4ytM<4utQvv=IabbbWL~(UPZCY2WnA71n70b zvojb@p*buRJeY_q3WF8=1<}$J!uKrY2E$VIawVA6+9p0&{jf_Jsu?5T9WJ~{kuVL5 z@}j|tVp%MxD0>gFflkD_lQY!s>E8JU2Vjho>K zh`H0hfEJ7_+6Hato%uC9MiG_`&PL&xoeQBD*}fm5P*fd+(MFu}lHcfnTK&${;+@gV zN1y{8PA7DMkAGCoqjR0Qqm!#!9AShut`Hos?JLFLf+FG^{EahsltBjFm&`M*kwtn@ zk!b6ol~urHY`e({i&5OY4mDU)S_uiXV>PVDc3W@5B#d0V12z;t)qyjL@&?$4Vqr6Q zpn1Iw)?%ck1L9Cj>w>E^`D;h7dMZUfY9Ldk1ijy<%8PAY%?@Man{|v1cfkg> z6eFfgmhUPKeNA7Z&qLYz9qF49>(!&acVrj*5E#P?_RSbtASv=QDsMSSeE zO+NfMdi;EO;7}1s2<3?}{g>oc9_7sl!-^?EIT zT@dPcgkYrP_Bt*;gX*O^%6HfCDPkS`FP|=$Az3D=+@pAua^O!@7SRn6oxx5%v}3tPx%m$W>TTgShd{(-u= zPi*~AZmp-p2p+9ek|J5qN^!encpI(1Y9n8@q}e97mMoO)wvjLVk*t%vB{`~{;w#$8 zS0vZHk~1DtewSp8C8NqzQ8-j#7* zJLT6%o|oiZ6rUrxPx4+D^%>tyT-!~)GD(LXTE|Q7mu!%n*h~2hy;NTz>G+J|^Ca_i z;%T~(apFt0!mdA3=%Ys()JN7&C4ZH4dQL49Bo9h9KBpJXzn_@aPrkGLe5yDa?frD{ rLkH-E_YDE?%jRVW{#-M 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

+~qH1e3EMqEx%AG&uzc~6A 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 z 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 delta 159511 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 str: a = dict(anonym_class) new_context = context.derive("anonymous class") - classname = f"_AnonymClass_{self.id}_{len(self.anonymous_classes)}" + classname = f"_AnonymClass_{self.identifier}_{len(self.anonymous_classes)}" if a["group"]: g = unstringify(a["group"]) @@ -994,7 +1005,7 @@ def _parse_anonym_class(self, anonym_class, context) -> str: def _derive_class_from_template( self, - template, + template: ZDClassTemplate, param_values, context, labels=(), @@ -1012,7 +1023,6 @@ def _derive_class_from_template( body = list(body) needs_init, actor = template.generate_init_class( - self, context, param_values, {l.upper() for l in labels.keys()}, @@ -1205,6 +1215,15 @@ def do_else(): else: yield from do_else() + def assert_group_exists( + self, groupname: str, ctx_str: str, context: "ZDCodeParseContext" + ): + """Raises an error if this group does not exist.""" + if groupname not in self.groups: + raise CompilerError( + f"No such group '{groupname}' {ctx_str} (in f{context.describe()})!" + ) + def _parse(self, actors, debug=False): parsed_actors = [] @@ -1391,13 +1410,11 @@ def pending_oper(): self.actors.extend(parsed_actors) self.actors.sort(key=lambda actor: actor.name) # predominantly alphabetic sort - reorders = self.reorder_inherits() + self.reorder_inherits() if debug: context.print_state_tree() - # print("(Reordered {} actors)".format(reorders)) - def __init__(self): self.includes = {} self.inventories = [] @@ -1405,7 +1422,7 @@ def __init__(self): self.actors = [] self.actor_names = {} self.groups = {} - self.id = make_id(35) + self.identifier = make_id(35) self.num_anonym_macros = 0 def reorder_inherits(self) -> int: @@ -1433,7 +1450,7 @@ def reorder_inherits(self) -> int: def to_decorate(self): res = TextNode(indent=0) - res.add_line(f"// :ZDCODE version='{__VERSION__}' id='{self.id}' ") + res.add_line(f"// :ZDCODE version='{__VERSION__}' id='{self.identifier}' ") if self.inventories: for i in self.inventories: diff --git a/zdcode/compiler/context.py b/zdcode/compiler/context.py index 4d1f79a..6d9256e 100644 --- a/zdcode/compiler/context.py +++ b/zdcode/compiler/context.py @@ -1,3 +1,4 @@ +"""ZDCode processing context.""" import collections import itertools from typing import TYPE_CHECKING @@ -11,6 +12,8 @@ class ZDCtxDescBlock: + """ZDCode context description block.""" + def __init__(self, ctx: "ZDCodeParseContext", desc: str): self.ctx = ctx self.desc = desc @@ -22,7 +25,12 @@ def __exit__(self, _1, _2, _3): assert self.ctx.desc_stack.pop() == self.desc -class ZDCodeParseContext(object): +class ZDCodeParseContext: + """A ZDCode processing and transform context. + + Used to group states and other objects, to count relevant gruopings of states, + and to help with debugging.""" + def __init__( self, replacements=None, @@ -65,16 +73,18 @@ def __init__( self.add_description(description) def add_description(self, desc): + """Appends to the description stack of this context.""" self.desc_stack.append(desc) def get_applied_mods(self): + """Returns an iterator on the state modifiers active in this context.""" if self.always_applied_mods is None: return iter(self.applied_mods) - else: - return itertools.chain(self.always_applied_mods, self.applied_mods) + return itertools.chain(self.always_applied_mods, self.applied_mods) def print_state_tree(self, _print_low=print, _print=print, prefix="+ "): + """Print a tree of everything in this context.""" ended = 0 _print_low = _print_low or print @@ -108,16 +118,16 @@ def _print_next(line=""): imax = len(self.states) - for i, s in enumerate(self.states): - ended = 1 if i >= imax - 1 else 0 + for index, state in enumerate(self.states): + ended = 1 if index >= imax - 1 else 0 - if isinstance(s, ZDCodeParseContext): - s.print_state_tree( + if isinstance(state, ZDCodeParseContext): + state.print_state_tree( _print, _print_next, "'---+ " if ended > 0 else "+---+ " ) else: - _branch(f"{type(s).__name__} ({s.num_states()})", ended) + _branch(f"{type(state).__name__} ({state.num_states()})", ended) if not ended: _print("|") @@ -128,10 +138,10 @@ def _print_next(line=""): imax = len(self.remote_children) - for i, ch in enumerate(self.remote_children): - ended = 2 if i >= imax - 1 else 1 + for index, child in enumerate(self.remote_children): + ended = 2 if index >= imax - 1 else 1 - ch.print_state_tree( + child.print_state_tree( _print, _print_next, "^---* (remote) " if ended > 1 else "%---* (remote) ", @@ -141,16 +151,18 @@ def _print_next(line=""): _print(":") def num_states(self): + """Counts every state in this context and children, except remotely derived.""" return sum(s.num_states() for s in self.states) def remote_num_states(self): + """Counts every state in this context and its children.""" return ( self.remote_offset + sum( - s.remote_num_states() - if isinstance(s, ZDCodeParseContext) - else s.num_states() - for s in self.states + state.remote_num_states() + if isinstance(state, ZDCodeParseContext) + else state.num_states() + for state in self.states ) + sum(c.remote_num_states() for c in self.remote_children) ) @@ -162,6 +174,13 @@ def remote_derive( break_ctx: "ZDCodeParseContext" | Literal["self"] | None = None, loop_ctx: "ZDCodeParseContext" | Literal["self"] | None = None, ) -> "ZDCodeParseContext": + """Creates a new context, which 'remotely' derives from this one. + + Remote derivation is special in that a remotely derived context does not + actually count as a child of the current one. Its states are not counted + towards this one's total, unless using [remote_num_states]. + """ + # derives without adding to states res = ZDCodeParseContext( self.replacements, @@ -189,6 +208,7 @@ def derive( break_ctx: "ZDCodeParseContext" | Literal["self"] | None = None, loop_ctx: "ZDCodeParseContext" | Literal["self"] | None = None, ) -> "ZDCodeParseContext": + """Creates a child context deriving from this one, and returns it.""" res = ZDCodeParseContext( self.replacements, self.macros, @@ -212,25 +232,31 @@ def __repr__(self): return f"ZDCodeParseContext({self.repr_describe()})" def desc_block(self, desc: str): + """Returns a context description block to use with 'with'.""" return ZDCtxDescBlock(self, desc) def update(self, other_ctx: "ZDCodeParseContext"): + """Update ChainMaps to also point to the other context's information.""" self.macros.maps.insert(-1, other_ctx.macros) self.replacements.maps.insert(-1, other_ctx.replacements) self.templates.maps.insert(-1, other_ctx.templates) self.mods.maps.insert(-1, other_ctx.mods) def add_actor(self, ac: "ZDActor"): - for al in self.actor_lists: - al.append(ac) + """Append an actor to every actor list tracked by this context.""" + for actor_list in self.actor_lists: + actor_list.append(ac) - def describe(self): + def describe(self) -> str: + """Describes this context.""" return " at ".join(self.desc_stack[::-1]) - def repr_describe(self): + def repr_describe(self) -> str: + """Describes this context, but comma separated. Used in __repr__.""" return ", ".join(self.desc_stack[::-1]) def resolve(self, name, desc="a parametrizable name"): + """Resolve a name, applying replacements in this context when applicable.""" while name[0] == "@": resolves = len(name) - len(name.lstrip("@")) casename = name[resolves:] @@ -245,7 +271,8 @@ def resolve(self, name, desc="a parametrizable name"): else: raise CompilerError( - f"No such replacement {repr(name)} while trying to resolve {repr(casename)} in {self.describe()}!" + f"No such replacement {repr(name)} " + f"while trying to resolve {repr(casename)} in {self.describe()}!" ) return name diff --git a/zdcode/compiler/error.py b/zdcode/compiler/error.py index 9fe65e1..5ef2b1f 100644 --- a/zdcode/compiler/error.py +++ b/zdcode/compiler/error.py @@ -1,2 +1,5 @@ +"""ZDCode compiler errors.""" + + class CompilerError(Exception): - pass + """An error encountered during compilation.""" diff --git a/zdcode/compiler/parser.py b/zdcode/compiler/parser.py index 73802a8..74c92d9 100644 --- a/zdcode/compiler/parser.py +++ b/zdcode/compiler/parser.py @@ -1,4 +1,5 @@ # pylint: disable=unreachable +"""The parser. Uses parsy as the backend.""" import glob import json import math @@ -16,14 +17,14 @@ from parsy import success from parsy import whitespace -s = string +st = string fa = fail whitespace = whitespace.desc("whitespace") wo = whitespace.optional() -def istring(st): - return s(st, transform=lambda s: s.upper()) +def istring(stringen): + return st(stringen, transform=lambda s: s.upper()) ist = istring @@ -38,14 +39,14 @@ def istring(st): | regex(r"u[0-9a-fA-F]{4}").map(lambda s: chr(int(s[1:], 16))) | regex(r"x[0-9a-fA-F]{2}").map(lambda s: chr(int(s[1:], 16))) ) -string_delim_1 = s('"') -string_delim_2 = s("'") +string_delim_1 = st('"') +string_delim_2 = st("'") string_body_plex_1 = (string_body_1 | string_esc).many().concat() string_body_plex_2 = (string_body_2 | string_esc).many().concat() string_literal = (string_delim_1 >> string_body_plex_1 << string_delim_1) | ( string_delim_2 >> string_body_plex_2 << string_delim_2 ) -lwhitespace = whitespace | s("\n") | s("\r") +lwhitespace = whitespace | st("\n") | st("\r") ifneq = re.compile(r"^\#IF(N|NOT)EQ(UALS?)?$") ifundef = re.compile(r"^\#IF(U?N|NOT)DEF(INED)?$") @@ -96,11 +97,11 @@ def __str__(self): def state_modifier_name(): return ( ( - s("{") + st("{") >> regex(r"[a-zA-Z_][a-zA-Z_0-9]*") .desc("modifier parameter name") .tag("replace") - << s("}") + << st("}") | seq( ist("(").tag("part"), state_modifier_name.tag("recurse"), @@ -117,7 +118,7 @@ def state_modifier_name(): @generate def modifier(): # State modifier. Not to be confused with the 'mod' modifier block. - return string("[").then(state_modifier_name).skip(s("]")) + return string("[").then(state_modifier_name).skip(st("]")) yield @@ -164,7 +165,7 @@ def p_group_name(): def p_range_vals(): return seq( (replaceable_number | success(0)) << wo, - ist("..") >> wo >> (s("=") >> wo >> replaceable_number).tag(1) + ist("..") >> wo >> (st("=") >> wo >> replaceable_number).tag(1) | replaceable_number.tag(0), ) yield @@ -181,7 +182,7 @@ def format_string_literal(): return ( ist("f") >> wo - >> s("{") + >> st("{") >> wo >> ( ( @@ -191,7 +192,7 @@ def format_string_literal(): ).sep_by(wo) ) << wo - << s("}") + << st("}") ) yield @@ -326,7 +327,7 @@ def eval_operation(): @generate def numeric_eval(): - return ist("e") >> wo >> s("{") >> eval_body << s("}") + return ist("e") >> wo >> st("{") >> eval_body << st("}") yield @@ -345,7 +346,7 @@ def literal(): @generate def array_literal(): - return (wo >> s("{") >> wo >> expression.sep_by(s(",") << wo) << s("}")).tag( + return (wo >> st("{") >> wo >> expression.sep_by(st(",") << wo) << st("}")).tag( "array" ) yield @@ -353,7 +354,7 @@ def array_literal(): @generate def paren_expr(): - return s("(") >> expression << s(")") + return st("(") >> expression << st(")") yield @@ -415,7 +416,7 @@ def template_parameter_list(): @generate def expr_argument_list(): - return arg_expression.sep_by(s(",") >> wo) + return arg_expression.sep_by(st(",") >> wo) yield @@ -433,7 +434,7 @@ def parameter(): def specialized_parameter_list(ptype): @generate def plist(): - return ptype.sep_by(s(",") >> wo, min=1) + return ptype.sep_by(st(",") >> wo, min=1) yield return plist @@ -456,7 +457,7 @@ def actor_function_call(): def state_call(): return seq( regex(r"[a-zA-Z_][a-zA-Z_0-9]*").desc("called state function name").skip(wo), - s("(").then(wo).then(expr_argument_list).skip(wo).skip(s(")")).optional(), + st("(").then(wo).then(expr_argument_list).skip(wo).skip(st(")")).optional(), ) yield @@ -483,7 +484,7 @@ def break_statement(): def call_literal(): return seq( regex(r"[a-zA-Z_][a-zA-Z_0-9]*").desc("called expression function name") << wo, - (s("(") >> wo >> expr_argument_list << wo << s(")")), + (st("(") >> wo >> expr_argument_list << wo << st(")")), ) yield @@ -517,8 +518,8 @@ def templated_class_derivation(): return seq( regex(r"[a-zA-Z_][a-zA-Z_0-9]*").desc("name of templated class").skip(wo), ( - (s("::()") >> success([])) - | (s("::(").then(wo).then(parameter_list).skip(wo).skip(s(")"))) + (st("::()") >> success([])) + | (st("::(").then(wo).then(parameter_list).skip(wo).skip(st(")"))) ), ( (whitespace >> (ist("inherits") | ist("extends") | ist("expands"))) @@ -533,7 +534,7 @@ def templated_class_derivation(): .map(lambda x: x or None) .tag("group"), ( - wo.then(s("{")) + wo.then(st("{")) .then( wo.then( ( @@ -551,7 +552,7 @@ def templated_class_derivation(): regex(r"[a-zA-Z\_][a-zA-Z\_0-9]*") .desc("macro name") .tag("name"), - (wo >> s("(") >> macro_argument_list << s(")") << wo) + (wo >> st("(") >> macro_argument_list << st(")") << wo) .optional() .map(lambda a: a or []) .tag("args"), @@ -565,9 +566,9 @@ def templated_class_derivation(): >> regex(r"[a-zA-Z0-9\_\.]+").tag("name"), ( (whitespace >> ist("to") << whitespace) - | (wo >> s("=") << wo) + | (wo >> st("=") << wo) ).desc("'to' or equal sign") - >> parameter.sep_by((s(",") << wo)).tag("value"), + >> parameter.sep_by((st(",") << wo)).tag("value"), ) .map(dict) .tag("property") @@ -576,12 +577,12 @@ def templated_class_derivation(): (ist("var") << whitespace) >> seq( regex(r"user_[a-zA-Z0-9_]+").desc("var name").tag("name"), - (wo.then(s("[")).then(replaceable_number).skip(s("]"))) + (wo.then(st("[")).then(replaceable_number).skip(st("]"))) .optional() .map(lambda x: int(x or 0)) .tag("size"), ( - wo.then(s(":")) + wo.then(st(":")) .then(wo) .then(regex(r"[a-zA-Z_.][a-zA-Z0-9_]+")) ) @@ -590,7 +591,7 @@ def templated_class_derivation(): .map(lambda t: t or "int") .tag("type"), ( - wo.then(s("=")).then( + wo.then(st("=")).then( expression.tag("val") | array_literal.tag("arr") ) ) @@ -604,7 +605,7 @@ def templated_class_derivation(): (ist("array") << whitespace) >> seq( regex(r"user_[a-zA-Z0-9_]+").desc("array name").tag("name"), - (wo >> s("=") >> wo >> array_literal) + (wo >> st("=") >> wo >> array_literal) .desc("array values") .tag("value"), ) @@ -615,12 +616,12 @@ def templated_class_derivation(): | mod_block.tag("mod") ) .skip(wo) - .skip(s(";").optional().optional()) + .skip(st(";").optional().optional()) .skip(wo) .many() .optional() ) - .skip(s("}")) + .skip(st("}")) ) .optional() .map(lambda x: x or []), @@ -674,7 +675,7 @@ def static_template_derivation(): ist("as") >> whitespace >> templated_class_derivation.tag("source"), ) ) - << s(";").optional() + << st(";").optional() << wo ) yield @@ -699,7 +700,7 @@ def mod_block(): @generate def nested_class_body(): - return s("{") >> class_body.many().optional() << s("}") + return st("{") >> class_body.many().optional() << st("}") yield @@ -711,7 +712,7 @@ def class_body(): ist("macro") >> whitespace >> regex(r"[a-zA-Z_][a-zA-Z_0-9]*").desc("macro name").tag("name"), - (wo >> s("(") >> macro_argument_list << s(")") << wo) + (wo >> st("(") >> macro_argument_list << st(")") << wo) .optional() .map(lambda a: a or []) .tag("args"), @@ -722,10 +723,10 @@ def class_body(): | seq( (ist("set") >> whitespace).desc("'set' keyword") >> regex(r"[a-zA-Z0-9_\.]+").tag("name"), - ((whitespace >> ist("to") << whitespace) | (wo >> s("=") << wo)).desc( + ((whitespace >> ist("to") << whitespace) | (wo >> st("=") << wo)).desc( "'to' or equal sign" ) - >> parameter.sep_by((s(",") << wo)).tag("value"), + >> parameter.sep_by((st(",") << wo)).tag("value"), ) .map(dict) .tag("property") @@ -736,17 +737,17 @@ def class_body(): | (ist("var") << whitespace) >> seq( regex(r"user_[a-zA-Z0-9_]+").desc("var name").tag("name"), - (wo >> s("[") >> replaceable_number << s("]")) + (wo >> st("[") >> replaceable_number << st("]")) .desc("array size") .optional() .map(lambda x: int(x or 0)) .tag("size"), - (wo >> s(":") >> wo >> regex(r"[a-zA-Z_.][a-zA-Z0-9_]+")) + (wo >> st(":") >> wo >> regex(r"[a-zA-Z_.][a-zA-Z0-9_]+")) .desc("var type") .optional() .map(lambda t: t or "int") .tag("type"), - (wo >> s("=") >> (expression.tag("val") | array_literal.tag("arr"))) + (wo >> st("=") >> (expression.tag("val") | array_literal.tag("arr"))) .optional() .tag("value"), ) @@ -771,7 +772,7 @@ def class_body(): | global_apply.tag("apply") | class_for_loop.tag("for") ).skip(wo) - << s(";").optional() + << st(";").optional() << wo ) yield @@ -783,7 +784,7 @@ def abstract_label_body(): (ist("abstract label") | ist("abstract state")) >> whitespace >> regex(r"[a-zA-Z_]+").desc("label name") - << s(";").optional() + << st(";").optional() ) yield @@ -795,18 +796,18 @@ def abstract_array_body(): ist("abstract array") >> whitespace >> regex(r"user_[a-zA-Z0-9_]+").desc("array name").tag("name"), - (wo >> s("[") >> replaceable_number << s("]")) + (wo >> st("[") >> replaceable_number << st("]")) .optional() .map(lambda x: int(x) if x else "any") .tag("size"), - (wo >> s(":") >> wo >> regex(r"[a-zA-Z_.][a-zA-Z0-9_]+")) + (wo >> st(":") >> wo >> regex(r"[a-zA-Z_.][a-zA-Z0-9_]+")) .desc("var type") .optional() .map(lambda t: t or "int") .tag("type"), ).map(dict) << wo - << s(";").optional() + << st(";").optional() << wo ) yield @@ -820,13 +821,13 @@ def abstract_macro_body(): >> whitespace >> regex(r"[a-zA-Z_]+").desc("macro name").tag("name") << wo, - (s("(") >> wo >> macro_argument_list << wo << s(")")) + (st("(") >> wo >> macro_argument_list << wo << st(")")) .optional() .map(lambda x: x or []) .tag("args"), ).map(dict) << wo - << s(";").optional() + << st(";").optional() << wo ) yield @@ -834,7 +835,7 @@ def abstract_macro_body(): @generate def sprite_name(): - return (s("####") | s('"####"') | regex(r"[A-Z0-9_]{4}")).tag("normal") | ( + return (st("####") | st('"####"') | regex(r"[A-Z0-9_]{4}")).tag("normal") | ( ist("param") >> whitespace >> regex(r"[a-zA-Z_][a-zA-Z_0-9]*") ).tag("parametrized") yield @@ -853,12 +854,12 @@ def group_declaration(): ( (ist("group") << whitespace).desc("group statement") >> wo >> group_name ).tag("name"), - (wo >> s("{") >> regex(r"[a-zA-Z0-9_]+").sep_by(s(",") << wo) << s("}")) + (wo >> st("{") >> regex(r"[a-zA-Z0-9_]+").sep_by(st(",") << wo) << st("}")) .optional() .map(lambda x: x if x and tuple(x) != ("",) else []) .tag("items"), ) - << s(";").optional() + << st(";").optional() ) yield @@ -885,7 +886,7 @@ def actor_class(): .optional() .tag("replacement") .desc("replacement"), - (whitespace >> s("#") >> regex(r"[0-9]+")) + (whitespace >> st("#") >> regex(r"[0-9]+")) .desc("class number") .map(int) .optional() @@ -893,8 +894,8 @@ def actor_class(): .desc("class number") .skip(wo), ( - (s("{") >> wo >> class_body.many().optional() << wo.then(s("}")).skip(wo)) - | s(";").optional().map(lambda _: []) + (st("{") >> wo >> class_body.many().optional() << wo.then(st("}")).skip(wo)) + | st(";").optional().map(lambda _: []) ).tag("body"), ) yield @@ -904,9 +905,9 @@ def actor_class(): def templated_actor_class(): return seq( (ist("actor") | ist("class") | ist("template")).desc("class template") - >> s("<") + >> st("<") >> template_parameter_list.tag("parameters") - << s(">") + << st(">") << wo, formattable_classname.desc("class name").tag("classname"), ((whitespace >> ist("group") << whitespace).desc("group keyword") >> group_name) @@ -926,7 +927,7 @@ def templated_actor_class(): .optional() .tag("replacement") .desc("replacement"), - (whitespace >> s("#") >> regex(r"[0-9]+")) + (whitespace >> st("#") >> regex(r"[0-9]+")) .desc("class number") .map(int) .optional() @@ -934,7 +935,7 @@ def templated_actor_class(): .desc("class number") .skip(wo), ( - s("{") + st("{") >> wo >> ( abstract_macro_body.desc("abstract macro").tag("abstract macro") @@ -944,7 +945,7 @@ def templated_actor_class(): ) .many() .optional() - << wo.then(s("}")).skip(wo) + << wo.then(st("}")).skip(wo) ).tag("body"), ) yield @@ -983,7 +984,7 @@ def normal_state(): return ( seq( sprite_name.desc("state name").skip(wo), - (regex(r"[A-Z_.]").many() | s('"#"') | s("#")) + (regex(r"[A-Z_.]").many() | st('"#"') | st("#")) .desc("state sprite") .skip(wo), regex(r"\-?\d+") @@ -1032,10 +1033,10 @@ def state_action(): @generate def action_body(): return ( - s("{") + st("{") >> wo - >> (state_action << s(";").optional() << wo).many().optional() - << s("}") + >> (state_action << st(";").optional() << wo).many().optional() + << st("}") ) yield @@ -1095,7 +1096,7 @@ def macro_call(): .then(whitespace) .then(regex(r"\@*[a-zA-Z_][a-zA-Z_0-9]*").desc("injected macro name")) .skip(wo), - (s("(") >> expr_argument_list.desc("macro arguments") << s(")")) + (st("(") >> expr_argument_list.desc("macro arguments") << st(")")) .optional() .map(lambda x: x or []), ) @@ -1104,7 +1105,7 @@ def macro_call(): @generate def state(): - return state_no_colon << s(";") + return state_no_colon << st(";") yield @@ -1253,16 +1254,16 @@ def modifier_selector_basic(): # state selector in a modifier return ( - (ist("flag") >> wo >> s("(") >> state_modifier_name << s(")")).map( + (ist("flag") >> wo >> st("(") >> state_modifier_name << st(")")).map( selector_flag ) - | (ist("sprite") >> wo >> s("(") >> sprite_name << s(")")).map(selector_name) + | (ist("sprite") >> wo >> st("(") >> sprite_name << st(")")).map(selector_name) | ( ist("duration") >> wo - >> s("(") + >> st("(") >> regex(r"\d+").optional().map(lambda x: int(x) if x else 0) - << s(")") + << st(")") ).map(selector_duration) ) yield @@ -1280,7 +1281,7 @@ def modifier_selector_expr(): lambda a: (lambda code, ctx, state: not a(code, ctx, state)) ) | ( - s("(") + st("(") >> ( ( ( @@ -1325,7 +1326,7 @@ def modifier_selector_expr(): ) | modifier_selector_expr.skip(wo) ) - << s(")") + << st(")") ) ) yield @@ -1339,10 +1340,10 @@ def modifier_clause(): ( modifier_effect.map(lambda e: [e]) | ( - s("{") + st("{") >> wo - >> (modifier_effect << wo << s(";").optional() << wo).at_least(1) - << s("}") + >> (modifier_effect << wo << st(";").optional() << wo).at_least(1) + << st("}") ) ) << wo, @@ -1354,11 +1355,11 @@ def modifier_clause(): def mod_block_body(): return modifier_clause.map(lambda a: [a]) | ( wo - >> s("{") + >> st("{") >> wo - >> ((modifier_clause << wo << s(";").optional()).many()) + >> ((modifier_clause << wo << st(";").optional()).many()) << wo - << s("}") + << st("}") ) yield @@ -1374,10 +1375,10 @@ def state_body(): @generate def sometimes_statement(): return seq( - s("sometimes") + st("sometimes") >> whitespace >> ( - s("(") >> wo >> expression << wo << s(")") + st("(") >> wo >> expression << wo << st(")") | replaceable_number.map( lambda r: ( "expr", @@ -1390,7 +1391,7 @@ def sometimes_statement(): ) ) ).tag("chance") - << s("%").optional() + << st("%").optional() << wo, state_body.optional().map(lambda x: x if x is not None else []).tag("body"), ) @@ -1431,10 +1432,10 @@ def if_statement(): .skip(string(")")) .skip(wo), state_body.optional().map(lambda x: x if x is not None else []).skip(wo), - s(";") + st(";") .optional() .then(wo) - .then(s("else")) + .then(st("else")) .then(wo) .then(state_body.optional().map(lambda x: x if x is not None else [])) .skip(wo) @@ -1506,10 +1507,10 @@ def ifjump_statement(): .then(state_call) .skip(wo), state_body.optional().map(lambda x: x if x is not None else []).skip(wo), - s(";") + st(";") .optional() .then(wo) - .then(s("else")) + .then(st("else")) .then(wo) .then(state_body.optional().map(lambda x: x if x is not None else [])) .skip(wo) @@ -1527,10 +1528,10 @@ def whilejump_statement(): .then(state_call) .skip(wo), state_body.optional().map(lambda x: x if x is not None else []).skip(wo), - s(";") + st(";") .optional() .then(wo) - .then(s("else")) + .then(st("else")) .then(wo) .then(state_body.optional().map(lambda x: x if x is not None else [])) .skip(wo) @@ -1552,10 +1553,10 @@ def while_statement(): .skip(string(")")) .skip(wo), state_body.optional().map(lambda x: x if x is not None else []).skip(wo), - s(";") + st(";") .optional() .then(wo) - .then(s("else")) + .then(st("else")) .then(wo) .then(state_body.optional().map(lambda x: x if x is not None else [])) .skip(wo) @@ -1586,7 +1587,7 @@ def repeat_statement(): def anonymous_macro(): return seq( ist("macro") - >> (s("(") >> macro_argument_list << s(")") << wo) + >> (st("(") >> macro_argument_list << st(")") << wo) .optional() .map(lambda a: a or []), state_body, @@ -1601,7 +1602,7 @@ def macro_def(): ist("macro") >> whitespace >> regex(r"[a-zA-Z_][a-zA-Z_0-9]*").desc("macro name").tag("name"), - (wo >> s("(") >> macro_argument_list << s(")") << wo) + (wo >> st("(") >> macro_argument_list << st(")") << wo) .optional() .map(lambda a: a or []) .tag("args"), @@ -1648,7 +1649,7 @@ def recursive_paren_content(): return ( ( (regex(r"[^\(\)]") if i else regex(r"[^\(\)\,]")) - | (s("(") + rpcont(i + 1)) + s(")") + | (st("(") + rpcont(i + 1)) + st(")") ) .many() .concat() @@ -1659,35 +1660,37 @@ def recursive_paren_content(): def preprocess_for_macros(code, defines=(), this_fname=None, i=0): - l = code + curr_line = code for key, (val, d_args) in defines.items(): - nl = "" + new_lines = "" while True: - j = re.search(r"\b" + re.escape(key.upper()) + r"\(", l.upper()) + macro_pos = re.search( + r"\b" + re.escape(key.upper()) + r"\(", curr_line.upper() + ) - if not j: - nl += l + if not macro_pos: + new_lines += curr_line break - j = j.start() - nl += l[:j] - l = l[j + len(key) :] + macro_pos = macro_pos.start() + new_lines += curr_line[:macro_pos] + curr_line = curr_line[macro_pos + len(key) :] try: - args, l = ( - s("(") >> rpcont().sep_by(s(",") << wo) << s(")") - ).parse_partial(l) + args, curr_line = ( + st("(") >> rpcont().sep_by(st(",") << wo) << st(")") + ).parse_partial(curr_line) args = [x for x in args if x] - except parsy.ParseError as e: + except parsy.ParseError as err: print("\n") traceback.print_exc() print() raise PreprocessingError( - f"Unexpected parse error using parametrized preprocessor alias '{key}' ({e})", + f"Unexpected parse error using parametrized preprocessor alias '{key}' ({err})", i, this_fname, code + "\n\n", @@ -1701,18 +1704,15 @@ def preprocess_for_macros(code, defines=(), this_fname=None, i=0): code, ) - v = val - for aname, aval in zip(d_args, args): - # ov = v - v = re.sub(r"\({}\)".format(re.escape(aname)), f"({aval})", v) + val = re.sub(r"\({}\)".format(re.escape(aname)), f"({aval})", val) - res = preprocess_for_macros(v, defines, this_fname, i) - nl += res + res = preprocess_for_macros(val, defines, this_fname, i) + new_lines += res - l = nl + curr_line = new_lines - return l + return curr_line def preprocess_code( @@ -1905,9 +1905,9 @@ def preprocess_code( (key, args), _ = seq( regex(r"[a-zA-Z_][a-zA-Z0-9_]*"), ( - s("(") - >> (regex(r"[a-zA-Z_][a-zA-Z0-9_]*").sep_by(s(","))) - << s(")") + st("(") + >> (regex(r"[a-zA-Z_][a-zA-Z0-9_]*").sep_by(st(","))) + << st(")") ) .optional() .map(lambda x: x or []), diff --git a/zdcode/compiler/task.py b/zdcode/compiler/task.py index 1593342..7b309f1 100644 --- a/zdcode/compiler/task.py +++ b/zdcode/compiler/task.py @@ -1,3 +1,4 @@ +"""Pending tasks in the compiler.""" import functools diff --git a/zdcode/objects/__init__.py b/zdcode/objects/__init__.py index 4b8fbcc..55f818b 100644 --- a/zdcode/objects/__init__.py +++ b/zdcode/objects/__init__.py @@ -1,18 +1 @@ """ZDCode objects.""" - -from .actor import ZDActor -from .actor import ZDBaseActor -from .block import ZDBlock -from .dummy import ZDDummyActor -from .dummy import ZDDummyLabel -from .ifjump import ZDIfJumpStatement -from .ifs import ZDIfStatement -from .label import ZDLabel -from .modclause import ZDModClause -from .property import ZDProperty -from .raw import ZDRawDecorate -from .state import ZDState -from .state import zerotic -from .template import ZDClassTemplate -from .whilejump import ZDWhileJumpStatement -from .whiles import ZDWhileStatement diff --git a/zdcode/objects/actor.py b/zdcode/objects/actor.py index 9de0771..bca2173 100644 --- a/zdcode/objects/actor.py +++ b/zdcode/objects/actor.py @@ -1,9 +1,11 @@ +"""The DECORATE actor class and related classes.""" from typing import TYPE_CHECKING from typing import Iterable from .. import _user_array_setters from .. import _user_var_setters from ..compiler.context import ZDCodeParseContext +from ..types.basic import ZDObject from ..types.basic import ZDStateObject from ..util import TextNode from ..util import decorate @@ -17,7 +19,7 @@ from ..compiler.compiler import ZDCode -class ZDBaseActor(object): +class ZDBaseActor: """A basic actor-like class.""" def __init__( @@ -34,10 +36,10 @@ def __init__( self.inherit = inherit self.replace = replace self.num = doomednum - self.id = _id or make_id(30) + self.identifier = _id or make_id(30) -class ZDActor(ZDBaseActor): +class ZDActor(ZDBaseActor, ZDObject): """A DECORATE class.""" def __init__( @@ -78,7 +80,11 @@ def __init__( # code.actor_names[name.upper()] = self def __repr__(self) -> str: - return f"" + return ( + f"" + ) def get_context(self) -> ZDCodeParseContext: """Returns the [ZDCodeParseContext] of this Actor.""" @@ -110,18 +116,22 @@ def _set_user_var_state(self, var) -> Iterable[ZDState]: if vtype == "val": return [ ZDState( - action=f"{_user_var_setters[var['type']]}({stringify(var['name'])}, {vlit})" + action=f"{_user_var_setters[var['type']]}" + f"({stringify(var['name'])}, {vlit})" ) ] - elif vtype == "arr": + if vtype == "arr": return [ ZDState( - action=f"{_user_array_setters[var['type']]}({stringify(var['name'])}, {i}, {v})" + action=f"{_user_array_setters[var['type']]}" + f"({stringify(var['name'])}, {i}, {v})" ) for i, v in enumerate(vlit) ] + raise ValueError(f"Unknown user var type: {vtype}") + def _get_spawn_prelude(self) -> Iterable[ZDStateObject]: """Returns the prelude of the Spawn funtion.""" return sum( @@ -149,35 +159,30 @@ def top(self): The top holds every property, flag, combo, and user variable declaration in the DECORATE class. """ - r = TextNode() + text = TextNode() - for p in sorted(self.properties, key=lambda p: p.name): - r.add_line(decorate(p)) + for prop in sorted(self.properties, key=lambda prop: prop.name): + text.add_line(decorate(prop)) - r.add_line("") + text.add_line("") - for u in self.uservars: - r.add_line( - "var {} {}{};".format( - u["type"], - u["name"], - "[{}]".format(u["size"]) if u.get("size", 0) else "", - ) - ) + for user_var in self.uservars: + array_suffix = f"[{user_var['size']}]" if user_var.get("size", 0) else "" + text.add_line(f"var {user_var['type']} {user_var['name']}{array_suffix};") - for f in self.flags: - r.add_line(f"+{f}") + for flag in self.flags: + text.add_line(f"+{flag}") - for a in self.antiflags: - r.add_line(f"-{a}") + for antiflag in self.antiflags: + text.add_line(f"-{antiflag}") - for rd in self.raw: - r.add_line(rd) + for verbatim in self.raw: + text.add_line(verbatim) - if len(r) == 1 and r[0].strip() == "": + if len(text) == 1 and text[0].strip() == "": return " " - return r + return text def transform_spawn(self, label: ZDLabel) -> ZDLabel: """Transforms the Spawn label, making it spawn safe.""" @@ -203,18 +208,18 @@ def label_code(self) -> TextNode: Any code that isn't the class declaration or the top is considered 'label code'. """ - r = TextNode() + text = TextNode() - for f in self.funcs: - r.add_line(decorate(f[1])) + for func in self.funcs: + text.add_line(decorate(func[1])) for label in self.labels: if label.name.upper() == "SPAWN": label = self.transform_spawn(label) - r.add_line(decorate(label)) + text.add_line(decorate(label)) - return r + return text def header(self) -> str: """Returns the header of the class. @@ -223,16 +228,16 @@ def header(self) -> str: DECCORATE. It contains informatino such as inheritancce, replacement, and the editor number (DoomEdNum). """ - r = self.name + text = self.name if self.inherit: - r += f" : {self.inherit}" + text += f" : {self.inherit}" if self.replace: - r += f" replaces {self.replace}" + text += f" replaces {self.replace}" if self.num: - r += f" {str(self.num)}" + text += f" {str(self.num)}" - return r + return text def to_decorate(self) -> TextNode: if self.labels + self.funcs: diff --git a/zdcode/objects/block.py b/zdcode/objects/block.py index d5ce9a8..66eb830 100644 --- a/zdcode/objects/block.py +++ b/zdcode/objects/block.py @@ -1,3 +1,4 @@ +"""The ZDCode state container.""" from typing import Generator from typing import Iterable from typing import Self diff --git a/zdcode/objects/dummy.py b/zdcode/objects/dummy.py index 9684f0e..717aa8c 100644 --- a/zdcode/objects/dummy.py +++ b/zdcode/objects/dummy.py @@ -1,3 +1,4 @@ +"""Dummy objects, for internal use only.""" from ..compiler.context import ZDCodeParseContext from ..types.basic import ZDObject from ..types.basic import ZDStateObject @@ -5,7 +6,7 @@ from .actor import ZDBaseActor -class ZDDummyActor(ZDObject): +class ZDDummyActor(ZDBaseActor, ZDObject): """A dummy actor. Used in internal logic only - cannot be compiled to DECORATE.""" @@ -43,13 +44,18 @@ def __repr__(self): return "[dummy state]" def label_name(self) -> str: + """Returns the name of this label.""" raise NotImplementedError def to_decorate(self) -> TextNode: raise NotImplementedError def get_context(self) -> None: + """Returns the context of this label. + + Since this is a dummy label. returns simply None.""" return None def add_state(self, state: ZDStateObject) -> None: + """Adds a state to this label.""" self.states.append(state) diff --git a/zdcode/objects/ifjump.py b/zdcode/objects/ifjump.py index 0ff42d6..6c321b8 100644 --- a/zdcode/objects/ifjump.py +++ b/zdcode/objects/ifjump.py @@ -47,10 +47,18 @@ def state_containers(self) -> Generator[Iterable[ZDStateObject], None, None]: yield from self.else_block.state_containers() def set_else(self, else_block: Iterable[ZDStateObject] | None): + """Sets a state object or container to act as the 'else' block. + + Passing None unsets the else block.""" self.else_block = else_block @classmethod def generate(cls, actor: "ZDActor", states: Iterable[ZDStateObject] | None = ()): + """Decorates a function to produce an ifjump block. + + The decorated function is used to generate the code for the condition check; + that is, the jump itself.""" + def _decorator(condition_gen): return cls(actor, condition_gen, states) @@ -69,8 +77,7 @@ def num_states(self) -> int: if self.else_block: return self.num_block_states() + self.num_else_states() + 3 - else: - return self.num_block_states() + 3 + return self.num_block_states() + 3 def to_decorate(self) -> TextNode: num_st_bl = self.num_block_states() @@ -88,12 +95,11 @@ def to_decorate(self) -> TextNode: ] ) - else: - return TextNode( - [ - f"{zerotic} {self.true_condition(2)}", - f"{zerotic} A_Jump(256, {num_st_bl + 1})\n", - TextNode([x.to_decorate() for x in self.states]), - zerotic, - ] - ) + return TextNode( + [ + f"{zerotic} {self.true_condition(2)}", + f"{zerotic} A_Jump(256, {num_st_bl + 1})\n", + TextNode([x.to_decorate() for x in self.states]), + zerotic, + ] + ) diff --git a/zdcode/objects/ifs.py b/zdcode/objects/ifs.py index a846f80..cd63735 100644 --- a/zdcode/objects/ifs.py +++ b/zdcode/objects/ifs.py @@ -1,3 +1,4 @@ +"""The ZDCode if statement.""" from typing import Generator from typing import Iterable from typing import Self @@ -43,7 +44,9 @@ def state_containers(self) -> Generator[Iterable[ZDStateObject], None, None]: yield from self.else_block.state_containers() def set_else(self, else_block: ZDStateObject): - """Set a state object or container to act as an 'else' block.""" + """Sets a state object or container to act as the 'else' block. + + Passing None unsets the else block.""" self.else_block = else_block def num_block_states(self): @@ -61,8 +64,7 @@ def num_states(self): if self.else_block: return self.num_block_states() + self.num_else_states() + 3 - else: - return self.num_block_states() + 2 + return self.num_block_states() + 2 def to_decorate(self) -> TextNode: num_st_bl = self.num_block_states() @@ -80,11 +82,10 @@ def to_decorate(self) -> TextNode: ] ) - else: - return TextNode( - [ - f"{zerotic} A_JumpIf(!({self.true_condition}), {num_st_bl + 1})\n", - TextNode([x.to_decorate() for x in self.states]), - zerotic, - ] - ) + return TextNode( + [ + f"{zerotic} A_JumpIf(!({self.true_condition}), {num_st_bl + 1})\n", + TextNode([x.to_decorate() for x in self.states]), + zerotic, + ] + ) diff --git a/zdcode/objects/raw.py b/zdcode/objects/raw.py index 7dd0b4e..e8d9d16 100644 --- a/zdcode/objects/raw.py +++ b/zdcode/objects/raw.py @@ -1,3 +1,4 @@ +"""The ZDCode verbatim text object. For internal use only.""" from typing import Generator from typing import Iterable @@ -6,6 +7,8 @@ class ZDRawDecorate(ZDStateObject): + """Verbatim text, to be pasted directly. Internal use only.""" + def __init__(self, raw: str, num_states: int = 0): self.raw = raw self._num_states = num_states diff --git a/zdcode/objects/skip.py b/zdcode/objects/skip.py index 27fe87c..6558a4c 100644 --- a/zdcode/objects/skip.py +++ b/zdcode/objects/skip.py @@ -1,3 +1,5 @@ +"""The skip object.""" + from typing import TYPE_CHECKING from typing import Generator from typing import Iterable @@ -8,17 +10,24 @@ if TYPE_CHECKING: from ..compiler.compiler import ZDCode + from ..compiler.context import ZDCodeParseContext + +class ZDSkip(ZDStateObject): + """A state skip. For internal use only.""" -class ZDSkip: - def __init__(self, code: "ZDCode", skip_context, curr_ind): + def __init__( + self, code: "ZDCode", skip_context: "ZDCodeParseContext", curr_ind: int + ): self.code = code self.context = skip_context self.ind = curr_ind def clone(self) -> Self: raise NotImplementedError( - "State group skipping (e.g. return in macros) could not be cloned. Injected macros cannot be cloned - please don't inject them until all else is resolved!" + "State group skipping (e.g. return in macros) could not be cloned. " + "Injected macros cannot be cloned - please don't inject them until " + "all else is resolved!" ) def state_containers(self) -> Generator[Iterable[ZDStateObject], None, None]: @@ -31,5 +40,5 @@ def spawn_safe(self): def to_decorate(self): return f"{zerotic} A_Jump(256, {self.context.remote_num_states() - self.ind})" - def num_states(self): + def num_states(self) -> int: return 1 diff --git a/zdcode/objects/sometimes.py b/zdcode/objects/sometimes.py index 5463b44..012cda3 100644 --- a/zdcode/objects/sometimes.py +++ b/zdcode/objects/sometimes.py @@ -1,3 +1,4 @@ +"""The ZDCode sometimes statement.""" from typing import Generator from typing import Iterable from typing import Self diff --git a/zdcode/objects/state.py b/zdcode/objects/state.py index a617e75..48dfc98 100644 --- a/zdcode/objects/state.py +++ b/zdcode/objects/state.py @@ -1,3 +1,4 @@ +"""The DECORATE state, and related utilities.""" from typing import Generator from typing import Iterable from typing import Self @@ -66,7 +67,8 @@ def to_decorate(self) -> TextNode: return TextNode( [ - f"{self.sprite.upper()} {self.frame.upper()} {str(self.duration)}{' '.join(keywords)}{action}" + f"{self.sprite.upper()} {self.frame.upper()} {str(self.duration)}" + f"{' '.join(keywords)}{action}" ] ) @@ -74,8 +76,10 @@ def __str__(self): return str(self.to_decorate()) def __repr__(self): - return f"" + return ( + f"" + ) zerotic = ZDState.zerotic() -zerotic = ZDState.zerotic() diff --git a/zdcode/objects/template.py b/zdcode/objects/template.py index 69c7795..5c838bf 100644 --- a/zdcode/objects/template.py +++ b/zdcode/objects/template.py @@ -1,22 +1,43 @@ +"""A ZDCode class template.""" import hashlib import itertools +from typing import TYPE_CHECKING from typing import Iterable +from typing import TypedDict from ..compiler.error import CompilerError from ..util import make_id from ..util import stringify from .actor import ZDActor from .actor import ZDBaseActor +from .actor import ZDObject +if TYPE_CHECKING: + from ..compiler.compiler import ZDCode + from ..compiler.context import ZDCodeParseContext + + +class UserArrayDefinition(TypedDict): + """An internal object defining an abstract user array. + + Used in class templates only to allow overriding an array used by the template in + the derivation.""" + + name: str + size: str + type: str + + +class ZDClassTemplate(ZDBaseActor, ZDObject): + """A ZDCode class template.""" -class ZDClassTemplate(ZDBaseActor): def __init__( self, template_parameters: Iterable[str], parse_data, abstract_label_names: Iterable[str], abstract_macro_names: dict[str, Iterable[str]], - abstract_array_names: dict[str, {"size": int, "type": str}], + abstract_array_names: dict[str, UserArrayDefinition], group_name: str | None, code: "ZDCode", name: str, @@ -45,6 +66,7 @@ def duplicate( provided_macro_names: Iterable[str], provided_array_names: Iterable[str], ): + """Duplicates this class template.""" if ( self.abstract_macro_names or self.abstract_label_names @@ -69,6 +91,7 @@ def which_duplicate( provided_macro_names: Iterable[str], provided_array_names: Iterable[str], ): + """Find a class template with these exact parameter definitions.""" return self.existing[ self.parameter_hash( parameter_values, @@ -86,6 +109,7 @@ def register( provided_array_names: Iterable[str], result, ): + """Register the hash of these parameter definitions.""" self.existing[ self.parameter_hash( parameter_values, @@ -102,77 +126,70 @@ def parameter_hash( provided_macro_names: Iterable[str], provided_array_names: Iterable[str], ) -> str: - hash = hashlib.sha256() + """Hashes parameter definitions.""" + hashed = hashlib.sha256() - hash.update(self.name.encode("utf-8")) - hash.update(b"|") + hashed.update(self.name.encode("utf-8")) + hashed.update(b"|") - hash.update(self.id.encode("utf-8")) - hash.update(b"|") + hashed.update(self.identifier.encode("utf-8")) + hashed.update(b"|") if ( self.abstract_macro_names or self.abstract_label_names or self.abstract_array_names ): - hash.update(make_id(80).encode("utf-8")) + hashed.update(make_id(80).encode("utf-8")) else: for parm in parameter_values: - hash.update(parm.encode("utf-8")) - hash.update(b"-") + hashed.update(parm.encode("utf-8")) + hashed.update(b"-") - hash.update(b"|") + hashed.update(b"|") for name in itertools.chain(provided_label_names, provided_array_names): - hash.update(name.encode("utf-8")) - hash.update(b"-") + hashed.update(name.encode("utf-8")) + hashed.update(b"-") - hash.update(b"|") + hashed.update(b"|") for name, args in provided_macro_names.items(): - hash.update(hex(len(args)).encode("utf-8")) - hash.update(name.encode("utf-8")) - hash.update(b"-") + hashed.update(hex(len(args)).encode("utf-8")) + hashed.update(name.encode("utf-8")) + hashed.update(b"-") - return hash.hexdigest() + return hashed.hexdigest() - def generated_class_name( + def generate_class_name( self, parameter_values, provided_label_names: Iterable[str], provided_macro_names: Iterable[str], provided_array_names: Iterable[str], ): - hash = self.parameter_hash( + """Generates a class name for an anonymous class template.""" + hashed = self.parameter_hash( parameter_values, provided_label_names, provided_macro_names, provided_array_names, ) - return f"{self.name}__deriv_{hash}" - - def assert_group_exists( - self, groupname: str, ctx_str: str, context: "ZDCodeParseContext" - ): - if groupname not in self.code.groups: - raise CompilerError( - f"No such group '{groupname}' {ctx_str} (in f{context.describe()})!" - ) + return f"{self.name}__deriv_{hashed}" def generate_init_class( self, - code: "ZDCode", context: "ZDCodeParseContext", parameter_values, provided_label_names: Iterable[str] = (), provided_macro_names: Iterable[str] = (), provided_array_names: Iterable[str] = (), name: str | None = None, - pending: str | None = None, inherits: str | None = None, group: str | None = None, ): + """Generates an initial ZDCode class object from this template.""" provided_label_names = set(provided_label_names) provided_macro_names = dict(provided_macro_names) @@ -192,7 +209,7 @@ def generate_init_class( new_name = ( name if name is not None - else self.generated_class_name( + else self.generate_class_name( parameter_values, provided_label_names, provided_macro_names, @@ -201,15 +218,16 @@ def generate_init_class( ) ctx_str = ( - f"in {name and 'derivation ' + name or 'anonymous derivation'} of {self.name}", + f"in {name and 'derivation ' + name or 'anonymous derivation'} " + "of {self.name}", ) if self.group_name: - self.assert_group_exists(self.group_name, ctx_str, context) + self.code.assert_group_exists(self.group_name, ctx_str, context) self.code.groups[self.group_name].append(stringify(new_name)) if group and group != self.group_name: - self.assert_group_exists(group, ctx_str, context) + self.code.assert_group_exists(group, ctx_str, context) self.code.groups[group].append(stringify(new_name)) context_new = context.derive(f"derivation of template {self.name}") @@ -231,32 +249,44 @@ def generate_init_class( res = ZDActor(self.code, new_name, inh, rep, self.num, context=context_new) - for l in self.abstract_label_names: - if l not in provided_label_names: + for label_name in self.abstract_label_names: + if label_name not in provided_label_names: raise CompilerError( - f"Tried to derive template {self.name} in {context.describe()}, but abstract label {l} does not have a definition!" + f"Tried to derive template {self.name} in {context.describe()}, " + f"but abstract label {label_name} does not have a definition!" ) - for m, a in self.abstract_macro_names.items(): - if m not in provided_macro_names.keys(): + for macro_name, macro_defs in self.abstract_macro_names.items(): + if macro_name not in provided_macro_names: raise CompilerError( - f"Tried to derive template {self.name} in {context.describe()}, but abstract macro {m} does not have a definition!" + f"Tried to derive template {self.name} in {context.describe()}, " + f"but abstract macro {macro_name} does not have a definition!" ) - if len(a) != len(provided_macro_names[m]): + if len(macro_defs) != len(provided_macro_names[macro_name]): raise CompilerError( - f"Tried to derive template {self.name} in {context.describe()}, but abstract macro {m} has the wrong number of arguments: expected {len(a)}, got {len(provided_macro_names[m])}!" + f"Tried to derive template {self.name} in {context.describe()}, " + f"but abstract macro {macro_name} has the " + f"wrong number of arguments: expected {len(macro_defs)}, " + f"got {len(provided_macro_names[macro_name])}!" ) - for m, a in self.abstract_array_names.items(): - if m not in provided_array_names.keys(): + for macro_name, macro_defs in self.abstract_array_names.items(): + if macro_name not in provided_array_names: raise CompilerError( - f"Tried to derive template {self.name} in {context.describe()}, but abstract array {m} is not defined!" + f"Tried to derive template {self.name} in {context.describe()}, " + f"but abstract array {macro_name} is not defined!" ) - if a["size"] != "any" and a["size"] != provided_array_names[m]: + if ( + macro_defs["size"] != "any" + and macro_defs["size"] != provided_array_names[macro_name] + ): raise CompilerError( - f"Tried to derive template {self.name} in {context.describe()}, but abstract array {m} has a size constraint; expected {a['size']} array elements, got {provided_array_names[m]}!" + f"Tried to derive template {self.name} in {context.describe()}, " + f"but abstract array {macro_name} has a size constraint; " + f"expected {macro_defs['size']} array elements, " + f"got {provided_array_names[macro_name]}!" ) self.register( @@ -273,6 +303,7 @@ def generate_init_class( return True, res def get_init_replacements(self, parameter_values): + """Corresponds the list of values to the template's parameters.""" return dict( zip((p.upper() for p in self.template_parameters), parameter_values) ) diff --git a/zdcode/objects/whilejump.py b/zdcode/objects/whilejump.py index 48cfdf6..d9ea4c9 100644 --- a/zdcode/objects/whilejump.py +++ b/zdcode/objects/whilejump.py @@ -1,19 +1,19 @@ """The ZDCode whilejump statement.""" -from typing import TYPE_CHECKING from typing import Callable from typing import Generator from typing import Iterable from typing import Self +from ..types.basic import ZDStateContainer from ..types.basic import ZDStateObject from ..util import TextNode from ..util import stringify from .actor import ZDActor from .state import zerotic -from .whiles import num_whiles +from .whiles import ZDWhileStatement -class ZDWhileJumpStatement(object): +class ZDWhileJumpStatement(ZDStateContainer): """The ZDCode whilejump statement. Allows any conditional jump state action (such as A_JumpIfTargetCloser) to be used @@ -27,10 +27,8 @@ def __init__( self.states: list[ZDStateObject] = list(states) self.else_block = None - global num_whiles - - self._while_id = num_whiles - num_whiles += 1 + self._while_id = ZDWhileStatement.num_whiles + ZDWhileStatement.num_whiles += 1 self._loop_id = "_loop_while_" + str(self._while_id) @@ -49,27 +47,37 @@ def state_containers(self) -> Generator[Iterable[ZDStateObject], None, None]: yield from self.else_block.state_containers() def set_else(self, else_block): + """Sets a state object or container to act as the 'else' block. + + Passing None unsets the else block.""" self.else_block = else_block @classmethod def generate(cls, actor, states=()): + """Decorate a function to produce a while jump statement. + + Uses the decorated function to produce the code for the condition check.""" + def _decorator(condition_gen): return cls(actor, condition_gen, states) return _decorator def num_block_states(self): + """Returns the number of states in the block. + + Does not count the else block, if applicable.""" return sum(x.num_states() for x in self.states) def num_else_states(self): + """Returns the number of states in the else block only.""" return self.else_block.num_states() def num_states(self): if self.else_block: return self.num_block_states() + self.num_else_states() + 4 - else: - return self.num_block_states() + 4 + return self.num_block_states() + 4 def spawn_safe(self): return False @@ -92,14 +100,13 @@ def to_decorate(self): ] ) - else: - return TextNode( - [ - f"{zerotic} {self.true_condition(2)}", - f"{zerotic} A_Jump(256, {num_st_bl + 2})", - f"{self._loop_id}:", - TextNode([x.to_decorate() for x in self.states]), - f"{zerotic} {self.true_condition(stringify(self._loop_id))}", - zerotic, - ] - ) + return TextNode( + [ + f"{zerotic} {self.true_condition(2)}", + f"{zerotic} A_Jump(256, {num_st_bl + 2})", + f"{self._loop_id}:", + TextNode([x.to_decorate() for x in self.states]), + f"{zerotic} {self.true_condition(stringify(self._loop_id))}", + zerotic, + ] + ) diff --git a/zdcode/objects/whiles.py b/zdcode/objects/whiles.py index 144ebfa..596334b 100644 --- a/zdcode/objects/whiles.py +++ b/zdcode/objects/whiles.py @@ -1,3 +1,4 @@ +"""The ZDCode while statement.""" from typing import Generator from typing import Iterable from typing import Self @@ -8,24 +9,22 @@ from ..util import stringify from .state import zerotic -num_whiles = 0 - class ZDWhileStatement(ZDStateContainer): - """A ZDCode while statemet. + """A ZDCode while statement. Uses jumps to run a segment of DECORATE states until a condition becomes true.""" + num_whiles = 0 + def __init__(self, actor, condition, states=()): self._actor = actor self.true_condition = condition self.states: list[ZDStateObject] = list(states) self.else_block = None - global num_whiles - - self._while_id = num_whiles - num_whiles += 1 + self._while_id = ZDWhileStatement.num_whiles + ZDWhileStatement.num_whiles += 1 self._loop_id = "_loop_while_" + str(self._while_id) @@ -44,20 +43,26 @@ def state_containers(self) -> Generator[Iterable[ZDStateObject], None, None]: yield from self.else_block.state_containers() def set_else(self, else_block): + """Sets a state object or container to act as the 'else' block. + + Passing None unsets the else block.""" self.else_block = else_block - def num_block_states(self): + def num_block_states(self) -> int: + """Returns the number of states in the block. + + Does not count the else block if there is one.""" return sum(x.num_states() for x in self.states) - def num_else_states(self): - return self.else_block.num_states() + def num_else_states(self) -> int: + """Returns the number of states in the else block only.""" + return self.else_block and self.else_block.num_states() or 0 - def num_states(self): + def num_states(self) -> int: if self.else_block: return self.num_block_states() + self.num_else_states() + 4 - else: - return self.num_block_states() + 3 + return self.num_block_states() + 3 def spawn_safe(self): return False @@ -75,18 +80,23 @@ def to_decorate(self): f"{zerotic} A_Jump(256, {num_st_bl + 2})", f"{self._loop_id}:", TextNode([x.to_decorate() for x in self.states]), - f"{zerotic} A_JumpIf({self.true_condition}, {stringify(self._loop_id)})", + ( + f"{zerotic} A_JumpIf({self.true_condition}, " + f"{stringify(self._loop_id)})" + ), zerotic, ] ) - else: - return TextNode( - [ - f"{zerotic} A_JumpIf(!({self.true_condition}), {num_st_bl + 2})", - f"{self._loop_id}:", - TextNode([x.to_decorate() for x in self.states]), - f"{zerotic} A_JumpIf({self.true_condition}, {stringify(self._loop_id)})", - zerotic, - ] - ) + return TextNode( + [ + f"{zerotic} A_JumpIf(!({self.true_condition}), {num_st_bl + 2})", + f"{self._loop_id}:", + TextNode([x.to_decorate() for x in self.states]), + ( + f"{zerotic} A_JumpIf({self.true_condition}, " + f"{stringify(self._loop_id)})" + ), + zerotic, + ] + ) diff --git a/zdcode/types/__init__.py b/zdcode/types/__init__.py index 8b13789..2e3e3b2 100644 --- a/zdcode/types/__init__.py +++ b/zdcode/types/__init__.py @@ -1 +1 @@ - +"""ZDCode type hinting facilities, like interfaces.""" diff --git a/zdcode/types/basic.py b/zdcode/types/basic.py index aaccf80..cc4059b 100644 --- a/zdcode/types/basic.py +++ b/zdcode/types/basic.py @@ -1,3 +1,4 @@ +"""Basic type interfaces for ZDCode.""" from typing import TYPE_CHECKING from typing import Generator from typing import Iterable @@ -15,13 +16,11 @@ class ZDObject(Protocol): def to_decorate(self) -> str: """Cconverts this ZDCode object to DECORATE.""" - ... def get_context(self) -> Union["ZDCodeParseContext", None]: """Returns the context of this ZDObject. If not applicable, returns None.""" - ... class ZDStateObject(ZDObject, Protocol): @@ -29,25 +28,24 @@ class ZDStateObject(ZDObject, Protocol): def clone(self) -> Self: """Clone this state object.""" - ... def spawn_safe(self) -> bool: """Whether this collection is 'spawn safe'. - Spawn safety denotes a state which can be used at the start of a Spawn label without causing issues. Non-spawn-safe Spawn labels will be automatically padded with TNT1 A 0 to prevent issues. + Spawn safety denotes a state which can be used at the start of a Spawn label + without causing issues. Non-spawn-safe Spawn labels will be automatically padded + with TNT1 A 0 to prevent issues. """ - ... def num_states(self) -> int: """The number of states in this state object.""" - ... def state_containers(self) -> Generator[Iterable["ZDStateObject"], None, None]: """A list of mutable state containers with [ZDStateObject]s. - Some of these are references to this data structure or children thereof. Others are constructed on the fly for the sake of interface compatibility. + Some of these are references to this data structure or children thereof. Others + are constructed on the fly for the sake of interface compatibility. """ - ... class ZDStateContainer(ZDStateObject, Protocol): @@ -55,4 +53,3 @@ class ZDStateContainer(ZDStateObject, Protocol): def add_state(self, state: ZDStateObject) -> None: """Adds a ZDCode state object to this container.""" - ... diff --git a/zdcode/zake.py b/zdcode/zake.py index cc1f150..8a40560 100644 --- a/zdcode/zake.py +++ b/zdcode/zake.py @@ -63,6 +63,159 @@ def add_target(self, name: str) -> ZakeTarget: """Creates and registers a target, before returning it.""" return self.targets.setdefault(name, ZakeTarget(name)) + def process_matchers_and_excluders( + self, + targ, + bundle, + s_bundle_cfg, + matchers_name, + excluders_name, + excluders_global_name, + get_bundle_cfg, + ): + """Process matchers and excluder in the config for a given bundle.""" + matchers = get_bundle_cfg(s_bundle_cfg, matchers_name) + excluders = get_bundle_cfg(s_bundle_cfg, excluders_name) + excluders_global = get_bundle_cfg(s_bundle_cfg, excluders_global_name) + + if matchers: + for matcher in matchers.strip().split(): + targ.outputs[bundle].add_matcher(matcher) + + if excluders: + for excluder in excluders.strip().split(): + targ.outputs[bundle].add_excluder(excluder) + + if excluders_global: + for excluder in excluders_global.strip().split(): + targ.outputs[bundle].add_excluder(excluder) + + def process_config_bundle( + self, targ, bundle, config, s_bundle_cfg, interp, pats, get_bundle_cfg + ): + """Process the configuration for a given bundle.""" + out_name = "output." + bundle + matchers_name = "matchers." + bundle + excluders_name = "excluders." + bundle + excluders_global_name = "excluders" + priority_name = "priority." + bundle + + priority = config.getfloat( + s_bundle_cfg, + priority_name, + vars=interp, + fallback=config.getfloat( + "Partition", priority_name, vars=interp, fallback=None + ), + ) + + if priority is not None: + targ.outputs[bundle].priority = priority + + if out_name in pats: + targ.outputs[bundle].output = pats[out_name].strip() + + else: + raise ZakeConfigError( + f"Required Zmatchers_and_excludersake field '{out_name}' missing " + f"from section Paths while reading target {targ.name}." + ) + + self.process_matchers_and_excluders( + targ, + bundle, + s_bundle_cfg, + matchers_name, + excluders_name, + excluders_global_name, + get_bundle_cfg, + ) + + def process_config_injects(self, targ, pats): + """Handles injects in the configuration for a given target.""" + for injs in pats["injects"].strip().split(): + match = self.inj_field_pat.match(injs) + + if not match: + raise ZakeConfigError( + "Malformed value found in given Zake field 'injects': " + injs + ) + + inp, out = match.groups() + targ.add_input((inp, out)) + + def process_targets(self, targs, bundles, tname, interp, config, get_bundle_cfg): + """Process the configuration for a given bundle.""" + targ = self.add_target(tname) + targs[tname] = targ + + c_general = config["General"] + + interp["target"] = tname # for interpolation + interp["defaults"] = "" + + s_pats = "Paths." + tname + s_defs = "Definitions." + tname + s_bundle_cfg = "Partition." + tname + + # define bundle outputs + for bundle in bundles: + targ.outputs[bundle] = BundleOutput( + name=bundle, + output=None, + ) + + if "partitions" not in c_general: + targ.outputs["asset"].priority = 1.0 + targ.outputs["code"].priority = 100.0 + targ.outputs["code"].add_matcher("DECORATE") + targ.outputs["code"].add_matcher("DECORATE*") + + # section values + pats = dict(config.items("Paths", vars=interp)) if "Paths" in config else {} + + defs = ( + dict(config.items("Definitions", vars=interp)) + if "Definitions" in config + else {} + ) + + if s_pats in config: + new_pat_keys = dict(config.items(s_pats, vars=interp)).keys() + + for key in new_pat_keys: + interp["defaults"] = "" + + if key in pats: + interp["defaults"] = pats[key] + + pats[key] = config.get(s_pats, key, vars=interp) + + if s_defs in config: + defs.update(config.items(s_defs, vars=interp)) + + # fetch inputs and outputs + if "inputs" not in pats: + raise ZakeConfigError( + "Required Zake field 'inputs' missing from section Paths " + f"while reading target {tname}." + ) + + for inp in pats["inputs"].strip().split(): + targ.add_input((inp, "")) + + if "injects" in pats: + self.process_config_injects(targ, pats) + + for bundle in bundles: + self.process_config_bundle( + targ, bundle, config, s_bundle_cfg, interp, pats, get_bundle_cfg + ) + + # preprocessor definitions + for name, value in defs.items(): + targ.add_definition(name.strip(), value.strip()) + def read(self, filename, **kwargs): """Read a Zake configuration file.""" config = ConfigParser( @@ -99,122 +252,7 @@ def get_bundle_cfg(s_bundle_cfg, name): # targets for tname in targets: - targ = self.add_target(tname) - targs[tname] = targ - - interp["target"] = tname # for interpolation - interp["defaults"] = "" - - s_pats = "Paths." + tname - s_defs = "Definitions." + tname - s_bundle_cfg = "Partition." + tname - - # define bundle outputs - for bundle in bundles: - targ.outputs[bundle] = BundleOutput( - name=bundle, - output=None, - ) - - if "partitions" not in c_general: - targ.outputs["asset"].priority = 1.0 - targ.outputs["code"].priority = 100.0 - targ.outputs["code"].add_matcher("DECORATE") - targ.outputs["code"].add_matcher("DECORATE*") - - # section values - pats = dict(config.items("Paths", vars=interp)) if "Paths" in config else {} - - defs = ( - dict(config.items("Definitions", vars=interp)) - if "Definitions" in config - else {} - ) - - if s_pats in config: - new_pat_keys = dict(config.items(s_pats, vars=interp)).keys() - - for key in new_pat_keys: - interp["defaults"] = "" - - if key in pats: - interp["defaults"] = pats[key] - - pats[key] = config.get(s_pats, key, vars=interp) - - if s_defs in config: - defs.update(config.items(s_defs, vars=interp)) - - # fetch inputs and outputs - if "inputs" not in pats: - raise ZakeConfigError( - "Required Zake field 'inputs' missing from section Paths " - f"while reading target {tname}." - ) - - for inp in pats["inputs"].strip().split(): - targ.add_input((inp, "")) - - if "injects" in pats: - for injs in pats["injects"].strip().split(): - match = self.inj_field_pat.match(injs) - - if not match: - raise ZakeConfigError( - "Malformed value found in given Zake field 'injects': " - + injs - ) - - inp, out = match.groups() - targ.add_input((inp, out)) - - for bundle in bundles: - out_name = "output." + bundle - matchers_name = "matchers." + bundle - excluders_name = "excluders." + bundle - excluders_global_name = "excluders" - priority_name = "priority." + bundle - - priority = config.getfloat( - s_bundle_cfg, - priority_name, - vars=interp, - fallback=config.getfloat( - "Partition", priority_name, vars=interp, fallback=None - ), - ) - - if priority is not None: - targ.outputs[bundle].priority = priority - - if out_name in pats: - targ.outputs[bundle].output = pats[out_name].strip() - - else: - raise ZakeConfigError( - f"Required Zake field '{out_name}' missing from section Paths " - f"while reading target {tname}." - ) - - matchers = get_bundle_cfg(s_bundle_cfg, matchers_name) - excluders = get_bundle_cfg(s_bundle_cfg, excluders_name) - excluders_global = get_bundle_cfg(s_bundle_cfg, excluders_global_name) - - if matchers: - for matcher in matchers.strip().split(): - targ.outputs[bundle].add_matcher(matcher) - - if excluders: - for excluder in excluders.strip().split(): - targ.outputs[bundle].add_excluder(excluder) - - if excluders_global: - for excluder in excluders_global.strip().split(): - targ.outputs[bundle].add_excluder(excluder) - - # preprocessor definitions - for name, value in defs.items(): - targ.add_definition(name.strip(), value.strip()) + self.process_targets(targs, bundles, tname, interp, config, get_bundle_cfg) # return parsed targets return targs @@ -278,3 +316,7 @@ def main(print_status_code=True): if __name__ == "__main__": main() + + +if __name__ == "__main__": + main()