Extended Backus-Naur-Form
Extended Backus–Naur form (EBNF) is a family of metasyntax notations, any of which can be used to express a context-free grammar. EBNF is used to make a formal description of a formal language such as a computer programming language.
EBNF Overview : Wikipedia
EBNF 2 Railroad : Webpage
EBNF Parser & Syntax Diagram Renderer : Webpage
RR - Railroad Diagram Generator : Github repo
PlantUML integration : PlantUML