El problema de los compiladores son la ámplia gama de combinaciones posibles entre las letras. Puede parecer fácil buscar, por ejemplo, loop, pero ten en cuenta que hay quien lo escribe con mayúsculas, hay quien con minúsculas, con la primera en mayúsculas, alternando...
Vale, hay una función que la pone todas en mayúsculas, pero tienes que mirar que no forme parte de otra palabra, como por ejemplo dIFerente, y ya tienes que buscar espacios antes y después.
Pero miserias de la vida, después puede haber un espacio, una tabulación, un paréntesis o un error de sintaxis cualquiera, y antes, además de eso, puede estar el salto de línea de la línea anterior.
Es el fabuloso mundo de la flexibilidad del lenguaje XD. Don't panic, había una función en el código de Bennu que te devuelve un "token", que supongo que se refiere a una palabra del lenguaje, así que la cosa se simplifica mucho.