def get_value(node): rep = IT.get_rep(node) args = (self,) + rep return JT.JTermRange(*args)
def f(index,key): return JT.JTNumerical(self,index,tags,[]) return self.numerical_table.add(IT.get_key(tags,[]),f)
def get_value(node): rep = IT.get_rep(node) args = (self,) + rep return JT.JTFloat(*args)
def get_value(node): rep = IT.get_rep(node) args = (self,) + rep return JT.JTRelationalExprList(*args)
def get_value(node): rep = IT.get_rep(node) args = (self,) + rep return JT.JTSymbolicJTermConstant(*args)
def get_value(node): rep = IT.get_rep(node) args = (self,) + rep return JT.JTNumerical(*args)
def f(index,key): return JT.JTArithmeticExpr(self,index,tags,args) return self.jterm_table.add(IT.get_key(tags,args),f)
def get_value(node): rep = IT.get_rep(node) args = (self,) + rep return JT.JTStringConstant(*args)
def f(index,key): return JT.JTFloat(self,index,tags,[]) return self.float_table.add(IT.get_key(tags,[]),f)
def f(index,key): return JT.JTConstant(self,index,tags,args) return self.jterm_table.add(IT.get_key(tags,args),f)
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # ------------------------------------------------------------------------------ import chj.util.IndexedTable as IT import chj.index.JTerm as JT jterm_constructors = { 'xv': lambda x:JT.JTAuxiliaryVar(*x), 'lv': lambda x:JT.JTLocalVar(*x), 'lc': lambda x:JT.JTLoopCounter(*x), 'c' : lambda x:JT.JTConstant(*x), 'sf': lambda x:JT.JTStaticFieldValue(*x), 'of': lambda x:JT.JTObjectFieldValue(*x), 'bc': lambda x:JT.JTBoolConstant(*x), 'fc': lambda x:JT.JTFloatConstant(*x), 'sc': lambda x:JT.JTJTermStringConstant(*x), 'al': lambda x:JT.JTArrayLength(*x), 'sl': lambda x:JT.JTStringLength(*x), 'si': lambda x:JT.JTSize(*x), 'ar': lambda x:JT.JTArithmeticExpr(*x), 'symc': lambda x:JT.JTSymbolicConstant(*x) }
def f(index, key): return JT.JTArithmeticExpr(self, index, tags, args)
def f(index, key): return JT.JTConstant(self, index, tags, args)
def f(index, key): return JT.JTFloat(self, index, tags, [])
def f(index, key): return JT.JTNumerical(self, index, tags, [])