add translator & XML2modelica
[scilab.git] / scilab / modules / scicos / src / xml2modelica / xMLTree.ml
1 (*\r
2  *  XML to Modelica\r
3  *\r
4  *  Copyright (C) 2005 - 2007 Imagine S.A.\r
5  *  For more information or commercial use please contact us at www.amesim.com\r
6  *\r
7  *  This program is free software; you can redistribute it and/or\r
8  *  modify it under the terms of the GNU General Public License\r
9  *  as published by the Free Software Foundation; either version 2\r
10  *  of the License, or (at your option) any later version.\r
11  *\r
12  *  This program is distributed in the hope that it will be useful,\r
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15  *  GNU General Public License for more details.\r
16  *\r
17  *  You should have received a copy of the GNU General Public License\r
18  *  along with this program; if not, write to the Free Software\r
19  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\r
20  *\r
21  *)\r
22 \r
23 type t =\r
24   {\r
25     name: string;\r
26     elements: element list;\r
27     equations: string list;\r
28     when_clauses: string list\r
29   }\r
30 \r
31 and element =\r
32   | Struct of structured_element\r
33   | Terminal of terminal_element\r
34 \r
35 and structured_element =\r
36   {\r
37     struct_name: string;\r
38     subnodes: element list\r
39   }\r
40 \r
41 and terminal_element =\r
42   {\r
43     terminal_name: string;\r
44     kind: kind;\r
45     id: string;\r
46     comment: string;\r
47     initial_value: string;\r
48     nominal: string;\r
49     output: bool;\r
50     select: bool;\r
51     fixed: string\r
52   }\r
53 \r
54 and kind = Input | FixedParameter | Parameter | Variable | DiscreteVariable\r