就是做一个执行脚本语言的程序 /注释文本 /表达式比较方式有 >,<,=,>=,<=,<>,大于,小于,等于,大于等于,小于等于,不等于 /函数定义方式
函数 函数名称(参数1,参数2,参数3)/定义一个函数,参数数量无限制 函数语句/函数内的语句 函数结束/函数结束标志 /流程控制 /如果...又如果....否则....如果结束 /如果与判断的区别,如果条件成立,执行完对应的语句,会继续判断下一个如果是否成立,而判断则是,任意一个判断条件成立,执行完对应的语句,就会跳转到判断结束位置 如果(表达式1=表达式2) 如果条件成立语句 又如果(表达式1>表达式2) 又如果条件成立语句 又如果(表达式=2) 又如果条件成立语句 否则 所有如果条件都不成立语句 如果结束 /判断...又判断...判断结束 判断(表达式1=表达式2) 判断条件成立语句 又判断(表达式1>表达式2) 又判断条件成立语句 又判断(表达式=2) 又判断条件成立语句 判断结束 /计次循环 计次循环首(循环次数,当前次数) 循环执行的语句 到循环尾/与易语言的用法一致 跳出循环/与易语言的用法一致 计次循环尾 /判断循环 判断循环首(表达式1>表达式2) 循环执行的语句 到循环尾/与易语言的用法一致 跳出循环/与易语言的用法一致 判断循环尾 /循环判断 循环判断首 循环执行的语句 到循环尾/与易语言的用法一致 跳出循环/与易语言的用法一致 循环判断尾(表达式1>表达式2) /要求 /1,文本程序是使用英文标点,但是写文本程序使用中文标点也行,我会自己转换为英文标点,所以执行文本程序的只需要以英文标点为准 /2,要可以执行外部函数,程序内“LC_函数注册”的功能 /3,要可以执行外部DLL,程序内“内部函数”程序集的功能,这个不是必须的,如果难以实现不要也行 /4,要可以多线程,即同一个文本程序,可以同时多线程运行,我半成品的想法就是,做一个程序管理功能,载入程序,就是把程序内容赋值给变量数组,然后给程序增加一些参数,用一个程序轮询程序内容的数据和参数,定时的启动文本程序的运行。 /5,上面第四点的大概意思就是,比如我加载的5个文本程序,其中1个就是一直执行下去,有2个就是通过控制文本程序的参数,让他不定时的启动运行一次,还有2个就是周期运行,每1秒还是多久时间运行一次,这个的功能我自己也能解决,但是要实现这个功能,就要编译的运行文本程序的程序要能够多线程 /文本程序运行方式 /1,将文本程序按照函数分割 /2,指定一个函数名称作为程序入口 /3,程序执行完这个函数就行 /例子,指定“开始”为入口函数 如果(整数=1)/因为语句不在函数内,语句无效不执行 调试输出(“整数=1”)/因为语句不在函数内,语句无效不执行 调试输出(整数)/因为语句不在函数内,语句无效不执行 否则 调试输出(“整数<>1”)/因为语句不在函数内,语句无效不执行 如果结束/因为语句不在函数内,语句无效不执行 函数 开始()/程序入口 如果(整数=1)/cha询是否有名为“整数”变量,没有就自动新建局部变量 输出调试(“整数=1”)/输出文本“整数=1”,这个调试输出参考程序“LC_函数注册”注册的外部函数” 输出调试(整数)/输出变量“整数”的值 否则 输出调试(“整数<>1”)/输出文本“整数=1” 整数=12/整数赋值=12 输出调试(整数)/输出变量“整数”的值 如果结束 全局变量 数量 质量/cha询是否有名为“数量”“质量”的全局变量,没有就自动新建全局变量 数量=5/数量赋值=5 子程序1(1,2,3)/调用函数 子程序1 子程序2(10)/调用函数 子程序2 输出调试(子程序3)/调用函数 子程序3, 子程序 10 15.50 13.456/调用函数 子程序,外部函数或函数的第二种调用方法,函数名称与参数值用空格隔开,不加括号 函数结束/结束 函数 子程序1(参数1,参数2,参数3)/在调用这个函数时,就创建这3个局部变量 计次循环首(参数3,i) 输出调试(i) 计次循环尾 函数结束/函数结束,删除创建的局部变量 函数 子程序2(数量)/在调用这个函数时,就创建这1个局部变量 判断循环首(数量<>计数)/变量cha询是全局变量优先,所以这个“数量”的变量=5,不是参数传递过来的10,就是说局部变量与全局变量重名,全局变量优先,而“计数”不存在,就新建一个 计数=计数+1 判断(计数>10) 到循环尾 又判断(计数=9) 跳出循环 结束判断 输出调试(计数) 判断循环尾 函数结束 函数 子程序3 返回(“返回值”)/程序在这里直接结束函数 子程序3 输出调试(“程序不执行这里”) 函数结束 函数 子程序(X,Y,Z) 子程序2(X) A=X+Y+Z 返回(A) 函数结束
|