summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2009-09-11 17:38:57 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2009-09-11 17:38:57 +0000
commitf213a307a1e54b1a4a61904f697c605085fd4c84 (patch)
tree273169e959d9c3c052aae59024549258ce5b3fff
parentbfc2e9917db9b1a93bedc799c20e469a7c241dcf (diff)
downloadgcc-f213a307a1e54b1a4a61904f697c605085fd4c84.tar.gz
2009-09-11 Basile Starynkevitch <basile@starynkevitch.net>
* gcc/melt/warmelt-outobj.melt: adding more for makedoc, in particular the internal class_makedoc_info git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@151642 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.MELT4
-rw-r--r--gcc/melt/warmelt-outobj.melt60
2 files changed, 50 insertions, 14 deletions
diff --git a/gcc/ChangeLog.MELT b/gcc/ChangeLog.MELT
index 27099ce8c7e..166a849ab0e 100644
--- a/gcc/ChangeLog.MELT
+++ b/gcc/ChangeLog.MELT
@@ -1,5 +1,9 @@
2009-09-11 Basile Starynkevitch <basile@starynkevitch.net>
+ * melt/warmelt-outobj.melt: adding more for makedoc, in particular
+ the internal class_makedoc_info
+
+2009-09-11 Basile Starynkevitch <basile@starynkevitch.net>
[test tmatch-5.melt now translated ok]
* testsuite/melt/tmatch-5.melt: uncommented full test..
* melt/warmelt-normatch.melt: in normpat_instancepat the
diff --git a/gcc/melt/warmelt-outobj.melt b/gcc/melt/warmelt-outobj.melt
index d3c0a3a7665..45ea81f1867 100644
--- a/gcc/melt/warmelt-outobj.melt
+++ b/gcc/melt/warmelt-outobj.melt
@@ -3228,6 +3228,22 @@
;;;;;;;;;;;;;;;;
+(defclass class_makedoc_info
+ :super class_proped
+ :fields (
+ ;; lists
+ mkdoc_primitives
+ mkdoc_functions
+ mkdoc_citerators
+ mkdoc_cmatchers
+ mkdoc_selectors
+ mkdoc_fields
+ mkdoc_classes
+ mkdoc_instances
+ ;; map from formal symbols to lists ...
+ mkdoc_formaloccmap
+ )
+)
;;;;;
(defun makedoc_docmd (cmd moduldata)
(debug_msg cmd "start makedoc_docmd cmd")
@@ -3239,6 +3255,18 @@
(outarg (make_stringconst discr_string (melt_argument "output")))
(rlist (make_list discr_list))
(:long nbfil (list_length arglist))
+ (mdinfo
+ (instance class_makedoc_info
+ :mkdoc_primitives (make_list discr_list)
+ :mkdoc_functions (make_list discr_list)
+ :mkdoc_citerators (make_list discr_list)
+ :mkdoc_cmatchers (make_list discr_list)
+ :mkdoc_selectors (make_list discr_list)
+ :mkdoc_fields (make_list discr_list)
+ :mkdoc_classes (make_list discr_list)
+ :mkdoc_instances (make_list discr_list)
+ :mkdoc_formaloccmap (make_mapobject discr_mapobjects 1000)
+ ))
)
(debug_msg arglist "makedoc_docmd arglist")
(debug_msg outarg "makedoc_docmd outarg")
@@ -3263,20 +3291,24 @@
"MELT makedoc [#%ld]: read and expanded %ld expressions from %ld files",
melt_dbgcounter, $xlistlen, $nbfil) ;
}#)
- (list_every
- xlist
- (lambda (curexp)
- (debug_msg curexp "makedoc_docmd curexp")
- (match
- curexp
- (?(instance class_srcdef
- :sdef_name ?dnam
- :sdef_doc ?(as ?doc ?(instance class_sexpr :loca_location ?loc :sexp_contents ?docl)))
- (debug_msg dnam "makedoc_docmd dnam")
- (debug_msg doc "makedoc_docmd doc")
- )
- )
- )))))
+ (list_every
+ xlist
+ (lambda (curexp)
+ (debug_msg curexp "makedoc_docmd curexp")
+ (match
+ curexp
+ (?(instance class_srcdef
+ :sdef_name ?dnam
+ :sdef_doc
+ ?(as ?doc
+ ?(instance class_sexpr :loca_location ?loc :sexp_contents ?docl)))
+ (debug_msg dnam "makedoc_docmd dnam")
+ (debug_msg doc "makedoc_docmd doc")
+ (inform_strv loc "makedoc: got documented " (get_field :named_name dnam))
+ (inform_strv loc "makedoc: of class " (get_field :named_name (discrim curexp)))
+ )
+ )
+ )))))
;;;