【三】自制脚本语言之expression,statement和declaration

前言

这里重点的说说expression,statement和declaration吧,在做这个事情前我看到这些概率也是抓猫。
通过学习了解expression,statement和declaration这三样是程序的组成三元素

declaration

定义的函数或类或其他相似的组件。
其他函数或者类是一些statement的集合,它们不直接运行,而是通过被调用而能多次执行。
例子

function add(var1 ,var2){
    string = "hahahah1";
    var_dump(string ,"haha1",var1,"haha2");
    return var1 + var2;
}
function sub(var1 ,var2){
    return var1 - var2;
}

statement

语句是程序运行的基本单元,按照一般的定义语句是执行一些事情没返回值,但是在函数式编程中,这个和expression界限是比较模糊,但是我还是坚持没有返回值,这个不是很重要。

include "/opt/app/SKL/scripts/function.skl";
var1 = 8.999;
var2 = 2.000;
var3 = add(var1,var2) ;
var4 = 2;
var5 = 1==2;
var6 = add(1,2) == sub(4,2);
var7 = "asdasd" == "asdasd";
var_dump(1+2.1,add(1,2) + add(1,3),var3,var4,var5,var6,var7);
var_dump("\n");

expression

表达式做一些求值的事情,核心点求值,表达式都是有值的。

include "/opt/app/SKL/scripts/function.skl";
var1 = 8.999;
var2 = 2.000;
var3 = add(var1,var2) ;
var4 = 2;
var5 = 1==2;
var6 = add(1,2) == sub(4,2);
var7 = "asdasd" == "asdasd";
var_dump(1+2.1,add(1,2) + add(1,3),var3,var4,var5,var6,var7);

这里有特别多的表达式

"/opt/app/SKL/scripts/function.skl"
var1
8.999
var1 = 8.999
var2
2.000
var2 = 2.00
var1
var2
add(var1,var2)
var3 = add(var1 ,var2)

有特别多,为什么多?和statement相比,貌似要多很多,看到很多都说expression的核心作用在从数据和计算的角度去分析程序(时间和效率),而statement则是站在程序的角度(逻辑和架构)。我比较赞同。

结语

说得不多,逻辑解释也可能比较杂乱,还是慢慢来,这几天在优化SKL,谈谈我的心得,做的时候困难重重,做完后恍然大悟,做一个嚣张的词:不过如此,这段时间也时常怀疑自己,拷问自己,内心也是彷徨和挣扎的,但是静下心来慢慢做一些时间,比如听歌,学英语,学一些自己不懂的,发现内心是充实的,一种收获的喜悦,SKL给了我很多快乐,静下心,做实事,提醒自己会有不一样的结果,现在回想以前大把浪费的美好时光,在心中默默祭奠一下,告诫自己,珍惜眼前,加油

你可能感兴趣的:(【三】自制脚本语言之expression,statement和declaration)