Concursos públicos
Uma gramática livre do contexto (GLC) é um modelo computacional geralmente utilizado para definir linguagens de programação e, quando está de acordo com a Forma de Backus-Naur (BNF), permite que alguns operadores sejam utilizados no lado direito de suas produções, como o operador | (pipe) que indica seleção, o operador [ ] que indica que o operando em questão é opcional, e o operador* que indica repetição de 0 ou mais vezes.
Projetar um compilador para uma determinada linguagem envolve, entre outras coisas, especificar quais são os símbolos válidos nesta linguagem, bem como quais são as regras sintáticas que a definem.
A linguagem de programação Java é uma linguagem com suporte à orientação a objetos que não permite herança múltipla e que permite que uma classe implemente múltiplas interfaces. A seguir, exibem-se trechos de código sintaticamente válidos na linguagem Java.

No trecho 1, cria-se uma classe chamada A que herda de uma classe chamada B. No trecho 2, cria-se uma classe chamada F que implementa uma interface chamada C. No trecho 3, cria-se uma classe chamada J que herda de uma classe chamada A e implementa duas interfaces, chamadas C e D.
Considere que:
•
é um não terminal cujo intuito é dar origem a declarações de classes;
•
é um não terminal cujo intuito é dar origem ao corpo de classes;
• os terminais aparecem entre aspas duplas;
• id é um símbolo que representa qualquer identificador válido, como nomes de classes ou variáveis.
A gramática que específica uma linguagem que não permita herança múltipla e que implemente zero ou mais interfaces é
Uma questão respondida. E as próximas?
Crie sua conta para acompanhar acertos, erros e receber recomendações no Meu Próximo Passo.
Criar conta grátis