Learning objectives

Explain why the grammar of a programming language must be defined precisely, and distinguish terminal symbols from non-terminal symbols

Read and write grammar rules in Backus-Naur Form, including alternatives and recursive rules, and decide whether a given string is valid under a set of rules

Draw and interpret syntax diagrams, and convert between a syntax diagram and the equivalent BNF rules

Convert an expression between infix and Reverse Polish notation, including by the post-order traversal of an expression tree

Evaluate an expression in Reverse Polish notation using a stack, and explain why a translator converts expressions to Reverse Polish notation

Continue with a revision plan

These learning objectives are available to everyone. Sign in with an eligible plan to read the full note and worked examples.