An interface description language or interface definition language (IDL), is a specification language used to describe a software component’s application programming interface (API). IDLs describe an interface in a language-independent way, enabling communication between software components that do not share one language, for example, between those written in C++ and those written in Java.
IDLs are commonly used in remote procedure call software. In these cases the machines at either end of the link may be using different operating systems and computer languages. IDLs offer a bridge between the two different systems.
- ProtocolBuffers
- FlatBuffers
- thrift
- eProsima Fast Buffers
- Cap’n Proto
- simple-binary-encoding
https://www.jianshu.com/p/296212011633
cd /usr/local/lib
wget https://www.antlr.org/download/antlr-4.12.0-complete.jar
vim ./bashrc
export CLASSPATH=".:/usr/local/lib/antlr-4.12.0-complete.jar:$CLASSPATH"
alias antlr4='java -jar /usr/local/lib/antlr-4.12.0-complete.jar'
alias grun='java org.antlr.v4.gui.TestRig'
antlr4 -Dlanguage=Python3 ArrayInit.g4 -o ./parser