-
Notifications
You must be signed in to change notification settings - Fork 0
/
ocarina-backends-xml_tree-nodes.idl
executable file
·132 lines (108 loc) · 4.29 KB
/
ocarina-backends-xml_tree-nodes.idl
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
/*****************************************************************************
** **
** OCARINA COMPONENTS **
** **
** O C A R I N A . B A C K E N D S . X M L _ T R E E . N O D E S **
** **
** Copyright (C) 2008, GET-Telecom Paris. **
** **
** Ocarina is free software; you can redistribute it and/or modify **
** it under terms of the GNU General Public License as published by the **
** Free Software Foundation; either version 2, or (at your option) any **
** later version. Ocarina is distributed in the hope that it will be **
** useful, but WITHOUT ANY WARRANTY; without even the implied warranty of **
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General **
** Public License for more details. You should have received a copy of the **
** GNU General Public License distributed with Ocarina; see file COPYING. **
** If not, write to the Free Software Foundation, 51 Franklin Street, Fifth **
** Floor, Boston, MA 02111-1301, USA. **
** **
** As a special exception, if other files instantiate generics from this **
** unit, or you link this unit with other files to produce an executable, **
** this unit does not by itself cause the resulting executable to be **
** covered by the GNU General Public License. This exception does not **
** however invalidate any other reasons why the executable file might be **
** covered by the GNU Public License. **
** **
** Ocarina is maintained by the Ocarina team **
** ([email protected]) **
** **
*****************************************************************************/
module Ocarina::Backends::XML_Tree::Nodes {
/******************/
/* Internal types */
/******************/
typedef octet Operator_Id;
typedef long Name_Id;
typedef long Value_Id;
/******************/
/* Internal nodes */
/******************/
interface Node_Id {
Node_Id Next_Node;
Node_Id Frontend_Node;
};
interface Definition : Node_Id {
Node_Id Defining_Identifier;
};
interface XML_Comment : Definition {};
interface Literal : Node_Id {
Value_Id Value;
};
interface Assignement : Node_Id {
Node_Id Left_Expression;
Node_Id Right_Expression;
};
interface List_Id {
Node_Id First_Node;
Node_Id Last_Node;
};
interface Defining_Identifier : Node_Id {
Name_Id Name;
Node_Id Corresponding_Node;
Node_Id Compile_Unit;
};
interface XML_File : Definition {
Node_Id Distributed_Application_Unit;
Node_Id Root_Node;
boolean Is_HTML;
Node_Id XML_DTD; // Identifier referring to XML file DTD
};
interface XML_Node : Definition
{
List_Id Items;
List_Id Subitems;
Node_Id Node_Value;
};
/* Interfaces for the PolyORB-HI module */
interface HI_Distributed_Application : Node_Id {
Name_Id Name;
List_Id Units;
List_Id HI_Nodes;
};
interface HI_Node : Node_Id {
Name_Id Name;
List_Id Units;
Node_Id Distributed_Application;
};
/* This is the root node of the packages generated specifically for
an PolyORB-HI Distributed application */
interface HI_Unit : Node_Id {
Node_Id Entity;
Node_Id XML_File;
};
interface Base_Type {
Name_Id Image;
};
interface Container : Node_Id {
Node_Id Content;
};
interface _String : Base_Type {};
interface _Numeric : Base_Type {};
interface _Float : Base_Type {};
interface HI_Tree_Bindings : Node_Id {
Node_Id Unit;
Node_Id Node;
List_Id Processes;
};
};