Una GLC está en forma normal si cada producción tiene la forma:
Cada paso extiende en uno la longitud o genera un símbolo terminal, asegurando que para un string de longitud se requieren exactamente pasos de derivación. Dada una GLC cualquiera, se puede construir con expansiones una GFN fuertemente equivalente.
Sea la función recursiva que verifica si . Existe un algoritmo de Análisis Sintáctico que funciona de la siguiente manera:
- Si , dividirlo en y , . Para cada regla de la forma , intentar y .
- Si , buscar una regla .
Análisis Sintáctico CYK
La forma normal permite aplicar el algoritmo de análisis sintáctico CYK (Cocke-Younger-Kasami), el cual dado un string y una GLC en forma normal permite decidir si . Procedimiento: