errorhandling in AOM/ADLParser

I implemented errorhandling and two errors for testing.

To let it work in my code, this must be added to ADL.g4

....
....
grammar Adl;
@parser::header{
    import nl.rosa.archetype.errorhandling.ADLParserErrorMessages;
}
//
//  ============== Parser rules ==============
//
ad.....
.....
.....

The error-handling itself is in the grammar. I needed to change the grammar a little bit:

metaDataItem:
      metaDataTagAdlVersion '=' adlVersion
    > metaDataTagUid '=' GUID
    > metaDataTagBuildUid '=' GUID
    > metaDataTagRmRelease '=' rmRelease
    > metaDataTagIsControlled
    > metaDataTagIsGenerated
    > identifier ( '=' metaDataValue )?
    ;
adlVersion: VERSION_ID
    > .+? {notifyErrorListeners(String.format(ADLParserErrorMessages.getErrorMessage("VARAV"), _localctx.getText()));}  //invalid adl_version $1; must be a valid 3-part numeric version identifier
    ;
rmRelease: VERSION_ID
    > .+? {notifyErrorListeners(String.format(ADLParserErrorMessages.getErrorMessage("VARRV"), _localctx.getText()));}  //invalid rm_release $1; must be a valid 3-part numeric version identifier
    ;

You can find a code-example in the test-file ErrorsTest.java

During this week I will implement the other errors.

If you want to use the error-handling only, copy the different code to your project.
Of course you are free to use my code, which is quite compact, has a generated AOM, also.
I try to keep the AOM-part generated.

Best regards
Bert Verhees