[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Язык MGL достаточно простой. Каждая строка – отдельная команда. Первое слово – имя команды, а все остальные ее аргументы. Команда может иметь до 1000 аргументов (по крайней мере сейчас). Слова разделяются одно от другого пробелом или символом табуляции. Различий между верхним и нижним индексом нет, т.е. переменные a и A идентичны. Символ ‘#’ начинает комментарий – все символы после него игнорируются до конца строки. Исключением является случай, когда ‘#’ входит в строку. Опции команды указываются после символа ‘;’ (see section Опции команд). Символ ‘:’ начинает новую команду (подобно переводу строки) если он расположен не внутри скобок или строки.
Если строка содержит ссылки на внешние параметры (‘$0’, ‘$1’ ... ‘$9’) или макроопределения (‘$a’, ‘$b’ ... ‘$z’), то текущие значения параметров/макроопределений подставляются в строку вместо ссылки до выполнением команды. Это позволяет использовать один и тот же скрипт при различных входных параметрах командной строки или вводить макроопределения по ходу исполнения команд скрипта.
Аргументы команды могут быть строками, переменными или числами.
a(1)
или a(1,:)
или a(1,:,:)
– вторая строка массива a, a(:,2)
или a(:,2,:)
– третий столбец, a(:,:,0)
– первый срез и т.д. Также можно выделить часть массива с m-го по n-ый элемент a(m:n,:,:)
или просто a(m:n)
.
a('n*w^2/exp(t)')
), если столбцы данных были именованы командой idset или в файле данных (в строке начинающейся с ##
).
tmp[i,j] = sqrt(dat[i,5,j]+1)
.
Временные массивы не могут стоять в качестве первого аргумента команд, создающих массивы (например, ‘new’, ‘read’, ‘hist’ и т.д.).
nan=#QNAN, pi=3.1415926..., on=1, off=0, :=-1
, переменные с суффиксами (see section Информационные функции), переменные определенные командой define. Также массивы размером 1x1x1 считаются скалярами (например, ‘pi/dat.nx’).
Перед первым использованием все переменные должны быть определены с помощью команд, создающих массивы (new, var, list, copy, read, hist, sum и др., см. Создание и удаление данных, Заполнение данных и Make another data).
Команды могут иметь несколько наборов аргументов (например, plot ydat
и plot xdat ydat
). Все аргументы команды для выбранного набора должны быть указаны, однако часть из них могут иметь значения по умолчанию. Такие аргументы в описании команд будут помещены в квадратные скобки [], например plot ydat ['stl'='' zval=nan]
. При этом запись [arg1 arg2 arg3 ...]
подразумевает [arg1 [arg2 [arg3 ...]]]
, т.е. опускать можно только аргументы с конца, если вы согласны с их значениями по умолчанию. Например, plot ydat '' 1
или plot ydat ''
правильно, а plot ydat 1
не правильно (аргумент 'stl'
пропущен).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Autobuild on September 28, 2013 using texi2html 1.82.