diff options
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r-- | frontend/syntax.dcl | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl index 3d5eb75..c9427dc 100644 --- a/frontend/syntax.dcl +++ b/frontend/syntax.dcl @@ -427,6 +427,11 @@ cIsNonCoercible :== 2 , fc_index :: !Index } +/* Sjaak 19-3-2001 ... */ + +FI_IsMacroFun :== 1 // whether the function is a local function of a macro +FI_HasTypeSpec :== 2 // whether the function has u user defined type + :: FunInfo = { fi_calls :: ![FunCall] , fi_group_index :: !Index @@ -434,8 +439,9 @@ cIsNonCoercible :== 2 , fi_free_vars :: ![FreeVar] , fi_local_vars :: ![FreeVar] , fi_dynamics :: ![ExprInfoPtr] - , fi_is_macro_fun :: !Bool // whether the function is a local function of a macro + , fi_properties :: !BITVECT } +/* ... Sjaak 19-3-2001 */ :: ParsedBody = { pb_args :: ![ParsedExpr] @@ -486,7 +492,6 @@ cIsNonCoercible :== 2 , fun_index :: !Int , fun_kind :: !DefOrImpFunKind , fun_lifted :: !Int -// , fun_type_ptr :: !TypeVarInfoPtr , fun_info :: !FunInfo } @@ -909,14 +914,12 @@ cNonRecursiveAppl :== False :: BasicValue = BVI !String | BVC !String | BVB !Bool | BVR !String | BVS !String - -//:: TypeKind = KindVar !KindInfoPtr | KindConst | KindArrow !Int :: TypeKind = KindVar !KindInfoPtr | KindConst | KindArrow ![TypeKind] -instance toString TypeKind -instance <<< TypeKind -instance == TypeKind -instance toString KindInfo +instance toString TypeKind +instance <<< TypeKind +instance == TypeKind +instance toString KindInfo /* A few obscure type definitions */ @@ -1267,7 +1270,7 @@ MakeAttributedType type :== { at_attribute = TA_None, at_annotation = AN_None, a MakeAttributedTypeVar type_var :== { atv_attribute = TA_None, atv_annotation = AN_None, atv_variable = type_var } EmptyFunInfo :== { fi_calls = [], fi_group_index = NoIndex, fi_def_level = NotALevel, - fi_free_vars = [], fi_local_vars = [], fi_dynamics = [], fi_is_macro_fun=False } + fi_free_vars = [], fi_local_vars = [], fi_dynamics = [], fi_properties=0 } BottomSignClass :== { sc_pos_vect = 0, sc_neg_vect = 0 } PostiveSignClass :== { sc_pos_vect = bitnot 0, sc_neg_vect = 0 } |