/usr/include/freehdl/cdfggen-chunk.t is in libfreehdl0-dev 0.0.8-2.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | ;; -*- scheme -*-
(define (format-cdfggen-kind name)
(upcase (concat-strings (syllables name) "_")))
(chunk cdfggen
(struct-fmt "~a")
(pointer-fmt "p~a")
(kind-fmt-func format-cdfggen-kind)
(creator-fmt "m~a"))
(header-add "#include <freehdl/tree-supp.h>"
"#include <string>"
"#include <vector>"
"typedef enum {to, downto} cdfgg_direction;"
"using namespace std;")
(impl-add "#include <freehdl/cdfggen-chunk.h>")
(defctype int)
(defctype double)
(defctype string)
(defctype cdfgg_direction)
(defctype cdfgg_char_p (cname "char*"))
(defctype lint (cname "long long int"))
(defctype vector_pair_string_lint (cname "vector<pair<string, long long int> >"))
(defctype vector_int (cname "vector<int>"))
;; ******************************************************************
;; VHDL types
;; ******************************************************************
(defnode CDFGG_Type ()
(
(string instance_name)
(string type_name)
(CDFGG_Type base_type)
))
(defnode CDFGG_ScalarType (CDFGG_Type)
())
(defnode CDFGG_IntegerType (CDFGG_ScalarType)
(
(int left_bound)
(cdfgg_direction direction)
(int right_bound)
))
(defnode CDFGG_RealType (CDFGG_ScalarType)
(
(double left_bound)
(cdfgg_direction direction)
(double right_bound)
))
(defnode CDFGG_EnumerationType (CDFGG_ScalarType)
(
(int left_bound)
(int right_bound)
))
(defnode CDFGG_PhysicalType (CDFGG_ScalarType)
(
(lint left_bound)
(cdfgg_direction direction)
(lint right_bound)
(vector_pair_string_lint units)
))
(defnode CDFGG_CompositeType (CDFGG_Type)
())
(defnode CDFGG_ArrayType (CDFGG_CompositeType)
(
(lint left_bound)
(cdfgg_direction direction)
(lint right_bound)
(CDFGG_Type index_type)
(CDFGG_Type element_type)
))
;; ******************************************************************
;; Edge
;; ******************************************************************
(defnode CDFGG_Edge ()
(
(int index)
(int in_node)
(int out_node)
(CDFGG_Type type)
))
(defnode CDFGG_DataEdge (CDFGG_Edge)
())
(defnode CDFGG_LiteralEdge (CDFGG_Edge)
())
(defnode CDFGG_StringLiteralEdge (CDFGG_LiteralEdge)
(
(cdfgg_char_p edge_name)
))
(defnode CDFGG_IntegerLiteralEdge (CDFGG_LiteralEdge)
(
(int value)
))
(defnode CDFGG_RealLiteralEdge (CDFGG_LiteralEdge)
(
(double value)
))
(defnode CDFGG_RangeLiteralEdge (CDFGG_LiteralEdge)
(
(int left_bound)
(cdfgg_direction direction)
(int right_bound)
))
;; ******************************************************************
;; Node
;; ******************************************************************
(defnode CDFGG_Node ()
(
(int index)
(string type)
(vector_int incoming_edges)
(vector_int outgoing_edges)
))
|