Почему ваш выходной файл, скомпилированный с помощью гибкого токенизатора, печатает несколько новых строк, даже если вы C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему ваш выходной файл, скомпилированный с помощью гибкого токенизатора, печатает несколько новых строк, даже если вы

Сообщение Anonymous »

Мой гибкий код:

Код: Выделить всё

%{
#include 
#include 
#include 
#include 
using namespace std;
%}

%%
end     return 0;
.
%%

int yywrap(){
return 0;
}
int main(int argc, char** argv){
if (argv[1] == NULL){
return 1;
}
FILE* ptr = fopen(argv[1], "r");
yyin = ptr;
while(yylex());
fclose(ptr);
}
и я пытаюсь токенизировать следующее:

Код: Выделить всё

def main(){

}
def main2(){

}

end
Я не добавлял токены в flex для def и т. д., но у меня есть ключевое слово end.
По какой-то причине, когда я компилирую свой flex-файл на C++ и запускаю его, выходные данные, которые он мне дает, представляют собой несколько новых строк, хотя он не должен давать мне выходные данные, и я никогда не писал для него код для печати чего-либо. Кто-нибудь, пожалуйста, помогите мне решить эту проблему, поскольку даже если я добавлю токены для определения и т. д., по какой-то причине все равно будут печататься новые строки.

Подробнее здесь: https://stackoverflow.com/questions/797 ... ple-new-li
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»