#compiler-errors #compiler-construction #flex-lexer #yacc #lex
#ошибки компилятора #построение компилятора #flex-lexer #yacc #lex
Вопрос:
Я хочу создать компилятор для подмножества языка C со следующими функциями:
Типы данных: int, float, char, double
Зарезервированные ключевые слова: void, include, основные
управляющие операторы: функции ввода-вывода while и switch
: операторы printf, scanf
: , -, *, /, <=, >=, ==, >, <, !=
Составные операторы и массивы
символов: (, ), %, amp;, ;
Я хочу, чтобы это было направлено на что угодно, кроме этих yyerror()
. Например, если программа на C содержит boolean в качестве типа данных, это должно быть ошибкой.
Комментарии:
1. Я не уверен, что понимаю ваш вопрос (который, кстати, должен быть включен в тело вашего поста, а не только в заголовок). Как выглядит ваш текущий код и не будет ли он уже выдавать ошибку, когда появляется что-то неожиданное?
2. извините, если вопрос был неясен, и у меня не было текущего кода, спрашивал, как я могу это сделать. неважно, я нашел способ сделать это, обратившись сюда: quut.com/c/ANSI-C-grammar-y.html#identifier_list