Denne siden har fire deler:
- Kravene skrevet i kravspråket.
- Tabell krav
- Tabell kravmelding
- Tabell kravuttrykk.
Oppgaven til det såkalte parse-programmet er å lese teksten i øverste del og
generere de tre tabellene.
testkrav1.txtkravuttrykk1 <--------------> #KravA *:= VG4040 og AA3030; ku2 <----> #KravB := VGxx90{vekt=2}; kravuttrykk3 <-------------------------------------------------------------------------------------> kravuttrykk4 <----------------------------------------------------------------------> #KravC := AA1010.P eller VL1010.E[sann "Valgfag VL1010 er tatt som privatist. Karakter: $STPKAR"]; kravuttrykk5 <--------------------------------------------------------------------------------------> kravuttrykk6 kravuttrykk7 <------------> <-----------------------------------------------------------------> kravuttrykk8 kravuttrykk9 <--------------------------> <---------------------------------> kravuttrykk10 <----------------> #KravD := KravA og KravB eller VF7070 og KravC.omfang >= 10 og (AA1020 eller AA3113)[usann "uff!"]; #KravE [sann "ok!" faglogg "KravE-fag"] := KravD{vekt=vekt - 2} eller KravA{vekt=2, omfang=KravC.omfang*3-24*60*60}; #KravF := alle KravD med omfang>2 og samme(AAxx10.E,AAyy30); #KravG := alle(KravD, denne.omfang > 2 og samme(AAxx10.E,AAyy30) ); #KravH := første KravD med omfang >=2; |
Kravkode | Kravuttrykknr startnr |
---|---|
KRAVA | 1 |
KRAVB | 2 |
KRAVC | 4 |
KRAVD | 10 |
KRAVE | 14 |
KRAVF | 18 |
KRAVG | 22 |
KRAVH | 24 |
Kravuttrykknr Kravmeldingtypekode Meldingtekst ------------- ------------------- ------------------------------------------------------- 3 SANN Valgfag VL1010 er tatt som privatist. Karakter: $STPKAR 8 USANN uff! 14 SANN ok! 14 FAGLOGG KravE-fag
krav- operator- operand- krav- fag- attributt- konstant1 operand- krav- fag- attributt- konstant2 uttrykk- kode kode1 uttrykk- kode1 kode1 kode2 uttrykk- kode2 kode2 nr nr1 nr2 -------- --------- -------- -------- ------ ---------- ---------- -------- -------- ------ ---------- ---------- 1 OG F VG4040 F AA3030 2 DUMMY G VGXX90 VEKT 2.0000 3 DUMMY F VL1010 E 4 ELLER F AA1010 P U 3 5 OG U 1 U 2 6 GE U 4 OMFANG K 10.0000 7 OG F VF7070 U 6 8 ELLER F AA1020 F AA3113 9 OG U 7 U 8 10 ELLER U 5 U 9 11 SUB D VEKT K 2.0000 12 DUMMY U 1 VEKT 2.0000 13 MUL U 4 OMFANG K -86397.000 14 ELLER U 10 VEKT -10011 U 12 OMFANG -10032 15 GT D OMFANG K 2.0000 16 SAMME G AAXX10 E G AAYY30 17 OG U 15 U 16 18 ALLE U 10 U 17 19 GT D OMFANG K 2.0000 20 SAMME G AAXX10 E G AAYY30 21 OG U 19 U 20 22 ALLE U 10 U 21 23 GE D OMFANG K 2.0000 24 FØRSTE U 10 U 23 25 OPT 1 AA3030 26 OPT 1 VG4040