Automatisk generert av parse.pl Mon Nov 16 17:39:35 1998

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.txt

               kravuttrykk1
             <-------------->
  #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;

Krav-tabell for testkrav1.txt

Kravkode Kravuttrykknr
startnr
KRAVA1
KRAVB2
KRAVC4
KRAVD10
KRAVE14
KRAVF18
KRAVG22
KRAVH24

Kravmelding-tabell for testkrav1.txt

Kravuttrykknr Kravmeldingtypekode Meldingtekst                                            
------------- ------------------- ------------------------------------------------------- 
3             SANN                Valgfag VL1010 er tatt som privatist. Karakter: $STPKAR 
8             USANN               uff!                                                    
14            SANN                ok!                                                     
14            FAGLOGG             KravE-fag                                               

Kravuttrykk-tabell for testkrav1.txt

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