aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfilliatr1999-09-28 14:41:13 +0000
committerfilliatr1999-09-28 14:41:13 +0000
commitdeefad55738c9d7ba074cc0ce83dbe707f55d3eb (patch)
treeb4706eb70621c19ee25161e80314611366a4c504
parent9189bfc457415bbc0b47d2c3c3e1e5d07153f398 (diff)
mise en place du toplevel (ne compile pas encore)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@86 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--.depend92
-rw-r--r--Makefile10
-rw-r--r--doc/kernel.dep.ps2
-rw-r--r--doc/library.dep.ps161
4 files changed, 182 insertions, 83 deletions
diff --git a/.depend b/.depend
index 6c2035e8da..7b4bee928e 100644
--- a/.depend
+++ b/.depend
@@ -1,15 +1,17 @@
kernel/abstraction.cmi: kernel/names.cmi kernel/term.cmi
kernel/closure.cmi: kernel/environ.cmi kernel/evd.cmi kernel/generic.cmi \
kernel/names.cmi lib/pp.cmi kernel/term.cmi
-kernel/constant.cmi: kernel/names.cmi kernel/sign.cmi kernel/term.cmi
+kernel/constant.cmi: kernel/names.cmi kernel/sign.cmi kernel/term.cmi \
+ kernel/univ.cmi
kernel/environ.cmi: kernel/abstraction.cmi kernel/constant.cmi kernel/evd.cmi \
kernel/inductive.cmi kernel/names.cmi kernel/sign.cmi kernel/term.cmi \
kernel/univ.cmi
kernel/evd.cmi: kernel/names.cmi kernel/sign.cmi kernel/term.cmi
kernel/generic.cmi: kernel/names.cmi lib/util.cmi
kernel/indtypes.cmi: kernel/environ.cmi kernel/inductive.cmi kernel/names.cmi \
- kernel/term.cmi
-kernel/inductive.cmi: kernel/names.cmi kernel/sign.cmi kernel/term.cmi
+ kernel/term.cmi kernel/univ.cmi
+kernel/inductive.cmi: kernel/names.cmi kernel/sign.cmi kernel/term.cmi \
+ kernel/univ.cmi
kernel/instantiate.cmi: kernel/environ.cmi kernel/inductive.cmi \
kernel/names.cmi kernel/term.cmi
kernel/names.cmi: lib/pp.cmi
@@ -43,8 +45,16 @@ parsing/coqast.cmi: lib/dyn.cmi
parsing/g_minicoq.cmi: kernel/names.cmi lib/pp.cmi kernel/sign.cmi \
kernel/term.cmi
parsing/pcoq.cmi: parsing/coqast.cmi
+proofs/proof_trees.cmi: parsing/coqast.cmi kernel/names.cmi kernel/term.cmi
+toplevel/errors.cmi: parsing/coqast.cmi lib/pp.cmi
toplevel/himsg.cmi: kernel/environ.cmi kernel/names.cmi lib/pp.cmi \
kernel/sign.cmi kernel/term.cmi kernel/type_errors.cmi
+toplevel/mltop.cmi: library/libobject.cmi
+toplevel/protectedtoplevel.cmi: lib/pp.cmi
+toplevel/toplevel.cmi: parsing/pcoq.cmi lib/pp.cmi
+toplevel/vernac.cmi: parsing/coqast.cmi parsing/pcoq.cmi
+toplevel/vernacinterp.cmi: parsing/coqast.cmi lib/dyn.cmi kernel/names.cmi \
+ lib/pp.cmi proofs/proof_trees.cmi
config/coq_config.cmo: config/coq_config.cmi
config/coq_config.cmx: config/coq_config.cmi
dev/db_printers.cmo: kernel/names.cmi lib/pp.cmi
@@ -60,17 +70,17 @@ kernel/closure.cmx: kernel/environ.cmx kernel/evd.cmx kernel/generic.cmx \
kernel/inductive.cmx kernel/instantiate.cmx kernel/names.cmx lib/pp.cmx \
kernel/term.cmx kernel/univ.cmx lib/util.cmx kernel/closure.cmi
kernel/constant.cmo: kernel/generic.cmi kernel/names.cmi kernel/sign.cmi \
- kernel/term.cmi kernel/constant.cmi
+ kernel/term.cmi kernel/univ.cmi kernel/constant.cmi
kernel/constant.cmx: kernel/generic.cmx kernel/names.cmx kernel/sign.cmx \
- kernel/term.cmx kernel/constant.cmi
+ kernel/term.cmx kernel/univ.cmx kernel/constant.cmi
kernel/environ.cmo: kernel/abstraction.cmi kernel/constant.cmi kernel/evd.cmi \
- kernel/generic.cmi kernel/inductive.cmi kernel/names.cmi kernel/sign.cmi \
- lib/system.cmi kernel/term.cmi kernel/univ.cmi lib/util.cmi \
- kernel/environ.cmi
+ kernel/generic.cmi kernel/inductive.cmi kernel/names.cmi lib/pp.cmi \
+ kernel/sign.cmi lib/system.cmi kernel/term.cmi kernel/univ.cmi \
+ lib/util.cmi kernel/environ.cmi
kernel/environ.cmx: kernel/abstraction.cmx kernel/constant.cmx kernel/evd.cmx \
- kernel/generic.cmx kernel/inductive.cmx kernel/names.cmx kernel/sign.cmx \
- lib/system.cmx kernel/term.cmx kernel/univ.cmx lib/util.cmx \
- kernel/environ.cmi
+ kernel/generic.cmx kernel/inductive.cmx kernel/names.cmx lib/pp.cmx \
+ kernel/sign.cmx lib/system.cmx kernel/term.cmx kernel/univ.cmx \
+ lib/util.cmx kernel/environ.cmi
kernel/evd.cmo: kernel/names.cmi kernel/sign.cmi kernel/term.cmi lib/util.cmi \
kernel/evd.cmi
kernel/evd.cmx: kernel/names.cmx kernel/sign.cmx kernel/term.cmx lib/util.cmx \
@@ -86,9 +96,9 @@ kernel/indtypes.cmx: kernel/environ.cmx kernel/generic.cmx \
kernel/inductive.cmx kernel/instantiate.cmx kernel/reduction.cmx \
kernel/sign.cmx kernel/term.cmx lib/util.cmx kernel/indtypes.cmi
kernel/inductive.cmo: kernel/generic.cmi kernel/names.cmi kernel/sign.cmi \
- kernel/term.cmi lib/util.cmi kernel/inductive.cmi
+ kernel/term.cmi kernel/univ.cmi lib/util.cmi kernel/inductive.cmi
kernel/inductive.cmx: kernel/generic.cmx kernel/names.cmx kernel/sign.cmx \
- kernel/term.cmx lib/util.cmx kernel/inductive.cmi
+ kernel/term.cmx kernel/univ.cmx lib/util.cmx kernel/inductive.cmi
kernel/instantiate.cmo: kernel/constant.cmi kernel/environ.cmi kernel/evd.cmi \
kernel/generic.cmi kernel/inductive.cmi kernel/names.cmi lib/pp.cmi \
kernel/sign.cmi kernel/term.cmi lib/util.cmi kernel/instantiate.cmi
@@ -147,6 +157,8 @@ lib/dyn.cmo: lib/util.cmi lib/dyn.cmi
lib/dyn.cmx: lib/util.cmx lib/dyn.cmi
lib/hashcons.cmo: lib/hashcons.cmi
lib/hashcons.cmx: lib/hashcons.cmi
+lib/options.cmo: lib/options.cmi
+lib/options.cmx: lib/options.cmi
lib/pp.cmo: lib/pp_control.cmi lib/pp.cmi
lib/pp.cmx: lib/pp_control.cmx lib/pp.cmi
lib/pp_control.cmo: lib/pp_control.cmi
@@ -155,8 +167,14 @@ lib/system.cmo: lib/pp.cmi lib/util.cmi lib/system.cmi
lib/system.cmx: lib/pp.cmx lib/util.cmx lib/system.cmi
lib/util.cmo: lib/pp.cmi lib/util.cmi
lib/util.cmx: lib/pp.cmx lib/util.cmi
-library/declare.cmo: library/declare.cmi
-library/declare.cmx: library/declare.cmi
+library/declare.cmo: kernel/constant.cmi library/global.cmi \
+ library/impargs.cmi kernel/inductive.cmi library/lib.cmi \
+ library/libobject.cmi kernel/names.cmi library/nametab.cmi lib/util.cmi \
+ library/declare.cmi
+library/declare.cmx: kernel/constant.cmx library/global.cmx \
+ library/impargs.cmx kernel/inductive.cmx library/lib.cmx \
+ library/libobject.cmx kernel/names.cmx library/nametab.cmx lib/util.cmx \
+ library/declare.cmi
library/global.cmo: library/summary.cmi kernel/typing.cmi library/global.cmi
library/global.cmx: library/summary.cmx kernel/typing.cmx library/global.cmi
library/impargs.cmo: kernel/constant.cmi kernel/generic.cmi \
@@ -199,6 +217,14 @@ parsing/coqast.cmo: lib/dyn.cmi lib/hashcons.cmi parsing/coqast.cmi
parsing/coqast.cmx: lib/dyn.cmx lib/hashcons.cmx parsing/coqast.cmi
parsing/lexer.cmo: lib/util.cmi parsing/lexer.cmi
parsing/lexer.cmx: lib/util.cmx parsing/lexer.cmi
+proofs/proof_trees.cmo: parsing/coqast.cmi kernel/term.cmi \
+ proofs/proof_trees.cmi
+proofs/proof_trees.cmx: parsing/coqast.cmx kernel/term.cmx \
+ proofs/proof_trees.cmi
+toplevel/errors.cmo: parsing/ast.cmi lib/options.cmi lib/pp.cmi lib/util.cmi \
+ toplevel/errors.cmi
+toplevel/errors.cmx: parsing/ast.cmx lib/options.cmx lib/pp.cmx lib/util.cmx \
+ toplevel/errors.cmi
toplevel/himsg.cmo: kernel/environ.cmi kernel/generic.cmi kernel/names.cmi \
lib/pp.cmi kernel/reduction.cmi kernel/sign.cmi kernel/term.cmi \
kernel/type_errors.cmi lib/util.cmi toplevel/himsg.cmi
@@ -213,8 +239,36 @@ toplevel/minicoq.cmx: kernel/constant.cmx parsing/g_minicoq.cmi \
kernel/generic.cmx toplevel/himsg.cmx kernel/inductive.cmx \
kernel/names.cmx lib/pp.cmx kernel/sign.cmx kernel/term.cmx \
kernel/type_errors.cmx kernel/typing.cmx lib/util.cmx
-parsing/g_basevernac.cmo: parsing/ast.cmi parsing/coqast.cmi parsing/pcoq.cmi
-parsing/g_basevernac.cmx: parsing/ast.cmx parsing/coqast.cmx parsing/pcoq.cmi
+toplevel/mltop.cmo: library/libobject.cmi library/library.cmi lib/pp.cmi \
+ library/summary.cmi lib/system.cmi lib/util.cmi toplevel/vernacinterp.cmi \
+ toplevel/mltop.cmi
+toplevel/mltop.cmx: library/libobject.cmx library/library.cmx lib/pp.cmx \
+ library/summary.cmx lib/system.cmx lib/util.cmx toplevel/vernacinterp.cmi \
+ toplevel/mltop.cmi
+toplevel/protectedtoplevel.cmo: toplevel/errors.cmi parsing/pcoq.cmi \
+ lib/pp.cmi toplevel/vernac.cmi toplevel/vernacinterp.cmi \
+ toplevel/protectedtoplevel.cmi
+toplevel/protectedtoplevel.cmx: toplevel/errors.cmx parsing/pcoq.cmi \
+ lib/pp.cmx toplevel/vernac.cmx toplevel/vernacinterp.cmi \
+ toplevel/protectedtoplevel.cmi
+toplevel/toplevel.cmo: parsing/ast.cmi toplevel/errors.cmi toplevel/mltop.cmi \
+ lib/options.cmi parsing/pcoq.cmi proofs/pfedit.cmi lib/pp.cmi \
+ toplevel/protectedtoplevel.cmi lib/util.cmi toplevel/vernac.cmi \
+ toplevel/vernacinterp.cmi toplevel/toplevel.cmi
+toplevel/toplevel.cmx: parsing/ast.cmx toplevel/errors.cmx toplevel/mltop.cmx \
+ lib/options.cmx parsing/pcoq.cmi proofs/pfedit.cmi lib/pp.cmx \
+ toplevel/protectedtoplevel.cmx lib/util.cmx toplevel/vernac.cmx \
+ toplevel/vernacinterp.cmi toplevel/toplevel.cmi
+toplevel/vernac.cmo: parsing/ast.cmi library/discharge.cmi \
+ library/library.cmi parsing/pcoq.cmi proofs/pfedit.cmi lib/pp.cmi \
+ lib/system.cmi toplevel/vernacinterp.cmi toplevel/vernac.cmi
+toplevel/vernac.cmx: parsing/ast.cmx library/discharge.cmi \
+ library/library.cmx parsing/pcoq.cmi proofs/pfedit.cmi lib/pp.cmx \
+ lib/system.cmx toplevel/vernacinterp.cmi toplevel/vernac.cmi
+parsing/g_basevernac.cmo: parsing/ast.cmi parsing/coqast.cmi parsing/pcoq.cmi \
+ toplevel/vernac.cmi
+parsing/g_basevernac.cmx: parsing/ast.cmx parsing/coqast.cmx parsing/pcoq.cmi \
+ toplevel/vernac.cmx
parsing/g_command.cmo: parsing/ast.cmi parsing/coqast.cmi parsing/pcoq.cmi
parsing/g_command.cmx: parsing/ast.cmx parsing/coqast.cmx parsing/pcoq.cmi
parsing/g_minicoq.cmo: kernel/generic.cmi parsing/lexer.cmi kernel/names.cmi \
@@ -233,8 +287,8 @@ parsing/g_tactic.cmo: parsing/ast.cmi parsing/coqast.cmi parsing/pcoq.cmi \
lib/pp.cmi
parsing/g_tactic.cmx: parsing/ast.cmx parsing/coqast.cmx parsing/pcoq.cmi \
lib/pp.cmx
-parsing/g_vernac.cmo: parsing/coqast.cmi parsing/pcoq.cmi
-parsing/g_vernac.cmx: parsing/coqast.cmx parsing/pcoq.cmi
+parsing/g_vernac.cmo: parsing/coqast.cmi parsing/pcoq.cmi toplevel/vernac.cmi
+parsing/g_vernac.cmx: parsing/coqast.cmx parsing/pcoq.cmi toplevel/vernac.cmx
parsing/pcoq.cmo: parsing/coqast.cmi parsing/lexer.cmi lib/pp.cmi \
lib/util.cmi parsing/pcoq.cmi
parsing/pcoq.cmx: parsing/coqast.cmx parsing/lexer.cmx lib/pp.cmx \
diff --git a/Makefile b/Makefile
index cbaed055c7..bc7a67eb1c 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,8 @@ noargument:
@echo " make cleanall"
@echo or make archclean
-LOCALINCLUDES=-I config -I lib -I kernel -I library -I parsing -I toplevel
+LOCALINCLUDES=-I config -I lib -I kernel -I library \
+ -I proofs -I parsing -I toplevel
INCLUDES=$(LOCALINCLUDES) -I $(CAMLP4LIB)
BYTEFLAGS=$(INCLUDES) $(CAMLDEBUG)
@@ -31,7 +32,7 @@ CAMLP4OBJS=gramlib.cma
CONFIG=config/coq_config.cmo
LIB=lib/pp_control.cmo lib/pp.cmo lib/util.cmo \
- lib/hashcons.cmo lib/dyn.cmo lib/system.cmo
+ lib/hashcons.cmo lib/dyn.cmo lib/system.cmo lib/options.cmo
KERNEL=kernel/names.cmo kernel/generic.cmo kernel/univ.cmo kernel/term.cmo \
kernel/sign.cmo kernel/evd.cmo kernel/constant.cmo \
@@ -49,7 +50,10 @@ PARSING=parsing/lexer.cmo parsing/coqast.cmo parsing/pcoq.cmo parsing/ast.cmo \
parsing/g_prim.cmo parsing/g_basevernac.cmo parsing/g_vernac.cmo \
parsing/g_command.cmo parsing/g_tactic.cmo parsing/g_multiple_case.cmo
-TOPLEVEL=toplevel/himsg.cmo
+PROOFS=proofs/proof_trees.cmo
+
+TOPLEVEL=toplevel/himsg.cmo toplevel/errors.cmo toplevel/vernac.cmo \
+ toplevel/protectedtoplevel.cmo toplevel/toplevel.cmo
CMA=$(CLIBS) $(CAMLP4OBJS)
CMXA=$(CMA:.cma=.cmxa)
diff --git a/doc/kernel.dep.ps b/doc/kernel.dep.ps
index 5a7fbd82b3..1a694e765c 100644
--- a/doc/kernel.dep.ps
+++ b/doc/kernel.dep.ps
@@ -1,6 +1,6 @@
%!PS-Adobe-2.0
%%Creator: dot version uwin98 (01-26-98)
-%%For: (jc) Jean-Christophe,,,,
+%%For: Bill Gates
%%Title: G
%%Pages: (atend)
%%BoundingBox: 36 36 577 131
diff --git a/doc/library.dep.ps b/doc/library.dep.ps
index 5f809dd6dd..b6c58663f6 100644
--- a/doc/library.dep.ps
+++ b/doc/library.dep.ps
@@ -1,9 +1,9 @@
%!PS-Adobe-2.0
%%Creator: dot version uwin98 (01-26-98)
-%%For: (jc) Jean-Christophe,,,,
+%%For: Bill Gates
%%Title: G
%%Pages: (atend)
-%%BoundingBox: 36 36 323 181
+%%BoundingBox: 36 36 423 257
%%EndComments
%%BeginProlog
save
@@ -139,9 +139,9 @@ def
% /arrowwidth 5 def
%%EndSetup
%%Page: 1 1
-%%PageBoundingBox: 36 36 323 181
+%%PageBoundingBox: 36 36 423 257
gsave
-35 35 288 146 boxprim clip newpath
+35 35 388 222 boxprim clip newpath
36 36 translate
0 0 1 beginpage
0 0 translate 0 rotate
@@ -150,153 +150,194 @@ gsave
% States
gsave 10 dict begin
-33 18 27 18 ellipse_path
+133 56 27 18 ellipse_path
stroke
gsave 10 dict begin
-33 19 moveto (States) 33 14.00 -0.50 alignedtext
+133 57 moveto (States) 33 14.00 -0.50 alignedtext
end grestore
end grestore
% Lib
gsave 10 dict begin
-138 18 27 18 ellipse_path
+238 68 27 18 ellipse_path
stroke
gsave 10 dict begin
-138 19 moveto (Lib) 19 14.00 -0.50 alignedtext
+238 69 moveto (Lib) 19 14.00 -0.50 alignedtext
end grestore
end grestore
% States -> Lib
-newpath 60 18 moveto
-73 18 88 18 101 18 curveto
+newpath 160 59 moveto
+173 61 188 62 202 64 curveto
stroke
-newpath 101 16 moveto
-111 18 lineto
-101 21 lineto
+newpath 201 61 moveto
+211 65 lineto
+201 66 lineto
closepath
gsave 0 setgray stroke grestore fill
% Summary
gsave 10 dict begin
-248 72 37 18 ellipse_path
+348 133 37 18 ellipse_path
stroke
gsave 10 dict begin
-248 73 moveto (Summary) 54 14.00 -0.50 alignedtext
+348 134 moveto (Summary) 54 14.00 -0.50 alignedtext
end grestore
end grestore
% Lib -> Summary
-newpath 160 29 moveto
-175 37 196 47 213 55 curveto
+newpath 258 80 moveto
+275 90 297 103 316 114 curveto
stroke
-newpath 213 52 moveto
-221 59 lineto
-211 57 lineto
+newpath 317 112 moveto
+324 119 lineto
+314 116 lineto
closepath
gsave 0 setgray stroke grestore fill
% Libobject
gsave 10 dict begin
-248 18 37 18 ellipse_path
+348 68 37 18 ellipse_path
stroke
gsave 10 dict begin
-248 19 moveto (Libobject) 53 14.00 -0.50 alignedtext
+348 69 moveto (Libobject) 53 14.00 -0.50 alignedtext
end grestore
end grestore
% Lib -> Libobject
-newpath 165 18 moveto
-176 18 189 18 201 18 curveto
+newpath 265 68 moveto
+276 68 289 68 301 68 curveto
stroke
-newpath 201 16 moveto
-211 18 lineto
-201 21 lineto
+newpath 301 66 moveto
+311 68 lineto
+301 71 lineto
closepath
gsave 0 setgray stroke grestore fill
% Nametab
gsave 10 dict begin
-138 72 35 18 ellipse_path
+238 198 35 18 ellipse_path
stroke
gsave 10 dict begin
-138 73 moveto (Nametab) 50 14.00 -0.50 alignedtext
+238 199 moveto (Nametab) 50 14.00 -0.50 alignedtext
end grestore
end grestore
% Nametab -> Summary
-newpath 174 72 moveto
-183 72 192 72 200 72 curveto
+newpath 261 184 moveto
+277 175 298 162 316 152 curveto
stroke
-newpath 200 70 moveto
-210 72 lineto
-200 75 lineto
+newpath 314 150 moveto
+324 147 lineto
+317 154 lineto
closepath
gsave 0 setgray stroke grestore fill
% Library
gsave 10 dict begin
-33 72 31 18 ellipse_path
+133 110 31 18 ellipse_path
stroke
gsave 10 dict begin
-33 73 moveto (Library) 41 14.00 -0.50 alignedtext
+133 111 moveto (Library) 41 14.00 -0.50 alignedtext
end grestore
end grestore
% Library -> Lib
-newpath 56 60 moveto
-71 52 92 42 108 33 curveto
+newpath 159 100 moveto
+173 94 191 87 205 81 curveto
stroke
-newpath 106 31 moveto
-116 29 lineto
-108 36 lineto
+newpath 204 79 moveto
+214 77 lineto
+206 83 lineto
closepath
gsave 0 setgray stroke grestore fill
% Global
gsave 10 dict begin
-138 126 29 18 ellipse_path
+238 133 29 18 ellipse_path
stroke
gsave 10 dict begin
-138 127 moveto (Global) 38 14.00 -0.50 alignedtext
+238 134 moveto (Global) 38 14.00 -0.50 alignedtext
end grestore
end grestore
% Library -> Global
-newpath 56 84 moveto
-71 92 91 101 107 110 curveto
+newpath 162 116 moveto
+174 118 188 121 201 125 curveto
stroke
-newpath 107 107 moveto
-115 114 lineto
-105 112 lineto
+newpath 201 122 moveto
+210 127 lineto
+200 127 lineto
closepath
gsave 0 setgray stroke grestore fill
% Global -> Summary
-newpath 161 115 moveto
-176 107 196 97 213 89 curveto
+newpath 268 133 moveto
+278 133 289 133 300 133 curveto
stroke
-newpath 212 87 moveto
-222 85 lineto
-214 91 lineto
+newpath 300 131 moveto
+310 133 lineto
+300 136 lineto
closepath
gsave 0 setgray stroke grestore fill
% Impargs
gsave 10 dict begin
-33 126 33 18 ellipse_path
+133 164 33 18 ellipse_path
stroke
gsave 10 dict begin
-33 127 moveto (Impargs) 45 14.00 -0.50 alignedtext
+133 165 moveto (Impargs) 45 14.00 -0.50 alignedtext
end grestore
end grestore
% Impargs -> Global
-newpath 66 126 moveto
-77 126 88 126 98 126 curveto
+newpath 162 155 moveto
+174 152 189 147 202 144 curveto
stroke
-newpath 98 124 moveto
-108 126 lineto
-98 129 lineto
+newpath 201 142 moveto
+211 141 lineto
+202 147 lineto
+closepath
+gsave 0 setgray stroke grestore fill
+
+% Declare
+gsave 10 dict begin
+32 164 32 18 ellipse_path
+stroke
+gsave 10 dict begin
+32 165 moveto (Declare) 43 14.00 -0.50 alignedtext
+end grestore
+end grestore
+
+% Declare -> Lib
+newpath 38 146 moveto
+49 115 74 53 100 26 curveto
+123 3 179 31 212 51 curveto
+stroke
+newpath 212 48 moveto
+219 55 lineto
+209 52 lineto
+closepath
+gsave 0 setgray stroke grestore fill
+
+% Declare -> Nametab
+newpath 57 175 moveto
+77 184 100 194 100 194 curveto
+124 198 162 199 192 199 curveto
+stroke
+newpath 192 197 moveto
+202 199 lineto
+192 202 lineto
+closepath
+gsave 0 setgray stroke grestore fill
+
+% Declare -> Impargs
+newpath 64 164 moveto
+72 164 81 164 90 164 curveto
+stroke
+newpath 90 162 moveto
+100 164 lineto
+90 167 lineto
closepath
gsave 0 setgray stroke grestore fill
endpage