diff --git a/CHANGELOG.md b/CHANGELOG.md index fff26196..18667e7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ - COBOL language configuration for highlighting matching brackets and auto-insertion of line numbers in fixed-format code [#330](https://github.com/OCamlPro/superbol-studio-oss/pull/330) ### Fixed -- Improvements to the grammar [#331](https://github.com/OCamlPro/superbol-studio-oss/pull/331) +- Improvements to the grammar [#331](https://github.com/OCamlPro/superbol-studio-oss/pull/331), [#353](https://github.com/OCamlPro/superbol-studio-oss/pull/353) - Word wrapping in presence of hyphens [#330](https://github.com/OCamlPro/superbol-studio-oss/pull/330) diff --git a/src/lsp/cobol_parser/grammar.mly b/src/lsp/cobol_parser/grammar.mly index 2d96e357..7bef1e3d 100644 --- a/src/lsp/cobol_parser/grammar.mly +++ b/src/lsp/cobol_parser/grammar.mly @@ -3454,11 +3454,13 @@ let go_to_statement := | GO; TO?; %prec lowest { LoneGoTo } (* COB85; obsolete; should be sole statement of paragraph *) | GO; TO?; target = procedure_name; - depending_on_clause = o(pair(rl(procedure_name), DEPENDING; ON?; ident)); + depending_on_clause = ro(pair(rl(procedure_name), DEPENDING; ON?; ident)); { match depending_on_clause with - | None -> GoTo (GoToSimple { target = target }) - | Some (other_targets, depending_on) -> GoTo (GoToDepending - { targets = NEL.of_list (target :: other_targets); depending_on }) } + | None -> + GoTo (GoToSimple { target }) + | Some (other_targets, depending_on) -> + GoTo (GoToDepending { targets = NEL.of_list (target :: other_targets); + depending_on }) } | GO; TO?; ENTRY; targets = nel_(loc(alphanum)); depending_on = o(DEPENDING; ON?; ident); { GoTo (GoToEntry { targets; depending_on }) } diff --git a/src/lsp/cobol_ptree/branching_statements.ml b/src/lsp/cobol_ptree/branching_statements.ml index 509eceba..53db6607 100644 --- a/src/lsp/cobol_ptree/branching_statements.ml +++ b/src/lsp/cobol_ptree/branching_statements.ml @@ -23,7 +23,10 @@ open Simple_statements (* GOTO *) type goto_stmt = - | GoToSimple of { target: procedure_name with_loc } + | GoToSimple of + { + target: procedure_name with_loc + } | GoToDepending of { targets: procedure_name with_loc nel;