diff options
Diffstat (limited to 'backendC/CleanCompilerSources/checker.h')
-rw-r--r-- | backendC/CleanCompilerSources/checker.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/backendC/CleanCompilerSources/checker.h b/backendC/CleanCompilerSources/checker.h new file mode 100644 index 0000000..6380ec4 --- /dev/null +++ b/backendC/CleanCompilerSources/checker.h @@ -0,0 +1,39 @@ + +#define BIT(n) ((BITVECT) 1 << n) +#define ALLBITSCLEAR ((BITVECT) 0) +#define ALLBITSSET (~ALLBITSCLEAR) +#define BITTEST(v,n) (((BITVECT) v >> n) & ((BITVECT) 1)) +#define TCONS_BIT_NR 31 + +extern Ident AnnotatedId, ListId, TupleId, ConsId, NilId, ApplyId, SelectId, IfId, FailId, DeltaBId, + AndId, OrId, StdArrayId, ArrayFunctionIds [], ArrayId, StrictArrayId, UnboxedArrayId, ArrayClassId; +#ifdef CLEAN2 +extern Ident DynamicId; +#endif + +extern Symbol StartSymbol, UnboxedArrayClassSymbols [], UnboxedArrayFunctionSymbols []; +extern SymbDef scc_dependency_list,ArrayFunctionDefs[], StdArrayAbortDef; +extern char * CurrentDefModule; + +extern int rule_count; +extern SymbDef *scc_dependency_list_p; + +SymbDef BuildNewSymbolDefinition (Ident sid,int arity,SDefKind kind,unsigned line_nr); +SymbDef MakeNewSymbolDefinition (char * module, Ident name, int arity, SDefKind kind); +SymbDef NewSymbolDefinition (Symbol symb, int arity, Bool maybedefined, unsigned line_nr); +char *ConvertSymbolToString (Symbol symb); +ImpMod ParseAndCheckImplementationModule (char *name); +void ReadInlineCode (void); +void InitChecker (void); +void GenDependencyList (void); +NodeDefs NewNodeDef (NodeId nid, Node node); +void GenerateApplyNodesForFullyCurriedApplication (Node node, Node function_node); + +void DetermineRuleComponent (ImpRules rule,SymbDef sdef); +NodeP DetermineGraphRulesComponent (NodeP node,unsigned *ancest); +NodeP RemoveAliasNodeIdInDetermineComponent (NodeP node); + +#ifdef CLEAN2 +void ClearOpenDefinitionModules (void); +void AddOpenDefinitionModule (SymbolP moduleNameSymbol, DefMod definitionModule); +#endif |