Решил продолжить копания в теме построения собственного компилятора для z80, скорее всего, на основе Паскаля. С лексическим и синтаксическим анализом вроде разобрался, написал что надо в Coco/R.
Сейчас пытаюсь понять принцип построения синтаксического дерева. Статья Vitamina про распознавание арифметических выражений понравилась, и там же написано вот что:
Описание алгоритма сортировочной станции (Дейкстры) нашел, но вот никак фантазии не хватает, что делать в случае встречи операторов типа IF-ELSE, WHILE, GOTO, индексы массива... (BEGIN-END интерпретировать как скобки можно, наверно). Нигде не нашел конкретного описания для них.Таким образом, т.е.согла-
сно алгоритму Дейкстры, можно перевести в
ОПЗ не только арифметическое выражение, но
и программу на ЯВУ (Языке Высокого Уров-
ня).При этом нужно определить дополнитель-
ные классы лексем: описание и вызов функ-
ций, описание и адресация массивов, услов-
ные и безусловные переходы. В результате
получится описание на языке низкоуровневых
конструкций, как нельзя лучше приспособ-
ленных к дальнейшей трансляции в машинный
код. Подробную информацию можно получить в
литературе по данной теме.
Помогите, чем можете