Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/ml-nlffigen/README
ViewVC logotype

Diff of /sml/trunk/src/ml-nlffigen/README

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1066, Thu Feb 14 16:50:02 2002 UTC revision 1067, Fri Feb 15 17:08:17 2002 UTC
# Line 111  Line 111 
111                      obj :  thunkified object representing the C variable                      obj :  thunkified object representing the C variable
112    
113    struct foo *  (without existing definition of struct foo; incomplete type)    struct foo *  (without existing definition of struct foo; incomplete type)
114        -->   structure IS_foo  in     iptrs.sml        -->   structure IS_foo  in exported from <a>/is-foo.cm
115                 The structure is generated by instantiating functor              which consists of <d>/is-foo.sml and where <a> is a CM
116                 PointerToIncompletType.              anchor that points to directory <d>.
                This is turned off by specifying -incomplete (see below).  
117    
   union foo *   (without existing definition of struct foo; incomplete type)  
       -->   structure IU_foo  in     iptrs.sml  
118                 The structure is generated by instantiating functor                 The structure is generated by instantiating functor
119                 PointerToIncompletType.                 PointerToIncompletType.
120                 This is turned off by specifying -incomplete (see below).  
121                By specifying -incomplete (see below), <a>/is-foo.cm will
122                not be included into the main .cm-file (but it will still
123                be generated).
124    
125      union foo *   Same as with struct foo *, but replace IS_xxx with IU_xxx
126                and is-xxx with iu-xxx everywhere.
127    
128    Additional files for implementing function entry sequences are created    Additional files for implementing function entry sequences are created
129    and used internally.  They do not contribute exports, though.    and used internally.  They do not contribute exports, though.
# Line 168  Line 171 
171                  there is enough information for this in the C source;                  there is enough information for this in the C source;
172                  (this is not always very useful)                  (this is not always very useful)
173                  default: off                  default: off
174     -incomplete  Do not generate definitions for incomplete types;  these     -iptrs <d> <a>  Use directory <d> (default is equal to <dir>) as
175                    a "repository" for files related to incomplete pointers.
176                    Each incomplete type is represented by its own CM library
177                    so that different runs of ml-nlffigen can share the same
178                    repository without problems.  The directory <d> must be
179                    addressable from within <dir> by the CM standard path <a>
180                    (which should preferably be anchored).  The default for
181                    <a> is nothing (since the generated sublibrary will reside
182                    directly within <dir>).
183       -incomplete  Do not include definitions for incomplete types;  these
184                  will then have to be provided by the programmer                  will then have to be provided by the programmer
185                  default: generate such definitions, making each incomplete                  default: include such definitions, making each incomplete
186                  type a new abstract type.                  type a new abstract type.
187                  (If -incomplete has been specified, ml-nlffigen will                  By specifying the -iptrs option (see below), one can
188                  still generate the file <dir>/iptrs.sml, but it will not                  designate a "repository" of incomplete types that can
189                  be mentioned in the generated .cm file. Moreover,                  be shared among the outputs of several different runs
190                  the definitions in the generated <dir>/iptrs.sml will                  of ml-nlffigen.
                 then be commented out, and the usual "credits" comments that  
                 appear at the top of all other generated files will  
                 be omitted.)  
191     -libhandle <h>   Use the variable <h> to refer to the handle to the     -libhandle <h>   Use the variable <h> to refer to the handle to the
192                  shared library object.  Given the constraints of CM, <h>                  shared library object.  Given the constraints of CM, <h>
193                  must have the form of a long ML identifier, e.g.,                  must have the form of a long ML identifier, e.g.,
# Line 216  Line 225 
225                  enums) will get an additional suffix _<g>.  (This should                  enums) will get an additional suffix _<g>.  (This should
226                  be used if output from several indepdendent runs of                  be used if output from several indepdendent runs of
227                  ml-nlffigen are to coexist in the same ML program.)                  ml-nlffigen are to coexist in the same ML program.)
                     In addition to this, <g>_ will be prefixed (in addition  
                 to any "-prefix"-specified prefix and the usual "IS_")  
                 to structures representing incomplete pointer types.  
                 The prefixing is *not* done to IS_-structures if the  
                 "-incomplete" command line switch was also set.  
228     --           Terminate processing of options, remaining arguments are     --           Terminate processing of options, remaining arguments are
229                  taken to be C sources.                  taken to be C sources.
230    

Legend:
Removed from v.1066  
changed lines
  Added in v.1067

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0