[root]/Compiler
BackEnd
(53 files, 117793 lines)
FFrontEnd
(15 files, 13045 lines)
FrontEnd
(95 files, 189698 lines)
Global
(1 files, 79 lines)
Main
(1 files, 907 lines)
Script
(14 files, 33324 lines)
SimCode
(7 files, 18833 lines)
Template
(43 files, 85924 lines)
Translation
(6 files, 13679 lines)
Unused
(2 files, 570 lines)
Util
(63 files, 28597 lines)
VC7
(0 files, 0 lines)
MakeRMLandGRAMMAR
(0 files, 0 lines)
MakeStaticMicoLib
(0 files, 0 lines)
Release
(0 files, 0 lines)
Setup
(0 files, 0 lines)
bin
(0 files, 0 lines)
icons
(0 files, 0 lines)
lib
(0 files, 0 lines)
testmodels
(0 files, 0 lines)
tools
(0 files, 0 lines)
zips
(0 files, 0 lines)
UpdateEnv
(0 files, 0 lines)
antlr
(0 files, 0 lines)
omc
(0 files, 0 lines)
rmlRuntime
(0 files, 0 lines)
runtime
(0 files, 0 lines)
common
(0 files, 0 lines)
diff
(0 files, 0 lines)
mask
(0 files, 0 lines)
plain
(0 files, 0 lines)
sendData
(0 files, 0 lines)
VC8
(0 files, 0 lines)
MakeRMLandGRAMMAR
(0 files, 0 lines)
Release
(0 files, 0 lines)
MakeStaticMicoLib
(0 files, 0 lines)
Setup
(0 files, 0 lines)
bin
(0 files, 0 lines)
testmodels
(0 files, 0 lines)
UpdateEnv
(0 files, 0 lines)
antlr
(0 files, 0 lines)
omc
(0 files, 0 lines)
rmlRuntime
(0 files, 0 lines)
runtime
(0 files, 0 lines)
common
(0 files, 0 lines)
diff
(0 files, 0 lines)
test
(0 files, 0 lines)
bench
(0 files, 0 lines)
data
(0 files, 0 lines)
etc
(0 files, 0 lines)
dryrun
(0 files, 0 lines)
rngchk
(0 files, 0 lines)
mask
(0 files, 0 lines)
plain
(0 files, 0 lines)
sml
(0 files, 0 lines)
absyn_builder
(11 files, 1334 lines)
boot
(12 files, 1264 lines)
include
(1 files, 374 lines)
doc
(0 files, 0 lines)
modpar
(0 files, 0 lines)
omc_debug
(0 files, 0 lines)
omc_frontend
(1 files, 2 lines)
omc_profiler
(0 files, 0 lines)
omc_release
(0 files, 0 lines)
report
(0 files, 0 lines)
rml2mmo
(0 files, 0 lines)
rml2sig
(0 files, 0 lines)
runtime
(69 files, 20309 lines)
FMI
(0 files, 0 lines)
lpsolve
(0 files, 0 lines)
lib
(0 files, 0 lines)
mingw32
(0 files, 0 lines)
x86_64-osx
(0 files, 0 lines)
sqlite
(0 files, 0 lines)
scripts
(8 files, 4215 lines)
PythonInterface
(0 files, 0 lines)
OMPython
(0 files, 0 lines)
OMParser
(0 files, 0 lines)
OMPythonParser
(0 files, 0 lines)
_GlobalIDL
(0 files, 0 lines)
_GlobalIDL__POA
(0 files, 0 lines)
stubs
(0 files, 0 lines)
modelbasedoptimization
(0 files, 0 lines)
ompython
(0 files, 0 lines)
Parser
(0 files, 0 lines)
susan_codegen
(17 files, 11425 lines)
SimCode
(0 files, 0 lines)
GenTest
(0 files, 0 lines)
HelloWorld
(0 files, 0 lines)
Influenza
(0 files, 0 lines)
QHP
(0 files, 0 lines)
RightHeartStarling
(0 files, 0 lines)
TrapezTest
(0 files, 0 lines)
doc
(5 files, 5966 lines)
template_precompile
(0 files, 0 lines)
test_codegen
(0 files, 0 lines)
tools
(0 files, 0 lines)
winruntime
(0 files, 0 lines)
yaccpar
(0 files, 0 lines)
.externalToolBuilders
(0 files, 0 lines)
rml2mmod
(0 files, 0 lines)
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 6613 (100.0%) | 897049 (100.0%) | 135.6 |
petar | 1304 (19.7%) | 198826 (22.2%) | 152.4 |
sjoelund.se | 1463 (22.1%) | 180037 (20.1%) | 123.0 |
adrpo | 1759 (26.6%) | 143639 (16.0%) | 81.6 |
ricli576 | 108 (1.6%) | 108696 (12.1%) | 1006.4 |
ppriv | 48 (0.7%) | 102267 (11.4%) | 2130.5 |
Frenkel TUD | 403 (6.1%) | 44138 (4.9%) | 109.5 |
dietmarw | 58 (0.9%) | 25953 (2.9%) | 447.4 |
perost | 442 (6.7%) | 24881 (2.8%) | 56.2 |
krsta | 126 (1.9%) | 15738 (1.8%) | 124.9 |
wbraun | 24 (0.4%) | 11991 (1.3%) | 499.6 |
x02lucpo | 184 (2.8%) | 8720 (1.0%) | 47.3 |
stebr461 | 164 (2.5%) | 4550 (0.5%) | 27.7 |
donida | 14 (0.2%) | 4334 (0.5%) | 309.5 |
kajny | 100 (1.5%) | 3292 (0.4%) | 32.9 |
haklu | 55 (0.8%) | 3030 (0.3%) | 55.0 |
x06krino | 4 (0.1%) | 3005 (0.3%) | 751.2 |
bjozac | 78 (1.2%) | 2952 (0.3%) | 37.8 |
AlexeyLebedev | 41 (0.6%) | 2636 (0.3%) | 64.2 |
lochel | 23 (0.3%) | 1695 (0.2%) | 73.6 |
davbr | 28 (0.4%) | 1389 (0.2%) | 49.6 |
x06hener | 20 (0.3%) | 1032 (0.1%) | 51.6 |
levsa | 24 (0.4%) | 887 (0.1%) | 36.9 |
niklwors | 4 (0.1%) | 822 (0.1%) | 205.5 |
dhedberg | 10 (0.2%) | 460 (0.1%) | 46.0 |
asodja | 15 (0.2%) | 409 (0.0%) | 27.2 |
adeas31 | 28 (0.4%) | 336 (0.0%) | 12.0 |
g-bjoza | 5 (0.1%) | 298 (0.0%) | 59.6 |
leonardo.laguna | 5 (0.1%) | 227 (0.0%) | 45.4 |
rruusu | 4 (0.1%) | 166 (0.0%) | 41.5 |
g-pavgr | 12 (0.2%) | 162 (0.0%) | 13.5 |
mahge930 | 6 (0.1%) | 124 (0.0%) | 20.6 |
otto@mathcore.com | 5 (0.1%) | 93 (0.0%) | 18.6 |
petfr | 2 (0.0%) | 87 (0.0%) | 43.5 |
bthiele | 1 (0.0%) | 62 (0.0%) | 62.0 |
andsa | 3 (0.0%) | 27 (0.0%) | 9.0 |
jfrenkel | 14 (0.2%) | 25 (0.0%) | 1.7 |
henrikt | 1 (0.0%) | 22 (0.0%) | 22.0 |
mwalther | 8 (0.1%) | 12 (0.0%) | 1.5 |
x02danhe | 1 (0.0%) | 8 (0.0%) | 8.0 |
fbergero | 2 (0.0%) | 4 (0.0%) | 2.0 |
vitalij | 3 (0.0%) | 3 (0.0%) | 1.0 |
x06klasj | 1 (0.0%) | 2 (0.0%) | 2.0 |
vwaurich | 2 (0.0%) | 2 (0.0%) | 1.0 |
rakhiwarriar | 2 (0.0%) | 2 (0.0%) | 1.0 |
nutaro | 2 (0.0%) | 2 (0.0%) | 1.0 |
alash325 | 2 (0.0%) | 2 (0.0%) | 1.0 |
Dongliang Li | 2 (0.0%) | 2 (0.0%) | 1.0 |
hudson | 1 (0.0%) | 1 (0.0%) | 1.0 |
florosx | 2 (0.0%) | 1 (0.0%) | 0.5 |
- split qt-clients build on windows so one can build just the ones who is interested in
- better Compiler/Script cleaning
- clean OMEdit generated files on clean
- get rid of some warnings
- do Print.clearBuf() a bit differently in Main
4 lines of code changed in 3 files:
#3096 Implement prototype for dot operator
15 lines of code changed in 1 file:
Big changes. You will need to bootstrap omc from scratch.
- Added function `sourceInfo()`, which returns the file and positions of the call in the source code (useful to produce error-messages that point inside the compiler itself).
- Changed all Absyn.Info to the built-in SourceInfo uniontype
- Added SourceInfo to GlobalScript.IEXP (previously only statements had SourceInfo)
- Changed System.readLine to fail if the file does not exist. The scripting function returns an empty string on failure.
A new bootstrapping tarball has been created. Some of the new features you can use in the compiler:
- (Limited) assignment to metarecord fields (r23120)
- Use new built-in function arrayAppend and Dangerous.arrayCreateNoInit (r23106)
- import MetaModelica.Dangerous (r23001)
- SourceInfo (this commit)
8 lines of code changed in 3 files:
- disable parallel mark for GC in Windows as it crashes dll loading
- override CFLAGS in some places so the CFLAGS given at command line get propagated correctly
- remove MMC_INIT from in_function generated for dll loading
1 lines of code changed in 1 file:
Remove some RML stuff
2 lines of code changed in 2 files:
- more cleanup
- use CFLAGS=-g -O2 -falign-functions on Windows
2 lines of code changed in 3 files:
- more proper RML cleanup
0 lines of code changed in 6 files:
- more rml cleanup
10 lines of code changed in 3 files:
- Update unit check module
- Use of hash tables instead of lists
- Minor fixes (e.g. messages)
4 lines of code changed in 1 file:
Create package Util/ClockIndexes (used to be part of Script/GlobalScript) in order to decouple susan from the front-end modules
1 lines of code changed in 1 file:
RML fix
1 lines of code changed in 1 file:
- Added a backend interface package so that frontend modules doesn't use
backend modules directly.
- Moved some code around to further separate the frontend from the backend.
3 lines of code changed in 1 file:
#2897 Implement continue statements in MetaModelica
16 lines of code changed in 1 file:
- moved SimCode.SimVar to SimCodeVar.SimVar to prevent circular dependencies in HPCOM
- added SimVar object to dependency tasks in HPCOM
- some updates for the measure time functionality of the cpp runtime
- added measureTime to CVode
- changed default hpcom-scheduler to levelfix and codegen to pthreads
1 lines of code changed in 1 file:
- revert r22764 (and r22765), since it breaks the bootstrapped stuff
0 lines of code changed in 1 file:
- Update unit check module
- Use of Hash Tables instead of lists
- Minor fixes (e.g. messages)
4 lines of code changed in 1 file:
Implement #2886 and #2887
- Added try/else statements to MetaModelica (syntactic sugar for matchcontinue)
- Added support for algorithm sections in match-expressions (equations are still possible to use)
19 lines of code changed in 1 file:
- separate Simcode from BackEnd
13 lines of code changed in 2 files:
- remove Compiler/FrontEnd/Env.mo (bye bye, you served us well for quite some years now)
(replaced everywhere by Compiler/FrontEnd/FGraph.mo and Compiler/FrontEnd/FCore.mo)
- other minor changes
- let's see how it goes and a 1.9.1 Beta3 will come next
0 lines of code changed in 1 file:
- new unit check module (flag +newUnitChecking, disabled by default)
- for all variables unspecified units get calculated if possible
- inconsistent equations get reported in a user friendly way
- new debug/dump flags for unit check module: dumpUnits, dumpEqInUC, dumpEqUCStruct
- add some examples for testing
1 lines of code changed in 1 file:
Merged branches/FFrontEnd into trunk/
Main changes:
- changed the environment to support both non-destructive and destructive updates
- Env.Cache -> FCore.Cache, Env.Env -> FCore.Graph
- FCore.Graph is not a list of Frames anymore is a stucture where the previous list is saved in component "scope"
- all Frames in the new FCore.Graph are FCore.Ref pointing to FCore.Node having different FCore.Data depending on what they are
- all FCore.Nodes have children (FCore.CAvlTree) which maps names to FCore.Ref (which is Array<FCore.Node>, size 1)
- FGraph.openScope pushes an already existing FCore.Ref (or a new one) on the scope list
- for all components having modifications the last class in the type path is renamed to include the
prefix, see FGraph.createVersionScope (this is done because we need unique names for redeclared functions,
records, etc and we need a unique type scope for that)
Example: A.B.C c -> A.B.C$c c
Bug fixes:
- calling function via component (multibody MSL 3.2.1 patch not needed anymore, will remove it in a next commit)
- #2837 array equations wrongly handled in RemoveSimpleEquations (used in ThermoPower and PowerSystems libraries, etc)
#2784, #2727, #2739 (missing modifiers combined with redeclare and unique function generation for redeclared functions)
#2835 - handle overconstrained connectors extending basic types (used in PowerSystems library)
- do not loose modifications on derived classes handled by InstExtends
- some error messages about missing components in Fluid library are gone
- for components of size 0 do not check if they are assigned before use in functions (residue in equalityConstraint)
4 lines of code changed in 2 files:
Fixes compilation
1 lines of code changed in 1 file:
Moved all definitions for "Clock"-Type from Absyn.mo to DAE.mo: Probably cleaner solution since the "Clock" type is not part of the grammar.
Changed some fields in the "ClockKind" to hold values of type "DAE.Exp" as requested by Lennart.
Removed the evaluation of "Clock"-Constructors to "Clock"-Values during elaboration and instead flagged constructors as "impure". This was necessary since by moving everything to DAE.mo I suddenly had cyclic dependencies from Values.mo to DAE.mo. Although it was possible with the bootstrapped compiler to avoid a cyclic dependency error by importing DAE.mo as "protected", that didn't work for the RML compiler. This is, as I learned, because the RML compiler can not handle mutual dependencies.
62 lines of code changed in 1 file:
Add support for threaded reductions using +g=MetaModelica
35 lines of code changed in 1 file:
- fixed r22109
1 lines of code changed in 1 file:
- fixed cmake
1 lines of code changed in 1 file:
- rewrite DynamicOptimization parts in BackEnd
- create DynamicOptimization.mo
- mv some parts inside DynamicOptimization.mo
- added annotation marker for DynamicOptimization
- update tests for DynamicOptimization
1 lines of code changed in 1 file:
Added start of a sparse FMI generator for creating QSS compatible FMIs
1 lines of code changed in 1 file:
Added function ngspicetoModelica() to convert ngspice netlists to Modelica code.
2 lines of code changed in 2 files:
- merged r21292-r21522 from branches/SynchronousModelica/
190 lines of code changed in 1 file:
- enable base-clock partitioning
- new dump: +d=dumpSynchronous
1 lines of code changed in 1 file:
#1949 Changed implementation of DAE.PARTEVALFUNCTION
- PartFn.mo was removed
- We now create a closure in the code-generation instead
0 lines of code changed in 1 file:
+ New sorting for back-end variables.
- subscripts are compared only if the crefs match without considering subs. i.e. pushed to the end of the cref.
+ Fixed state-sets generation and initialization to use the correct indexing.
- Used to be transposed.
0 lines of code changed in 1 file:
Various bugfixes and new features
- A new implementation for overloaded (binary) operators.
* Follows the specification more strictly and produces less fewer warnings for legal code
* matrix*matrix and matrix*vector uses reduction expressions to implement sum and array
* Checked that inlining of the generated functions works and produces simple expressions
* The code has been split into its own file since it is 2200 LOC and very few things in there actually depend on Static.mo (most of the remaining ones should be refactored)
- Implemented inlining of functions that assign to record members instead of call the record constructor in a single statement
- When evaluating function inputs to determine output array dimensions, keep the evaluated results
- Adding new preOptModule evaluateReplaceProtectedFinalEvaluateParameters which replaces evaluateReplaceFinalEvaluateParameters as a default module
* Causes problems for NPendulum.mos and PrismaticConstraint. They have different preOptModules set in the tests
- Added simulation flag `-abortSlowSimulation` used for the library tests in the testsuite
- EngineV6 now causes chattering behaviour. It was set to a Compilation test.
* The test will not spin thanks to the `-abortSlowSimulation` flag
- Improve elaboration, simplification, evaluation, and code generation for reductions
* Each operator now has unique indexes to avoid conflicts when replacing iterator crefs
* We can now simplify user-defined operators
* Added a new kind of mode for reductions: DAE.THREAD(), as opposed to the standard DAE.COMBINE()
- When we have multiple iterators, the default DAE.COMBINE() is used and iterates over all combinations of the expressions in the iterators. DAE.THREAD() instead assumes the arrays have equal length and folds over the reduction expression with the n-th expression in each iterator at a time. Used by operator overloading to implement element-wise and `sum` operations.
* This changes the DAE slightly
- Implemented DAE.FuncArg as a uniontype instead of tuple (DAE change)
- Some better simplification for ASUB (ranges and reductions)
- And some more things. Hopefully the major changes are all listed.
1 lines of code changed in 1 file:
Remove the modpar library as it has been disabled for a long time
5 lines of code changed in 4 files:
- HpcOmSimCode -> HpcOmSimCodeMain
- HpcOmMemory-module added for memory optimizations
- simple renamings in HpcOmTaskGraph
- checkCodeGraph function added for validations
- RDTSC() clock is now available for linux-systems
- fixed Analyation-mode for the cpp-runtime
2 lines of code changed in 1 file:
+ Added the task graph implementations.
1 lines of code changed in 1 file:
Avoid using the susan_codegen directory since it does not use the configured OMC
0 lines of code changed in 2 files:
Replace measureTime=true with +d=measureTime in buildModel/etc
- Fix code generation for profiling of function calls (was disabled)
- Fix the counter for number of profiling blocks so the profiling now includes the measured blocks again
3 lines of code changed in 1 file:
- display graph on the fly via GraphStream (later we can support Gephi easily)
- some minor changes to FFrontEnd/ files
- i guess Linux builds will break but i'll fix them
4 lines of code changed in 1 file:
(1902 more)