lt; ID gt;
| lt; сімв.конст. gt;
lt; аріфм.вир. gt ;? lt; операнд gt; lt; аріфм.оп. gt; lt; операнд gt;
| lt; аріфм.вир gt; lt; аріфм.оп. gt; lt; операнд gt;
| lt; операнд gt; lt; аріфм.оп. gt; lt; аріфм.вир gt;
| lt; операнд gt; lt; аріфм.вир. gt; lt; операнд gt;
lt; оператор gt;? lt; оп.цікла gt;
| lt; оп.прісв gt;
| lt; услов.оп gt;
lt; оп.прісв. gt;? lt; ID gt; := lt; операнд gt; ;
| lt; ID gt; := lt; аріфм.вир. gt; ;
lt; блок опер. gt; ? lt; оператор gt; ; lt; оператор gt;
| lt; блок gt; ; lt; оператор gt;
lt; тіло gt;? { lt; блок опер gt; ;}
lt; оп.цікла gt ;? do lt; тіло gt; while ( lt; аріфм.вир. gt; ) ;
| do { lt; оператор gt; } while ( lt; аріфм.вир. gt; ) ;
lt; услов.оп gt ;? if ( lt; аріфм.вир gt; ) < i align="justify"> then lt; тіло gt; else lt ; тіло gt;
| if ( lt; аріфм.вир gt; ) then lt; тіло gt;
| if ( lt; аріфм.вир gt; ) then lt; оператор gt; else lt; оператор gt;
| if ( lt; аріфм.вир gt; ) then lt; оператор gt;
| if ( lt; аріфм.вир gt; ) then lt; оператор gt; else lt; тіло gt;
| if ( lt; аріфм.вир gt; ) then lt; тіло gt; else lt; оператор gt;
lt; прогр. gt ;? prog lt; тіло gt; end
| prog lt; оператор gt; end
Далі, використовуючи цю граматику за методом зрушення-згортка, проводиться перевірка вхідної мови на синтаксичні помилки.
2. ОРГАНІЗАЦІЯ ТАБЛИЦІ ідентифікатор
. 1 Призначення таблиці ідентифікаторів
Таблиця використовується на всіх стадіях роботи компілятора і формується на етапі лексичного аналізу.
Перевірка правильності семантики і генерація коду вимагають знання характеристик ідентифікаторів, використовуваних в програмі мовою оригіналу. Ці характеристики з'ясовуються з описів і з того, як ідентифікатори використовуються в програмі і накопичуються в таблиці символів або таблиці ідентифікаторів. Будь-яка таблиця символів складається з набору полів, кількість яких дорівнює кількості ідентифікаторів програми. Кожне поле містить у собі повну інформацію про даному елементі таблиці. Під ідентифікаторами подразумеваются змінні.
Основними характеристиками методу побудови ідентифікаторів є швидкість пошуку, обсяг пам'яті. Оптимальне поєдн...