version 1.17, 2004/07/10 05:50:57 |
version 1.19, 2014/03/11 01:46:19 |
|
|
@comment $OpenXM: OpenXM/src/asir-doc/parts/asir.texi,v 1.16 2004/07/04 00:16:43 takayama Exp $ |
@comment $OpenXM: OpenXM/src/asir-doc/parts/asir.texi,v 1.18 2005/07/25 12:23:05 takayama Exp $ |
\BJP |
\BJP |
@node $B%f!<%68@8l(B Asir,,, Top |
@node $B%f!<%68@8l(B Asir,,, Top |
@chapter $B%f!<%68@8l(B Asir |
@chapter $B%f!<%68@8l(B Asir |
|
|
$B%b%8%e!<%k$OF~$l;R$K$O$G$-$J$$(B. |
$B%b%8%e!<%k$OF~$l;R$K$O$G$-$J$$(B. |
$B%b%8%e!<%k$NCf$@$1$G;H$&Bg0hJQ?t$O(B @code{static} $B$G@k8@$9$k(B. |
$B%b%8%e!<%k$NCf$@$1$G;H$&Bg0hJQ?t$O(B @code{static} $B$G@k8@$9$k(B. |
$B$3$NJQ?t$O%b%8%e!<%k$N30$+$i$O;2>H$b$G$-$J$$$7JQ99$b$G$-$J$$(B. |
$B$3$NJQ?t$O%b%8%e!<%k$N30$+$i$O;2>H$b$G$-$J$$$7JQ99$b$G$-$J$$(B. |
|
@code{static} $BJQ?t$O$9$Y$F$N4X?tDj5A$NA0$K@k8@$7$J$$$H$$$1$J$$(B. |
|
$B%Q!<%5!<$,%o%s%Q%9$N$?$a(B, $B@k8@$N$J$$JQ?t$O<+F0E*$K6I=jJQ?t$H$_$J$5$l$k$+$i$G$"$k(B. |
$B%b%8%e!<%k$N30$NBg0hJQ?t$O(B @code{extern} $B$G@k8@$9$k(B. |
$B%b%8%e!<%k$N30$NBg0hJQ?t$O(B @code{extern} $B$G@k8@$9$k(B. |
\E |
\E |
\BEG |
\BEG |
|
|
A variable of a module is declared with the key word @code{static}. |
A variable of a module is declared with the key word @code{static}. |
The static variables cannot be refered nor changed out of the module, |
The static variables cannot be refered nor changed out of the module, |
but it can be refered and changed in any functions in the module. |
but it can be refered and changed in any functions in the module. |
A global variable which can be refered and changed at any place |
The @code{static} variables must be declared before the definitions of functions, |
|
because the one-path parser of asir automatically assume variables as local variables |
|
if there is no declaration for them. |
|
A global variable which can be refered and changed in or out of the module |
is declared with the key word @code{extern}. |
is declared with the key word @code{extern}. |
\E |
\E |
|
|
Line 1632 The below is an example of demand loading. |
|
Line 1637 The below is an example of demand loading. |
|
\E |
\E |
|
|
@example |
@example |
if (!module_definep("stack")) load("stack.rr") $ |
if (!module_definedp("stack")) load("stack.rr") $ |
@end example |
@end example |
|
|
\BJP |
\BJP |