Exemple #1
0
 def enterSimple_assign(self, ctx: ConfigParser.Simple_assignContext):
     varName = ctx.id_str().getText()
     rhsValName = ctx.value().getText()
     assignVar = Cm.CfgVariable.resolveLhsExpression(
         varName, Cm.CfgNumDataType)  # TODO assign numeric only for now
     rhsVal = Cm.CfgVariable.resolveRhsExpression(
         rhsValName, Cm.CfgNumDataType)  # TODO assign numeric only for now
     #print('enterSimple_assign: var=' + varName + ', rhsValName=' + rhsValName)
     Cm.CfgAssign(assignVar, Cm.ConfigAssignType.EQ, rhsVal)
Exemple #2
0
 def enterRead_config_call(self, ctx: ConfigParser.Read_config_callContext):
     #print('enterRead_config_call: ')
     readType = ctx.getChild(2).getText()
     readPath = ctx.path().getText()
     readVar = ctx.id_str().getText()
     #print(' ' + readType + ' ' + readPath + ' ' + readVar)
     rNode = Cm.CfgReadNode(readPath, readType, None)
     #print('enterRead_config_call: findVar name=' + readVar + ", ret=" + str(Cm.BaseCfgNode.peekNode().findVar(readVar, True)))
     rVar = Cm.CfgVariable.resolveLhsExpression(
         readVar, Cm.CfgNumDataType)  # read return variable
     Cm.CfgAssign(rVar, Cm.ConfigAssignType.EQ, rNode)
Exemple #3
0
 def enterClass_assign(self, ctx: ConfigParser.Class_assignContext):
     varName = ctx.path_elem().getText()
     className = ctx.id_str().getText()
     classParms = ctx.call_parms().getText()
     assignVar = Cm.CfgVariable.resolveLhsExpression(
         varName, Cm.CfgClassNode
     )  # read return variable - special case using CfgClass rather than data type
     foundClass = Cm.CfgClassNode.findClass(
         className)  # find the class that is being called
     #print('enterClass_assign: var=' + varName + ', cfgClass=' + className + ', parms=' + classParms + ', foundClass=' + foundClass.name)
     # extract parms and check vs class signature
     resolvedInputList = foundClass.verifyInputParms(
         classParms, Cm.BaseCfgNode.peekNode())
     assignVar.val = (foundClass, resolvedInputList)
     Cm.CfgAssign(assignVar, Cm.ConfigAssignType.EQ, foundClass)