def run(): status = True while status: inp = '' while not inp in cmd: inp = input('Explorer SYS > ') if inp == cmd[0]: print(sm.scan()) if inp == cmd[1]: sm.varnlist = [ vl.NumVar('DefaultNumVar_CreatedByLanguageSystem_00000000') ] sm.varslist = [ vl.StrVar('DefaultStrVar_CreatedByLanguageSystem_00000000') ] sm.varsalist = [ vl.StrVarAll( 'DefaultStrVarAll_CreatedByLanguageSystem_00000000') ] sm.varflist = [ vl.FuncVar('DefaultFuncVar_CreatedByLanguageSystem_00000000') ] sm.varnames = [ 'DefaultNumVar_CreatedByLanguageSystem_00000000', 'DefaultStrVar_CreatedByLanguageSystem_00000000', 'DefaultStrVarAll_CreatedByLanguageSystem_00000000', 'DefaultFuncVar_CreatedByLanguageSystem_00000000' ] print('\n Variables Cleared \n') if inp == cmd[2]: status = False break if inp == cmd[3]: print(hlp_message)
def clear(mshell=0): sm.varnlist = [vl.NumVar('DefaultNumVar_CreatedByLanguageSystem_00000000')] sm.varslist = [vl.StrVar('DefaultStrVar_CreatedByLanguageSystem_00000000')] sm.varsalist = [ vl.StrVarAll('DefaultStrVarAll_CreatedByLanguageSystem_00000000') ] sm.varflist = [ vl.FuncVar('DefaultFuncVar_CreatedByLanguageSystem_00000000') ] sm.varnames = [ 'DefaultNumVar_CreatedByLanguageSystem_00000000', 'DefaultStrVar_CreatedByLanguageSystem_00000000', 'DefaultStrVarAll_CreatedByLanguageSystem_00000000', 'DefaultFuncVar_CreatedByLanguageSystem_00000000' ] bsm.varb8list = [ bsm.bvl.Bin8('DefaultBin8_CreatedByLanguageSystem_00000000') ] bsm.varb16list = [ bsm.bvl.Bin16('DefaultBin16_CreatedByLanguageSystem_00000000') ] bsm.varb32list = [ bsm.bvl.Bin32('DefaultBin32_CreatedByLanguageSystem_00000000') ] bsm.initthis() if mshell != 0: print('\n Variables Cleared \n')
def varn(line): already = False if '=' in line and not already: ls = line.split('=') isexist = False for vn in varnlist: if ls[0] == vn.getName(): isexist = True vn.setValue(float(ls[1])) break if not isexist: if ls[0] not in varnames: varnlist.append(vl.NumVar(ls[0],float(ls[1]))) varnames.append(ls[0]) else: print('\n Variable Naming Error: two variables cannot have the same name') already = True elif '>' in line and not already: ls = line.split('>') isexist = False for vn in varnlist: if ls[0] == vn.getName(): isexist = True print(vn.getValue()) break if not isexist: print('\nVARN Error: \n >> ' + ls[0] + ' << don\'t exist\n') already = True elif '<' in line and not already: ls = line.split('<') isexist = False for vn in varnlist: if ls[0] == vn.getName(): isexist = True temp = input(' VARN > ') try: vn.setValue(float(temp)) except: print('\nInput error: you have to give a float\n') break if not isexist: print('\nVARN Error: \n >> ' + ls[0] + ' << don\'t exist\n') already = True elif '++' in line and not already: ls = line.split('++') isexist = False for vn in varnlist: if ls[0] == vn.getName(): isexist = True vn.incValue() break if not isexist: print('\nVARN Error: \n >> ' + ls[0] + ' << don\'t exist\n') already = True elif '--' in line and not already: ls = line.split('--') isexist = False for vn in varnlist: if ls[0] == vn.getName(): isexist = True vn.decValue() break if not isexist: print('\nVARN Error: \n >> ' + ls[0] + ' << don\'t exist\n') already = True elif '+' in line and not already: ls = line.split('+') isexist1 = False isexist2 = False for vn1 in varnlist: if ls[0] == vn1.getName(): isexist1 = True for vn2 in varnlist: if ls[1] == vn2.getName(): isexist2 = True vn1.setValue(vn1.getValue()+vn2.getValue()) break break if not isexist1: print('\nVARN Error: \n >> ' + ls[0] + ' << don\'t exist\n') else: if not isexist2: print('\nVARN Error: \n >> ' + ls[1] + ' << don\'t exist\n') already = True elif '-' in line and not already: ls = line.split('-') isexist1 = False isexist2 = False for vn1 in varnlist: if ls[0] == vn1.getName(): isexist1 = True for vn2 in varnlist: if ls[1] == vn2.getName(): isexist2 = True vn1.setValue(vn1.getValue()-vn2.getValue()) break break if not isexist1: print('\nVARN Error: \n >> ' + ls[0] + ' << don\'t exist\n') else: if not isexist2: print('\nVARN Error: \n >> ' + ls[1] + ' << don\'t exist\n') already = True elif '*' in line and not already: ls = line.split('*') isexist1 = False isexist2 = False for vn1 in varnlist: if ls[0] == vn1.getName(): isexist1 = True for vn2 in varnlist: if ls[1] == vn2.getName(): isexist2 = True vn1.setValue(vn1.getValue()*vn2.getValue()) break break if not isexist1: print('\nVARN Error: \n >> ' + ls[0] + ' << don\'t exist\n') else: if not isexist2: print('\nVARN Error: \n >> ' + ls[1] + ' << don\'t exist\n') already = True elif '/' in line and not already: ls = line.split('/') isexist1 = False isexist2 = False for vn1 in varnlist: if ls[0] == vn1.getName(): isexist1 = True for vn2 in varnlist: if ls[1] == vn2.getName(): isexist2 = True vn1.setValue(vn1.getValue()/vn2.getValue()) break break if not isexist1: print('\nVARN Error: \n >> ' + ls[0] + ' << don\'t exist\n') else: if not isexist2: print('\nVARN Error: \n >> ' + ls[1] + ' << don\'t exist\n') already = True elif '%' in line and not already: ls = line.split('%') isexist1 = False isexist2 = False for vn1 in varnlist: if ls[0] == vn1.getName(): isexist1 = True for vn2 in varnlist: if ls[1] == vn2.getName(): isexist2 = True vn1.setValue(vn1.getValue()%vn2.getValue()) break break if not isexist1: print('\nVARN Error: \n >> ' + ls[0] + ' << don\'t exist\n') else: if not isexist2: print('\nVARN Error: \n >> ' + ls[1] + ' << don\'t exist\n') already = True elif '#sa' in line and not already: ls = line.split('#sa') isexist1 = False isexist2 = False for vn in varnlist: if ls[0] == vn.getName(): isexist1 = True for vs in varsalist: if ls[1] == vs.getName(): isexist2 = True try: vn.setValue(float(vs.getValue())) except: print('\nCasting error\n') break break if not isexist1: print('\nVARN Error: \n >> ' + ls[0] + ' << don\'t exist\n') else: if not isexist2: print('\nVARSA Error: \n >> ' + ls[1] + ' << don\'t exist\n') already = True elif '#s' in line and not already: ls = line.split('#s') isexist1 = False isexist2 = False for vn in varnlist: if ls[0] == vn.getName(): isexist1 = True for vs in varslist: if ls[1] == vs.getName(): isexist2 = True try: vn.setValue(float(vs.getValue())) except: print('\nCasting error\n') break break if not isexist1: print('\nVARN Error: \n >> ' + ls[0] + ' << don\'t exist\n') else: if not isexist2: print('\nVARS Error: \n >> ' + ls[1] + ' << don\'t exist\n') already = True elif '#' in line and not already: ls = line.split('#') isexist1 = False isexist2 = False for vn in varnlist: if ls[0] == vn.getName(): isexist1 = True for vs in varslist: if ls[1] == vs.getName(): isexist2 = True try: vn.setValue(float(vs.getValue())) except: print('\nCasting error\n') break break if not isexist1: print('\nVARN Error: \n >> ' + ls[0] + ' << don\'t exist\n') else: if not isexist2: print('\nVARS Error: \n >> ' + ls[1] + ' << don\'t exist\n') already = True
# -*- coding: utf-8 -*- # ./libs/sys_methods.py => contains default methods of this programming language system ############ # IMPORTS ############ import libs.var_lib as vl import utils.linker as lk ############ # Usefull ############ varnlist = [vl.NumVar('DefaultNumVar_CreatedByLanguageSystem_00000000')] varslist = [vl.StrVar('DefaultStrVar_CreatedByLanguageSystem_00000000')] varsalist = [vl.StrVarAll('DefaultStrVarAll_CreatedByLanguageSystem_00000000')] varflist = [vl.FuncVar('DefaultFuncVar_CreatedByLanguageSystem_00000000')] varnames = ['DefaultNumVar_CreatedByLanguageSystem_00000000','DefaultStrVar_CreatedByLanguageSystem_00000000','DefaultStrVarAll_CreatedByLanguageSystem_00000000','DefaultFuncVar_CreatedByLanguageSystem_00000000'] libsincluded = 0 libs = [0, 0] def scan(): out = '\n' if len(varnlist) > 1: out += ' VARN > \n' for i in range(1, len(varnlist)): out += ' ' + varnlist[i].getName() + ' :> ' + str(varnlist[i].getValue()) + ' \n' if len(varslist) > 1: out += '\n VARS > \n' for i in range(1, len(varslist)): out += ' ' + varslist[i].getName() + ' :> ' + str(varslist[i].getValue()) + ' \n'