Annotation of OpenXM/src/k097/lib/setvariables.ccc, Revision 1.1.1.1
1.1 maekawa 1:
2:
3: /* lib/setvariables.ccc : to generate sm1-package setvariables.sm1 */
4: /* sm1(" (incmac.sm1) run (slib.sm1) run ");
5: sm1(" (factor-a.sm1) run "); run does not work!! */
6: sm1(" 0 @@@.indexMode "); /* C-like notation of matrix. a[0], ... */
7:
8: def getxvar(i) {
9: sm1( "[(x) (var) ", i , " ..int ] system_variable /FunctionValue set ");
10: }
11:
12: def getdvar(i) {
13: sm1( "[(D) (var) ", i , " ..int ] system_variable /FunctionValue set ");
14: }
15:
16: def getvarn() {
17: sm1( "[(N)] system_variable (universalNumber) dc /FunctionValue set ");
18: }
19:
20: def SetRingVariables() {
21: /* Don't use local variables in this function,
22: because we set global variables in this function.
23: cf. SSWork/yacc/memo.txt, 1997,3/6 */
24: Print("SetRingVariables() Setting the global variables : ");
25: setRingVariables002(0,sm1( "[(CC)] system_variable (universalNumber) dc "));
26: setRingVariables002(sm1( "[(C)] system_variable (universalNumber) dc "),
27: sm1( "[(LL)] system_variable (universalNumber) dc "));
28: setRingVariables002(sm1( "[(L)] system_variable (universalNumber) dc "),
29: sm1( "[(MM)] system_variable (universalNumber) dc "));
30: setRingVariables002(sm1( "[(M)] system_variable (universalNumber) dc "),
31: sm1( "[(NN)] system_variable (universalNumber) dc "));
32: Ln();
33: }
34:
35: def void setRingVariables002(tmp002_p,tmp002_q) {
36: /* tmp002_ must not be used as variables names. */
37: local tmp002_i,tmp002_v,tmp002_str;
38: for (tmp002_i=tmp002_p;tmp002_i<tmp002_q;tmp002_i++) {
39: tmp002_v = getxvar(tmp002_i);
40: Print(tmp002_v); Print(" ");
41: str = AddString(["/",tmp002_v," $",tmp002_v,"$ expand def "]);
42: sm1("[(parse) ",str," ] extension ");
43: tmp002_v = getdvar(tmp002_i);
44: Print(tmp002_v); Print(" ");
45: str = AddString(["/",tmp002_v," $",tmp002_v,"$ expand def "]);
46: sm1("[(parse) ",str," ] extension ");
47: }
48: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>