PUERTA | PUERTA CS 2018 | Pregunta 65

El analizador léxico utiliza los siguientes patrones para reconocer tres tokens T 1 , T 2 y T 3 sobre el alfabeto {a,b,c}.

T 1 : a?(b∣c)*a
T 2 : b?(a∣c)*b
T 3 : c?(b∣a)*c

Tenga en cuenta que ‘x?’ significa 0 o 1 aparición del símbolo x. Tenga en cuenta también que el analizador genera el token que coincide con el prefijo más largo posible.

Si el analizador procesa la string bbaacabc , ¿cuál de las siguientes es la secuencia de tokens que genera?

(A) T 1 T 2 T 3
(B) T 1 T 1 T 3
(C) T 2 T 1 T 3
(D) T 3 T 3

Respuesta: (D)
Explicación: 0 o 1 aparición del símbolo x.
 
T1 : (b+c)* a + a(b+c)* a
T2 : (a+c)* b + b(a+c)* b
T3 : (b+a)* c + c(b+ a)*c

String dada: bbaacabc
El prefijo coincidente más largo es » bbaac » (que puede ser generado por T3 )
La parte restante (después del prefijo) «abc» (puede ser generado por T3 )

Entonces, la respuesta es T 3 T 3

Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *