예제 #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)
예제 #2
0
파일: grammar.py 프로젝트: neelsenc/synapse
    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)
예제 #3
0
파일: syntax.py 프로젝트: rjammala/synapse
    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)