[ << ] | [ < ] | [上] | [ > ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
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
[ << ] | [ < ] | [上] | [ > ] | [ >> ] |
この文書は12月 21, 2024にtexi2html 5.0を用いて生成されました。