Я сделал компилятор исходного кода в Lex и YACC, и я пытаюсь сохранить комментарии строки исходного файла в файл назначения. Строка комментария может быть указана только с символом "#". Есть только однострочные комментарии.
Я создал правило в синтаксическом анализаторе с именем Y_COMMENT.
Проблема в LEX ... возможно, в регулярном выражении. На самом деле, комментарии перехватываются этим правилом:
"#".* {}
Я изменил правило на:
"#".*/\n {
current_line_no = line_no;
current_line = yytext;
yyval.p = (char*) copy_str(yytext+1,1);
return (Y_COMMENT);
}
Парсер работает только для первой строки комментария. После этого выдает ошибку о «нераспознанном коде строки»