LINUX.ORG.RU

История изменений

Исправление 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;

то есть парсер должен быть или с просмотром вперед на некоторое количество лексем(чтобы суметь распознать вид выражения) или иметь таблицы символов - чтобы понять, что тип А ранее обьявлен в одном из хидеров например. А это уже надо писать полный семанализ.

В других языках, с более однозначными грамматиками, парсер будет куда проще.