Анализ простого языка программирования
Разработать программу, осуществляющую синтаксический и семантический анализ
простого языка программирования. Входной язык содержит выражения, разделенные символом
точки с запятой (';'), операторы цикла с предусловием и операторы объявления переменных целых
типов (decimal, hexadecimal). Выражения и циклы состоят из идентификаторов, целочисленных
констант в шестнадцатеричной и десятичной системах, знаков присваивания (':='), знаков
побитовых операций or, xor, and, not,
арифметических и логических операций и круглых скобок. Операторы могут быть составными,
для их обособления используются операторные скобки.
На вход анализатора подается программа на входном языке. На выходе анализатор должен
выдавать абстрактное синтаксическое дерево и информацию о наличии конкретных
синтаксических и семантических ошибок либо об их отсутствии в программе на входном языке.