История изменений
Исправление alysnix, (текущая версия) :
проблема семподдержки в плюсах в том, что грамматика неоднозначная. простой парсер не может понять, что в написано в данном месте - обьявление переменной или присваивание:
A
это может быть началом выражения - тут A - переменная
A = 10;
но и началом иного выражения, тут A - тип.
A a = 10;
то есть парсер должен быть или с просмотром вперед на некоторое количество лексем(чтобы суметь распознать вид выражения) или иметь таблицы символов - чтобы понять, что тип А ранее обьявлен в одном из хидеров например. А это уже надо писать полный семанализ.
В других языках, с более однозначными грамматиками, парсер будет куда проще.
Исправление alysnix, :
проблема семподдержки в плюсах в том, что грамматика неоднозначная. простой парсер не может понять, что в написано в данном месте - обьявление переменной или присваивание:
A
это может быть началом выражения - тут A - переменная
A = 10;
но и началом выражения тут A - тип.
A a = 10;
то есть парсер должен быть или с просмотром вперед на некоторое количество лексем(чтобы суметь распознать вид выражения) или иметь таблицы символов - чтобы понять, что тип А ранее обьявлен в одном из хидеров например. А это уже надо писать полный семанализ.
В других языках, с более однозначными грамматиками, парсер будет куда проще.
Исправление alysnix, :
проблема семподдержки в плюсах в том, что грамматика неоднозначная. простой парсер не может понять, что в написано в данном месте - обьявление переменной или присваивание:
A
это может быть началом выражения - тут A - переменная A = 10;
но и началом выражения тут A - тип. A a = 10;
то есть парсер должен быть или с просмотром вперед на некоторое количество лексем(чтобы суметь распознать вид выражения) или иметь таблицы символов - чтобы понять, что тип А ранее обьявлен в одном из хидеров например. А это уже надо писать полный семанализ.
В других языках, с более однозначными грамматиками, парсер будет куда проще.
Исходная версия alysnix, :
проблема семподдержки в плюсах в том, что грамматика неоднозначная. простой парсер не может понять, что в написано в данном месте - обьявление переменной или присваивание: A это может быть началом выражения - тут A - переменная A = 10; но и началом выражения тут A - тип. A a = 10;
то есть парсер должен быть или с просмотром вперед на некоторое количество лексем(чтобы суметь распознать вид выражения) или иметь таблицы символов - чтобы понять, что тип А ранее обьявлен в одном из хидеров например. А это уже надо писать полный семанализ.
В других языках, с более однозначными грамматиками, парсер будет куда проще.