예제 #1
0
파일: syntax.py 프로젝트: rjammala/synapse
    def formjoinin(self):
        '''
        <+- * / <+- prop
        '''

        self.ignore(whitespace)

        self.nextmust('<+-')

        self.ignore(whitespace)

        if self.nextchar() == '*':
            self.offs += 1
            return s_ast.PivotIn(isjoin=True)

        prop = self.absprop()
        return s_ast.PivotInFrom(kids=(prop,), isjoin=True)
예제 #2
0
파일: syntax.py 프로젝트: rjammala/synapse
    def formpivotin(self):
        '''
        <- * / <- prop
        '''

        self.ignore(whitespace)

        self.nextmust('<-')

        self.ignore(whitespace)

        if self.nextchar() == '*':
            self.offs += 1
            return s_ast.PivotIn()

        prop = self.absprop()
        return s_ast.PivotInFrom(kids=(prop,))
예제 #3
0
 'exprproduct':
 s_ast.ExprNode,
 'exprsum':
 s_ast.ExprNode,
 'filtoper':
 s_ast.FiltOper,
 'forloop':
 s_ast.ForLoop,
 'whileloop':
 s_ast.WhileLoop,
 'formjoin_formpivot':
 lambda kids: s_ast.FormPivot(kids, isjoin=True),
 'formjoin_pivotout':
 lambda _: s_ast.PivotOut(isjoin=True),
 'formjoinin_pivotin':
 lambda kids: s_ast.PivotIn(kids, isjoin=True),
 'formjoinin_pivotinfrom':
 lambda kids: s_ast.PivotInFrom(kids, isjoin=True),
 'formpivot_':
 s_ast.FormPivot,
 'formpivot_pivotout':
 s_ast.PivotOut,
 'formpivot_pivottotags':
 s_ast.PivotToTags,
 'formpivot_jointags':
 lambda kids: s_ast.PivotToTags(kids, isjoin=True),
 'formpivotin_':
 s_ast.PivotIn,
 'formpivotin_pivotinfrom':
 s_ast.PivotInFrom,
 'formtagprop':