| [ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
Asir の文法は C 言語に準拠している. おもな相違点は次の通りである. 以下で, 変数とは Asir における プログラム用の変数, すなわち大文字で始まる文字列を意味することとする.
[0] A = 1; 1 [1] type(A); 1 [2] A = [1,2,3]; [1,2,3] [3] type(A); 4
extern 宣言された変数は, トップレベルにおける大域変数となる.
すなわち, 変数のスコープは大域変数と局所変数の 2 種類に単純化されている.
トップレベル, すなわちプロンプトに対して入力された変数は全て大域変数
として登録される. また函数内では次のいずれかとなる.
extern 宣言されている場合, 函数内のその変数も大域変数
として扱われる.
extern 宣言されていない変数はその函数に局所的となる.
% cat afo
def afo() { return A;}
extern A$
def bfo() { return A;}
end$
% asir
[0] load("afo")$
[5] A = 1;
1
[6] afo();
0
[7] bfo();
1
switch 文, goto がない.
goto がないため, 多重ループを一度に抜けるのがやや複雑になる場合がある.
for (A;B;C) または, while(A) の A,
B, C にのみ使うことができる.
以上は制限であるが, 拡張としては次の点が挙げられる.
構造体を用いるまでもない要素の集合体を, リストで表すことができ, C で直接書く場合に比較してプログラムが短く, 読みやすく書ける.
これに関しては, See section オプション指定.
Asir では次の語句がキーワードとして定められている.
break, continue, do, else, extern,
for, if, return, static, struct,
while
def, endmodule, function, global,
local, localf, module
car, cdr, getopt, newstruct, map,
pari, quote, recmap, timer
| [ << ] | [ < ] | [上] | [ > ] | [ >> ] |
この文書は10月 30, 2025にtexi2html 5.0を用いて生成されました。