Нестандартные типы даных - помогите
<формула>::= <терм> | (<формула><знак><формула>);
<знак> ::= + | – | *;
<терм> ::= <ім’я> | <ціле >;
<ім’я> ::= <буква> | <ім’я><буква> | <ім’я><цифра>;
<ціле> ::= <цифра> | <ціле><цифра>;
<буква> ::= a | b | c | d | e ;
<цифра> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 .
Мова:Паскаль
2. если нужна программа, то ты не в том разделе.
3. а если нужны советы, то лексический анализатор лучше всего организовывать автоматом., надеюсь что это такое обьяснять не надо ^_^
[highlight=Pascal]
function IsDigit(c : Char) : Boolean;
begin
if c in ['0'..'9'] then
IsDigit := True
else
IsDigit := False;
end;
[/highlight]
Написав такие функции для всех видов лексем, их можно использовать в автомате (FSM), который успешно строится с помощью case'ов.