uwol / proleap-cobol-parser

ProLeap ANTLR4-based parser for COBOL
MIT License
136 stars 74 forks source link

EXEC SQL Statement before a paragraph. #39

Closed fly-git closed 6 years ago

fly-git commented 6 years ago

Hi,

When an execSqlStatement is placed just before a paragrah, i've a parse error.

Here's the error

line 21:7 extraneous input 'END-OF-JOBS' expecting {ACCEPT, ADD, ALTER, CALL, CANCEL, CLOSE, COMPUTE, CONTINUE, DELETE, DEPART, DISABLE, DISPLAY, DIVIDE, ENABLE, ENTRY, EVALUATE, EXHIBIT, EXIT, FETCH,
 FIND, FREE, GENERATE, GOBACK, GO, IF, IMPART, INITIALIZE, INITIATE, INSPECT, KEEP, MERGE, MODIFY, MOVE, MULTIPLY, OPEN, PERFORM, PURGE, READ, RECEIVE, RELEASE, RETURN, REWRITE, SEARCH, SEND, SET, SOR
T, START, STOP, STORE, STRING, SUBTRACT, TERMINATE, UNSTRING, WRITE, DOT_FS, EXECSQLLINE}
       END-OF-JOBS.
       ^^^^^^^^^^^

The code is :

           MOVE SPACE TO W-A.

           EXEC SQL
                WHENEVER SQLERROR CONTINUE
           END-EXEC.
      * 
       END-OF-JOBS.

because of the DOT_FS needed by the statement? Thanks

uwol commented 6 years ago

Hi fly-git,

I added a unit test with your example 7319e01cc8feee503f7fec958e12d688712128f5, which passes. So currently, I cannot reproduce the error.

Can you please check, whether your COBOL code differs from the COBOL code in the unit test?

Thanks!

fly-git commented 6 years ago

Hi Ulrich, I did some additional tests after comparing your repository grammars. Found a problem in mine. I've to check if the modifications of identations (exec sql lines are trimmed) are problematic for my case.

Sorry for my mistake... Thanks.

uwol commented 6 years ago

No problem, thanks for your feedback!