Exemple #1
0
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'