PreviousUpNext

15.3.62  src/lib/c-kit/src/ast/sizeof.api

## sizeof.api

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

api Sizeof {

    warnings_on:   Void -> Void; /* default */ 
    warnings_off:  Void -> Void; 
    byte_size_of:   { sizes: sizes::Sizes,  err: String -> Void,
                      warn: String -> Void, bug: String -> Void }
         -> tables::Tidtab -> raw_syntax::Ctype -> { bytes: Int, byte_alignment: Int };

    reset:  Void -> Void;
       #  reset memoization table 

    #  David B MacQueen: following not yet used? 

    bit_size_of:    { sizes: sizes::Sizes,  err: String -> Void,
                      warn: String -> Void, bug: String -> Void }
         -> tables::Tidtab -> raw_syntax::Ctype
         -> { bits: Int, bit_alignment: Int };

    field_offsets: { sizes: sizes::Sizes,  err: String -> Void,
                     warn: String -> Void, bug: String -> Void }
         -> tables::Tidtab -> raw_syntax::Ctype
         -> Null_Or( List { member_opt: Null_Or( raw_syntax::Member ), bit_offset: Int } );

    # Look up a field in the list returned by fieldOffsets:
    #
    get_field: { sizes: sizes::Sizes,   err: String -> Void,
                  warn: String -> Void, bug: String -> Void }
         -> (raw_syntax::Member,  List { member_opt: Null_Or( raw_syntax::Member ), bit_offset: Int })
         -> { member_opt: Null_Or( raw_syntax::Member ), bit_offset: Int };

}; #  Api SIZEOF 


## Copyright (c) 1998 by Lucent Technologies 
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext