INTERFACE M3ASTQuery; TYPE NODE <: REFANY; PROCEDURE Null(n: NODE := NIL): BOOLEAN; PROCEDURE Name(t: TEXT; n: NODE := NIL): BOOLEAN; PROCEDURE Number(n: NODE := NIL): CARDINAL; PROCEDURE Ith(n: NODE := NIL; i: CARDINAL): NODE; PROCEDURE First(n: NODE := NIL): NODE; PROCEDURE Second(n: NODE := NIL): NODE; PROCEDURE Module_id(n: NODE := NIL): BOOLEAN; PROCEDURE Interface_id(n: NODE := NIL): BOOLEAN; PROCEDURE Interface_AS_id(n: NODE := NIL): BOOLEAN; PROCEDURE F_Interface_id(n: NODE := NIL): BOOLEAN; PROCEDURE F_Value_id(n: NODE := NIL): BOOLEAN; PROCEDURE F_Var_id(n: NODE := NIL): BOOLEAN; PROCEDURE F_Readonly_id(n: NODE := NIL): BOOLEAN; PROCEDURE Type_id(n: NODE := NIL): BOOLEAN; PROCEDURE Const_id(n: NODE := NIL): BOOLEAN; PROCEDURE Var_id(n: NODE := NIL): BOOLEAN; PROCEDURE Proc_id(n: NODE := NIL): BOOLEAN; PROCEDURE Enum_id(n: NODE := NIL): BOOLEAN; PROCEDURE Method_id(n: NODE := NIL): BOOLEAN; PROCEDURE Override_id(n: NODE := NIL): BOOLEAN; PROCEDURE Field_id(n: NODE := NIL): BOOLEAN; PROCEDURE For_id(n: NODE := NIL): BOOLEAN; PROCEDURE Handler_id(n: NODE := NIL): BOOLEAN; PROCEDURE Tcase_id(n: NODE := NIL): BOOLEAN; PROCEDURE With_id(n: NODE := NIL): BOOLEAN; PROCEDURE Exc_id(n: NODE := NIL): BOOLEAN; PROCEDURE Used_interface_id(n: NODE := NIL): BOOLEAN; PROCEDURE Used_def_id(n: NODE := NIL): BOOLEAN; PROCEDURE Qual_used_id(n: NODE := NIL): BOOLEAN; PROCEDURE Compilation_Unit(n: NODE := NIL): BOOLEAN; PROCEDURE Interface_gen_def(n: NODE := NIL): BOOLEAN; PROCEDURE Module_gen_def(n: NODE := NIL): BOOLEAN; PROCEDURE Interface(n: NODE := NIL): BOOLEAN; PROCEDURE Module(n: NODE := NIL): BOOLEAN; PROCEDURE Module_gen_ins(n: NODE := NIL): BOOLEAN; PROCEDURE Interface_gen_ins(n: NODE := NIL): BOOLEAN; PROCEDURE Unsafe(n: NODE := NIL): BOOLEAN; PROCEDURE Simple_import(n: NODE := NIL): BOOLEAN; PROCEDURE From_import(n: NODE := NIL): BOOLEAN; PROCEDURE Import_item(n: NODE := NIL): BOOLEAN; PROCEDURE Revelation_s(n: NODE := NIL): BOOLEAN; PROCEDURE Const_decl_s(n: NODE := NIL): BOOLEAN; PROCEDURE Type_decl_s(n: NODE := NIL): BOOLEAN; PROCEDURE Var_decl_s(n: NODE := NIL): BOOLEAN; PROCEDURE Exc_decl_s(n: NODE := NIL): BOOLEAN; PROCEDURE Proc_decl(n: NODE := NIL): BOOLEAN; PROCEDURE Const_decl(n: NODE := NIL): BOOLEAN; PROCEDURE Var_decl(n: NODE := NIL): BOOLEAN; PROCEDURE Exc_decl(n: NODE := NIL): BOOLEAN; PROCEDURE Subtype_decl (n: NODE := NIL): BOOLEAN; PROCEDURE Concrete_decl(n: NODE := NIL): BOOLEAN; PROCEDURE Subtype_reveal (n: NODE := NIL): BOOLEAN; PROCEDURE Concrete_reveal(n: NODE := NIL): BOOLEAN; PROCEDURE Named_type(n: NODE := NIL): BOOLEAN; PROCEDURE Integer_type(n: NODE := NIL): BOOLEAN; PROCEDURE Real_type(n: NODE := NIL): BOOLEAN; PROCEDURE LongReal_type(n: NODE := NIL): BOOLEAN; PROCEDURE Extended_type(n: NODE := NIL): BOOLEAN; PROCEDURE Null_type(n: NODE := NIL): BOOLEAN; PROCEDURE RefAny_type(n: NODE := NIL): BOOLEAN; PROCEDURE Address_type(n: NODE := NIL): BOOLEAN; PROCEDURE Root_type(n: NODE := NIL): BOOLEAN; PROCEDURE Enumeration_type(n: NODE := NIL): BOOLEAN; PROCEDURE Subrange_type(n: NODE := NIL): BOOLEAN; PROCEDURE Array_type(n: NODE := NIL): BOOLEAN; PROCEDURE Record_type(n: NODE := NIL): BOOLEAN; PROCEDURE Object_type(n: NODE := NIL): BOOLEAN; PROCEDURE Set_type(n: NODE := NIL): BOOLEAN; PROCEDURE Procedure_type(n: NODE := NIL): BOOLEAN; PROCEDURE Ref_type(n: NODE := NIL): BOOLEAN; PROCEDURE Packed_type(n: NODE := NIL): BOOLEAN; PROCEDURE Opaque_type(n: NODE := NIL): BOOLEAN; PROCEDURE Brand(n: NODE := NIL): BOOLEAN; PROCEDURE Untraced(n: NODE := NIL): BOOLEAN; PROCEDURE Fields(n: NODE := NIL): BOOLEAN; PROCEDURE Method(n: NODE := NIL): BOOLEAN; PROCEDURE Override(n: NODE := NIL): BOOLEAN; PROCEDURE Formal_param(n: NODE := NIL): BOOLEAN; PROCEDURE Raisees_some(n: NODE := NIL): BOOLEAN; PROCEDURE Raisees_any(n: NODE := NIL): BOOLEAN; PROCEDURE Range_EXP(n: NODE := NIL): BOOLEAN; PROCEDURE Range(n: NODE := NIL): BOOLEAN; PROCEDURE Integer_literal(n: NODE := NIL): BOOLEAN; PROCEDURE Real_literal(n: NODE := NIL): BOOLEAN; PROCEDURE LongReal_literal(n: NODE := NIL): BOOLEAN; PROCEDURE Extended_literal(n: NODE := NIL): BOOLEAN; PROCEDURE Text_literal(n: NODE := NIL): BOOLEAN; PROCEDURE Char_literal(n: NODE := NIL): BOOLEAN; PROCEDURE Nil_literal(n: NODE := NIL): BOOLEAN; PROCEDURE Exp_used_id(n: NODE := NIL): BOOLEAN; PROCEDURE Constructor(n: NODE := NIL): BOOLEAN; PROCEDURE Actual_elem(n: NODE := NIL): BOOLEAN; PROCEDURE Propagate(n: NODE := NIL): BOOLEAN; PROCEDURE Binary(n: NODE := NIL): BOOLEAN; PROCEDURE Plus(n: NODE := NIL): BOOLEAN; PROCEDURE Minus(n: NODE := NIL): BOOLEAN; PROCEDURE Times(n: NODE := NIL): BOOLEAN; PROCEDURE Rdiv(n: NODE := NIL): BOOLEAN; PROCEDURE Textcat(n: NODE := NIL): BOOLEAN; PROCEDURE Div(n: NODE := NIL): BOOLEAN; PROCEDURE Mod(n: NODE := NIL): BOOLEAN; PROCEDURE Eq(n: NODE := NIL): BOOLEAN; PROCEDURE Ne(n: NODE := NIL): BOOLEAN; PROCEDURE Gt(n: NODE := NIL): BOOLEAN; PROCEDURE Lt(n: NODE := NIL): BOOLEAN; PROCEDURE Ge(n: NODE := NIL): BOOLEAN; PROCEDURE Le(n: NODE := NIL): BOOLEAN; PROCEDURE And(n: NODE := NIL): BOOLEAN; PROCEDURE Or(n: NODE := NIL): BOOLEAN; PROCEDURE In(n: NODE := NIL): BOOLEAN; PROCEDURE Select(n: NODE := NIL): BOOLEAN; PROCEDURE Unary(n: NODE := NIL): BOOLEAN; PROCEDURE Not(n: NODE := NIL): BOOLEAN; PROCEDURE Unaryplus(n: NODE := NIL): BOOLEAN; PROCEDURE Unaryminus(n: NODE := NIL): BOOLEAN; PROCEDURE Deref(n: NODE := NIL): BOOLEAN; PROCEDURE Call(n: NODE := NIL): BOOLEAN; PROCEDURE Index(n: NODE := NIL): BOOLEAN; PROCEDURE Actual(n: NODE := NIL): BOOLEAN; PROCEDURE Assign_st(n: NODE := NIL): BOOLEAN; PROCEDURE Call_st(n: NODE := NIL): BOOLEAN; PROCEDURE Case_st(n: NODE := NIL): BOOLEAN; PROCEDURE Eval_st(n: NODE := NIL): BOOLEAN; PROCEDURE Exit_st(n: NODE := NIL): BOOLEAN; PROCEDURE For_st(n: NODE := NIL): BOOLEAN; PROCEDURE If_st(n: NODE := NIL): BOOLEAN; PROCEDURE Lock_st(n: NODE := NIL): BOOLEAN; PROCEDURE Loop_st(n: NODE := NIL): BOOLEAN; PROCEDURE Raise_st(n: NODE := NIL): BOOLEAN; PROCEDURE Repeat_st(n: NODE := NIL): BOOLEAN; PROCEDURE Return_st(n: NODE := NIL): BOOLEAN; PROCEDURE Try_st(n: NODE := NIL): BOOLEAN; PROCEDURE Typecase_st(n: NODE := NIL): BOOLEAN; PROCEDURE While_st(n: NODE := NIL): BOOLEAN; PROCEDURE With_st(n: NODE := NIL): BOOLEAN; PROCEDURE Block(n: NODE := NIL): BOOLEAN; PROCEDURE Case(n: NODE := NIL): BOOLEAN; PROCEDURE Else_stm(n: NODE := NIL): BOOLEAN; PROCEDURE Elsif(n: NODE := NIL): BOOLEAN; PROCEDURE Try_except(n: NODE := NIL): BOOLEAN; PROCEDURE Try_finally(n: NODE := NIL): BOOLEAN; PROCEDURE Tcase(n: NODE := NIL): BOOLEAN; PROCEDURE Handler(n: NODE := NIL): BOOLEAN; PROCEDURE Binding(n: NODE := NIL): BOOLEAN; PROCEDURE By(n: NODE := NIL): BOOLEAN; PROCEDURE Bad_EXP(n: NODE := NIL): BOOLEAN; PROCEDURE Bad_M3TYPE(n: NODE := NIL): BOOLEAN; PROCEDURE Bad_STM(n: NODE := NIL): BOOLEAN; PROCEDURE ID(n: NODE := NIL): BOOLEAN; PROCEDURE DEF_ID(n: NODE := NIL): BOOLEAN; PROCEDURE UNIT_ID(n: NODE := NIL): BOOLEAN; PROCEDURE TYPED_ID(n: NODE := NIL): BOOLEAN; PROCEDURE FORMAL_ID(n: NODE := NIL): BOOLEAN; PROCEDURE METHOD_OVERRIDE_ID(n: NODE := NIL): BOOLEAN; PROCEDURE USED_ID(n: NODE := NIL): BOOLEAN; PROCEDURE UNIT(n: NODE := NIL): BOOLEAN; PROCEDURE UNIT_WITH_BODY(n: NODE := NIL): BOOLEAN; PROCEDURE UNIT_GEN_DEF(n: NODE := NIL): BOOLEAN; PROCEDURE UNIT_NORMAL(n: NODE := NIL): BOOLEAN; PROCEDURE UNIT_GEN_INS(n: NODE := NIL): BOOLEAN; PROCEDURE IMPORTED(n: NODE := NIL): BOOLEAN; PROCEDURE DECL_REVL(n: NODE := NIL): BOOLEAN; PROCEDURE DECL(n: NODE := NIL): BOOLEAN; PROCEDURE TYPE_DECL(n: NODE := NIL): BOOLEAN; PROCEDURE REVELATION(n: NODE := NIL): BOOLEAN; PROCEDURE EXP_TYPE(n: NODE := NIL): BOOLEAN; PROCEDURE M3TYPE(n: NODE := NIL): BOOLEAN; PROCEDURE TYPE_SPEC(n: NODE := NIL): BOOLEAN; PROCEDURE BRANDED_TYPE(n: NODE := NIL): BOOLEAN; PROCEDURE FLOAT_TYPE(n: NODE := NIL): BOOLEAN; PROCEDURE METHOD_OVERRIDE(n: NODE := NIL): BOOLEAN; PROCEDURE RAISEES(n: NODE := NIL): BOOLEAN; PROCEDURE RANGE_EXP(n: NODE := NIL): BOOLEAN; PROCEDURE EXP(n: NODE := NIL): BOOLEAN; PROCEDURE NUMERIC_LITERAL(n: NODE := NIL): BOOLEAN; PROCEDURE CONS_ELEM(n: NODE := NIL): BOOLEAN; PROCEDURE RANGE_EXP_elem(n: NODE := NIL): BOOLEAN; PROCEDURE BINARY_OP(n: NODE := NIL): BOOLEAN; PROCEDURE UNARY_OP(n: NODE := NIL): BOOLEAN; PROCEDURE STM(n: NODE := NIL): BOOLEAN; PROCEDURE STM_WSS(n: NODE := NIL): BOOLEAN; PROCEDURE SUBSTM_WSS(n: NODE := NIL): BOOLEAN; PROCEDURE TRY_TAIL(n: NODE := NIL): BOOLEAN; PROCEDURE as_intf_id(n: NODE := NIL): NODE; PROCEDURE as_id(n: NODE := NIL): NODE; PROCEDURE as_root(n: NODE := NIL): NODE; PROCEDURE as_import_s (n: NODE := NIL): NODE; PROCEDURE as_block(n: NODE := NIL): NODE; PROCEDURE as_id_s (n: NODE := NIL): NODE; PROCEDURE as_unsafe(n: NODE := NIL): NODE; PROCEDURE as_export_s (n: NODE := NIL): NODE; PROCEDURE as_gen_id(n: NODE := NIL): NODE; PROCEDURE as_import_item_s (n: NODE := NIL): NODE; PROCEDURE as_reveal_s (n: NODE := NIL): NODE; PROCEDURE as_const_decl_s (n: NODE := NIL): NODE; PROCEDURE as_type_decl_s (n: NODE := NIL): NODE; PROCEDURE as_var_decl_s (n: NODE := NIL): NODE; PROCEDURE as_exc_decl_s (n: NODE := NIL): NODE; PROCEDURE as_type(n: NODE := NIL): NODE; PROCEDURE as_exp(n: NODE := NIL): NODE; PROCEDURE as_default(n: NODE := NIL): NODE; PROCEDURE as_body(n: NODE := NIL): NODE; PROCEDURE as_qual_id(n: NODE := NIL): NODE; PROCEDURE as_trace_mode(n: NODE := NIL): NODE; PROCEDURE as_indextype_s (n: NODE := NIL): NODE; PROCEDURE as_elementtype(n: NODE := NIL): NODE; PROCEDURE as_range(n: NODE := NIL): NODE; PROCEDURE as_fields_s (n: NODE := NIL): NODE; PROCEDURE as_brand(n: NODE := NIL): NODE; PROCEDURE as_ancestor(n: NODE := NIL): NODE; PROCEDURE as_method_s (n: NODE := NIL): NODE; PROCEDURE as_override_s (n: NODE := NIL): NODE; PROCEDURE as_formal_param_s (n: NODE := NIL): NODE; PROCEDURE as_result_type(n: NODE := NIL): NODE; PROCEDURE as_raises(n: NODE := NIL): NODE; PROCEDURE as_formal_type(n: NODE := NIL): NODE; PROCEDURE as_raisees_s (n: NODE := NIL): NODE; PROCEDURE as_exp1(n: NODE := NIL): NODE; PROCEDURE as_exp2(n: NODE := NIL): NODE; PROCEDURE as_element_s (n: NODE := NIL): NODE; PROCEDURE as_propagate(n: NODE := NIL): NODE; PROCEDURE as_range_exp(n: NODE := NIL): NODE; PROCEDURE as_actual(n: NODE := NIL): NODE; PROCEDURE as_binary_op(n: NODE := NIL): NODE; PROCEDURE as_unary_op(n: NODE := NIL): NODE; PROCEDURE as_callexp(n: NODE := NIL): NODE; PROCEDURE as_param_s (n: NODE := NIL): NODE; PROCEDURE as_exp_type(n: NODE := NIL): NODE; PROCEDURE as_array(n: NODE := NIL): NODE; PROCEDURE as_exp_s (n: NODE := NIL): NODE; PROCEDURE as_stm_s (n: NODE := NIL): NODE; PROCEDURE as_lhs_exp(n: NODE := NIL): NODE; PROCEDURE as_rhs_exp(n: NODE := NIL): NODE; PROCEDURE as_call(n: NODE := NIL): NODE; PROCEDURE as_case_s (n: NODE := NIL): NODE; PROCEDURE as_else(n: NODE := NIL): NODE; PROCEDURE as_case_label_s (n: NODE := NIL): NODE; PROCEDURE as_from(n: NODE := NIL): NODE; PROCEDURE as_to(n: NODE := NIL): NODE; PROCEDURE as_by(n: NODE := NIL): NODE; PROCEDURE as_elsif_s (n: NODE := NIL): NODE; PROCEDURE as_exp_void(n: NODE := NIL): NODE; PROCEDURE as_try_tail(n: NODE := NIL): NODE; PROCEDURE as_handler_s (n: NODE := NIL): NODE; PROCEDURE as_qual_id_s (n: NODE := NIL): NODE; PROCEDURE as_tcase_s (n: NODE := NIL): NODE; PROCEDURE as_type_s (n: NODE := NIL): NODE; PROCEDURE as_binding_s (n: NODE := NIL): NODE; PROCEDURE as_decl_s (n: NODE := NIL): NODE; PROCEDURE Void_type (n: NODE := NIL): BOOLEAN; PROCEDURE INIT_ID (n: NODE := NIL): BOOLEAN; PROCEDURE CCV_ID (n: NODE := NIL): BOOLEAN; PROCEDURE REDEF_ID (n: NODE := NIL): BOOLEAN; PROCEDURE RECOBJ_ID (n: NODE := NIL): BOOLEAN; PROCEDURE sm_unit_id(n: NODE := NIL): NODE; PROCEDURE sm_import_s (n: NODE := NIL): NODE; PROCEDURE sm_ins_comp_unit(n: NODE := NIL): NODE; PROCEDURE sm_spec(n: NODE := NIL): NODE; PROCEDURE sm_export_s (n: NODE := NIL): NODE; PROCEDURE sm_concrete_proc_id(n: NODE := NIL): NODE; PROCEDURE sm_def(n: NODE := NIL): NODE; PROCEDURE sm_type_spec(n: NODE := NIL): NODE; PROCEDURE sm_concrete_type_spec(n: NODE := NIL): NODE; PROCEDURE sm_type_spec_s (n: NODE := NIL): NODE; PROCEDURE sm_base_type_spec(n: NODE := NIL): NODE; PROCEDURE sm_def_id(n: NODE := NIL): NODE; PROCEDURE sm_bitsize (n: NODE := NIL): INTEGER; PROCEDURE sm_align (n: NODE := NIL): INTEGER; PROCEDURE sm_rf_bitsize (n: NODE := NIL): INTEGER; PROCEDURE sm_rf_align (n: NODE := NIL): INTEGER; PROCEDURE sm_exp_type_spec(n: NODE := NIL): NODE; PROCEDURE sm_actual_s (n: NODE := NIL): NODE; PROCEDURE sm_int_def(n: NODE := NIL): NODE; PROCEDURE sm_init_exp(n: NODE := NIL): NODE; END M3ASTQuery.