[BACK]Return to setvariables.sm1 CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097 / lib

Annotation of OpenXM/src/k097/lib/setvariables.sm1, Revision 1.1.1.1

1.1       maekawa     1:
                      2:
                      3: %%  incmac.sm1 ,   1996, 4/2
                      4: %% macros for the translator.
                      5: %%% /goto { pop } def  %% should be changed later.
                      6: ( incmac.sm1: 2/25, 1997 ) messagen
                      7: %% Note that you cannot use incmac.k as an argument of the local function.
                      8: %% BUG: [/incmac.k] pushvarable was [/k] pushVariables, but it caused
                      9: %% error when you try to run a program foo(k) { for (i=0; i<k; i++) ... }.
                     10: /mapset {
                     11:   /arg2 set /arg1 set
                     12:   [/incmac.k ] pushVariables
                     13:   0 1 arg1 length 1 sub {
                     14:     /incmac.k set
                     15:     arg1 incmac.k get
                     16:     arg2 incmac.k get
                     17:     set
                     18:   } for
                     19:   popVariables
                     20: } def
                     21:
                     22: /a [[1 2] [3 4]] def
                     23: /@@@.indexMode {
                     24: 0 eq {  %%% C-style
                     25:  /@@@.indexMode.flag  0 def
                     26:  /Get {
                     27:  /arg1 set
                     28:  [/incmac.k ] pushVariables
                     29:  [
                     30:    arg1 0 get load
                     31:    1 1 arg1 length 1 sub {
                     32:       /incmac.k set
                     33:       arg1 incmac.k get ..int get
                     34:    } for
                     35:    /arg1 set
                     36:   ] pop
                     37:   popVariables
                     38:   arg1
                     39:  } def
                     40:
                     41:  /Put {
                     42:  /arg2 set
                     43:  /arg1 set
                     44:  [/incmac.k ] pushVariables
                     45:  arg1 0 get load
                     46:  [ 1 1 arg1 length 1 sub {
                     47:      /incmac.k set
                     48:      arg1 incmac.k get ..int
                     49:    } for
                     50:  ] arg2 put
                     51:  popVariables
                     52:  } def
                     53: } { %% else
                     54:  /@@@.indexMode.flag  1 def
                     55:  /Get {
                     56:  /arg1 set
                     57:  [/incmac.k ] pushVariables
                     58:  [
                     59:    arg1 0 get load
                     60:    1 1 arg1 length 1 sub {
                     61:       /incmac.k set
                     62:       arg1 incmac.k get ..int 1 sub get
                     63:    } for
                     64:    /arg1 set
                     65:   ] pop
                     66:   popVariables
                     67:   arg1
                     68:  } def
                     69:
                     70:  /Put {
                     71:  /arg2 set
                     72:  /arg1 set
                     73:  [/incmac.k ] pushVariables
                     74:  arg1 0 get load
                     75:  [ 1 1 arg1 length 1 sub {
                     76:      /incmac.k set
                     77:      arg1 incmac.k get ..int 1 sub
                     78:    } for
                     79:  ] arg2 put
                     80:  popVariables
                     81:  } def
                     82: } ifelse
                     83: } def
                     84:
                     85: 0 @@@.indexMode   %% Default index mode is C-style
                     86:
                     87:
                     88:
                     89:
                     90: %%%%%%%%%%%%  1996, 4/28
                     91: %% (2).. NewVector
                     92: /NewVector {
                     93:   0 get /arg1 set
                     94:   arg1 (integer) dc /arg1 set
                     95:   [ 1 1 arg1 { pop (0).. } for ]
                     96: } def
                     97:
                     98: %% (2).. (3).. NewMatrix
                     99: /NewMatrix {
                    100:   dup 0 get /arg1 set
                    101:       1 get /arg2 set
                    102:   arg1 (integer) dc /arg1 set
                    103:   arg2 (integer) dc /arg2 set
                    104:   [1 1 arg1 { pop [arg2] NewVector } for ]
                    105: } def
                    106:
                    107: /Join {
                    108:   aload pop join
                    109: } def
                    110:
                    111:
                    112: /greaterThanOrEqual {
                    113:   /arg2 set /arg1 set
                    114:   arg1 arg2 gt { 1 }
                    115:   { arg1 arg2 eq {1} {0} ifelse} ifelse
                    116: } def
                    117:
                    118: /lessThanOrEqual {
                    119:   /arg2 set /arg1 set
                    120:   arg1 arg2 lt { 1 }
                    121:   { arg1 arg2 eq {1} {0} ifelse} ifelse
                    122: } def
                    123:
                    124: /k.mapReplace {  {[[(h). (1).]] replace} map } def
                    125: /Dehomogenize {
                    126:   0 get /arg1 set
                    127:   [
                    128:     arg1 isArray not { arg1 [[(h). (1).]] replace }
                    129:     { arg1 0 get isArray not { arg1 k.mapReplace }
                    130:                              { arg1 {k.mapReplace} map } ifelse
                    131:     } ifelse
                    132:     /arg1 set
                    133:   ] pop
                    134:   arg1
                    135: } def
                    136:
                    137:
                    138:
                    139:
                    140:   ( slib.ccc: 8/17,1996 ) message  /Print {
                    141:  /Arglist set /FunctionValue [ ] def
                    142:  [/a  ] /ArgNames set ArgNames pushVariables [ %%function body
                    143:  Arglist ArgNames mapset
                    144:  a   messagen /ExitPoint ]pop popVariables %%pop argValues
                    145: FunctionValue } def
                    146: %%end of function
                    147:
                    148: /Println {
                    149:  /Arglist set /FunctionValue [ ] def
                    150:  [/a  ] /ArgNames set ArgNames pushVariables [ %%function body
                    151:  Arglist ArgNames mapset
                    152:  a   message /ExitPoint ]pop popVariables %%pop argValues
                    153: FunctionValue } def
                    154: %%end of function
                    155:
                    156: /Ln {
                    157:  /Arglist set /FunctionValue [ ] def
                    158:  [ ] /ArgNames set ArgNames pushVariables [ %%function body
                    159:   ( ) message /ExitPoint ]pop popVariables %%pop argValues
                    160: FunctionValue } def
                    161: %%end of function
                    162:
                    163: /Poly {
                    164:  /Arglist set /FunctionValue [ ] def
                    165:  [/f  ] /ArgNames set ArgNames pushVariables [ %%function body
                    166:  Arglist ArgNames mapset
                    167:  f   expand /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
                    168: FunctionValue } def
                    169: %%end of function
                    170:
                    171: /PolyR {
                    172:  /Arglist set /FunctionValue [ ] def
                    173:  [/f /r  ] /ArgNames set ArgNames pushVariables [ %%function body
                    174:  Arglist ArgNames mapset
                    175:  f  r   ,, /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
                    176: FunctionValue } def
                    177: %%end of function
                    178:
                    179: /Degree {
                    180:  /Arglist set /FunctionValue [ ] def
                    181:  [/f /v  ] /ArgNames set ArgNames pushVariables [ %%function body
                    182:  Arglist ArgNames mapset
                    183:  f  v   degree (universalNumber) dc /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
                    184: FunctionValue } def
                    185: %%end of function
                    186:
                    187: /Append {
                    188:  /Arglist set /FunctionValue [ ] def
                    189:  [/f /g  ] /ArgNames set ArgNames pushVariables [ %%function body
                    190:  Arglist ArgNames mapset
                    191: [ %% function args
                    192: f [ g   ] ] Join
                    193:  /FunctionValue set  {/ExitPoint goto} exec %%return
                    194: /ExitPoint ]pop popVariables %%pop argValues
                    195: FunctionValue } def
                    196: %%end of function
                    197:
                    198: /Length {
                    199:  /Arglist set /FunctionValue [ ] def
                    200:  [/f  ] /ArgNames set ArgNames pushVariables [ %%function body
                    201:  Arglist ArgNames mapset
                    202:  f   length (universalNumber) dc /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
                    203: FunctionValue } def
                    204: %%end of function
                    205:
                    206: /Indexed {
                    207:  /Arglist set /FunctionValue [ ] def
                    208:  [/name /i  ] /ArgNames set ArgNames pushVariables [ %%function body
                    209:  Arglist ArgNames mapset
                    210:  name  i   s.Indexed /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    211: FunctionValue } def
                    212: %%end of function
                    213:
                    214: /Indexed2 {
                    215:  /Arglist set /FunctionValue [ ] def
                    216:  [/name /i /j  ] /ArgNames set ArgNames pushVariables [ %%function body
                    217:  Arglist ArgNames mapset
                    218:  name  i  j   s.Indexed2 /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    219: FunctionValue } def
                    220: %%end of function
                    221:
                    222: /Transpose {
                    223:  /Arglist set /FunctionValue [ ] def
                    224:  [/mat  ] /ArgNames set ArgNames pushVariables [ %%function body
                    225:  Arglist ArgNames mapset
                    226:  mat   transpose /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    227: FunctionValue } def
                    228: %%end of function
                    229:
                    230:
                    231: /s.Indexed {
                    232:   (integer) dc /arg2 set
                    233:   /arg1 set
                    234:   arg1 ([) arg2 (dollar) dc (]) 4 cat_n
                    235: } def
                    236:
                    237: /s.Indexed2 {
                    238:   (integer) dc /arg3 set
                    239:   (integer) dc /arg2 set
                    240:   /arg1 set
                    241:   arg1 ([) arg2 (dollar) dc (,) arg3 (dollar) dc (]) 6 cat_n
                    242: } def
                    243:  /Groebner {
                    244:  /Arglist set /FunctionValue [ ] def
                    245:  [/F  ] /ArgNames set ArgNames pushVariables [ %%function body
                    246:  Arglist ArgNames mapset
                    247:  F   {[[(h). (1).]] replace homogenize} map /arg1 set
                    248:                             [arg1] groebner 0 get
                    249:                             /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    250: FunctionValue } def
                    251: %%end of function
                    252:
                    253: /GroebnerTime {
                    254:  /Arglist set /FunctionValue [ ] def
                    255:  [/F  ] /ArgNames set ArgNames pushVariables [ %%function body
                    256:  Arglist ArgNames mapset
                    257:  F   {[[(h). (1).]] replace homogenize} map /arg1 set
                    258:                             { [arg1] groebner 0 get } timer
                    259:                             /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    260: FunctionValue } def
                    261: %%end of function
                    262:
                    263: /LiftStd {
                    264:  /Arglist set /FunctionValue [ ] def
                    265:  [/F  ] /ArgNames set ArgNames pushVariables [ %%function body
                    266:  Arglist ArgNames mapset
                    267:  F   {[[(h). (1).]] replace homogenize} map /arg1 set
                    268:                             [arg1 [(needBack)]] groebner
                    269:                             /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    270: FunctionValue } def
                    271: %%end of function
                    272:
                    273: /Reduction {
                    274:  /Arglist set /FunctionValue [ ] def
                    275:  [/f /G  ] /ArgNames set ArgNames pushVariables [ %%function body
                    276:  Arglist ArgNames mapset
                    277:  f  G   reduction /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    278: FunctionValue } def
                    279: %%end of function
                    280:
                    281: /IntegerToMachineInteger {
                    282:  /Arglist set /FunctionValue [ ] def
                    283:  [/f  ] /ArgNames set ArgNames pushVariables [ %%function body
                    284:  Arglist ArgNames mapset
                    285:  f   (integer) dc /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    286: FunctionValue } def
                    287: %%end of function
                    288:
                    289: /RingD {
                    290:  /Arglist set /FunctionValue [ ] def
                    291:  [/vList /weightMatrix  ] /ArgNames set ArgNames pushVariables [ %%function body
                    292:  Arglist ArgNames mapset
                    293: [ %%start of local variables
                    294: /new /tmp /size /n /i /j /newtmp /ringpp ] pushVariables [ %%local variables
                    295: [ %% function args
                    296: Arglist ] Length
                    297: (2)..  lt
                    298:  %% if-condition
                    299:   { %%ifbody
                    300:  [  vList  ring_of_differential_operators ( ) elimination_order 0 ] define_ring
                    301:          /tmp set  tmp  /FunctionValue set  {/ExitPoint goto} exec %%return
                    302:   }%%end if if body
                    303:   { %%if- else part
                    304:   } ifelse
                    305: /size [ %% function args
                    306: weightMatrix ] Length
                    307:  def
                    308: /new [ %% function args
                    309: size ] NewVector
                    310:  def
                    311:   /@@@.indexMode.flag.save @@@.indexMode.flag def    0 @@@.indexMode  /i (0)..  def
                    312: %%for init.
                    313: %%for
                    314: { i size  lt
                    315:  {  } {exit} ifelse
                    316: [ {%%increment
                    317: /i  i (1).. add def
                    318: } %%end of increment{A}
                    319: {%%start of B part{B}
                    320: /tmp [/weightMatrix i  ]  Get
                    321:  def
                    322: /n [ %% function args
                    323: tmp ] Length
                    324:  def
                    325: /newtmp [ %% function args
                    326: n ] NewVector
                    327:  def
                    328: /j (1)..  def
                    329: %%for init.
                    330: %%for
                    331: { j n  lt
                    332:  {  } {exit} ifelse
                    333: [ {%%increment
                    334: /j j (2)..  add
                    335:  def
                    336: } %%end of increment{A}
                    337: {%%start of B part{B}
                    338: [/newtmp j (1)..  sub
                    339:  ] [/tmp j (1)..  sub
                    340:  ]  Get
                    341:  Put
                    342: [/newtmp j  ] [ %% function args
                    343: [/tmp j  ]  Get
                    344: ] IntegerToMachineInteger
                    345:  Put
                    346: } %% end of B part. {B}
                    347:  2 1 roll] {exec} map
                    348: } loop %%end of for
                    349: [/new i  ] newtmp  Put
                    350: } %% end of B part. {B}
                    351:  2 1 roll] {exec} map
                    352: } loop %%end of for
                    353: /ringpp  [  vList  ring_of_differential_operators   new   weight_vector 0 ] define_ring  def
                    354:   @@@.indexMode.flag.save @@@.indexMode  ringpp  /FunctionValue set  {/ExitPoint goto} exec %%return
                    355: /ExitPoint ]pop popVariables %%pop the local variables
                    356: /ExitPoint ]pop popVariables %%pop argValues
                    357: FunctionValue } def
                    358: %%end of function
                    359:
                    360: /getxvar {
                    361:  /Arglist set /FunctionValue [ ] def
                    362:  [/i  ] /ArgNames set ArgNames pushVariables [ %%function body
                    363:  Arglist ArgNames mapset
                    364:  [(x) (var)   i   ..int ] system_variable /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    365: FunctionValue } def
                    366: %%end of function
                    367:
                    368: /getdvar {
                    369:  /Arglist set /FunctionValue [ ] def
                    370:  [/i  ] /ArgNames set ArgNames pushVariables [ %%function body
                    371:  Arglist ArgNames mapset
                    372:  [(D) (var)   i   ..int ] system_variable /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    373: FunctionValue } def
                    374: %%end of function
                    375:
                    376: /getvarn {
                    377:  /Arglist set /FunctionValue [ ] def
                    378:  [ ] /ArgNames set ArgNames pushVariables [ %%function body
                    379:  [(N)] system_variable (universalNumber) dc /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    380: FunctionValue } def
                    381: %%end of function
                    382:
                    383: /setRingVariables {
                    384:  /Arglist set /FunctionValue [ ] def
                    385:  [ ] /ArgNames set ArgNames pushVariables [ %%function body
                    386: [ %%start of local variables
                    387: /n /i /v /f ] pushVariables [ %%local variables
                    388: /n [ %% function args
                    389: ] getvarn
                    390:  def
                    391: /i (0)..  def
                    392: %%for init.
                    393: %%for
                    394: { i n  lt
                    395:  {  } {exit} ifelse
                    396: [ {%%increment
                    397: /i  i (1).. add def
                    398: } %%end of increment{A}
                    399: {%%start of B part{B}
                    400: /v [ %% function args
                    401: i ] getxvar
                    402:  def
                    403: /f [ %% function args
                    404: v ] Poly
                    405:  def
                    406:  v   (literal) dc   f   def  /v [ %% function args
                    407: i ] getdvar
                    408:  def
                    409: /f [ %% function args
                    410: v ] Poly
                    411:  def
                    412:  v   (literal) dc   f   def  } %% end of B part. {B}
                    413:  2 1 roll] {exec} map
                    414: } loop %%end of for
                    415: /ExitPoint ]pop popVariables %%pop the local variables
                    416: /ExitPoint ]pop popVariables %%pop argValues
                    417: FunctionValue } def
                    418: %%end of function
                    419:
                    420: /AddString {
                    421:  /Arglist set /FunctionValue [ ] def
                    422:  [/f  ] /ArgNames set ArgNames pushVariables [ %%function body
                    423:  Arglist ArgNames mapset
                    424:  f    aload length cat_n /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    425: FunctionValue } def
                    426: %%end of function
                    427:
                    428: /IntegerToString {
                    429:  /Arglist set /FunctionValue [ ] def
                    430:  [/f  ] /ArgNames set ArgNames pushVariables [ %%function body
                    431:  Arglist ArgNames mapset
                    432:  f   (string) dc /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    433: FunctionValue } def
                    434: %%end of function
                    435:
                    436: /Replace {
                    437:  /Arglist set /FunctionValue [ ] def
                    438:  [/f /rule  ] /ArgNames set ArgNames pushVariables [ %%function body
                    439:  Arglist ArgNames mapset
                    440:  f  rule   replace /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    441: FunctionValue } def
                    442: %%end of function
                    443:
                    444: /AsciiToString {
                    445:  /Arglist set /FunctionValue [ ] def
                    446:  [/c  ] /ArgNames set ArgNames pushVariables [ %%function body
                    447:  Arglist ArgNames mapset
                    448:  c   (integer) dc (string) dc /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    449: FunctionValue } def
                    450: %%end of function
                    451:
                    452: /ToString {
                    453:  /Arglist set /FunctionValue [ ] def
                    454:  [/p  ] /ArgNames set ArgNames pushVariables [ %%function body
                    455:  Arglist ArgNames mapset
                    456: [ %%start of local variables
                    457: /n /ans /i ] pushVariables [ %%local variables
                    458: /ans [   ]  def
                    459: [ %% function args
                    460: p ] IsArray
                    461:  %% if-condition
                    462:   { %%ifbody
                    463: /n [ %% function args
                    464: p ] Length
                    465:  def
                    466: /ans [ %% function args
                    467: ans ([ ) ] Append
                    468:  def
                    469: /i (0)..  def
                    470: %%for init.
                    471: %%for
                    472: { i n  lt
                    473:  {  } {exit} ifelse
                    474: [ {%%increment
                    475: /i  i (1).. add def
                    476: } %%end of increment{A}
                    477: {%%start of B part{B}
                    478: /ans [ %% function args
                    479: ans [ %% function args
                    480: [/p i  ]  Get
                    481: ] ToString
                    482: ] Append
                    483:  def
                    484: i n (1)..  sub
                    485:  eq not
                    486:  %% if-condition
                    487:   { %%ifbody
                    488: /ans [ %% function args
                    489: ans ( , ) ] Append
                    490:  def
                    491:   }%%end if if body
                    492:   { %%if- else part
                    493:   } ifelse
                    494: } %% end of B part. {B}
                    495:  2 1 roll] {exec} map
                    496: } loop %%end of for
                    497: /ans [ %% function args
                    498: ans ( ] ) ] Append
                    499:  def
                    500:   }%%end if if body
                    501:   { %%if- else part
                    502: /ans [  p   (dollar) dc    ]  def
                    503:   } ifelse
                    504: [ %% function args
                    505: ans ] AddString
                    506:  /FunctionValue set  {/ExitPoint goto} exec %%return
                    507: /ExitPoint ]pop popVariables %%pop the local variables
                    508: /ExitPoint ]pop popVariables %%pop argValues
                    509: FunctionValue } def
                    510: %%end of function
                    511:
                    512: /IsArray {
                    513:  /Arglist set /FunctionValue [ ] def
                    514:  [/p  ] /ArgNames set ArgNames pushVariables [ %%function body
                    515:  Arglist ArgNames mapset
                    516:  p   isArray /FunctionValue set   /ExitPoint ]pop popVariables %%pop argValues
                    517: FunctionValue } def
                    518: %%end of function
                    519:
                    520: /Denominator {
                    521:  /Arglist set /FunctionValue [ ] def
                    522:  [/f  ] /ArgNames set ArgNames pushVariables [ %%function body
                    523:  Arglist ArgNames mapset
                    524:  f   (denominator) dc /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    525: FunctionValue } def
                    526: %%end of function
                    527:
                    528: /Numerator {
                    529:  /Arglist set /FunctionValue [ ] def
                    530:  [/f  ] /ArgNames set ArgNames pushVariables [ %%function body
                    531:  Arglist ArgNames mapset
                    532:  f   (numerator) dc /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    533: FunctionValue } def
                    534: %%end of function
                    535:
                    536: /Replace {
                    537:  /Arglist set /FunctionValue [ ] def
                    538:  [/f /rule  ] /ArgNames set ArgNames pushVariables [ %%function body
                    539:  Arglist ArgNames mapset
                    540: [ %%start of local variables
                    541: /ans /n /tmp /i /num /den ] pushVariables [ %%local variables
                    542: [ %% function args
                    543: f ] IsArray
                    544:  %% if-condition
                    545:   { %%ifbody
                    546: /n [ %% function args
                    547: f ] Length
                    548:  def
                    549: /ans [   ]  def
                    550: /i (0)..  def
                    551: %%for init.
                    552: %%for
                    553: { i n  lt
                    554:  {  } {exit} ifelse
                    555: [ {%%increment
                    556: /i  i (1).. add def
                    557: } %%end of increment{A}
                    558: {%%start of B part{B}
                    559: /ans [ %% function args
                    560: ans [ %% function args
                    561: [/f i  ]  Get
                    562: rule ] Replace
                    563: ] Append
                    564:  def
                    565: } %% end of B part. {B}
                    566:  2 1 roll] {exec} map
                    567: } loop %%end of for
                    568: ans  /FunctionValue set  {/ExitPoint goto} exec %%return
                    569:   }%%end if if body
                    570:   { %%if- else part
                    571:   } ifelse
                    572:  f   tag RationalFunctionP eq   %% if-condition
                    573:   { %%ifbody
                    574: /num [ %% function args
                    575: f ] Numerator
                    576:  def
                    577: /den [ %% function args
                    578: f ] Denominator
                    579:  def
                    580: /num  num  rule   replace   def
                    581: /den  den  rule   replace   def
                    582: num den  div
                    583:  /FunctionValue set  {/ExitPoint goto} exec %%return
                    584:   }%%end if if body
                    585:   { %%if- else part
                    586:   } ifelse
                    587:  f  rule   replace /FunctionValue set  /ExitPoint ]pop popVariables %%pop the local variables
                    588: /ExitPoint ]pop popVariables %%pop argValues
                    589: FunctionValue } def
                    590: %%end of function
                    591:
                    592:   0 @@@.indexMode  /getxvar {
                    593:  /Arglist set /FunctionValue [ ] def
                    594:  [/i  ] /ArgNames set ArgNames pushVariables [ %%function body
                    595:  Arglist ArgNames mapset
                    596:  [(x) (var)   i   ..int ] system_variable /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    597: FunctionValue } def
                    598: %%end of function
                    599:
                    600: /getdvar {
                    601:  /Arglist set /FunctionValue [ ] def
                    602:  [/i  ] /ArgNames set ArgNames pushVariables [ %%function body
                    603:  Arglist ArgNames mapset
                    604:  [(D) (var)   i   ..int ] system_variable /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    605: FunctionValue } def
                    606: %%end of function
                    607:
                    608: /getvarn {
                    609:  /Arglist set /FunctionValue [ ] def
                    610:  [ ] /ArgNames set ArgNames pushVariables [ %%function body
                    611:  [(N)] system_variable (universalNumber) dc /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues
                    612: FunctionValue } def
                    613: %%end of function
                    614:
                    615: /SetRingVariables {
                    616:  /Arglist set /FunctionValue [ ] def
                    617:  [ ] /ArgNames set ArgNames pushVariables [ %%function body
                    618: [ %% function args
                    619: (SetRingVariables() Setting the global variables : ) ] Print
                    620: [ %% function args
                    621: (0)..  [(CC)] system_variable (universalNumber) dc  ] setRingVariables002
                    622: [ %% function args
                    623:  [(C)] system_variable (universalNumber) dc   [(LL)] system_variable (universalNumber) dc  ] setRingVariables002
                    624: [ %% function args
                    625:  [(L)] system_variable (universalNumber) dc   [(MM)] system_variable (universalNumber) dc  ] setRingVariables002
                    626: [ %% function args
                    627:  [(M)] system_variable (universalNumber) dc   [(NN)] system_variable (universalNumber) dc  ] setRingVariables002
                    628: [ %% function args
                    629: ] Ln
                    630: /ExitPoint ]pop popVariables %%pop argValues
                    631: FunctionValue } def
                    632: %%end of function
                    633:
                    634: /setRingVariables002 {
                    635:  /Arglist set /FunctionValue [ ] def
                    636:  [/tmp002_p /tmp002_q  ] /ArgNames set ArgNames pushVariables [ %%function body
                    637:  Arglist ArgNames mapset
                    638: [ %%start of local variables
                    639: /tmp002_i /tmp002_v /tmp002_str ] pushVariables [ %%local variables
                    640: /tmp002_i tmp002_p  def
                    641: %%for init.
                    642: %%for
                    643: { tmp002_i tmp002_q  lt
                    644:  {  } {exit} ifelse
                    645: [ {%%increment
                    646: /tmp002_i  tmp002_i (1).. add def
                    647: } %%end of increment{A}
                    648: {%%start of B part{B}
                    649: /tmp002_v [ %% function args
                    650: tmp002_i ] getxvar
                    651:  def
                    652: [ %% function args
                    653: tmp002_v ] Print
                    654: [ %% function args
                    655: ( ) ] Print
                    656: /str [ %% function args
                    657: [ (/) tmp002_v ( $) tmp002_v ($ expand def )   ] ] AddString
                    658:  def
                    659:  [(parse)   str   ] extension  /tmp002_v [ %% function args
                    660: tmp002_i ] getdvar
                    661:  def
                    662: [ %% function args
                    663: tmp002_v ] Print
                    664: [ %% function args
                    665: ( ) ] Print
                    666: /str [ %% function args
                    667: [ (/) tmp002_v ( $) tmp002_v ($ expand def )   ] ] AddString
                    668:  def
                    669:  [(parse)   str   ] extension  } %% end of B part. {B}
                    670:  2 1 roll] {exec} map
                    671: } loop %%end of for
                    672: /ExitPoint ]pop popVariables %%pop the local variables
                    673: /ExitPoint ]pop popVariables %%pop argValues
                    674: } def
                    675: %%end of function
                    676:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>