Nós da árvore sintáctica

Q: Que conceitos da linguagem devem corresponder a nós da árvore sintáctica?

R: Os nós correspondem a elementos da linguagem que formam subconjuntos coerentes e autónomos (e.g., uma expressão, uma instrução) e podem ser mais ou menos simples.

Existem elementos da linguagem que servem apenas para qualificar ou caracterizar outros ("const" em C, "use" em TLL, etc.) e não correspondem a nós, mas sim a atributos desses nós ou de outras estruturas utilizadas para o processamento da linguagem (e.g., tipos).

ProgramNode em TLL

Q: O nó ProgramNode da linguagem Compact existe em TLL? Porquê?

R: Cada tipo de nó representa uma entidade numa linguagem. Na linguagem Compact (a linguagem de partida), o conceito de programa existe e, assim, também o de ProgramNode. Em TLL não existem programas, mas sim listas de declarações/definições. Deste modo, o conceito de ProgramNode em TLL não tem razão para existir.

Qualificadores use e public

Q: Os qualificadores "use" e "public" são "parecidos" aos tipos, ou seja, tal como eles, também não são nós?

R: Os qualificadores são atributos dos tipos, dos nós declaração, dos símbolos (representação semântica de nomes), ou de todos eles. Note-se que, tal como os tipos, não são nós da árvore sintáctica.