Pregunta

Tengo una pregunta de una prueba en una clase de lenguajes de programación que me está confundiendo.

Dar una gramática libre de contexto para generar el siguiente texto

L = {a i b j c k | 0 <= i <= j <= i + k}

estoy completamente familiarizado con esta notación. Parece que no puedo encontrar nada en el libro o mis notas sobre ella, y no tengo ni idea de cómo consultar en Google de la respuesta.

Si lo reconoces, ¿cómo se llama y qué significa?

¿Fue útil?

Solución

a ^ i sólo significa una i repetidas veces. Así que a ^ 2 = aa, b ^ 10 = bbbbbbbbbb, etc.

Otros consejos

A menudo,

  • significa {} "el conjunto de"
  • medios | "de tal manera que"

No tengo idea de lo que a, b, c son. i y j son números no negativos, siendo mayor que o igual a cero. Convencionalmente, las letras están reservados para los números enteros. El hecho de que

i <= i + k

significa que k también es no negativo.

Si a, b y c son reales, entonces me parece que L es sólo el conjunto de números reales. Sin embargo, parece ser una manera muy artificiosa y elaborada de la especificación de ella. Eso sería algo así como la trama del Dr. Maligno para matar Austin Powers.

Por lo que tiene "el conjunto de la A a la potencia i B veces a la hora de energía j c para el poder j tal que i, j, k son positivos, y j es mayor que o igual a i ..." y así sucesivamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top