01. Celočíselná kalkulačka pomocou Lex a Yacc
Úlohy:
Úloha:
Stiahnite si zdrojové texty projektu jednoduchého celočíselného kalkulátora a rozbaľte ho. Spustite nástroj PPVP a otvorte projekt: v ponuke Súbor vyberte položku Otvoriť projekt a vyberte súbor calc1.ly zo stiahnutého projektu. Prezrite zdrojové kódy projektu.
Úloha:
Spustite kalkulátor stlačením tlačidla
v paneli nástrojov. Vyskúšajte zadať jednoduché aritmetické výrazy. Aké výrazy dokáže kalkulačka spracovať a aké nie?

- umocňovanie:
x^
má významx*x
- faktoriál:
x!
má význam1*2* ... * x
(x>0) - posun doľava:
x<<y
má význam posunu x o y-bitov doľava - posun doprava:
x>>y
má význam posunu x o y-bitov doprava
Úloha:
Upravte
calc1.l
a calc1.y
tak, aby kalkulačka umožňovala:
02. Reálnočíselná kalkulačka
Úlohy:
Úloha:
Preštudujte si implementáciu reálnočíselnej kalkulačky. Ako sa v akciách vo vstupnom súbore pre Yacc pristupuje k prenášaným
hodnotám? Používa sa identifikátor typu (napríklad
$1.ihod
)?
int(vyraz)
, kde výsledkom bude celočíselná hodnota výrazux@y
, kde výsledkom bude y-ta (y — celé číslo) mocnina x (celé alebo reálne číslo)- Relačné operátory
<
,<=
,>
,>=
,==
,!=
, kde výsledkom bude 0 alebo 1 x ? y : z
, kde výsledkom bude y, ak hodnota x bude nenulová a výsledkom bude z, ak hodnota x bude nulová
Úloha:
Upravte calc2.l a calc2.y, aby kalkulačka umožňovala:
03. Syntaktická analýza jazyka JMM
Úlohy:
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
04. Spracovanie deklarácie triedy JMM
Úlohy:
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
05. Preklad primárnych výrazov
Úlohy:
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
06. Preklad lokálnych premenných a volania metód JMM
Úlohy:
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
07. Preklad dátových členov JMM
Úlohy:
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
08. Preklad výrazov s operátormi JMM
Úlohy:
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
09. Preklad príkazov
Úlohy:
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
10. Tu napíšte názov cvičenia.
Úlohy:
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
11. Tu napíšte názov cvičenia.
Úlohy:
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
12. Tu napíšte názov cvičenia.
Úlohy:
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
13. Tu napíšte názov cvičenia.
Úlohy:
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
Úloha:
Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.