Preklad príkazov

Ciele
  1. Pochopiť princíp prekladu príkazov JMM.
Úvod
Postup
  1. Jazyk JMM podporuje niekoľko druhov príkazov, ktoré sa prekladajú rozdielnym spôsobom. Pre príkazy pozostávajúce len z výrazu je vygenerovaný kód výrazu a inštrukcia, ktorý vyberie výsledok výrazu zo zásobníka, keďže už nebude využitý.

    Pri preklade príkazov podmienky a cykly je potrebné narušiť normálne poradie vykonávanie inštrukcií a vykonať skoky na určité pozície v kóde. Na to slúžia inštrukcie podmieneného a nepodmieneného skoku, ktoré ako atribút prijímajú adresu inštrukcie, ktorá sa má vykonať ako ďalšia. V JAL reprezentácií inštrukcií je namiesto adresy použité návestie. Návestia sú identifikátory, ktoré je možné umiestniť pred inštrukcie a takto pomenovať ich pozíciu.

    Fragmenty prekladača zodpovedné za preklad príkazov sú uvedené v prezentácii.

    Úloha: Oboznámte sa s vytvoreným prekladačom. Vyskúšajte prekladač na jednoduchých príkladoch (acyklus.jmm, grtest.jmm)
    Úloha: Doplňte príkaz cyklu FOR so syntaxou (acyklus.jmm):
    Prikaz -> for ( VoidVyraz ; Vyraz ; VoidVyraz ) Prikaz
Zdroje
  1. Zdrojové kódy pre cvičenie 9
  2. Inštrukcie JVM
comments powered by Disqus