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