Esempio n. 1
0
    def tagname(self, kids):
        assert kids and len(kids) == 1
        kid = kids[0]
        if not isinstance(kid, lark.lexer.Token):
            return self._convert_child(kid)

        kids = self._tagsplit(kid.value)
        return s_ast.TagName(kids=kids)
Esempio n. 2
0
    def tagname(self, kids):
        assert kids and len(kids) == 1
        kid = kids[0]

        if isinstance(kid, lark.lexer.Token):
            assert kid.type == 'TAG'
            return s_ast.TagName(kid.value)

        return self._convert_child(kid)
Esempio n. 3
0
    def tagname(self):

        self.ignore(whitespace)

        self.nextmust('#')

        self.ignore(whitespace)

        if self.nextstr('$'):
            varn = self.varname()
            return s_ast.TagVar(kids=[varn])

        text = self.noms(until=tagterm)

        return s_ast.TagName(text)