reXX作为一种解释性语言,也可以编译,,在主机上面上可以很大程度上减轻系统管理员的负担,主要是重复性的劳动,可以写成脚本。,下面介绍一下自己的新的,有不恰当的地方,欢迎指正。。。。。。。。。
reXX作为一种计算机语言,同其它我们常用的语言一样,也有自己的语法规范,但是相对来说很简单。
程序的开始的第一行必须含有REXX 字样的注释,不区分大小写
注释为行注释 /* comment */
使用(;)来分隔指令,使用(,)来续行
字符串,单引号或是双引号均可
变量无需定义,可以直接使用,命名不能以_与数字开始
变量有三种,前面已经介绍过,即简单变量,复合变量,词干(stem)
复合变量与词干的区别是
词干只有一个点,且该点在最后,其他的带点的变量均为复合变量
字符串连接:
(空格) ---空格连接符,表达式之间有一个空格
|| ---表达式之间无空格
至于操作符,就不举例了
比较操作符分为普通比较和严格比较
严格比较时 两个表达式均认为是字符串,不剔除空格,一个字符一个字符比较,常用
操作符:
从左向右执行,可以使用括号来改变优先级
标签:
单一symbol后面紧跟着:,就是标签,它记载着程序调用(call,signal)以及内部函数调用的地址
不去分大小写
part 2:
赋值 =
当词干被赋值时,所有已词干开始的复合变量都会被与该值
屏幕输出命令:
say "what you want to say"
NOp 空指令,啥也不做,同 C中 ; 类似
if var then do end else do end
select
when ex then do end
when exp then do end
when exp then do end
other do end
end
删除变量
drop 变量
如果是括号的变量则删除的是,该变量的值所引用的变量
a=bbbbbbbbbbbbbb
c=a
drop c 删除变量c
drop (c) 删除变量A
exit &&return
exit 退出整个整个程序,程序立即终止
return 退出调用过程,从程序的下一行开始继续执行
循环语句:
do repetitor conditional; instrucion end name
repetitor
var=xx to exp by step fro exp
forever
exprn
conditional
while
until
一次性的do end
如
if ....then do
xxx
end
指定次数:
do integer
end
死循环:
do forever
..........
end
常见的形式:
do var=xx to exp step [for exp】
end
to &for 的条件有一个满足则程序终止
条件循环
do while exp 首先判断条件
xxxxxxxxxxx
end
do until 程序至少执行一次
end
混合循环
do var=xxx to exp for exp while exp
xxxxxxxxxxxxxxx
end
条件有一个满足,程序就终止
iterate 与 leave
同C语言里面的continue与break类似
函数调用
call procedure_name arg
or call on conditionName traplable
or call off conditionName
主要有两种功能:
一是调用内部或是外部的子过程
而是启用或是禁用conditional trap,同signal类似
procedure的定义:
procedureNamelabel: procedure [expose var]
PRECODURE更在label后面,目的是把变量封装起来。
过程或函数中的变量默认是全局可见的,
使用procedure 以后,变量就变成私有的
expose 跟在该关键字后面的变量有
c参数列表:
arg [temmplate]
~~~~~~~~~~~==== 等价于 parse upper arg [template]
signal 目的是更在程序的流程,
启用或是禁用conditional trap ,实际上是异常处理
常见的错误有:
ERROR FAILTURE HALT NOVALUE,SYNTAX
启用 signal on conditiaonal_Name [ label_name]
conditianal_name的异常处理你要自己处理,执行完成后程序直接退出(exit)
这也就是改变的了程序的流程,类似于longjump函数
阅读(2362) | 评论(0) | 转发(0) |