An ANTLR4 grammar for PL/SQL
As SQL grammar are normally not case sensitive but this grammar implementation is, you must use a custom character stream that converts all characters to uppercase before sending them to the lexer.
You could find more information here with implementations for various target languages.