Транслятор блоктарының өзараәрекетінің бірөтпелі ұйымдастырылуы

  1. Компилятор блоктарының өзара әрекеттесуін бірөтпелі етіп ұйымдастырудың бір түрі суретте көрсетілген.
  2. Код генераторы аралық көріністің фрагментін алып, сәйкес обьектті код фрагментін құрады. Бұдан соң басқару синтаксистік анализаторға беріледі.Мұнда трансляция процесі келесі түрде өтеді. Лексикалық анализатор бір лексеманы алуға қажетті бастапқы текст бөлігін оқиды. Лексеманы құрып болған соң, синтаксистік анализаторды шақырып,оған құрылған лексеманы береді. Егер синтаксистік анализатор аралық көріністің кезектегі элементін түзе алса, онда оны түзген соң, құрылған фрагментті код генераторына береді. Кері жағдайда синткасистік анализаторбасқаруды сканерге (лексикалықанализ-р)береді. Бұл кезектегі лексеманың орындалып болғаны және жаңа берілгендердің керек екендігін білдіреді.

Бастапқы текст біткен соң және аралық берілгендер әрбір блок бойынша өңделіп болған соң лексикалық анализатор программа аяқталу процесін инициализация жасайды.

Бір өтімді трансляторларда көбірек басқарудың басқаша схемасы қолданылады. Мұнда негізгі блок рөлін синткасистік анализатор атқарады. (сур. көрс)

Лексикалық анализатор және код генераторы шақырылатын көмекші программалар рөлінде болады. Синткасистік анализаторға кезекті лексема қажет болса, ол сканердішақырады. Аралық көрініс фрагментін түзген соң, код генераторын шақырады. Трансляция процесінің аяқталуы соңғы лексеманы өңдеп болған соң синткасистік анализатор арқылы инициализация жасалынады.

Бір өтімді схеманың артықшылықтарына аралық берілгендердің көлемі үлкен болмауы,фазаларды бір процеске үйлестіру есебінен өңдеу жылдамдығының жоғары болуы және сыртқы есте сақтау құрылғыларын пайдаланбауды жатқызуға болады.

Кемшілігіне мыналар жатады: трансляцияның мұндай схемасынкүрделі құрылымды тілдер үшін іске асырудың мүмкін болмауы,комплексті анализ және оптимизация үшін қолдануға болатын аралық берілгендердің болмауы.

Мұндай схема компилятор, сол сияқты интерпретаторларда да семантикалық және синткасистік құрылымы қарапайым тілдер үшін қолданылады. Мысал ретінде Basic, Pascal тілдерін атауға болады.

Классикалық интерпретатор әдетте бір өтімді схема бойынша құрылады. Өйткені тікелей ( непосредственно) орындау аралық көріністердің жекеленген фрагменттері деңгейінде жүзеге асады.