Συμβολισμός EBNF
Ο συμβολισμός EBNF (Extended Backus-Naur Form) μας επιτρέπει να ορίσουμε
με περιεκτικό τρόπο μια γραμματική:
- Τα τερματικά σύμβολα περικλείονται σε μονά εισαγωγικά.
- Οι συντακτικοί κανόνες τελειώνουν με .
- Η παραγωγή συμβολίζεται με ::=
- παραγωγή Α ή Β ως: Α | Β
- προαιρετικά στοιχεία ως: [Α]
- επανάληψη μία ή περισσότερες φορές ως: Α+
- επανάληψη καμία ή περισσότερες φορές ως: Α*
- παρενθέσεις επιτρέπουν τον ορισμό της σειράς παραγωγής
Παράδειγμα
expr ::= term ('+' term |'-' term) *
term ::= factor ('*' factor |'/' factor) *
factor ::= digit | '-' factor | '(' expr ')'
digit ::= '0' | '1' | '2' | '3' |'4' | '5' | '6' | '7' | '8' | '9'