Прежде чем возвратиться к нашему компилятору, было бы полезно немного поэкспериментировать с общими понятиями. Давайте начнем с двух определений, наиболее часто встречающихся в настоящих языках программирования: <ident> ::= <letter> [ <letter> | <digit> ]* <number ::= [<digit>]+ (Не забудьте, что «*» указывает на ноль или более повторений условия в квадратных скобках, а «+» на одно […]
WriteLn
Оператор BREAK
Recognize and Translate a Statement Block procedure Block(L: string); begin while not(Look in ['e', 'l', 'u']) do begin case Look of ‘i’: DoIf(L); ‘w’: DoWhile; ‘p’: DoLoop; ‘r’: DoRepeat; ‘f’: DoFor; ‘d’: DoDo; ‘b’: DoBreak(L); else Other; end; end; end; Снова заметьте, что все что Block делает с меткой это передает ее в DoIf и […]