Skip to content

Commit

Permalink
- fix Windows / Linux differences in testsuite/openmodelica/parser/*
Browse files Browse the repository at this point in the history
- proper interface for omc_Absyn_isDerCref
- make testsuite/openmodelica/parser/ParseModel.mos more friendly as on Windows the output from system command is not shown


git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@25595 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
adrpo committed Apr 17, 2015
1 parent 2e03725 commit 3072a77
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
6 changes: 3 additions & 3 deletions Parser/Modelica.g
Expand Up @@ -864,12 +864,12 @@ assign_clause_a returns [void* ast]
e1=simple_expression
( (ASSIGN|eq=EQUALS) e2=expression[metamodelica_enabled()]
{
modelicaParserAssert(eq==0,"Algorithms can not contain equations ('='), use assignments (':=') instead", assign_clause_a, $eq->line, $eq->charPosition+1, $eq->line, $eq->charPosition+2);
modelicaParserAssert(eq == 0,"Algorithms can not contain equations ('='), use assignments (':=') instead", assign_clause_a, $eq->line, $eq->charPosition+1, $eq->line, $eq->charPosition+2);
{
int looks_like_cref = (MMC_GETHDR(e1) == MMC_STRUCTHDR(1+1, Absyn__CREF_3dBOX1));
int looks_like_call = ((MMC_GETHDR(e1) == MMC_STRUCTHDR(1+1, Absyn__TUPLE_3dBOX1)) && (MMC_GETHDR(e2.ast) == MMC_STRUCTHDR(2+1, Absyn__CALL_3dBOX2)));
int looks_like_der_cr = !looks_like_cref && !looks_like_call && call_looks_like_der_cr(e1);
modelicaParserAssert(eq!=0 || metamodelica_enabled() || looks_like_cref || looks_like_call || looks_like_der_cr,
modelicaParserAssert(eq != 0 || metamodelica_enabled() || looks_like_cref || looks_like_call || looks_like_der_cr,
"Modelica assignment statements are either on the form 'component_reference := expression' or '( output_expression_list ) := function_call'",
assign_clause_a, $start->line, $start->charPosition+1, LT(1)->line, LT(1)->charPosition);
if (looks_like_der_cr && !metamodelica_enabled()) {
Expand Down Expand Up @@ -1307,7 +1307,7 @@ primary returns [void* ast]
modelicaParserAssert(
MMC_NILHDR != MMC_GETHDR(for_or_el.ast) ||
metamodelica_enabled() ||
parse_expression_enabled(), /* allow {} in mos scripts */
parse_expression_enabled(), /* allow {} in mos scripts */
"Empty array constructors are not valid in Modelica.", primary, $start->line, $start->charPosition+1, LT(1)->line, LT(1)->charPosition);
$ast = Absyn__ARRAY(for_or_el.ast);
} else {
Expand Down
8 changes: 5 additions & 3 deletions Parser/ModelicaParser_omc.c
Expand Up @@ -35,10 +35,12 @@ extern "C" {
#define ADD_METARECORD_DEFINITIONS static
#include "OpenModelicaBootstrappingHeader.h"

int omc_Absyn_isDerCref(threadData_t*, void*);
/* static inline */ int call_looks_like_der_cr(void* exp)
modelica_boolean omc_Absyn_isDerCref(threadData_t*, void*);
/* static inline */ modelica_boolean call_looks_like_der_cr(void* exp)
{
return omc_Absyn_isDerCref(NULL,exp);
modelica_boolean isDer = omc_Absyn_isDerCref(NULL,exp);
/* fprintf(stderr, "looks like der: %d\n", isDer); fflush(stderr); */
return isDer;
}

#include "ModelicaParser.c"
Expand Down

0 comments on commit 3072a77

Please sign in to comment.