Changeset b3681ace in OpenModelica


Ignore:
Timestamp:
2021-11-26T20:09:08+01:00 (2 years ago)
Author:
GitHub <noreply@…>
Branches:
maintenance/v1.19, maintenance/v1.20, maintenance/v1.21, maintenance/v1.22, maintenance/v1.23, master, omlib-staging
Children:
2f015b08, 962c211
Parents:
3eae525
git-author:
perost <perost86@…> (11/26/21 20:09:08)
git-committer:
GitHub <noreply@…> (11/26/21 20:09:08)
Message:

Output comments/annotations in Flat Modelica (#8232)

Fixes #8228

Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • OMCompiler/Compiler/.cmake/meta_modelica_source_list.cmake

    r9f0cb452 rb3681ace  
    318318    ${CMAKE_CURRENT_SOURCE_DIR}/NFFrontEnd/NFExpression.mo
    319319    ${CMAKE_CURRENT_SOURCE_DIR}/NFFrontEnd/NFFlatModel.mo
     320    ${CMAKE_CURRENT_SOURCE_DIR}/NFFrontEnd/NFFlatModelicaUtil.mo
    320321    ${CMAKE_CURRENT_SOURCE_DIR}/NFFrontEnd/NFFlatten.mo
    321322    ${CMAKE_CURRENT_SOURCE_DIR}/NFFrontEnd/NFFunctionDerivative.mo
  • OMCompiler/Compiler/NFFrontEnd/NFEquation.mo

    rf6468ae rb3681ace  
    4343  import Equation = NFEquation;
    4444  import Error;
     45  import FlatModelicaUtil = NFFlatModelicaUtil;
    4546  import IOStream;
    4647  import Util;
     
    12251226      else IOStream.append(s, "#UNKNOWN EQUATION#");
    12261227    end match;
     1228
     1229    s := FlatModelicaUtil.appendElementSourceComment(source(eq), s);
    12271230  end toFlatStream;
    12281231
  • OMCompiler/Compiler/NFFrontEnd/NFFlatModel.mo

    r3eae525 rb3681ace  
    5555  import Prefixes = NFPrefixes;
    5656  import NFPrefixes.Visibility;
     57  import FlatModelicaUtil = NFFlatModelicaUtil;
    5758
    5859  import FlatModel = NFFlatModel;
     
    218219    Visibility visibility = Visibility.PUBLIC;
    219220  algorithm
    220     s := IOStream.append(s, "class '" + flat_model.name + "'\n");
     221    s := IOStream.append(s, "class '" + flat_model.name + "'");
     222    s := FlatModelicaUtil.appendElementSourceCommentString(flat_model.source, s);
     223    s := IOStream.append(s, "\n");
    221224
    222225    flat_model.variables := reconstructRecordInstances(flat_model.variables);
     
    269272    end for;
    270273
     274    s := FlatModelicaUtil.appendElementSourceCommentAnnotation(flat_model.source, "  ", ";\n", s);
    271275    s := IOStream.append(s, "end '" + flat_model.name + "';\n");
    272276  end appendFlatStream;
  • OMCompiler/Compiler/NFFrontEnd/NFFunction.mo

    re920dc2 rb3681ace  
    8282import UnorderedSet;
    8383import Graph;
     84import FlatModelicaUtil = NFFlatModelicaUtil;
    8485
    8586public
     
    719720    SCode.Comment cmt;
    720721    SCode.Mod annMod;
    721     String str;
    722722  algorithm
    723723    if isDefaultRecordConstructor(fn) then
    724724      s := IOStream.append(s, InstNode.toFlatString(fn.node));
    725725    else
     726      cmt := Util.getOptionOrDefault(SCodeUtil.getElementComment(InstNode.definition(fn.node)), SCode.COMMENT(NONE(), NONE()));
     727
    726728      fn_name := AbsynUtil.pathString(fn.path);
    727729      if stringEmpty(overrideName) then
     
    732734      s := IOStream.append(s, "function ");
    733735      s := IOStream.append(s, fn_name);
     736      s := FlatModelicaUtil.appendCommentString(SOME(cmt), s);
    734737      s := IOStream.append(s, "\n");
    735738
     
    758761      s := Sections.toFlatStream(InstNode.getSections(fn.node), fn.path, s);
    759762
    760       cmt := Util.getOptionOrDefault(SCodeUtil.getElementComment(InstNode.definition(fn.node)), SCode.COMMENT(NONE(), NONE()));
    761763      if isSome(cmt.annotation_) then
    762764        SOME(SCode.ANNOTATION(modification=annMod)) := cmt.annotation_;
     
    777779
    778780      if not SCodeUtil.emptyModOrEquality(annMod) then
    779         str := SCodeDump.printAnnotationStr(SCode.COMMENT(SOME(SCode.ANNOTATION(annMod)),NONE()));
    780         if not stringEmpty(str) then
    781           s := IOStream.append(s, str);
    782           s := IOStream.append(s, ";\n");
    783         end if;
     781        cmt := SCode.COMMENT(SOME(SCode.ANNOTATION(annMod)), NONE());
     782        s := FlatModelicaUtil.appendCommentAnnotation(SOME(cmt), "  ", ";\n", s);
    784783      end if;
    785784
  • OMCompiler/Compiler/NFFrontEnd/NFFunctionDerivative.mo

    r85c2926 rb3681ace  
    173173    for tpl in fnDer.conditions loop
    174174      (_, id, condition) := tpl;
    175       subMods := SCode.NAMEMOD(conditionToString(condition), SCode.MOD(SCode.NOT_FINAL(), SCode.NOT_EACH(), {}, SOME(Absyn.CREF(Absyn.CREF_IDENT(Util.makeQuotedIdentifier(id), {}))), info)) :: subMods;
     175      subMods := SCode.NAMEMOD(conditionToString(condition), SCode.MOD(SCode.NOT_FINAL(), SCode.NOT_EACH(), {}, SOME(Absyn.CREF(Absyn.CREF_IDENT(id, {}))), info)) :: subMods;
    176176    end for;
    177177
    178     mod := SCode.MOD(SCode.NOT_FINAL(), SCode.NOT_EACH(), orderMod::subMods, SOME(Absyn.CREF(Absyn.CREF_IDENT(Util.makeQuotedIdentifier(AbsynUtil.pathString(InstNode.scopePath(fnDer.derivativeFn))),{}))), info);
     178    mod := SCode.MOD(SCode.NOT_FINAL(), SCode.NOT_EACH(), orderMod::subMods, SOME(Absyn.CREF(Absyn.CREF_IDENT(AbsynUtil.pathString(InstNode.scopePath(fnDer.derivativeFn)),{}))), info);
    179179    subMod := SCode.NAMEMOD("derivative", mod);
    180180  end toSubMod;
  • OMCompiler/Compiler/NFFrontEnd/NFStatement.mo

    r2baf5e99 rb3681ace  
    3939  import Statement = NFStatement;
    4040  import ElementSource;
     41  import FlatModelicaUtil = NFFlatModelicaUtil;
    4142  import Util;
    4243  import IOStream;
     
    811812    end match;
    812813
     814    s := FlatModelicaUtil.appendElementSourceComment(source(stmt), s);
    813815  end toFlatStream;
    814816
  • OMCompiler/Compiler/NFFrontEnd/NFVariable.mo

    r3eae525 rb3681ace  
    4444protected
    4545  import ExpandExp = NFExpandExp;
     46  import FlatModelicaUtil = NFFlatModelicaUtil;
    4647  import IOStream;
    4748  import Util;
     
    339340      s := IOStream.append(s, Binding.toFlatString(var.binding));
    340341    end if;
     342
     343    s := FlatModelicaUtil.appendComment(var.comment, s);
    341344  end toFlatStream;
    342345
  • OMCompiler/Compiler/boot/LoadCompilerSources.mos

    r9f0cb452 rb3681ace  
    352352    "../NFFrontEnd/NFExpression.mo",
    353353    "../NFFrontEnd/NFFlatModel.mo",
     354    "../NFFrontEnd/NFFlatModelicaUtil.mo",
    354355    "../NFFrontEnd/NFFlatten.mo",
    355356    "../NFFrontEnd/NFFunctionDerivative.mo",
  • testsuite/openmodelica/flatmodelica/Makefile

    r4fb12f37 rb3681ace  
    1111TESTFILES = DoublePendulum.mos \
    1212  Tables.mos \
    13   SD.mo
     13  SD.mo \
     14  Comments.mo
    1415
    1516
Note: See TracChangeset for help on using the changeset viewer.