Describing the syntax of C
Character (ASCII or EBCDI, UNICODE)
Lexemes (identifiers, constants, operators etc.)
Token (category of its lexemes, e.g.. identifier is a token in C that can have lexeme sum or xyz)
the forms of its expressions, statements, and program units
a concise and universally accepted notation is available , e.g. Appendix B: Grammar from ISO/IEC 9899:1990