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
<,>, <=, >=, ==, !=
.trigger
with
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.