I had to change grammar, as follows :

PlSqlLexer.g4

all string litterals are changed with normal letters (without quotes), and after, there is definition for letters like :

fragment A: [aA];
fragment B: [bB];
fragment C: [cC];
fragment D: [dD];
fragment E: [eE];
fragment F: [fF];
fragment G: [gG];
fragment H: [hH];
fragment I: [iI];
fragment J: [jJ];
fragment K: [kK];
fragment L: [lL];
fragment M: [mM];
fragment N: [nN];
fragment O: [oO];
fragment P: [pP];
fragment Q: [qQ];
fragment R: [rR];
fragment S: [sS];
fragment T: [tT];
fragment U: [uU];
fragment V: [vV];
fragment W: [wW];
fragment X: [xX];
fragment Y: [yY];
fragment Z: [zZ];

also, change this :

fragment
SIMPLE_LETTER
    : [A-Z]
    ;

to this :

fragment
SIMPLE_LETTER
    : 'a'..'z'
    | 'A'..'Z'
    ;

after changing litterals, it's safe to replace next strings (in both, PlSqlLexer.g4 and PlSqlParser.g4)

NULL -> HAMO
null -> hamo

NAN -> MUJO
nan -> mujo

OVERFLOW -> HASO
overflow -> haso


______

Building small c++ library for antlr with just one function 

library is in antlr-library.cpp

compile with command :

g++ -c -I runtime-linux/antlr4-runtime/ -I generated -std=c++11 antlr-library.cpp -o antlr-library.o

make static library with command :

ar rcs antlr-library.a antlr-library.o

-------------------

Note : 
Should link with runtime library staticly