/
LoadCompilerSources.mos
297 lines (287 loc) · 11.8 KB
/
LoadCompilerSources.mos
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
// Common file to load compiler sources, so only 1 piece of code needs to be changed
// "FrontEnd";
if true then /* Suppress output */
prefixPath := if getEnvironmentVar("OMCOMPILERSOURCES")=="" then "../../../OMCompiler/Compiler/" else (getEnvironmentVar("OMCOMPILERSOURCES")+"/");
setCommandLineOptions("+g=MetaModelica");
files := {
prefixPath + "FrontEnd/Absyn.mo",
prefixPath + "FrontEnd/AbsynUtil.mo",
prefixPath + "FrontEnd/Algorithm.mo",
prefixPath + "FrontEnd/Builtin.mo",
prefixPath + "FrontEnd/Ceval.mo",
prefixPath + "FrontEnd/CevalFunction.mo",
prefixPath + "FrontEnd/CheckModel.mo",
prefixPath + "FrontEnd/ClassInf.mo",
prefixPath + "FrontEnd/ClassLoader.mo",
prefixPath + "FrontEnd/ComponentReference.mo",
prefixPath + "FrontEnd/Connect.mo",
prefixPath + "FrontEnd/ConnectionGraph.mo",
prefixPath + "FrontEnd/ConnectUtil.mo",
prefixPath + "FrontEnd/Constants.mo",
prefixPath + "FrontEnd/DAE.mo",
prefixPath + "FrontEnd/DAEDump.mo",
prefixPath + "FrontEnd/DAEUtil.mo",
prefixPath + "FrontEnd/Dump.mo",
prefixPath + "FrontEnd/DumpGraphviz.mo",
prefixPath + "FrontEnd/ElementSource.mo",
prefixPath + "FrontEnd/Expression.mo",
prefixPath + "FrontEnd/ExpressionDump.mo",
prefixPath + "FrontEnd/ExpressionSimplify.mo",
prefixPath + "FrontEnd/ExpressionSimplifyTypes.mo",
prefixPath + "FrontEnd/Graphviz.mo",
prefixPath + "FrontEnd/Inline.mo",
prefixPath + "FrontEnd/InnerOuter.mo",
prefixPath + "FrontEnd/Inst.mo",
prefixPath + "FrontEnd/InstBinding.mo",
prefixPath + "FrontEnd/InstDAE.mo",
prefixPath + "FrontEnd/InstExtends.mo",
prefixPath + "FrontEnd/InstFunction.mo",
prefixPath + "FrontEnd/InstSection.mo",
prefixPath + "FrontEnd/InstTypes.mo",
prefixPath + "FrontEnd/InstUtil.mo",
prefixPath + "FrontEnd/InstVar.mo",
prefixPath + "FrontEnd/Lookup.mo",
prefixPath + "FrontEnd/MetaUtil.mo",
prefixPath + "FrontEnd/MMath.mo",
prefixPath + "FrontEnd/Mod.mo",
prefixPath + "FrontEnd/NFEnvExtends.mo",
prefixPath + "FrontEnd/NFInstPrefix.mo",
prefixPath + "FrontEnd/NFInstTypes.mo",
prefixPath + "FrontEnd/NFInstUtil.mo",
prefixPath + "FrontEnd/NFSCodeCheck.mo",
prefixPath + "FrontEnd/NFSCodeDependency.mo",
prefixPath + "FrontEnd/NFSCodeEnv.mo",
prefixPath + "FrontEnd/NFSCodeFlatten.mo",
prefixPath + "FrontEnd/NFSCodeFlattenImports.mo",
prefixPath + "FrontEnd/NFSCodeFlattenRedeclare.mo",
prefixPath + "FrontEnd/NFSCodeLookup.mo",
prefixPath + "FrontEnd/OperatorOverloading.mo",
prefixPath + "FrontEnd/Parser.mo",
prefixPath + "FrontEnd/ParserExt.mo",
prefixPath + "FrontEnd/Patternm.mo",
prefixPath + "FrontEnd/Prefix.mo",
prefixPath + "FrontEnd/PrefixUtil.mo",
prefixPath + "FrontEnd/SCode.mo",
prefixPath + "FrontEnd/SCodeDump.mo",
prefixPath + "FrontEnd/SCodeSimplify.mo",
prefixPath + "FrontEnd/SCodeUtil.mo",
prefixPath + "FrontEnd/Static.mo",
prefixPath + "FrontEnd/Types.mo",
prefixPath + "FrontEnd/UnitAbsyn.mo",
prefixPath + "FrontEnd/UnitAbsynBuilder.mo",
prefixPath + "FrontEnd/UnitChecker.mo",
prefixPath + "FrontEnd/UnitParserExt.mo",
prefixPath + "FrontEnd/Values.mo",
prefixPath + "FrontEnd/ValuesUtil.mo",
// "FFrontEnd";
prefixPath + "FFrontEnd/FCore.mo",
prefixPath + "FFrontEnd/FExpand.mo",
prefixPath + "FFrontEnd/FGraph.mo",
prefixPath + "FFrontEnd/FGraphBuild.mo",
prefixPath + "FFrontEnd/FGraphDump.mo",
prefixPath + "FFrontEnd/FGraphStream.mo",
prefixPath + "FFrontEnd/FInst.mo",
prefixPath + "FFrontEnd/FLookup.mo",
prefixPath + "FFrontEnd/FMod.mo",
prefixPath + "FFrontEnd/FNode.mo",
prefixPath + "FFrontEnd/FResolve.mo",
prefixPath + "FFrontEnd/FTraverse.mo",
prefixPath + "FFrontEnd/FVisit.mo",
// "NFFrontEnd";
prefixPath + "NFFrontEnd/NFBinding.mo",
prefixPath + "NFFrontEnd/NFBuiltin.mo",
prefixPath + "NFFrontEnd/NFClass.mo",
prefixPath + "NFFrontEnd/NFComponent.mo",
prefixPath + "NFFrontEnd/NFComponentRef.mo",
prefixPath + "NFFrontEnd/NFDimension.mo",
prefixPath + "NFFrontEnd/NFEquation.mo",
prefixPath + "NFFrontEnd/NFFlatten.mo",
prefixPath + "NFFrontEnd/NFHashTableCrToUnit.mo",
prefixPath + "NFFrontEnd/NFHashTableStringToUnit.mo",
prefixPath + "NFFrontEnd/NFHashTableUnitToString.mo",
prefixPath + "NFFrontEnd/NFInst.mo",
prefixPath + "NFFrontEnd/NFInstNode.mo",
prefixPath + "NFFrontEnd/NFLookup.mo",
prefixPath + "NFFrontEnd/NFLookupState.mo",
prefixPath + "NFFrontEnd/NFModifier.mo",
prefixPath + "NFFrontEnd/NFRecord.mo",
prefixPath + "NFFrontEnd/NFStatement.mo",
prefixPath + "NFFrontEnd/NFTypeCheck.mo",
prefixPath + "NFFrontEnd/NFTyping.mo",
prefixPath + "NFFrontEnd/NFUnit.mo",
prefixPath + "NFFrontEnd/NFUnitCheck.mo",
// "BackEnd";
prefixPath + "BackEnd/BackendDAE.mo",
prefixPath + "BackEnd/BackendDAECreate.mo",
prefixPath + "BackEnd/BackendDAEEXT.mo",
prefixPath + "BackEnd/BackendDAEFunc.mo",
prefixPath + "BackEnd/BackendDAEOptimize.mo",
prefixPath + "BackEnd/BackendDAETransform.mo",
prefixPath + "BackEnd/BackendDAEUtil.mo",
prefixPath + "BackEnd/BackendDump.mo",
prefixPath + "BackEnd/BackendEquation.mo",
prefixPath + "BackEnd/BackendVariable.mo",
prefixPath + "BackEnd/BackendVarTransform.mo",
prefixPath + "BackEnd/BinaryTree.mo",
prefixPath + "BackEnd/BinaryTreeInt.mo",
prefixPath + "BackEnd/Causalize.mo",
prefixPath + "BackEnd/CommonSubExpression.mo",
prefixPath + "BackEnd/DAEQuery.mo",
prefixPath + "BackEnd/Differentiate.mo",
prefixPath + "BackEnd/DumpGraphML.mo",
prefixPath + "BackEnd/DumpHTML.mo",
prefixPath + "BackEnd/EvaluateFunctions.mo",
prefixPath + "BackEnd/EvaluateParameter.mo",
prefixPath + "BackEnd/ExpressionSolve.mo",
prefixPath + "BackEnd/FindZeroCrossings.mo",
prefixPath + "BackEnd/HpcOmBenchmark.mo",
prefixPath + "BackEnd/HpcOmBenchmarkExt.mo",
prefixPath + "BackEnd/HpcOmEqSystems.mo",
prefixPath + "BackEnd/HpcOmMemory.mo",
prefixPath + "BackEnd/HpcOmScheduler.mo",
prefixPath + "BackEnd/HpcOmSchedulerExt.mo",
prefixPath + "BackEnd/HpcOmTaskGraph.mo",
prefixPath + "BackEnd/IndexReduction.mo",
prefixPath + "BackEnd/Initialization.mo",
prefixPath + "BackEnd/InlineArrayEquations.mo",
prefixPath + "BackEnd/Matching.mo",
prefixPath + "BackEnd/MathematicaDump.mo",
prefixPath + "BackEnd/OnRelaxation.mo",
prefixPath + "BackEnd/OpenTURNS.mo",
prefixPath + "BackEnd/RemoveSimpleEquations.mo",
prefixPath + "BackEnd/ResolveLoops.mo",
prefixPath + "BackEnd/Sorting.mo",
prefixPath + "BackEnd/SymbolicJacobian.mo",
prefixPath + "BackEnd/SynchronousFeatures.mo",
prefixPath + "BackEnd/Tearing.mo",
prefixPath + "BackEnd/Uncertainties.mo",
prefixPath + "BackEnd/Unit.mo",
prefixPath + "BackEnd/UnitCheck.mo",
prefixPath + "BackEnd/Vectorization.mo",
prefixPath + "BackEnd/VisualXML.mo",
prefixPath + "BackEnd/XMLDump.mo",
prefixPath + "BackEnd/ZeroCrossings.mo",
// "SimCode";
prefixPath + "SimCode/HpcOmSimCode.mo",
prefixPath + "SimCode/HpcOmSimCodeMain.mo",
prefixPath + "SimCode/SimCode.mo",
prefixPath + "SimCode/SimCodeFunction.mo",
prefixPath + "SimCode/SimCodeFunctionUtil.mo",
prefixPath + "SimCode/SimCodeMain.mo",
prefixPath + "SimCode/SimCodeUtil.mo",
prefixPath + "SimCode/SimCodeVar.mo",
// "Script";
prefixPath + "Script/CevalScript.mo",
prefixPath + "Script/GlobalScript.mo",
prefixPath + "Script/Interactive.mo",
prefixPath + "Script/Refactor.mo",
prefixPath + "Script/RewriteRules.mo",
prefixPath + "Script/StaticScript.mo",
// "Template";
prefixPath + "Template/AbsynDumpTpl.mo",
prefixPath + "Template/CodegenAdevs.mo",
prefixPath + "Template/CodegenC.mo",
prefixPath + "Template/CodegenCpp.mo",
prefixPath + "Template/CodegenCppHpcom.mo",
prefixPath + "Template/CodegenCSharp.mo",
prefixPath + "Template/CodegenFMU.mo",
prefixPath + "Template/CodegenFMUCpp.mo",
prefixPath + "Template/CodegenJava.mo",
prefixPath + "Template/CodegenJS.mo",
prefixPath + "Template/CodegenModelica.mo",
prefixPath + "Template/CodegenUtil.mo",
prefixPath + "Template/CodegenXML.mo",
prefixPath + "Template/DAEDumpTpl.mo",
prefixPath + "Template/ExpressionDumpTpl.mo",
prefixPath + "Template/GraphMLDumpTpl.mo",
prefixPath + "Template/GraphvizDump.mo",
prefixPath + "Template/NFInstDumpTpl.mo",
prefixPath + "Template/SCodeDumpTpl.mo",
prefixPath + "Template/SimCodeDump.mo",
prefixPath + "Template/TaskSystemDump.mo",
prefixPath + "Template/Tpl.mo",
prefixPath + "Template/TplAbsyn.mo",
prefixPath + "Template/TplCodegen.mo",
prefixPath + "Template/TplMain.mo",
prefixPath + "Template/TplParser.mo",
prefixPath + "Template/Unparsing.mo",
prefixPath + "Template/VisualXMLTpl.mo",
// "Global";
prefixPath + "Global/Global.mo",
// "Main";
prefixPath + "Main/Main.mo",
// "Util";
prefixPath + "Util/Array.mo",
prefixPath + "Util/Autoconf.mo",
prefixPath + "Util/AvlSetCR.mo",
prefixPath + "Util/AvlTreeString.mo",
prefixPath + "Util/BaseAvlSet.mo",
prefixPath + "Util/BaseAvlTree.mo",
prefixPath + "Util/BaseHashSet.mo",
prefixPath + "Util/BaseHashTable.mo",
prefixPath + "Util/ClockIndexes.mo",
prefixPath + "Util/Config.mo",
prefixPath + "Util/Corba.mo",
// prefixPath + "Util/Database.mo",
prefixPath + "Util/Debug.mo",
prefixPath + "Util/DoubleEndedList.mo",
prefixPath + "Util/DynLoad.mo",
prefixPath + "Util/Error.mo",
prefixPath + "Util/ErrorExt.mo",
prefixPath + "Util/ExpandableArray.mo",
prefixPath + "Util/File.mo",
prefixPath + "Util/Flags.mo",
prefixPath + "Util/FMI.mo",
prefixPath + "Util/FMIExt.mo",
prefixPath + "Util/Graph.mo",
prefixPath + "Util/GraphML.mo",
prefixPath + "Util/GraphStream.mo",
prefixPath + "Util/GraphStreamExt.mo",
prefixPath + "Util/HashSet.mo",
prefixPath + "Util/HashSetString.mo",
prefixPath + "Util/HashTable.mo",
prefixPath + "Util/HashTable2.mo",
prefixPath + "Util/HashTable3.mo",
prefixPath + "Util/HashTable4.mo",
prefixPath + "Util/HashTable5.mo",
// prefixPath + "Util/HashTable6.mo",
prefixPath + "Util/HashTableCG.mo",
prefixPath + "Util/HashTableCrefSimVar.mo",
prefixPath + "Util/HashTableCrILst.mo",
prefixPath + "Util/HashTableCrIntToExp.mo",
prefixPath + "Util/HashTableCrToCrEqLst.mo",
prefixPath + "Util/HashTableCrToExp.mo",
prefixPath + "Util/HashTableCrToExpSourceTpl.mo",
prefixPath + "Util/HashTableCrToUnit.mo",
prefixPath + "Util/HashTableExpToExp.mo",
prefixPath + "Util/HashTableExpToIndex.mo",
prefixPath + "Util/HashTablePathToFunction.mo",
prefixPath + "Util/HashTableStringToPath.mo",
prefixPath + "Util/HashTableStringToUnit.mo",
prefixPath + "Util/HashTableUnitToString.mo",
prefixPath + "Util/IOStream.mo",
prefixPath + "Util/IOStreamExt.mo",
prefixPath + "Util/Lapack.mo",
prefixPath + "Util/List.mo",
prefixPath + "Util/ModelicaExternalC.mo",
prefixPath + "Util/Mutable.mo",
prefixPath + "Util/Pointer.mo",
prefixPath + "Util/Print.mo",
prefixPath + "Util/PriorityQueue.mo",
prefixPath + "Util/Settings.mo",
prefixPath + "Util/SimulationResults.mo",
prefixPath + "Util/Socket.mo",
prefixPath + "Util/StackOverflow.mo",
prefixPath + "Util/StringUtil.mo",
prefixPath + "Util/System.mo",
prefixPath + "Util/TaskGraphResults.mo",
prefixPath + "Util/Util.mo",
prefixPath + "Util/VarTransform.mo"
};
LoadCompilerSourcesRes:= OpenModelica.Scripting.loadFiles(files,numThreads=min(5,OpenModelica.Scripting.numProcessors()));
if not LoadCompilerSourcesRes then
print("Failed to load compiler sources:\n");
print(getErrorString());
exit(1);
end if;
end if;