Skip to content

Commit

Permalink
- allowed a normal Modelica comment after the case.
Browse files Browse the repository at this point in the history
  Example: case (z,y) "Some comment here" 

git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@2591 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
adrpo committed Nov 7, 2006
1 parent 453ba59 commit 67d98df
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 9 deletions.
20 changes: 15 additions & 5 deletions Compiler/absyn_builder/walker.g
Expand Up @@ -1770,18 +1770,28 @@ cases returns [void* ast]
void* caseEl = 0;
void* elseEl = 0;
ast = mk_nil();
void* cmt = 0;
} :
(
(#(CASE pat=pattern local=local_clause eqs=equation_list result=expression_or_empty)
(#(CASE pat=pattern cmt=string_comment local=local_clause eqs=equation_list result=expression_or_empty)
{
caseEl = Absyn__CASE(pat, local?local:mk_nil(), eqs?eqs:mk_nil(), result, mk_none());
caseEl = Absyn__CASE(
pat,
local?local:mk_nil(),
eqs?eqs:mk_nil(),
result,
cmt ? mk_some(cmt) : mk_none());
el_stack.push(caseEl);
}
)+
(#(ELSE local=local_clause eqs=equation_list result=expression_or_empty)
(#(ELSE cmt=string_comment local=local_clause eqs=equation_list result=expression_or_empty)
{
caseEl = Absyn__ELSE(local?local:mk_nil(), eqs?eqs:mk_nil(), result, mk_none());
el_stack.push(elseEl);
caseEl = Absyn__ELSE(
local?local:mk_nil(),
eqs?eqs:mk_nil(),
result,
cmt ? mk_some(cmt) : mk_none());
el_stack.push(elseEl);
})?
)
{
Expand Down
4 changes: 2 additions & 2 deletions flat_modelica_parser/src/flat_modelica_parser.g
Expand Up @@ -769,12 +769,12 @@ local_clause:
;

cases:
(onecase)+ (ELSE^ local_clause (EQUATION! equation_list_then)?
(onecase)+ (ELSE^ string_comment local_clause (EQUATION! equation_list_then)?
THEN! expression_or_empty SEMICOLON!)?
;

onecase:
(CASE^ pattern local_clause (EQUATION! equation_list_then)?
(CASE^ pattern string_comment local_clause (EQUATION! equation_list_then)?
THEN! expression_or_empty SEMICOLON!)
;

Expand Down
4 changes: 2 additions & 2 deletions modelica_parser/src/modelica_parser.g
Expand Up @@ -761,12 +761,12 @@ local_clause:
;

cases:
(onecase)+ (ELSE^ local_clause (EQUATION! equation_list_then)?
(onecase)+ (ELSE^ string_comment local_clause (EQUATION! equation_list_then)?
THEN! expression_or_empty SEMICOLON!)?
;

onecase:
(CASE^ pattern local_clause (EQUATION! equation_list_then)?
(CASE^ pattern string_comment local_clause (EQUATION! equation_list_then)?
THEN! expression_or_empty SEMICOLON!)
;

Expand Down

0 comments on commit 67d98df

Please sign in to comment.