Esempio n. 1
0
 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)
Esempio n. 2
0
 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)
Esempio n. 3
0
 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
Esempio n. 4
0
 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]
Esempio n. 5
0
 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)
Esempio n. 6
0
 def __init__(self, *args):
    super().__init__(*args)
    self.name = ch.tree_terminal(self.tree, "UNS_FOREVER")
Esempio n. 7
0
 def __init__(self, *args):
    super().__init__(*args)
    self.path = variables_sub(ch.tree_terminal(self.tree, "LINE"),
                              env.env_build)
Esempio n. 8
0
 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])
Esempio n. 9
0
 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
Esempio n. 10
0
 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)