Beispiel #1
0
def p_Assign(t):
    '''Assign : ID EQUALS Expr
			| ID LBRK Expr RBRK EQUALS Expr'''
    if len(t) == 4:
        t[0] = n.Assign(t[1], t[3])
    else:
        t[0] = n.Assign(t[1], t[3], t[6])
Beispiel #2
0
    def Assign_ST(self):  # 12. Assign = Designator ":=" Expression
        tmpStartPos = self.curPos

        Location_node = self.Designator_ST()
        tmpResult = self.match([":="], isweakSymbol=True)
        if self.weakSymbolFlag is True and tmpResult is None and self.current.Type == "keyword" and self.current.Value_Str == "=":
            self.fixMissingWeakSymbol(tmpResult, ":=")
            self.next()
        Expression_node = self.Expression_ST()

        tmpEndPos = self.curPos - 1
        return Node.Assign(Location_node, Expression_node, tmpStartPos,
                           tmpEndPos, self.myErrHandler)