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

SCM Repository

[smlnj] Annotation of /sml/trunk/ckit/src/ast/parse-to-ast-sig.sml
ViewVC logotype

Annotation of /sml/trunk/ckit/src/ast/parse-to-ast-sig.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 597 - (view) (download)

1 : dbm 597 (* ast/parse-to-ast-sig.sml *)
2 :    
3 :     (* This is the top-level interface to the C front-end. It is
4 :     * implemented by the structures Ansic, FiveESSC, and D *)
5 :    
6 :     signature PARSE_TO_AST =
7 :     sig
8 :    
9 :     (* astBundle: the collection of information returned as the result of elaboration *)
10 :     type astBundle =
11 :     {ast: Ast.ast, (* the abstract syntax representation of a trans. unit *)
12 :     tidtab: Bindings.tidBinding Tidtab.uidtab, (* table of type identifiers *)
13 :     errorCount: int, (* count of errors occuring during parsing and elaboration *)
14 :     warningCount: int,(* count of warnings occuring during parsing and elaboration *)
15 :     auxiliaryInfo: (* annotations and symbol table info *)
16 :     {aidtab: Tables.aidtab, (* type annotation table *)
17 :     implicits: Tables.aidtab,
18 :     (* types associated with implicit argument conversions.
19 :     * See, e.g. "usual unary" and "usual binary" conversions
20 :     * in Harbison & Steele *)
21 :     env: State.symtab}} (* symbol table generated during elaboration *)
22 :    
23 :     val progToState : astBundle -> State.stateInfo
24 :     (* extracts stateInfo from astBundle for cascading processing of multiple
25 :     * translation units *)
26 :    
27 :     val fileToAst' :
28 :     TextIO.outstream (* error stream *)
29 :     -> (Sizes.sizes * State.stateInfo) (* sizes info and initial state *)
30 :     -> string (* source file *)
31 :     -> astBundle
32 :     (* processs a source file given the state resulting from processing
33 :     * previous files *)
34 :    
35 :     val fileToAst :
36 :     string (* source file *)
37 :     -> astBundle
38 :     (* process a file in isolation *)
39 :    
40 :     val fileToC : string -> unit
41 :     (* process a file and pretty print the resulting ast *)
42 :    
43 :     end (* signature PARSE_TO_AST *)

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