Cadenas del lenguaje: Nº Cadena Regla de formación Detalle 1 bb...b bb∗ Cadenas de solo b’s 2 ab...b abb∗ Cadenas de una a y una b seguida de 0 o más b’s 3 aabb...b aabbb∗ Cadenas de dos a’s y dos b’s seguida de 0 o más b’s 4 aaabb...b aaabbb∗ Cadenas de tres a’s y dos b’s seguida de 0 o más b’s 5 aaaabbb...b aaaabbbb∗ 6 aaaaabbb...b aaaaabbbb∗ ... 7 aaaaaabbbb...b aaaaaabbbbb∗ 8 aaaaaaabbbb...b aaaaaaabbbbb∗ Patron Nº1: Para generar solo cadenas de una o más b’s hacemos: S → bB B → bB | ε Patron Nº2: Se puede observar en esta lı́nea de la tabla que la primer cadena que incluye el caracter a “obliga” a agregar un caracter b inmediatamente después, para luego agregar la cantidad que se desee de b’s. S → aAbB Patrón Nº3: En este ejemplo se ve que se sigue manteniendo la regla del punto anterior en la que el hecho de agregar un caracter a necesariamente obliga a agregar un carcater b. Puede verse que auquı́ también es posible agregar todas las b’s que se deseen, esto es posible por la variable sintáctica B de la regla anterior, por lo que en esta producción sólo restarı́a la posibilidad de terminar la derivación de la cadena, para esto agregamos la cadena vacı́a. A → aCb | ε Patrón Nº 4: Se mantiene la cantidad de b’s pero se puede agregar una sola a más. Para esto se agrega una producción que permita agregar la a adicional e inmediatamente después volver a permitir agregar una a emparejada con una b. También se debe permitir en este momento terminar con la derivación de la cadena. C → aA | ε Pasando en limpio: S → bB | aAbB A → aCb | ε B → bB | ε C → aA | ε