Вы не можете передавать информацию в этом направлении.Во время выполнения *do something2*
, то есть после прочтения каждого имени, анализатор еще даже не видел целое число.Целое число приходит после имен на входе и на входе читается линейно от начала до конца - вперед не заглядывает.
Так что если вы хотите напечатать имена вместе с целым числом,единственный способ сделать это - сделать так, чтобы после было прочитано целое число, т. е. в действии *do something1*
.
Для этого вы можете *do something2*
сохранить имена вмассив или другая структура данных.Затем *do something1*
может выполнить итерацию по структуре данных, создаваемой *do something2*
, и распечатать каждое имя вместе с целым числом.
Вы можете даже сделать еще один шаг и заставить все ваши действия возвращать узлы AST, а затем выполнять итерацию толькоAST для печати вещей после анализа всего ввода.