[root]/Compiler/susan_codegen
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)
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 199 (100.0%) | 36527 (100.0%) | 183.5 |
sjoelund.se | 111 (55.8%) | 13525 (37.0%) | 121.8 |
adrpo | 15 (7.5%) | 10568 (28.9%) | 704.5 |
ppriv | 54 (27.1%) | 9654 (26.4%) | 178.7 |
hudson | 14 (7.0%) | 2718 (7.4%) | 194.1 |
perost | 5 (2.5%) | 62 (0.2%) | 12.4 |
Susan: Handle builtin uniontypes
1 lines of code changed in 2 files:
Replace `Util.if_` with if-expressions
1 lines of code changed in 1 file:
- Added support for a new annotation `__OpenModelica_Interface`, and the corresponding scripting function `checkInterfaceOfPackages`
- Using this function and annotating every source package, it is possible to restrict and document which packages are part of the front-end and which are back-end modules
- The interface types are given in the call to `checkInterfaceOfPackages`
- Currently, too many packages have the backendInterface type (allowing front-end modules to call it even though it is a back-end module. Only one package should be a backendInterface once we refactor)
- Improved Susan to be able to insert a custom class annotation at the end of the class (so we automatically add the required `__OpenModelica_Interface` packages)
- Note that this requires installing an updated omc in order to compile susan files. (or run touch Compiler/Template/*.mo to skip trying to compile these, then touch the tpl files once you have an updated susan compiler)
- Improved SCodeDumpTpl to include non-blacklisted class annotations without +showAnnotations
- Removed the non-standard built-in function differentiate (re-add it as a scripting function if needed, or using bootstrapping tests to test differentiation)
752 lines of code changed in 7 files:
Avoid using the susan_codegen directory since it does not use the configured OMC
0 lines of code changed in 2 files:
Updated copyright notices to 2014
- The script uses regex to update copyright notices since we have different years in there
30 lines of code changed in 1 file:
Fix for #2496:
- Fixed code generation for arrays in Susan.
3 lines of code changed in 2 files:
Revert r15962 (accidently replaced 8 spaces with 2 spaces; was supposed to be 1 tab to 2 spaces but text editors messed up the command)
Contact me if you have problems merging your working copy
2716 lines of code changed in 12 files:
[Janitor mode] Fix tabs
2716 lines of code changed in 12 files:
[Janitor mode] Set auto-props
2 lines of code changed in 2 files:
Trim trailing whitespace
734 lines of code changed in 16 files:
- Susan does not generate unreachable match cases for map expressions (a clean-up)
0 lines of code changed in 1 file:
- Susan uses "match" instead "matchcontinue" in generated template code
- this is for Hudson test (I've tested locally that terstsuite run the same)
Be aware: template imported functions MUST NOT fail to render the running template (imported functions are those imported via SimCodeTV.mo), otherwise the whole template call fails
114 lines of code changed in 2 files:
Print longer filenames when running the testsuite (no more "which package.mo should I look in?")
2 lines of code changed in 1 file:
- Removed $Id$ from generated code (this should reduce number of times svn diff says you changed generated files)
1 lines of code changed in 2 files:
The Second part of the potentially buggy places in .tpl files due to the (confusing) semantics of iteration expressions and the "empty" option
- made explicit "empty" option on all the suspicious places (those that are not obvious to produce an output for every iteration)
- CodegenC.tpl and CodegenCPP.tpl covered so far
- some small code styling in CodegenCPP.tpl
8 lines of code changed in 1 file:
Cleaning of the internal stuff out of the susan_codegen/
- delete susan_codegen/SimCode
- move SimCode_design.txt to susan_codegen/
5 lines of code changed in 1 file:
- Got rid of tabs.
59 lines of code changed in 3 files:
- Fixed the encoding of the remaining files (added .tpl, fixed some illegal chars in interactive)
4 lines of code changed in 1 file:
- Converted some files to UTF-8
8 lines of code changed in 2 files:
- Remove some tabs from sources
388 lines of code changed in 3 files:
- OSX cp doesn't have -u
2 lines of code changed in 1 file:
- EOL style on templates
557 lines of code changed in 4 files:
- Fix unparsing of MSL 3.2
5 lines of code changed in 1 file:
- Add class comments in Susan-generated code
31 lines of code changed in 2 files:
- svn:keywords
22 lines of code changed in 22 files:
!! this update will most likely need 'clean' or deletion of omc.exe as your old Susan parser will complain on the updated SimCodeC.tpl ... sorry for the inconvenience
- Susan keyword 'from' is changed to 'fromindex' (according to the last Susan specification)
- some other errors are now reported with correct source location (string conversion, argument type check, options type check, function/template lookup).
2 lines of code changed in 1 file:
- Made code pretty
148 lines of code changed in 5 files:
- Fixed line endings of several files
2 lines of code changed in 2 files:
- Started removing pattern inputs that are never used (OMC dead code):
case (1,_) ... case (2,_) => case 1 ... case 2
- We have a lot of these because of RML forces us to put all inputs of the function as the inputs of a match-expression
- This makes more match-expressions simplify into if-expressions
- Made all packages encapsulated (and fixed Susan so it outputs encapsulated packages)
- This should make dependency analysis on OMC work better
82 lines of code changed in 2 files:
- Tabs to spaces
64 lines of code changed in 1 file:
- Reverting tab changes to Template/*.mo as Susan needs them
385 lines of code changed in 3 files:
- Replaced tab characters with 2 spaces (mostly in C sources since Eclipse/MDT usually manages to avoid using tabs)
$ svn diff Compiler/ | grep ^- | grep -v ^--- | wc -l
4771
$ svn diff c_runtime/ | grep ^- | grep -v ^--- | wc -l
13365
$ svn diff OMNotebook/ | grep ^- | grep -v ^--- | wc -l
17341
$ svn diff OMShell/ | grep ^- | grep -v ^--- | wc -l
582
385 lines of code changed in 5 files:
Fixes for task: #1344
- split into directories: FrontEnd BackEnd Template Script Util Main
- only working on OMDev MinGW Windows right now, I'm working on the Linux part.
1 lines of code changed in 1 file:
- Susan now:
- translates case local names into function wide local names
and has nicer name prefixes to have more easily distinguishable origins of the generated identifiers
- respects full 'hasindex' semantics with a new keyword 'from' added that is used instead of indexOffset= option
new syntax is:
lst |> elem hasindex myIndex3 from 3 => '<%elem%><%myIndex3%>'
the 'from' keyword is optional (and can only together with 'hasindex'); default is 0
- does not hide implicitly scoped patterned matched record fields in 'if' expressions (only directly tested implicitly scoped values was visible after 'then' till now)
- has much better 'let' scoping, to be continued ...
- has better emptiness testing of Texts in 'if' expressions (does direct Text value test for emptiness instead of translating it to string)
- reports better errors for options; mainly does not allow a typo in option names and non-sense options are errors now
- SimCodeC.tpl
- rewritten to respect the new 'hasindex' ['from'] syntax
- fixed a typo 'seprator' -> 'separator'
- in template initRecordMembers() fixed RECORD to RECORD(__)
- in template patternMatch() in case PAT_CALL(__) fixed placement of empty= option (to be removed later entirely for this context)
1011 lines of code changed in 6 files:
- Susan updated tests to be all OK
- C# codegen for non-linear strong components
109 lines of code changed in 5 files:
- Susan update
- Use Tpl.emptyTxt in the templates instead of a protected constant (bootstrapped OMC could not find it)
0 lines of code changed in 2 files:
- Fix svn-eol-style on Makefiles
14 lines of code changed in 1 file:
- fixes to make slicing like
a[1,:] := a[:];
and/or
a[2:3,2] := x[2:3];
work:
- fixed code in indexed_assign_real_array(), index_real_array() and index_alloc_real_array()
- fixed daeExpCrefRhsIndexSpec() template to generate "zero" dimension size for scalar subscripts for INDEX case:
(0), make_index_array(1, <%expPart%>), 'S'
- added test ArrayAssignWholeDim.mo; but it should be moved to mosfiles to ensure C-runtime invocation
TODO: the same should be done for integer_array.c; then the character slice coding, i.e. 'S','A','W', can be removed entirely;
or, perhaps, the slicing operation can be generated inline as appropriate nested for loops (I'll do that for C# generator, then it may be ported back to C++)
- fixed daeExpAsub() template for _get_1D() .. _get_4D() constant index cases ... decremented indexes, because the _get_#D() functions works with zero based indexes
- commented out #include "utility.h" in simulation_events.cpp to enable debugging in Visual Studio
- added NO_INTERACTIVE_DEPENDENCY macro switch used in simulation_runtime.cpp for simpler compilation of simulation runtime in Visual Studio
- added SimCode.cref2simvar(ComponentRef,SimCode)->SimVar function and daeLow field into SimCode.SIMCODE record to enable lookup of representation arrays in templates (C#);
note that only cref2simvar() is visible from templates, but not the daeLow field which is not added to SimCodeTV.mo;
the function needs a SimCode value as a whole, so the implementation is effectively hidden from templates' viewpoint;
BUT, this is only a workaround for the lack of the needed information in component references themselves (hope they will have it in the future);
see usage of cref2simvar() in SimCodeCSharp.tpl
- added extern int const specifiers in functionStoreDelayed C++ template to resolve a link problem in VC++
- renamed local identifiers named cref to cr or ecr (ecr when of type DAE.Exp) in the C++ templates to disambiguate them from cref() template name (will be checked in the future; now value binding names and template names has separate name scopes, but that will be changed in the next versions of Susan);
maybe the cref() template should be renamed to compRef() because there exist fields named cref in SimCodeTV.mo
- simplified several constructs like '<%val%>' to just val and/or like (libs |> lib => lib) to just (libs) in C++ templates
- re-factored some case clauses when they shared the same then part (Susan can have "or" cases,e.g.: case PAT1 case PAT2 case PAT3 then tplExpr ... where the same tplExpr is lexically used for every given case)
- renamed subscriptsTpl() and subscriptTpl() templates to more suitable names subscriptsStr() and subscriptStr()
- added many improvements in C# code generator
- changed some make commands for Susan/C# codegen testing
- added testmo make command to Makefile.common
155 lines of code changed in 3 files:
- Added automatic regeneration of TplCodegen.mo if the template changes
6 lines of code changed in 1 file:
- Added Unix make target "fix-svn-eol-style"
- Fixed line ending for all .mo and .mos-files in Compiler/ and testsuite/
7185 lines of code changed in 9 files:
(9 more)