CPSC 3520 - DAY 5 JANUARY 25, 2018 ================================================================================ minic (version 1) Lexical Part (user identifiers and numerals) of the syntax ::= | | ::= a | b | c | d | ... | z ::= | ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 minic (version 1) Sample Program int main (void) { int t1; t1 = 10; return (t1); } / \ | | 1 | 1 We divide the overall syntax or the syntactic specification of a language into two parts: -The lexical structure, which indicates the constraints on the tokens, or lexical units, which define the basic 'words' or (multi-symbol) terminals of the language. This includes reserved words and symbols (e.g. void, while, if, {, }, ;, etc) as well as user-defined words such as function and variable names. -The remaining syntactic structure, which is then input to the grammatical recognizer, or parser. swipl - SWI-Prolog