Lines Matching refs:variables
35 def getVariable(name, variables, pos): argument
36 if name in variables:
37 return variables[name]
39 Logger.testFailed("Missing definition of variable \"{}\"".format(name), pos, variables)
41 def setVariable(name, value, variables, pos): argument
42 if name not in variables:
43 return variables.copyWith(name, value)
45 Logger.testFailed("Multiple definitions of variable \"{}\"".format(name), pos, variables)
47 def matchWords(checkerWord, stringWord, variables, pos): argument
54 pattern = re.escape(getVariable(expression.name, variables, pos))
66 variables = setVariable(expression.name, stringWord[:match.end()], variables, pos)
75 return variables
77 def MatchLines(checkerLine, stringLine, variables): argument
94 newVariables = matchWords(checkerWord, stringWord, variables, checkerLine)
97 variables = newVariables
103 return variables
105 def getEvalText(expression, variables, pos): argument
110 return getVariable(expression.name, variables, pos)
112 def EvaluateLine(checkerLine, variables): argument
114 hasIsaFeature = lambda feature: variables["ISA_FEATURES"].get(feature, False)
115 eval_string = "".join(map(lambda expr: getEvalText(expr, variables, checkerLine),