| html |
Napisz program obliczający wartość wyrażeń arytmetycznych ze zmiennymi.
SET Identyfikator = Wyrazenie(która oznacza przypisanie zmiennej oznaczonej Identyfikator wartości podanej przez Wyrazenie) lub
PRINT Wyrazenie(wypisanie na ekran wartości Wyrażenia). gdzie Wyrazenie oznacza:
Wyrazenie := Liczba | Zmienna |
Wyrazenie Operator Wyrazenie |
- Wyrazenie |
( Wyrazenie )
Operator := + | - | * | /
Można założyć, że dane wejściowe spełniają specyfikację. Wartość wyrażenia
(jak i wszystkie wyniki pośrednie) mieści się w zakresie typu longint.
Identyfikatory mają postać [A-Za-z][A-Za-z0-9]*, początkowo wszystkie zmienne
mają wartość 0. W danych może pojawić się co najwyżej 100 różnych
identyfikatorów.
SET x=1+2+3*2 PRINT xpoprawną odpowiedzią jest:
9
SET x=2 SET y=12 PRINT x PRINT (y) PRINT -(y) PRINT x*4+ypoprawną odpowiedzią jest:
2 12 -12 20
flex skalk.l # powstaje lex.yy.c bison -d skalk.y # powstaja skalk.tab.c i skalk.tab.h gcc -o lex.yy.o lex.yy.c gcc -c skalk.tab.c -o skalk.tab.o gcc -o skalk.e skalk.tab.o lex.yy.o -lfl