PreviousUpNext

15.3.57  src/lib/c-kit/src/ast/parse-to-ast.api

#  Ast/parse-to-ast.api

# Compiled by:
#     src/lib/c-kit/src/ast/ast.sublib

# This is the top-level interface to the C frontend.
# It is  implemented by the packages Ansic, FiveESSC, and D

api Parse_To_Raw_Syntax_Tree {


    # Raw_Syntax_Tree_Bundle: the collection of information
    # returned as the result of typechecking:
    #
    Raw_Syntax_Tree_Bundle
        =
        { raw_syntax_tree:   raw_syntax::Raw_Syntax_Tree,               # The abstract syntax representation of a trans. unit 
          tidtab:            tidtab::Uidtab( namings::Tid_Naming ),     # table of type identifiers 
          error_count:       Int,                                       # Count of errors occuring during parsing and elaboration 
          warning_count:     Int,                                       # Count of warnings occuring during parsing and elaboration 
          auxiliary_info:                                               # Annotations and symbol table info 
              { dictionary:          state::Symtab,                             # Symbol table generated during typechecking.

                aidtab:      tables::Aidtab,                            # Type annotation table.

                implicits:   tables::Aidtab                             # Types associated with implicit argument conversions.
                                                                        # See, e::g. "usual unary" and "usual binary" conversions
                                                                        # in Harbison & Steele
              } 
        };

    prog_to_state:  Raw_Syntax_Tree_Bundle -> state::State_Info;
        #
        # Extracts stateInfo from Raw_Syntax_Tree_Bundle
        # for cascading processing of multiple
        # translation units

    file_to_raw_syntax_tree' : 
      file::Output_Stream #  error stream 
      -> ((sizes::Sizes, state::State_Info)) #  sizes info and initial state 
      -> String  #  source file 
      -> Raw_Syntax_Tree_Bundle;
        #
        # processs a source file given the state resulting from processing
        # previous files

    file_to_raw_syntax_tree
       :
       String                                                           #  source file 
       ->
       Raw_Syntax_Tree_Bundle;
        #
        # Process a file in isolation.

   file_to_c:  String -> Void;
        #
        # Process a file and pretty print the resulting raw_syntax_tree.

};                                                                      #  Api Parse_To_Raw_Syntax_Tree 



## Changes by Jeff Prothero Copyright (c) 2010-2011,
## released under Gnu Public Licence version 3.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext