2011-03-14 113 views
2
Q ZR $ZTLP I Q=-1 S Q,A=F G T 
I Q< S A=F G R 

如何识别MUMPS中的标签,关键字和变量?
以上代码中的Q是什么?即标签,可变或关键词?mumps语法声明

什么是定义变量关键字和子程序的规则?
否则很难确定你能否建议为什么,因为我无法理解我现有的代码是什么?

+0

I Q ern0 2013-08-19 20:21:14

回答

3

Q意味着QUIT一审但随后I Q=-1IF Q EQUALS -1 - Q是这里的变量太多 - 不是很好的做法

S Q,A=F again SET Q and A = F 

I Q< S A=F G R if Q is less than null (???) SET A=F then GOTO line R. 
2

的秘密在于:空格。

一般腮腺炎程序行语法是: ...

勒贝尔和参数是可选的:当一个行没有标签,它开始与标签,当命令没有变(它发生在极少数情况下,例如:Quit),命令后面跟着两个空格。

当一行以命令开头(无标签和无标签)时,它不是程序的一部分,但是它是立即执行的命令。

您可能会觉得这很让人困惑,但请记住,MUMPS的设计是在机器很慢的时候;如果严格分隔命令,则很容易解析命令。这就是为什么命令可以缩写为单字母的原因,这也是为什么MUMPS没有操作优先权(新MUMPS系统可配置为使用操作符优先级而不是传统的从左到右的处理顺序)。