Apresente a árvore de sintaxe da expressão aritmética x = a - (b - a * (c + b / d)), sobre a gramática livre de contexto apresentada a seguir (Ricarte, 2008).
Notação Algébrica:
G = ({A, E, T, F, V}, {a, b, c, d, x, =, +, -, *, /, (, )}, P, A)
P = {A → V=E
E → E+T | E-T | T
T → T*F | T/F | F
F → (E) | V
V → a | b | c | d | x}
Notação de Backus-Naur (BNF):
G = ({atr, exp, ter, fat, var}, {a, b, c, d, x, =, +, -, *, /, (, )}, P, atr)
P = {<atr> ::= <var>=<exp>
<exp> ::= <exp>+<ter> | <exp>-<ter> | <ter>
<ter> ::= <ter>*<fat> | <ter>/<fat> | <fat>
<fat> ::= (<exp>) | <var>
<var> ::= a | b | c | d | x}
Ricarte, Ivan. (2008). Introdução à Compilação. Rio de Janeiro: Elsevier. 264 páginas.