def __init__(self, *args): super().__init__(*args) self.key = ch.tree_terminal(self.tree, "WORD", 0) self.value = ch.tree_terminal(self.tree, "WORD", 1) if (self.value is None): self.value = unescape(ch.tree_terminal(self.tree, "STRING_QUOTED")) self.value = variables_sub(self.value, env.env_build)
def __init__(self, *args): super().__init__(*args) self.key = ch.tree_terminal(self.tree, "WORD") value = ch.tree_terminal(self.tree, "LINE") if (not value.startswith('"')): value = '"' + value + '"' self.value = unescape(value) self.value = variables_sub(self.value, env.env_build)
def __init__(self, tree): self.lineno = tree.meta.line self.options = {} for st in ch.tree_children(tree, "option"): k = ch.tree_terminal(st, "OPTION_KEY") v = ch.tree_terminal(st, "OPTION_VALUE") if (k in self.options): ch.FATAL("%3d %s: repeated option --%s" % (self.lineno, self.str_name(), k)) self.options[k] = v # Save original options string because instructions pop() from the dict # to process them. self.options_str = " ".join("--%s=%s" % (k,v) for (k,v) in self.options.items()) self.tree = tree
def __init__(self, *args): super().__init__(*args) self.name = ch.tree_terminal(self.tree, "UNS_YET") self.issue_no = { "ADD": 782, "CMD": 780, "ENTRYPOINT": 780, "LABEL": 781, "ONBUILD": 788, "SHELL": 789 }[self.name]
def __init__(self, *args): super().__init__(*args) self.key = ch.tree_terminal(self.tree, "WORD", 0) if (self.key in cli.build_arg): self.value = cli.build_arg[self.key] del cli.build_arg[self.key] else: self.value = self.value_default() if (self.value is not None): self.value = variables_sub(self.value, env.env_build)
def __init__(self, *args): super().__init__(*args) self.name = ch.tree_terminal(self.tree, "UNS_FOREVER")
def __init__(self, *args): super().__init__(*args) self.path = variables_sub(ch.tree_terminal(self.tree, "LINE"), env.env_build)
def __init__(self, *args): super().__init__(*args) # FIXME: Can't figure out how to remove continuations at parse time. cmd = ch.tree_terminal(self.tree, "LINE").replace("\\\n", "") self.cmd_set(["/bin/sh", "-c", cmd])
def value_default(self): v = ch.tree_terminal(self.tree, "WORD", 1) if (v is None): v = unescape(ch.tree_terminal(self.tree, "STRING_QUOTED")) return v
def __init__(self, *args): super().__init__(*args) self.key = ch.tree_terminal(self.tree, "WORD") v = ch.tree_terminals_cat(self.tree, "LINE_CHUNK") self.value = variables_sub(unescape(v), env.env_build)