Študentski forum

1. domaca naloga

 
Slika od Boštjan Slivnik
1. domaca naloga
od Boštjan Slivnik - torek, 27. februar 2018, 11:45
 
... je objavljena.

Ta razprava je namenjena vpra"sanjem in odgovorom v zvezi s 1. doma"co nalogo.


Slika od Tomaž Štrus
Branje izvorne kode
od Tomaž Štrus - sreda, 28. februar 2018, 19:05
 

Pozdravljeni,

zanima me, če lahko spreminjamo ostale razrede ( predvsem compiler ) ali se smeme dotakniti samo leksikalni anaizator. Problem je v temu, da jaz za branje datotek trenutno naredil vgrajeni razred v leksikalnem analizatorju, kateri obvladuje branje znakov in štetje vrstic. Problem se pojavi, ker za vsak leksem posebaj inicializiramo analizator in hkrati razred za branje datotek, ki pa ne more dostopati do datoteke, ker je že bere razred iz prve inicializacije. Poskušal sem narediti statični razred, vendar mi to ne deluje, zato bi razred za branje datoteke prestavil v compiler razred in ga podajal leksikalnemu analizatorju kot parameter. Je to dovoljeno ali je kakšna bolj elegantna rešitev. 

Lp, Tomaž

Slika od Boštjan Slivnik
Odg: Branje izvorne kode
od Boštjan Slivnik - sobota, 3. marec 2018, 12:40
 

Problem se pojavi, ker za vsak leksem posebaj inicializiramo analizator in hkrati razred za branje datotek

To ne dr"zi.  V datoteki Main.java samo enkrat ustvarimo leksikalni analizator (v while(true) zanki) in ga pri tem inicializiramo.  V zanki while(lexAn.lexAn().token!=Token.EOF) za vsak simbol kli"cemo le metodo lexAn() ustvarjenega objekta lexAn razreda LexAn.

To pomeni, da lahko dostop do datoteke in "stetje znakov in vrstic naredimo kar v razredu LexAn brez dodatnih razredov, saj lahko datote"cno spremenljivko in "stevce znakov in vrstic hranimo kar v objektu lexAn razreda LexAn.

Mo"cno odsvetujem spreminjanje kode drugje, saj vam to lahko nagaja pri naslednjih doma"cih nalogah.

Slika od DOMEN ANTLEJ
Odg: 1. domaca naloga
od DOMEN ANTLEJ - sobota, 3. marec 2018, 14:14
 

Pozdravljeni,

zanima me kako mora program interpretirati vnos 'a''a'.
Je to en string "a'a" ali dva zaporedna stringa "a" "a"?

lp 

Slika od Tomaž Štrus
Odg: 1. domaca naloga
od Tomaž Štrus - sobota, 3. marec 2018, 14:33
 

to je po definicija v PINS jezika enako "a'a", vsakič ko dobimo znak ' moramo pogledat če je tik za njemu še en znak ' in le je ga samo dodamo stringu in delamo naprej.

Torej če bi imel vno 'a''' bi to pomenil string " a' ".

Slika od Tomaž Štrus
Odg: 1. domaca naloga
od Tomaž Štrus - sobota, 3. marec 2018, 14:37
 

Tule prilagam en test, ki gre čez vse možne lekseme, je pa tudi uporaben, da pogledaš, če imaš številčenje vrstic/stolpcev vredu. Moj rezultat je večinoma pravilen, kolikor sem gledal, če pa najde kdo napako, lahko pa kar pove.


P.S če ma še kdo kkšne dobre robne primere, nej prosim objavi.

Slika od SIMON KOROŠEC
Odg: 1. domaca naloga
od SIMON KOROŠEC - sobota, 3. marec 2018, 19:00
 
Prilagam nekaj testov
Slika od DOMEN ANTLEJ
Odg: 1. domaca naloga
od DOMEN ANTLEJ - sobota, 3. marec 2018, 21:48
 

Nekaj testov.

Slika od Tomaž Štrus
Odg: 1. domaca naloga
od Tomaž Štrus - sobota, 3. marec 2018, 23:34
 

A je potrebno za napačne vhode izpisat kaj je blo narobe, al samo vrnemu null vrednost? To mi ni ravno jasno, ker nikjer ne piše.

Slika od SIMON KOROŠEC
Odg: 1. domaca naloga
od SIMON KOROŠEC - nedelja, 4. marec 2018, 10:01
 

Ja, napako morš izpisat. K najdeš da je neki narobe zaklučš program.

Slika od SIMON DIMC
Odg: 1. domaca naloga
od SIMON DIMC - nedelja, 4. marec 2018, 15:41
 

Jst sm poklico Report.error(...) kjer napises ka je narobe in pol še System.exit(1).

Slika od Jaka Jenko
Odg: 1. domaca naloga
od Jaka Jenko - nedelja, 4. marec 2018, 16:15
 

A ne že samo zaključi izvajanje, takoj ko pokličeš Report.error()?

Slika od SIMON DIMC
Odg: 1. domaca naloga
od SIMON DIMC - nedelja, 4. marec 2018, 16:47
 

Aja pa res.

Slika od SIMON DIMC
Odg: 1. domaca naloga
od SIMON DIMC - nedelja, 4. marec 2018, 16:17
 

Testi:

Slika od Jaka Jenko
Odg: 1. domaca naloga
od Jaka Jenko - ponedeljek, 5. marec 2018, 10:43
 

Še nekaj mojih testov

Slika od ZEN LEDNIK
Odg: 1. domaca naloga
od ZEN LEDNIK - ponedeljek, 5. marec 2018, 17:05
 

 

Slika od Tomaž Štrus
Odg: 1. domaca naloga
od Tomaž Štrus - ponedeljek, 5. marec 2018, 17:37
 

Še eno vprašanje, zdaj ko dodajam javljanje napak, mi ni jasno so znaki 10ab smatrani kot leksikalno pravilni ( int_const in identifier) ali so napačni? Ker po opisu PINS se mi zdi to popolnoma pravilno, saj nikjer ne piše, da se morajo zaklučiti z belim besedilom.

Slika od Jaka Jenko
Odg: 1. domaca naloga
od Jaka Jenko - ponedeljek, 5. marec 2018, 20:19
 

Jaz sem to smatral kot ne pravilno. Ampak 1+3 (brez presledkov) pa pravilno. Glede na to, da je tako tudi v drugih jezikih

Slika od MARKO KORASA
Odg: 1. domaca naloga
od MARKO KORASA - ponedeljek, 5. marec 2018, 22:49
 
Še par testov.
Slika od MIHA ŠTRAVS
Odg: 1. domaca naloga
od MIHA ŠTRAVS - ponedeljek, 5. marec 2018, 23:28
 

testi

Slika od Jaka Jenko
Odg: 1. domaca naloga
od Jaka Jenko - torek, 6. marec 2018, 08:20
 

Integer_const je 0x123 pravilen zapis? (to, da je 0x na začetku)

Slika od Tomaž Štrus
Odg: 1. domaca naloga
od Tomaž Štrus - torek, 6. marec 2018, 08:54
 

Jaz bi rekel da ne, saj v definiciji jezika ni nič omenjeno da imamo preslikave iz različnih številskih sistemov.

Slika od EFTIM EFTIMOV
Odg: 1. domaca naloga
od EFTIM EFTIMOV - torek, 6. marec 2018, 01:11
 

Še moji testi

Slika od Anže Košir
Odg: 1. domaca naloga
od Anže Košir - torek, 6. marec 2018, 02:38
 

testi

Slika od ŽIGA RESNIK
Odg: 1. domaca naloga
od ŽIGA RESNIK - torek, 6. marec 2018, 08:53
 

Testi:

Slika od TINE JOZELJ
Odg: 1. domaca naloga
od TINE JOZELJ - torek, 6. marec 2018, 09:12
 

testi

Slika od Boštjan Slivnik
Odg: 1. domaca naloga
od Boštjan Slivnik - sreda, 7. marec 2018, 10:09
 

1. doma"ca naloga je ocenjena.