2015-10-03 4 views
1
#include<stdio.h> 
main() 
{ 
    printf("\n Hello world"); 
} 

В приведенном выше коде, как я могу сделать лексический анализатор распознавать только основные() и игнорировать остальную часть кода таким образом, что выходные отображает только main() и его номер строки.распознавать специфические лексемы, используя Lex игнорируя остальную часть кода

(без добавления слишком много случаев, в случае длинного кода)

ответ

1

Если вы хотите точный результат, вам необходимо правильно распознавать большинство маркеров. Рассмотрим следующие фрагменты:

/* 
    int main() 
*/ 

Или

const char* header = "\ 
int main() \ 
"; 

Если вы не заботитесь о точности, (е) закон, вероятно, слишком много. Вы могли бы просто использовать strstr или, для немного большей гибкости, библиотеку regex posix.

Смежные вопросы