Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

more::lang Namespace Reference

C++ language and compiler details. More...

Compounds

Typedefs

Enumerations

Functions

Variables


Detailed Description

C++ language and compiler details.

Access to structure data and functions based on runtime descriptions. Code generation, compilation and linkage.


Typedef Documentation

typedef void(* more::lang::fn_ptr_t)()
 

Type used for function pointers with unknown prototype.

typedef int_least16_t more::lang::int16_t
 

typedef int_least32_t more::lang::int32_t
 

typedef int_least8_t more::lang::int8_t
 

typedef int_least16_t more::lang::int_fast16_t
 

typedef int_least32_t more::lang::int_fast32_t
 

typedef int_least8_t more::lang::int_fast8_t
 

typedef signed char more::lang::int_least8_t
 

a signed integer at least 8 bits wide.

typedef long more::lang::intmax_t
 

typedef int more::lang::intptr_t
 

typedef uint_least16_t more::lang::uint16_t
 

typedef uint_least32_t more::lang::uint32_t
 

typedef uint_least8_t more::lang::uint8_t
 

typedef uint_least16_t more::lang::uint_fast16_t
 

typedef uint_least32_t more::lang::uint_fast32_t
 

typedef uint_least8_t more::lang::uint_fast8_t
 

typedef unsigned char more::lang::uint_least8_t
 

an unsigned integer at least 8 bits wide.

typedef unsigned long more::lang::uintmax_t
 

typedef unsigned int more::lang::uintptr_t
 


Enumeration Type Documentation

enum more::lang::lang_t
 

An enum type to identify a programming language.

Enumeration values:
lang_undefined 
lang_c 
lang_cxx 
lang_scheme 
lang_java 
lang_shell 
lang_perl 
lang_f77 
lang_f90 
lang_end 


Function Documentation

ct_type const* arithmetic_result_type ct_type const *    x,
ct_type const *    y
 

Return result type of a binary arithmetic operation on x and y, or 0 if invalid.

The result is detemined by type promotion and coversion rule.

package* bits_package  
 

std::string c_header_file_name std::string const &    bname,
std::string const &    dir = "."
 

std::string c_source_file_name std::string const &    bname,
std::string const &    dir = "."
 

template<typename T>
ct_type const* ct_type_of   x [inline]
 

Return type ct_type descriptor of T.

template<typename T>
ct_type const* ct_type_of   [inline]
 

Returns the ct_type descriptor of T.

If T is not a builtin type, or a pointer to or array of such, register_ct_type_of must be called once first with the same type argument to register the type descriptor.

std::string cxx_header_file_name std::string const &    bname,
std::string const &    dir = "."
 

std::string cxx_source_file_name std::string const &    bname,
std::string const &    dir = "."
 

std::string dlopen_file_name std::string const &    bname,
std::string const &    dir = "."
 

bool equal location   locn0,
location   locn1
[inline]
 

bool equal resolver   h0,
resolver   h1
[inline]
 

bool equal ct_type const *    t0,
ct_type const *    t1
[inline]
 

Return true if t0 and t1 are equal, taking into account CV qualifiers.

std::string header_file_name std::string const &    bname,
lang_t    lang,
std::string const &    dir = "."
 

std::string language_name lang_t    lang
 

std::string library_file_name std::string const &    bname,
std::string const &    dir = "."
 

std::string ltobject_file_name std::string const &    bname,
std::string const &    dir = "."
 

cx_expr* make_assignment cx_expr   dst,
cx_expr   src
 

cx_expr* make_bitand cx_expr  ,
cx_expr  
 

cx_expr* make_bitlsh cx_expr  ,
cx_expr  
 

cx_expr* make_bitnot cx_expr  
 

cx_expr* make_bitor cx_expr  ,
cx_expr  
 

cx_expr* make_bitrsh cx_expr  ,
cx_expr  
 

cx_expr* make_bitxor cx_expr  ,
cx_expr  
 

cx_block* make_block   [inline]
 

cx_expr* make_break  
 

cx_call* make_call cx_expr   fn,
...   
 

Return the representation of a function call to fn.

The arguments is a (cx_expr*)0-terminated VA list of cx_expr*.

cx_expr* make_cast ct_type const *   ,
cx_expr  
 

cx_expr* make_deref_expr cx_expr  
 

cx_expr* make_difference cx_expr   x,
cx_expr   y
 

cx_expr* make_do_while cx_expr   blk,
cx_expr   cond
 

cx_expr* make_element_expr cx_expr  ,
cx_expr  
 

cx_expr* make_equal cx_expr  ,
cx_expr  
 

cx_expr* make_expr char const *    pattern,
ct_type const *   ,
...   
 

Create a C expression.

For each "%!" in pattern, there shall be one cx_expr* VA argument. The VA list need not be 0-terminated, and is not checked. Use a more specific make_... function if available.

cx_expr* make_less cx_expr  ,
cx_expr  
 

cx_expr* make_lesseq cx_expr  ,
cx_expr  
 

cx_expr* make_literal char const *    x [inline]
 

cx_expr* make_literal unsigned long    x [inline]
 

cx_expr * more::lang::make_literal long    x [inline]
 

cx_expr* make_literal unsigned int    x [inline]
 

cx_expr* make_literal int    x [inline]
 

cx_expr* make_literal char    x [inline]
 

cx_expr* make_modulus cx_expr   x,
cx_expr   y
 

cx_expr* make_negation cx_expr   x
 

cx_expr* make_not cx_expr  
 

cx_expr* make_product cx_expr   x,
cx_expr   y
 

ct_proto* make_proto ct_type const *    arg0,
...   
 

Make a prototype with given arguments and result type.

The argument types are listed first, followed by the result type, followed by (ct_type*)0.

cx_expr* make_quotient cx_expr   x,
cx_expr   y
 

cx_expr* make_return  
 

cx_expr* make_return cx_expr   x
 

cx_expr* make_stmt char const *    pattern,
...   
 

Same as make_expr(pattern, ct_type_of<void>(), ...).

Use a more specific make_... function if available.

cx_expr* make_sum cx_expr   x,
cx_expr   y
 

cx_expr* make_while cx_expr   cond,
cx_expr   blk
 

bool parse_header rt_package *    dest,
char const *    hdr
 

std::string program_file_name std::string const &    bname,
std::string const &    dir = "."
 

template<typename T>
void register_ct_type_of ct_type const *    t [inline]
 

Provide a type descriptor t for the type T.

package* self_package  
 

An anonymous package containing the symbols of the running program.

Precondition:
The program must be compiled with -export-dynamic or -dlopen self (see the Libtool documentation).
Exceptions:
std::runtime_error  if dlopen-ing itself is not possible.

std::string source_file_name std::string const &    bname,
lang_t    lang,
std::string const &    dir = "."
 


Variable Documentation

template more::lang::cx_literal<char const*>
 

template more::lang::cx_literal<char>
 

template more::lang::cx_literal<int>
 

template more::lang::cx_literal<long double>
 

template more::lang::cx_literal<long>
 

template more::lang::cx_literal<unsigned int>
 

template more::lang::cx_literal<unsigned long>
 


Generated on Sat Sep 7 19:12:46 2002 for more with Doxygen 1.2.13.1. Doxygen 1.2.13.1 is written and copyright 1997-2002 by Dimitri van Heesch.