Skip to content

Commit

Permalink
Ticket-5712: Fixed issue with duplicated variables + minor fixes to t…
Browse files Browse the repository at this point in the history
…he Modelica to Julia translator.

Ticket-5712: Fixed duplicates, Removed dbg print

Ticket-5712:Fixed duplicates

Removed unused imports

Removed dbg printouts

Resolved the Circuit1x.mo test

Removed duplicates in the tests for mosfiles

Removed a duplicate in DataRecon

Added sourceinfo to DEFINEUNIT

* Better error message, since we now parse component info for element items

* PEXPipeTotal.mo now adhers to the Modelica standard and does not contain duplicates

TICKET-5712: Now only create errorstrings on error
  • Loading branch information
JKRT authored and adrpo committed Dec 10, 2019
1 parent 9317df6 commit a4f0ef3
Show file tree
Hide file tree
Showing 30 changed files with 395 additions and 247 deletions.
1 change: 0 additions & 1 deletion OMCompiler/Compiler/BackEnd/DynamicOptimization.mo
Expand Up @@ -756,7 +756,6 @@ protected
DAE.ComponentRef cr;
list<BackendDAE.Var> var_lst, var_lst_opt, var_lst1;
DAE.Exp e1, e2, e, c;
DAE.FunctionTree funcs;
BackendDAE.Variables vars, globalKnownVars;
BackendDAE.EquationArray eqns;
BackendDAE.BaseClockPartitionKind partitionKind;
Expand Down
2 changes: 1 addition & 1 deletion OMCompiler/Compiler/BackEnd/HpcOmMemory.mo
Expand Up @@ -2713,7 +2713,7 @@ import Util;
protected
array<list<Integer>> iClTaskMapping;
array<Integer> iScVarTaskMapping;
Integer varIdx,eqSysIdx,varOffset,scVarIdx,clIdx,nodeIdx, nodeIdx, scVarOffset;
Integer varIdx,eqSysIdx,varOffset,scVarIdx,clIdx,nodeIdx, scVarOffset;
BackendDAE.EqSystem eqSystem;
BackendDAE.Variables orderedVars;
array<Option<BackendDAE.Var>> varOptArr;
Expand Down
1 change: 0 additions & 1 deletion OMCompiler/Compiler/BackEnd/HpcOmScheduler.mo
Expand Up @@ -2899,7 +2899,6 @@ protected
HpcOmSimCode.Schedule tmpSchedule;
array<list<HpcOmSimCode.Task>> threadTasks;
array<HpcOmTaskGraph.Communications> commCosts;
HpcOmSimCode.Schedule tmpSchedule;
list<Integer> rootNodes;
array<tuple<HpcOmSimCode.Task, Integer>> allCalcTasks;
list<tuple<HpcOmSimCode.Task,Integer>> nodeList_refCount; //list of nodes which are ready to schedule
Expand Down
2 changes: 1 addition & 1 deletion OMCompiler/Compiler/FFrontEnd/FGraphBuild.mo
Expand Up @@ -621,7 +621,7 @@ protected
Option<Absyn.Exp> cnd;
Absyn.ArrayDim ad;
Absyn.TypeSpec ts;
Absyn.ArrayDim tad, ad;
Absyn.ArrayDim tad;
Data nd;
DAE.Var i;
algorithm
Expand Down
3 changes: 2 additions & 1 deletion OMCompiler/Compiler/FrontEnd/Absyn.mo
Expand Up @@ -36,7 +36,7 @@ encapsulated package Absyn
description: Abstract syntax


This file defines the abstract syntax for Modelica in MetaModelica Compiler (MMC). It
This file defines the abstract syntax for Modelica in MetaModelica Compiler (MMC). It
contains uniontypes for constructing the abstract syntax tree
(AST).

Expand Down Expand Up @@ -294,6 +294,7 @@ uniontype Element "Elements
record DEFINEUNIT
Ident name;
list<NamedArg> args;
Info info;
end DEFINEUNIT;

record TEXT
Expand Down
4 changes: 2 additions & 2 deletions OMCompiler/Compiler/FrontEnd/AbsynToSCode.mo
Expand Up @@ -1054,11 +1054,11 @@ algorithm
then
es;

case(Absyn.DEFINEUNIT(name,args),vis)
case(Absyn.DEFINEUNIT(name, args, info), vis)
equation
expOpt = translateDefineunitParam(args,"exp");
weightOpt = translateDefineunitParam2(args,"weight");
then {SCode.DEFINEUNIT(name,vis,expOpt,weightOpt)};
then {SCode.DEFINEUNIT(name,vis,expOpt,weightOpt,info)};
end match;
end translateElement;

Expand Down
14 changes: 13 additions & 1 deletion OMCompiler/Compiler/FrontEnd/AbsynUtil.mo
Expand Up @@ -5878,7 +5878,7 @@ algorithm
end matchcontinue;
end stripGraphicsAndInteractionModification;

function traverseClasses
public function traverseClasses
" This function traverses all classes of a program and applies a function
to each class. The function takes the Absyn.Class, Absyn.Path option
and an additional argument and returns an updated class and the
Expand Down Expand Up @@ -6395,5 +6395,17 @@ algorithm
end match;
end isNamedPathIdent;

function isUniontype
" @author johti17: Returns true if the class is of type uniontype
"
input Absyn.Class cls;
output Boolean b;
algorithm
b := match cls.restriction
case R_UNIONTYPE(__) then true;
else false;
end match;
end isUniontype;

annotation(__OpenModelica_Interface="frontend");
end AbsynUtil;
1 change: 0 additions & 1 deletion OMCompiler/Compiler/FrontEnd/Expression.mo
Expand Up @@ -9199,7 +9199,6 @@ protected
Integer len1, len2;
DAE.Exp e2;
list<DAE.Exp> rest_expl2 = inExpl2;
Integer len1, len2;
algorithm
// Check that the lists have the same length, otherwise they can't be equal.
len1 := listLength(inExpl1);
Expand Down
1 change: 0 additions & 1 deletion OMCompiler/Compiler/FrontEnd/ExpressionSimplify.mo
Expand Up @@ -879,7 +879,6 @@ algorithm
equation
print("sourceInfo() - simplify?\n");
then fail();

end match;
end simplifyMetaModelicaCalls;

Expand Down
41 changes: 35 additions & 6 deletions OMCompiler/Compiler/FrontEnd/InstExtends.mo
Expand Up @@ -51,22 +51,23 @@ public import SCode;

// protected imports
protected import AvlSetString;
protected import Config;
protected import Debug;
protected import Dump;
protected import Error;
protected import Flags;
protected import ErrorExt;
protected import FGraph;
protected import Flags;
protected import Global;
protected import Inst;
protected import InstUtil;
protected import List;
protected import Lookup;
protected import Mod;
protected import Util;
protected import SCodeDump;
import SCodeInstUtil;
import SCodeUtil;
protected import ErrorExt;
protected import Global;
protected import SCodeInstUtil;
protected import SCodeUtil;
protected import Util;

protected type InstanceHierarchy = InnerOuter.InstHierarchy "an instance hierarchy";

Expand Down Expand Up @@ -95,7 +96,35 @@ protected function instExtendsList
output list<SCode.AlgorithmSection> outNormalAlgs = {};
output list<SCode.AlgorithmSection> outInitialAlgs = {};
output list<SCode.Comment> outComments = {};
protected
list<SCode.Element> duplicates = {};
list<String> duplicateUnparseStrings = {};
algorithm
/*
Variables can be duplicated after inheritance not before.
*/
duplicates := List.sortedDuplicates(List.sort(inElementsFromExtendsScope,
SCodeUtil.elementEqual), SCodeUtil.elementEqual);
/*
For MetaModelica grammar we allow a special instance of this rule.
We only keep duplicate that are not restricted to TypeVar.
*/
if Config.acceptMetaModelicaGrammar() then
duplicates := List.filterOnFalse(duplicates, SCodeUtil.isTypeVar);
end if;
if not listEmpty(duplicates) then
duplicateUnparseStrings := list(SCodeDump.unparseElementStr(i) for i in duplicates);
if listLength(duplicates) > 1 then
Error.addMultiSourceMessage(Error.DUPLICATE_VARIABLE_ERROR,
duplicateUnparseStrings,
List.map(duplicates, SCodeUtil.elementInfo));
else
Error.addSourceMessage(Error.DUPLICATE_VARIABLE_ERROR,
duplicateUnparseStrings,
SCodeUtil.elementInfo(listHead(duplicates)));
end if;
fail();
end if;
for el in listReverse(inLocalElements) loop
_ := matchcontinue el
local
Expand Down
1 change: 1 addition & 0 deletions OMCompiler/Compiler/FrontEnd/SCode.mo
Expand Up @@ -577,6 +577,7 @@ uniontype Element "- Elements
Visibility visibility "the protected/public prefix";
Option<String> exp "the unit expression";
Option<Real> weight "the weight";
SourceInfo info "The source information";
end DEFINEUNIT;

end Element;
Expand Down
17 changes: 15 additions & 2 deletions OMCompiler/Compiler/FrontEnd/SCodeUtil.mo
Expand Up @@ -47,6 +47,7 @@ import Util;
public

replaceable type Argument subtypeof Any;
constant SourceInfo dummyInfo = SOURCEINFO("", false, 0, 0, 0, 0, 0.0);

function stripSubmod
"Removes all submodifiers from the Mod."
Expand Down Expand Up @@ -425,6 +426,17 @@ algorithm
end match;
end isRecord;

public function isTypeVar
"Return true if Class is a type"
input SCode.Element inClass;
output Boolean outBoolean;
algorithm
outBoolean := match(inClass)
case SCode.CLASS(restriction = SCode.R_TYPE()) then true;
else false;
end match;
end isTypeVar;

public function isOperatorRecord
"Return true if Class is a operator record."
input SCode.Element inClass;
Expand Down Expand Up @@ -4559,8 +4571,8 @@ algorithm
case (SCode.IMPORT(imp, _, info), _)
then SCode.IMPORT(imp, inVisibility, info);

case (SCode.DEFINEUNIT(name, _, unit, weight), _)
then SCode.DEFINEUNIT(name, inVisibility, unit, weight);
case (SCode.DEFINEUNIT(name, _, unit, weight, info), _)
then SCode.DEFINEUNIT(name, inVisibility, unit, weight, info);

end match;
end setElementVisibility;
Expand Down Expand Up @@ -5688,6 +5700,7 @@ algorithm
end match;
end isRedeclareElement;


public function mergeSCodeOptAnn
input Option<SCode.Annotation> inModOuter;
input Option<SCode.Annotation> inModInner;
Expand Down
114 changes: 57 additions & 57 deletions OMCompiler/Compiler/FrontEnd/UnitAbsynBuilder.mo
Expand Up @@ -51,6 +51,7 @@ protected import FGraph;
protected import List;
protected import Lookup;
protected import SCode;
protected import SCodeUtil;
protected import AbsynToSCode;
protected import Types;
protected import UnitParserExt;
Expand Down Expand Up @@ -112,34 +113,34 @@ algorithm
SI system ,with lower cost on Hz and Bq */
case({}) equation
registerUnitWeightDefineunits2({
SCode.DEFINEUNIT("m",SCode.PUBLIC(),NONE(),NONE()),
SCode.DEFINEUNIT("kg",SCode.PUBLIC(),NONE(),NONE()),
SCode.DEFINEUNIT("s",SCode.PUBLIC(),NONE(),NONE()),
SCode.DEFINEUNIT("A",SCode.PUBLIC(),NONE(),NONE()),
SCode.DEFINEUNIT("k",SCode.PUBLIC(),NONE(),NONE()),
SCode.DEFINEUNIT("mol",SCode.PUBLIC(),NONE(),NONE()),
SCode.DEFINEUNIT("cd",SCode.PUBLIC(),NONE(),NONE()),
SCode.DEFINEUNIT("rad",SCode.PUBLIC(),SOME("m/m"),NONE()),
SCode.DEFINEUNIT("sr",SCode.PUBLIC(),SOME("m2/m2"),NONE()),
SCode.DEFINEUNIT("Hz",SCode.PUBLIC(),SOME("s-1"),SOME(0.8)),
SCode.DEFINEUNIT("N",SCode.PUBLIC(),SOME("m.kg.s-2"),NONE()),
SCode.DEFINEUNIT("Pa",SCode.PUBLIC(),SOME("N/m2"),NONE()),
SCode.DEFINEUNIT("W",SCode.PUBLIC(),SOME("J/s"),NONE()),
SCode.DEFINEUNIT("J",SCode.PUBLIC(),SOME("N.m"),NONE()),
SCode.DEFINEUNIT("C",SCode.PUBLIC(),SOME("s.A"),NONE()),
SCode.DEFINEUNIT("V",SCode.PUBLIC(),SOME("W/A"),NONE()),
SCode.DEFINEUNIT("F",SCode.PUBLIC(),SOME("C/V"),NONE()),
SCode.DEFINEUNIT("Ohm",SCode.PUBLIC(),SOME("V/A"),NONE()),
SCode.DEFINEUNIT("S",SCode.PUBLIC(),SOME("A/V"),NONE()),
SCode.DEFINEUNIT("Wb",SCode.PUBLIC(),SOME("V.s"),NONE()),
SCode.DEFINEUNIT("T",SCode.PUBLIC(),SOME("Wb/m2"),NONE()),
SCode.DEFINEUNIT("H",SCode.PUBLIC(),SOME("Wb/A"),NONE()),
SCode.DEFINEUNIT("lm",SCode.PUBLIC(),SOME("cd.sr"),NONE()),
SCode.DEFINEUNIT("lx",SCode.PUBLIC(),SOME("lm/m2"),NONE()),
SCode.DEFINEUNIT("Bq",SCode.PUBLIC(),SOME("s-1"),SOME(0.8)),
SCode.DEFINEUNIT("Gy",SCode.PUBLIC(),SOME("J/kg"),NONE()),
SCode.DEFINEUNIT("Sv",SCode.PUBLIC(),SOME("cd.sr"),NONE()),
SCode.DEFINEUNIT("kat",SCode.PUBLIC(),SOME("s-1.mol"),NONE())
SCode.DEFINEUNIT("m",SCode.PUBLIC(),NONE(),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("kg",SCode.PUBLIC(),NONE(),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("s",SCode.PUBLIC(),NONE(),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("A",SCode.PUBLIC(),NONE(),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("k",SCode.PUBLIC(),NONE(),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("mol",SCode.PUBLIC(),NONE(),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("cd",SCode.PUBLIC(),NONE(),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("rad",SCode.PUBLIC(),SOME("m/m"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("sr",SCode.PUBLIC(),SOME("m2/m2"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("Hz",SCode.PUBLIC(),SOME("s-1"),SOME(0.8), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("N",SCode.PUBLIC(),SOME("m.kg.s-2"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("Pa",SCode.PUBLIC(),SOME("N/m2"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("W",SCode.PUBLIC(),SOME("J/s"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("J",SCode.PUBLIC(),SOME("N.m"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("C",SCode.PUBLIC(),SOME("s.A"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("V",SCode.PUBLIC(),SOME("W/A"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("F",SCode.PUBLIC(),SOME("C/V"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("Ohm",SCode.PUBLIC(),SOME("V/A"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("S",SCode.PUBLIC(),SOME("A/V"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("Wb",SCode.PUBLIC(),SOME("V.s"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("T",SCode.PUBLIC(),SOME("Wb/m2"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("H",SCode.PUBLIC(),SOME("Wb/A"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("lm",SCode.PUBLIC(),SOME("cd.sr"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("lx",SCode.PUBLIC(),SOME("lm/m2"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("Bq",SCode.PUBLIC(),SOME("s-1"),SOME(0.8), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("Gy",SCode.PUBLIC(),SOME("J/kg"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("Sv",SCode.PUBLIC(),SOME("cd.sr"),NONE(), SCodeUtil.dummyInfo),
SCode.DEFINEUNIT("kat",SCode.PUBLIC(),SOME("s-1.mol"),NONE(), SCodeUtil.dummyInfo)
}); then ();
else equation registerUnitWeightDefineunits2(du); then ();
end matchcontinue;
Expand Down Expand Up @@ -214,34 +215,34 @@ algorithm
String exp; Real weight;
case({})
equation registerDefineunits2({
Absyn.DEFINEUNIT("m",{}),
Absyn.DEFINEUNIT("kg",{}),
Absyn.DEFINEUNIT("s",{}),
Absyn.DEFINEUNIT("A",{}),
Absyn.DEFINEUNIT("k",{}),
Absyn.DEFINEUNIT("mol",{}),
Absyn.DEFINEUNIT("cd",{}),
Absyn.DEFINEUNIT("rad",{Absyn.NAMEDARG("exp",Absyn.STRING("m/m"))}),
Absyn.DEFINEUNIT("sr",{Absyn.NAMEDARG("exp",Absyn.STRING("m2/m2"))}),
Absyn.DEFINEUNIT("Hz",{Absyn.NAMEDARG("exp",Absyn.STRING("s-1")),Absyn.NAMEDARG("weight",Absyn.REAL("0.8"))}),
Absyn.DEFINEUNIT("N",{Absyn.NAMEDARG("exp",Absyn.STRING("m.kg.s-2"))}),
Absyn.DEFINEUNIT("Pa",{Absyn.NAMEDARG("exp",Absyn.STRING("N/m2"))}),
Absyn.DEFINEUNIT("W",{Absyn.NAMEDARG("exp",Absyn.STRING("J/s"))}),
Absyn.DEFINEUNIT("J",{Absyn.NAMEDARG("exp",Absyn.STRING("N.m"))}),
Absyn.DEFINEUNIT("C",{Absyn.NAMEDARG("exp",Absyn.STRING("s.A"))}),
Absyn.DEFINEUNIT("V",{Absyn.NAMEDARG("exp",Absyn.STRING("W/A"))}),
Absyn.DEFINEUNIT("F",{Absyn.NAMEDARG("exp",Absyn.STRING("C/V"))}),
Absyn.DEFINEUNIT("Ohm",{Absyn.NAMEDARG("exp",Absyn.STRING("V/A"))}),
Absyn.DEFINEUNIT("S",{Absyn.NAMEDARG("exp",Absyn.STRING("A/V"))}),
Absyn.DEFINEUNIT("Wb",{Absyn.NAMEDARG("exp",Absyn.STRING("V.s"))}),
Absyn.DEFINEUNIT("T",{Absyn.NAMEDARG("exp",Absyn.STRING("Wb/m2"))}),
Absyn.DEFINEUNIT("H",{Absyn.NAMEDARG("exp",Absyn.STRING("Wb/A"))}),
Absyn.DEFINEUNIT("lm",{Absyn.NAMEDARG("exp",Absyn.STRING("cd.sr"))}),
Absyn.DEFINEUNIT("lx",{Absyn.NAMEDARG("exp",Absyn.STRING("lm/m2"))}),
Absyn.DEFINEUNIT("Bq",{Absyn.NAMEDARG("exp",Absyn.STRING("s-1")),Absyn.NAMEDARG("weight",Absyn.REAL("0.8"))}),
Absyn.DEFINEUNIT("Gy",{Absyn.NAMEDARG("exp",Absyn.STRING("J/kg"))}),
Absyn.DEFINEUNIT("Sv",{Absyn.NAMEDARG("exp",Absyn.STRING("cd.sr"))}),
Absyn.DEFINEUNIT("kat",{Absyn.NAMEDARG("exp",Absyn.STRING("s-1.mol"))})
Absyn.DEFINEUNIT("m",{}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("kg",{}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("s",{}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("A",{}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("k",{}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("mol",{}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("cd",{}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("rad",{Absyn.NAMEDARG("exp",Absyn.STRING("m/m"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("sr",{Absyn.NAMEDARG("exp",Absyn.STRING("m2/m2"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("Hz",{Absyn.NAMEDARG("exp",Absyn.STRING("s-1")),Absyn.NAMEDARG("weight",Absyn.REAL("0.8"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("N",{Absyn.NAMEDARG("exp",Absyn.STRING("m.kg.s-2"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("Pa",{Absyn.NAMEDARG("exp",Absyn.STRING("N/m2"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("W",{Absyn.NAMEDARG("exp",Absyn.STRING("J/s"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("J",{Absyn.NAMEDARG("exp",Absyn.STRING("N.m"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("C",{Absyn.NAMEDARG("exp",Absyn.STRING("s.A"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("V",{Absyn.NAMEDARG("exp",Absyn.STRING("W/A"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("F",{Absyn.NAMEDARG("exp",Absyn.STRING("C/V"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("Ohm",{Absyn.NAMEDARG("exp",Absyn.STRING("V/A"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("S",{Absyn.NAMEDARG("exp",Absyn.STRING("A/V"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("Wb",{Absyn.NAMEDARG("exp",Absyn.STRING("V.s"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("T",{Absyn.NAMEDARG("exp",Absyn.STRING("Wb/m2"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("H",{Absyn.NAMEDARG("exp",Absyn.STRING("Wb/A"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("lm",{Absyn.NAMEDARG("exp",Absyn.STRING("cd.sr"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("lx",{Absyn.NAMEDARG("exp",Absyn.STRING("lm/m2"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("Bq",{Absyn.NAMEDARG("exp",Absyn.STRING("s-1")),Absyn.NAMEDARG("weight",Absyn.REAL("0.8"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("Gy",{Absyn.NAMEDARG("exp",Absyn.STRING("J/kg"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("Sv",{Absyn.NAMEDARG("exp",Absyn.STRING("cd.sr"))}, AbsynUtil.dummyInfo),
Absyn.DEFINEUNIT("kat",{Absyn.NAMEDARG("exp",Absyn.STRING("s-1.mol"))}, AbsynUtil.dummyInfo)
});
then ();

Expand Down Expand Up @@ -1763,4 +1764,3 @@ protected
*/
annotation(__OpenModelica_Interface="frontend");
end UnitAbsynBuilder;

0 comments on commit a4f0ef3

Please sign in to comment.