refize.cxx File Reference

#include <stdlib.h>
#include <dirent.h>
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
#include <libsherpa/UExcept.hxx>
#include <libsherpa/CVector.hxx>
#include <libsherpa/avl.hxx>
#include <assert.h>
#include "AST.hxx"
#include "Type.hxx"
#include "backend.hxx"
#include "Symtab.hxx"
#include "Unify.hxx"
#include "inter-pass.hxx"

Go to the source code of this file.

Defines

#define NULL_MODE   0x0u
#define LOCAL_MODE   0x2u
#define USE_MODE   0x3u
#define REFIZE(a, b, c, d)

Functions

static void refSub (AST *ast, AST *from, AST *parent, const size_t chno)
bool refize (std::ostream &errStream, AST *ast, AST *parent, const size_t chno)


Define Documentation

#define LOCAL_MODE   0x2u

Definition at line 58 of file refize.cxx.

#define NULL_MODE   0x0u

Definition at line 57 of file refize.cxx.

#define REFIZE ( a,
b,
c,
 ) 

Value:

do{                                     \
    answer = refize((a), (b), (c), (d));                        \
    if(answer == false)                                         \
      errFree = false;                                          \
  }while(0)

Definition at line 87 of file refize.cxx.

Referenced by refize().

#define USE_MODE   0x3u

Definition at line 59 of file refize.cxx.


Function Documentation

bool refize ( std::ostream &  errStream,
AST ast,
AST parent,
const size_t  chno 
)

Definition at line 95 of file refize.cxx.

References agt_category, agt_CompilationUnit, agt_definition, agt_eform, agt_expr, agt_if_definition, agt_literal, agt_ow, agt_tc_definition, agt_tvar, agt_type, agt_type_definition, agt_value_definition, agt_var, argVec, assert(), AST::astType, at_and, at_AnyGroup, at_apply, at_argVec, at_array, at_array_nth, at_arrayType, at_begin, at_boolLiteral, at_charLiteral, at_cond, at_cond_leg, at_cond_legs, at_constructor, at_constructors, at_container, at_declare, at_declares, at_defexception, at_define, at_definstance, at_defstruct, at_deftypeclass, at_defunion, at_deref, at_dup, at_field, at_fields, at_floatLiteral, at_fn, at_fnargVec, at_frameBindings, at_ident, at_identList, at_identPattern, at_if, at_ifident, at_ifsel, at_import, at_interface, at_intLiteral, at_lambda, at_let, at_letbinding, at_letbindings, at_letrec, at_letStar, at_localFrame, at_method_decl, at_method_decls, at_module, at_mutableType, at_Null, at_opaqueCat, at_or, at_otherwise, at_primaryType, at_provide, at_select, at_setbang, at_stringLiteral, at_struct_apply, at_tcdecls, at_throw, at_try, at_tvlist, at_tyfn, at_typeapp, at_ucon_apply, at_unit, at_usesel, at_vector, at_vector_nth, at_vectorType, AST::children, AST::fqn, FQName::ident, lbs, AST::loc, REFIZE, refSub(), AST::s, and AST::symType.

static void refSub ( AST ast,
AST from,
AST parent,
const size_t  chno 
) [static]

Definition at line 64 of file refize.cxx.

References AST::astType, at_deref, at_ident, AST::children, AST::loc, and AST::symbolDef.

Referenced by refize().


Generated on Fri May 18 07:59:18 2012 for BitC Compiler by  doxygen 1.4.7