1;; -*- scheme -*- 2 3(include "freehdl/vaul-chunk.t") 4 5(chunk vaulgens) 6 7(header-add "#include <freehdl/fire.h>" 8 "#include <freehdl/vaul-chunk.h>") 9 10(impl-add "#include \"vaulgens-chunk.h\"") 11 12(defctype VAUL_ObjectClass) 13 14(defgeneric vaul_get_base 15 (return IIR_Type) 16 (methods IIR_Type)) 17 18(defgeneric vaul_get_class 19 (return VAUL_ObjectClass) 20 (methods 21 IIR_Expression IIR_RecordReference IIR_GenericArrayReference 22 IIR_SignalAttr IIR_SimpleReference IIR_AccessReference 23 IIR_ConstantInterfaceDeclaration IIR_VariableInterfaceDeclaration 24 IIR_SignalInterfaceDeclaration IIR_FileInterfaceDeclaration 25 IIR_ConstantDeclaration IIR_VariableDeclaration 26 IIR_SignalDeclaration IIR_FileDeclaration)) 27 28(defgeneric vaul_get_mode 29 (return IR_Mode) 30 (methods 31 IIR_Expression IIR_RecordReference IIR_GenericArrayReference 32 IIR_SignalAttr IIR_SimpleReference IIR_AccessReference 33 IIR_InterfaceDeclaration IIR_VariableDeclaration 34 IIR_ConstantDeclaration IIR_SignalDeclaration IIR_FileDeclaration)) 35 36(defgeneric vaul_get_type 37 (return IIR_Type) 38 (methods 39 IIR_RecordReference IIR_ArrayReference IIR_SliceReference 40 IIR_SimpleReference IIR_AccessReference)) 41 42(defgeneric vaul_get_object_declaration 43 (return IIR_ObjectDeclaration) 44 (methods 45 IIR_Expression 46 IIR_RecordReference IIR_GenericArrayReference 47 IIR_SimpleReference IIR_AccessReference)) 48 49(defgeneric vaul_get_generics 50 (return IIR_InterfaceList) 51 (methods IIR_ComponentDeclaration IIR_EntityDeclaration 52 IIR_ArchitectureDeclaration IIR_ArchitectureRef 53 IIR_BlockStatement)) 54 55(defgeneric vaul_get_ports 56 (return IIR_InterfaceList) 57 (methods IIR_ComponentDeclaration IIR_EntityDeclaration 58 IIR_ArchitectureDeclaration IIR_ArchitectureRef 59 IIR_BlockStatement)) 60 61(defgeneric vaul_set_generics 62 (args (IIR_InterfaceList generics)) 63 (methods IIR_ComponentDeclaration IIR_EntityDeclaration 64 IIR_BlockStatement)) 65 66(defgeneric vaul_set_ports 67 (args (IIR_InterfaceList ports)) 68 (methods IIR_ComponentDeclaration IIR_EntityDeclaration 69 IIR_BlockStatement)) 70 71(defgeneric vaul_get_stats 72 (return IIR_ConcurrentStatementList) 73 (methods IIR_ComponentDeclaration IIR_EntityDeclaration 74 IIR_ArchitectureDeclaration IIR_ConfigurationDeclaration 75 IIR_BlockStatement)) 76 77(defgeneric vaul_compute_static_level 78 (return IR_StaticLevel) 79 (methods IIR_AbstractLiteralExpression 80 IIR_EnumLiteralReference IIR_ArrayLiteralExpression 81 IIR_SimpleReference IIR_RecordReference 82 IIR_Declaration IIR_ConstantDeclaration 83 IIR_ConstantInterfaceDeclaration IIR_FunctionCall 84 IIR_AttrTypeValue IIR_AttrTypeFunc IIR_AttrArrayFunc 85 IIR_AttrSigFunc 86 IIR_QualifiedExpression IIR_TypeConversion 87 IIR_ArrayAggregate IIR_RecordAggregate 88 IIR_Allocator 89 IIR_Expression 90 IIR_ExplicitRange IIR_ArrayRange 91 IIR_RecordType IIR_ArrayType 92 IIR_ArraySubtype IIR_RecordSubtype IIR_ScalarSubtype 93 IIR_Type)) 94 95(defgeneric vaul_get_configuration_specifications 96 (return IIR_ConfigurationSpecificationList) 97 (methods IIR_ArchitectureDeclaration IIR_BlockStatement 98 IIR_ConcurrentGenerateStatement)) 99 100(defgeneric vaul_set_configuration_specifications 101 (args (IIR_ConfigurationSpecificationList specs)) 102 (methods IIR_ArchitectureDeclaration IIR_BlockStatement 103 IIR_ConcurrentGenerateStatement)) 104 105(defctype ostream_ref (cname "std::ostream&")) 106 107(defgeneric vaul_print_to_ostream 108 (args (ostream_ref o)) 109 (methods 110 IIR_PosInfo_TextFile IIR_PosInfo_Sheet IIR_Root IIR_TextLiteral 111 IIR_IntegerLiteral IIR_FloatingPointLiteral IIR_Declaration 112 VAUL_SimpleName VAUL_AttributeName VAUL_SelName VAUL_IftsName 113 IIR_Type IIR_Subtype IIR_ArrayType IIR_AccessType IIR_PhysicalType 114 IIR_EnumerationLiteral IIR_SubprogramDeclaration IIR_ExplicitRange 115 IIR_ArrayRange IIR_TypeList IIR_SimpleReference IIR_SliceReference 116 IIR_FunctionCall IIR_AbstractLiteralExpression 117 IIR_ArrayLiteralExpression 118 IIR_PhysicalLiteral 119 VAUL_AmbgArrayLitRef IIR_ArrayReference IIR_RecordReference 120 IIR_ElementDeclaration IIR_ChoiceByExpression VAUL_ChoiceByName 121 IIR_ChoiceByRange VAUL_UnresolvedName IIR_QualifiedExpression 122 VAUL_AmbgAggregate IIR_ArrayAggregate IIR_SingleIndexedAssociation 123 IIR_RangeIndexedAssociation IIR_OthersIndexedAssociation 124 VAUL_RangeAssocElem 125 VAUL_NamedAssocElem 126 VAUL_AmbgEnumLitRef IIR_Allocator 127 IIR_EnumLiteralReference 128 IIR_AttrTypeValue 129 IIR_AttrTypeFunc 130 )) 131