Árbol de diccionario y dfa
¿Construir NFA primero?
OK 0 1 x A A A A A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B B?
Cambie el nombre de AB a b.
¿Minimización de DFA?
Primero, ¿obtenemos dos subconjuntos K1? =?{1, 2, 3}? Entonces qué. ¿K2? =?{4}. ?
Inspeccionar K1: ¿Porque {1, 2, 3}a? =?{1, 2, 4} K1, también K2, por lo que K1 puede necesitar división.
¿Es por {1, 3}a otra vez? =?{2},{1,3}b? =?{3},
Por lo tanto, el conjunto de estados original se divide en los siguientes subconjuntos: K11={2}, K12 = {1, 3}. ?
Los subconjuntos actuales son: K11={2}, K12 = {1, 3}, K2? =?{4}. ?
Encuesta k 12: {1, 3} a? =?{2}K1,{1,3}b? =?{3}?K1, entonces K1 no es divisible.
Datos extendidos
Condiciones para el análisis léxico
1 búfer de entrada
Modos de búfer de entrada emparejado y semicomplementario.
n: toma la potencia entera de 2; establece el indicador "eof" al final de cada media área para indicar el final del programa fuente leído en la media área. b: puntero de inicio de la palabra w; f: puntero para escanear w;
Modo de entrada de dos buffers
2) Preprocesador: (función)
1) Reducir el espacio de memoria ocupado;
2) Reducir la carga de procesamiento sustancial del escáner;
3.
1) Filtrar componentes que no sean palabras (como espacios inútiles, saltos de línea, etc.);
2) Otro trabajo de preprocesamiento: filtrar comentarios de inclusión; en archivos; Incrustación de compilación condicional.