Kreirano 2024-09-30 Mon 13:43, pritisni ESC za mapu, m za meni, Ctrl+Shift+F za pretragu
Kreirati i aktivirati Python virtuelno okruženje:
$ mkdir JSD
$ cd JSD
$ python -m venv venv
$ source venv/bin/activate # (venv\Scripts\activate.bat na Windows-u)
Instalirati textX sa dev zavisnostima:
$ pip install textx[dev]
dot i
plantUML vizualizacije.debug mod i analizirati izlazfor petlje u Robot jeziku
Doraditi robot primer tako da omogući for petlje oblika:
for i in 5..10
up 2
right i
end
if iskazi u robot jeziku
Doraditi robot primer tako da omogući if iskaze:
if x > 5
up 1
end
gde x i y variable predstavljaju tekuću poziciju robota.
Posle if iskaza navodi se Bulov izraz sa standardnim operatorima <,>,>=,<=,
!=, ==, and, or, not
debug mod i analizirati izlazexpression jeziku
U expression primeru omogućiti pozive standardnim matematičkih funkcija iz
math modula.
a = 10; b = 2 * a + 17; 5 * sin(a + sqrt(b + 50)) - 3 / 18
Napraviti textX gramatiku za parsiranje sledećeg jezika:
action notify_quota_approaching https://somesite.com/api/v1/notify?user={user_id}
on user.current_usage >= 0.8 * max_quota trigger notify_quota_approaching with user_id = user.id
action, ima ime i REST URL koji se poziva (šalje se HTTP GET)user_id u primeruon ... trigger... with iskazima
gde se definiše:
and, or, not kao i aritmetčko poređenje
<,>, <=, >=, ==, !=.triggerwith navode se vrednosti parametara poziva akcije,
razdvojeni zarezima. with deo je opcion.on pravila može biti višeEntity proširenjeProučiti Entity primer iz textX dokumentacije i proširiti ga na sledeći način:
paket1.paket2.entitet). Za ispravno razrešavanje referenci koristiti RREL
izraze u gramatici.Upotrebom textX-a kreirati Turtle graphics JSD.
forward, backward, right, left,
pendown, penup, pensize, color.while petlju gde će uslov biti logički izraz sa tekućim
stanjem kornjače (npr. pozicija, ugao).if-else iskaz.