объявление синтаксиса паротита - PullRequest
2 голосов
/ 14 марта 2011
Q   ZR $ZTLP I Q=-1 S Q,A=F G T
I Q< S A=F G R

Как определить метку, ключевое слово и переменную в MUMPS?
Что такое Q в приведенном выше коде?т. е. метка, переменная или ключевое слово?

Каковы правила для определения ключевого слова и подпрограммы переменной?
В противном случае сложно определить, почему вы можете предположить почему, потому что я не могу понять свой существующий код.

Ответы [ 2 ]

3 голосов
/ 28 апреля 2011

Q означает QUIT в первом случае, но затем I Q=-1 - это IF 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 голосов
/ 20 августа 2013

Секрет: пробелы.

Общий синтаксис строки программы MUMPS: ...

Lebel и аргументы необязательны: если строка не имеет метки, она начинается с табуляции, когдакоманда не имеет аргументов (это происходит в редких случаях, например: Quit), за командой следуют два пробела.

Когда строка начинается с команды (без метки и без табуляции), она не является частьюпрограмма, но это немедленно выполняемая команда.

Вы можете чувствовать, что это сбивает с толку, но помните, MUMPS был разработан, когда машины работали медленно;разбирать команды легко, если они строго разграничены.Вот почему команды могут быть сокращены до однобуквенных, а также потому, что MUMPS не имеют приоритета операций (более новые системы MUMPS конфигурируются для использования приоритета оператора вместо традиционного порядка обработки слева направо).

...