diff --git a/Parser/BaseModelica_Lexer.g b/Parser/BaseModelica_Lexer.g index 671cb667632..462f1b33ae2 100644 --- a/Parser/BaseModelica_Lexer.g +++ b/Parser/BaseModelica_Lexer.g @@ -297,9 +297,9 @@ CONSTRAINT : 'constraint' { if (!optimica_enabled()) $type = IDENT; }; // PDEModelica // --------- -FIELD : 'field'; -NONFIELD : 'nonfield'; -INDOMAIN : 'indomain'; +FIELD : 'field' { if (!pdemodelica_enabled()) $type = IDENT; }; +NONFIELD : 'nonfield' { if (!pdemodelica_enabled()) $type = IDENT; }; +INDOMAIN : 'indomain' { if (!pdemodelica_enabled()) $type = IDENT; }; /*------------------------------------------------------------------ * LEXER RULES diff --git a/Parser/Parser_omc.c b/Parser/Parser_omc.c index 7b66c1ab924..e25885ffbbd 100644 --- a/Parser/Parser_omc.c +++ b/Parser/Parser_omc.c @@ -42,6 +42,7 @@ void* ParserExt_parse(const char* filename, const char* infoname, int acceptedGr if(acceptedGrammar == 2) flags |= PARSE_META_MODELICA; else if(acceptedGrammar == 3) flags |= PARSE_PARMODELICA; else if(acceptedGrammar == 4) flags |= PARSE_OPTIMICA; + else if(acceptedGrammar == 5) flags |= PARSE_PDEMODELICA; void *res = parseFile(filename, infoname, flags, encoding, langStd, runningTestsuite); if (res == NULL) @@ -70,6 +71,7 @@ void* ParserExt_parsestring(const char* data, const char* filename, int accepted if(acceptedGrammar == 2) flags |= PARSE_META_MODELICA; else if(acceptedGrammar == 3) flags |= PARSE_PARMODELICA; else if(acceptedGrammar == 4) flags |= PARSE_OPTIMICA; + else if(acceptedGrammar == 5) flags |= PARSE_PDEMODELICA; void *res = parseString(data, filename, flags, langStd, runningTestsuite); if (res != NULL) { @@ -85,6 +87,7 @@ void* ParserExt_parsestringexp(const char* data, const char* filename, int accep if(acceptedGrammar == 2) flags |= PARSE_META_MODELICA; else if(acceptedGrammar == 3) flags |= PARSE_PARMODELICA; else if(acceptedGrammar == 4) flags |= PARSE_OPTIMICA; + else if(acceptedGrammar == 5) flags |= PARSE_PDEMODELICA; void *res = parseString(data, filename, flags, langStd, runningTestsuite); if (res != NULL) { @@ -100,6 +103,7 @@ void* ParserExt_stringPath(const char* data, const char* filename, int acceptedG if(acceptedGrammar == 2) flags |= PARSE_META_MODELICA; else if(acceptedGrammar == 3) flags |= PARSE_PARMODELICA; else if(acceptedGrammar == 4) flags |= PARSE_OPTIMICA; + else if(acceptedGrammar == 5) flags |= PARSE_PDEMODELICA; void *res = parseString(data, filename, flags, langStd, runningTestsuite); if (res != NULL) { @@ -115,6 +119,7 @@ void* ParserExt_stringCref(const char* data, const char* filename, int acceptedG if(acceptedGrammar == 2) flags |= PARSE_META_MODELICA; else if(acceptedGrammar == 3) flags |= PARSE_PARMODELICA; else if(acceptedGrammar == 4) flags |= PARSE_OPTIMICA; + else if(acceptedGrammar == 5) flags |= PARSE_PDEMODELICA; void *res = parseString(data, filename, flags, langStd, runningTestsuite); if (res != NULL) {