| version 1.1, 1999/10/08 02:12:01 | 
version 1.7, 2004/09/16 23:53:44 | 
 | 
 | 
|   | 
 %% $OpenXM: OpenXM/src/kan96xx/Kan/smacro.sm1,v 1.6 2004/09/10 13:20:23 takayama Exp $ | 
|  %%%%%% global control variables | 
 %%%%%% global control variables | 
|  %%  /@@@.quiet 0 def  It is defined in scanner(). | 
 %%  /@@@.quiet 0 def  It is defined in scanner(). | 
|  /@@@.Dsymbol (D) def | 
 /@@@.Dsymbol (D) def | 
 | 
 | 
|  /@@@.hsymbol (h) def | 
 /@@@.hsymbol (h) def | 
|  /@@@.esymbol (e_) def | 
 /@@@.esymbol (e_) def | 
|  /@@@.Esymbol (E) def | 
 /@@@.Esymbol (E) def | 
|   | 
 /@@@.Hsymbol (H) def | 
|   | 
  | 
|  %%% pointer to the StandardContext. | 
 %%% pointer to the StandardContext. | 
|  /StandardContextp [(CurrentContextp)] system_variable def | 
 /StandardContextp [(CurrentContextp)] system_variable def | 
|  /null 0 (null) data_conversion def | 
 /null 0 (null) data_conversion def | 
|   | 
  | 
|   | 
 /makeInfix { | 
|   | 
   [(or_attr) 4   4 -1 roll ] extension | 
|   | 
 } def | 
|   | 
  | 
|  %%%%%%%%%%%%%%%%%%%%%%  usages %%%%%%%%%%%%%%%%%%%% | 
 %%%%%%%%%%%%%%%%%%%%%%  usages %%%%%%%%%%%%%%%%%%%% | 
|  /@.usages [[( ) [(gate keeper)]] ] def | 
 /@.usages [[( ) [(gate keeper)]] ] def | 
|  /putUsages { | 
 /putUsages { | 
 | 
 | 
|       [$PrintDollar$ 0] system_variable pop | 
      [$PrintDollar$ 0] system_variable pop | 
|       @@@.quiet 0 eq | 
      @@@.quiet 0 eq | 
|       {$sm1>$ print} { } ifelse | 
      {$sm1>$ print} { } ifelse | 
|   | 
      [(traceClearStack)] extension pop | 
|     ] system_variable pop | 
    ] system_variable pop | 
|  } def | 
 } def | 
|   | 
  | 
|  /? | 
 /? | 
|  { | 
 { | 
|     show_systemdictionary | 
    show_systemdictionary | 
|     (-- ?? : to see macro dictionary --) | 
    (-- ?? : to see macro dictionary  --) | 
|   | 
    (--  [(keyword in regular expression)] usages ::    --) | 
|     message | 
    message | 
|     $-- (keyWord) usage  to see the usages. Data type of (xxxyyy) is string.--$ | 
    $-- (keyWord) usage  to see the usages. Data type of (xxxyyy) is string.--$ | 
|       message | 
      message | 
 | 
 | 
|     print  newline ; | 
    print  newline ; | 
|  } def | 
 } def | 
|   | 
  | 
|  /. {expand} def | 
 /. { dup tag 3 eq { exec } {expand} ifelse } def | 
|   | 
  | 
|  /, {   } def | 
  | 
|   | 
  | 
|  /false 0 def | 
 /false 0 def | 
|   | 
  | 
 | 
 | 
|  % v1 v2 join | 
 % v1 v2 join | 
|  /join { | 
 /join { | 
|   /arg2 set /arg1 set | 
  /arg2 set /arg1 set | 
|   [/v1 /v2] pushVariables | 
  [(Kjoin) arg1 arg2] extension | 
|   /v1 arg1 def /v2 arg2 def | 
  | 
|   [ | 
  | 
|     [v1 aload pop v2 aload pop] /arg1 set | 
  | 
|   ] pop | 
  | 
|   popVariables | 
  | 
|   arg1 | 
  | 
|  } def | 
 } def | 
|   | 
  | 
|  /n.map 0 def  /i.map 0 def /ar.map 0 def /res.map 0 def  %% declare variables | 
 /n.map 0 def  /i.map 0 def /ar.map 0 def /res.map 0 def  %% declare variables |