 *head cpu
bb  1991.05.06  10.14.38   cpu:  638.23 sec.
 *bobs
 
 bobs8000   version 1988.02.16
 ************ A LIST OF INPUT WITH POSSIBLE ERRORMESSAGES  ************
 
  
  
  
  options(1, 3, 28, 32, 34)
  
 
 
  TERMINAL      INTERN VAERDI
 
  BOBS-GO                       0
  -EOF-                         1
  AND                           2
  ARRAY                         3
  AS                            4
  BEGIN                         5
  BOOLEAN                       6
  BYTE                          7
  CASE                          8
  CHAIN                         9
  CHAR                         10
  CONST                        11
  CONTINUELOOP                 12
  DIV                          13
  DO                           14
  DOWNTO                       15
  ELSE                         16
  EMPTY                        17
  END                          18
  ENDLOOP                      19
  ERROR                        20
  EXIT                         21
  EXITLOOP                     22
  EXTERNAL                     23
  OPENROUTINE                  24
  FOR                          25
  FORWARD                      26
  FUNCTION                     27
  GOTO                         28
  IF                           29
  IN                           30
  INSPECT                      31
  INTEGER                      32
  KONST                        33
  LABEL                        34
  LOCK                         35
  LOCKBUF                      36
  LOCKMES                      37
  LOOP                         38
  MAILBOX                      39
  MOD                          40
  NAME                         41
  NOT                          42
  OF                           43
  OR                           44
  OTHERWISE                    45
  PACKED                       46
  POOL                         47
  PORT                         48
  PREFIX                       49
  PROCEDURE                    50
  PROCESS                      51
  PROGRAM                      52
  REAL                         53
  RECORD                       54
  REFERENCE                    55
  REGION                       56
  REPEAT                       57
  SET                          58
  SHARED                       59
  SHIFT                        60
  STRING                       61
  THEN                         62
  TO                           63
  TYPE                         64
  TYPESIZE                     65
  UNTIL                        66
  VAR                          67
  VARSIZE                      68
  WHILE                        69
  WITH                         70
  WORD                         71
  XOR                          72
  +                            73
  -                            74
  *                            75
  /                            76
  '                            77
  "                            78
  <                            79
  >                            80
  <>                           81
  (:                           82
  :)                           83
  <=                           84
  >=                           85
  (                            86
  )                            87
  (.                           88
  .)                           89
  ^                            90
  =                            91
  :=                           92
  :=:                          93
  .                            94
  ,                            95
  ;                            96
  :                            97
  ..                           98
  #                            99
  ***                         100
  (*                          101
  *)                          102
  ?                           103
  &                           104
  !                           105
 
 
  
 
 
  *****************************  END OF LIST *****************************
 
 ****************************  GRAMMARCHECKS  ****************************
 
  IT HAS BEEN CHECKED THAT ALL NONTERMINALS
  EXCEPT THE GOALSYMBOL APPEAR IN BOTH
  LEFT AND RIGHTSIDE OF A PRODUCTION
 
 
 
  IT HAS BEEN CHECKEDTHAT THERE 
  EXISTS NO IDENTICAL PRODUCTIONS 
 
 
 
 
 
  IT HAS BEEN CHECKED THAT ALL NONTERMINALS CAN
  PRODUCE A STRING OF ONLY TERMINAL SYMBOLS
 
 
  IT HAS BEEN CHECKED THAT NO NONTERMINAL
  IS BOTH LEFT AND RIGHT RECURSIVE
  ****************************** THE GRAMMAR ******************************




    1   <PROG> ::= <EXTERNALPART> <PBODY>                             :000 CODE, SYMBOL TABLE 
    2            ! <EMPTYCONTEXT> <BODY> .                            :0 
    3            ! ERROR                                              :100 ------------------ 

    4   <EXTERNALPART> ::= <FIRSTBEGIN> <EXTERNALS>                   :1311 ENDINCLUDE 

    5   <FIRSTBEGIN> ::= EMPTY                                        :1010 FIRST BEGIN 

    6   <EXTERNALS> ::= <EXTERNALS> <EXTERNAL>                        :0 
    7                 ! <EXTERNAL>                                    :0 

    8   <EXTERNAL> ::= <CONTEXTNAME> ; <EXTERNALDECLPART> .           :1310 ENDCONTEXT 

    9   <EXTERNALDECLPART> ::= <EXTERNALDECLPART> <EXTERNALDECLARATION> :0 
   10                        ! <EXTERNALDECLARATION>                  :0 

   11   <EXTERNALDECLARATION> ::= <CONSTANTDECLARATION>               :0 
   12                           ! <TYPEDECLARATION>                   :0 
   13                           ! <ROUTINEDECLARATION> ;              :0 
   14                           ! PREFIX NAME ; <ROUTINEDECLARATION> ; :0 

   15   <CONTEXTNAME> ::= NAME                                        :1301 CONTEXT 

   16   <EMPTYCONTEXT> ::= EMPTY                                      :1311 ENDINCLUDE 

   17   <PBODY> ::= <BODY> .                                          :0 
   18             ! EMPTY                                             :1302 EOM, LASTEND ( IF SAVE ) 

   19   <BODY> ::= <BODYLIST>                                         :1303 EOM, LASTEND 

   20   <BODYLIST> ::= <BODYLIST> ; <BODYELEM>                        :0  
   21                ! <BODYELEM>                                     :0  

   22   <BODYELEM> ::= <BEGINLEVEL> <PROGRAMDECLARATION>              :1312 ENDLEVEL 
   23                ! <BEGINLEVEL> <ROUTINEDECLARATION>              :1312 ENDLEVEL 

   24   <PROGRAMDECLARATION> ::= PROGRAM <PROGRAM>                    :0 

   25   <PROGRAM> ::= <PROGRAMNAME> <FORMALPARAMETERS> <PROGSEMS> <PROGRAMBLOCK> :0 
   26               ! ERROR                                           :101 ERRORPROGRAM 

   27   <PROGSEMS> ::= ;                                              :1304 ENDPROGDECL 

   28   <PROGRAMNAME> ::= NAME                                        :1305 PROGDECL, DECLARATION 

   29   <PROGRAMBLOCK> ::= <PROGDECLARATIONS> <STARTLABELSCOPE> <COMPOUNDSTATEMENT> 
                           <ENDLABELSCOPE>                            :1011 ENDBLOCK ENDLEVEL ENDLEVEL
   30                    ! EXTERNAL                                   :1020 EXTERNAL ENDLEVEL 

   31   <STARTLABELSCOPE> ::= EMPTY                                   :1202 STARTLABELSCOPE 

   32   <ENDLABELSCOPE> ::= EMPTY                                     :1203 ENDLABELSCOPE 

   33   <BEGINLEVEL> ::= EMPTY                                        :1022 BEGINLEVEL, BEGINLEVEL 

   34   <PROGDECLARATIONS> ::= <BEGINLEVEL> <DECLS>                   :1009 ENDDECLARATIONS 

   35   <DECLS> ::= EMPTY                                             :0 
   36             ! <PROGDECLARATIONLIST>                             :0 

   37   <PROGDECLARATIONLIST> ::= <PROGDECLARATIONLIST> <PROGDECLPART> :0 
   38                           ! <PROGDECLPART>                      :0 

   39   <PROGDECLPART> ::= <COMMONDECLARATION>                        :0 
   40                    ! <SHAREDDECLARATION>                        :0 
   41                    ! <PROGRAMDECLARATION> ;                     :0 

   42   <ROUTINEDECLPART> ::= <ROUTINEDECLPART> <COMMONDECLARATION>   :0 
   43                       ! <COMMONDECLARATION>                     :0 

   44   <COMMONDECLARATION> ::= <CONSTANTDECLARATION>                 :0 
   45                         ! <TYPEDECLARATION>                     :0 
   46                         ! <VARIABLEDECLARATION>                 :0 
   47                         ! <ROUTINEDECLARATION> ;                :0 

   48   <CONSTANTDECLARATION> ::= CONST <CONSTANTDECLARATIONLIST>     :0 

   49   <CONSTANTDECLARATIONLIST> ::= ERROR                           :103 ERRORCONSTANT 
   50                               ! <CONSTANTDECLARATIONLIST> <CONSTANTDEFINITION> :0 
   51                               ! <CONSTANTDEFINITION>            :0 

   52   <CONSTANTDEFINITION> ::= <CONSTNAME> = <EXPRESSION> ;         :501 ENDCONSTDECL 
   53                          ! <CONSTNAME> ERROR                    :503 ID(ANONYMOUS) ENDEXPRESSION ENDCONSTDECL 

   54   <CONSTNAME> ::= NAME                                          :502 CONSTDECL, DECLARATION 

   55   <TYPEDECLARATION> ::= TYPE <TYPEDECLARATIONLIST>              :0 

   56   <TYPEDECLARATIONLIST> ::= ERROR                               :104 ERRORTYPE 
   57                           ! <TYPEDECLARATIONLIST> <SINGLETYPEDECLARATION> 
                                  ;                                   :0 
   58                           ! <SINGLETYPEDECLARATION> ;           :0 

   59   <SINGLETYPEDECLARATION> ::= <TYPENAME> <FORMALTYPEPARAMETERS> <EQ> 
                                    <DEFTYPESPEC>                     :601 ENDLEVEL ENDTYPEDECL, ENDTYPEDECL ENDLEVEL 
   60                             ! <TYPENAME>                        :606 , FORWARDTYPE 

   61   <FORMALTYPEPARAMETERS> ::= <BEGINLEVEL>                       :1007 ENDFORMAL, ENDFORMAL 
   62                            ! <BEGINLEVEL> ( <TYPEFORMALLIST> )  :1007 ENDFORMAL, ENDFORMAL 

   63   <TYPEFORMALLIST> ::= <TYPEFORMALLIST> ; <TYPEPARAMDESCR>      :0 
   64                      ! <TYPEPARAMDESCR>                         :0 

   65   <TYPEPARAMDESCR> ::= <STARTLIST> <PARAMETERGROUP> <TYPECOLON> <COMMONTYPESPEC> :1006 

   66   <STARTLIST> ::= EMPTY                                         :1023 FORMAL PARAM LIST, STARTLIST 

   67   <EQ> ::= =                                                    :602 
   68          ! ERROR                                                :123 ERROR 

   69   <DEFTYPESPEC> ::= <TYPEDEFINITION>                            :0 
   70                   ! <VARIABLE>                                  :603 ENDTYPE 

   71   <TYPEDEFINITION> ::= <STRUCTUREDTYPE>                         :604 
   72                      ! <UPARROW> <COMMONTYPESPEC>               :605 ENDPOINTER 
   73                      ! <STARTSCALAR> <IDENTIFIERLIST> )         :607 ENDSCALAR 
   74                      ! <EXPRESSION> <ENDSUBRANGE>               :608 ENDSUBRANGE 
   75                      ! <SETTYPE>                                :0 

   76   <UPARROW> ::= ^                                               :620 POINTERTYPE, NEWTYPE 

   77   <STARTSCALAR> ::= ( NAME ,                                    :621 , NEWTYPE STARTLIST DECLARELIST

   78   <ENDSUBRANGE> ::= .. <EXPRESSION>                             :0 

   79   <COMMONTYPESPEC> ::= <DEFTYPESPEC>                            :0 
   80                      ! <DEFINEDTYPE>                            :609 TYPEID ENDTYPE 

   81   <DEFINEDTYPE> ::= BOOLEAN                                     :650 
   82                   ! CHAR                                        :651 
   83                   ! INTEGER                                     :652 
   84                   ! REAL                                        :653 
   85                   ! BYTE                                        :654 
   86                   ! WORD                                        :655 
   87                   ! MAILBOX                                     :656 
   88                   ! REFERENCE                                   :657 
   89                   ! POOL                                        :658 
   90                   ! PROCESS                                     :659 
   91                   ! PORT                                        :660 
   92                   ! CHAIN                                       :661 
   93                   ! EXTERNAL <PROGRAMNAME> <FORMALPARAMETERS> ; :0   

   94   <STRUCTUREDTYPE> ::= <PACKINFO> <UNPACKEDSTRUCTUREDTYPE>      :0 

   95   <PACKINFO> ::= PACKED                                         :614 , PACKED 
   96                ! EMPTY                                          :0 , UNPACKED 

   97   <UNPACKEDSTRUCTUREDTYPE> ::= <ARRAYTYPE>                      :0 
   98                              ! <RECORDTYPE>                     :0 

   99   <TYPENAME> ::= NAME                                           :600 TYPEDECL, DECLARATION 

  100   <ARRAYTYPE> ::= <ARRAYSTART> <COMMONTYPESPEC> <COMPONENTTYPE> :615 ENDARRAY(S) 

  101   <ARRAYSTART> ::= ARRAY (                                      :623 ARRAYTYPE, NEWTYPE 

  102   <COMPONENTTYPE> ::= <NEWDIMENSION> <COMMONTYPESPEC> <COMPONENTTYPE> :0 
  103                     ! ) <OFTYPE> <COMMONTYPESPEC>               :0 
  104                     ! ERROR                                     :123 ERROR 

  105   <NEWDIMENSION> ::= ,                                          :623 ARRAYTYPE, NEWTYPE 

  106   <OFTYPE> ::= OF                                               :640 
  107              ! ERROR                                            :109 ERROR 

  108   <RECORDTYPE> ::= <RECORD> <FIELDLIST> END                     :610 ENDRECORD, ENDRECORD 

  109   <RECORD> ::= RECORD                                           :624 RECORDTYPE, NEWTYPE

  110   <FIELDLIST> ::= <FIELDLIST> ; <RECORDSECTION>                 :0 
  111                 ! <RECORDSECTION>                               :0 

  112   <RECORDSECTION> ::= EMPTY                                     :0 
  113                     ! <STARTSECTION> <RECFIELDLIST> <TYPECOLON> <COMMONTYPESPEC> :611 ENDFIELDLIST, ENDFIELD 

  114   <STARTSECTION> ::= EMPTY                                      :632 RECFIELDS, STARTLIST 

  115   <TYPECOLON> ::= :                                             :640 
  116                 ! ERROR                                         :110 ERROR 

  117   <SETTYPE> ::= <SETOF> <COMMONTYPESPEC>                        :612 ENDSET ENDTYPE, ENDSET 

  118   <SETOF> ::= SET <OFTYPE>                                      :625 SETTYPE, NEWTYPE 

  119   <VARIABLEDECLARATION> ::= <VAR> <VARIABLEDECLARATIONLIST>     :0 

  120   <VAR> ::= VAR                                                 :706 KIND:=VAR 

  121   <SHAREDDECLARATION> ::= <SHARED> <VARIABLEDECLARATIONLIST>    :0 

  122   <SHARED> ::= SHARED                                           :707 KIND:=SHARED 

  123   <VARIABLEDECLARATIONLIST> ::= <VARIABLEDECLARATIONLIST> <VARDECL> :0 
  124                               ! <VARDECL>                       :0 

  125   <VARDECL> ::= <STARTVAR> <IDENTIFIERLIST> <TYPECOLON> <COMMONTYPESPEC> 
                      <INITIALIZATION> ;                              :0 

  126   <STARTVAR> ::= EMPTY                                          :700 VARDECL/SHAREDDECL, STARTLIST 

  127   <IDENTIFIERLIST> ::= <IDENTIFIERLIST> , <IDENT>               :0 
  128                      ! <IDENT>                                  :0 
  129                      ! <IDENTIFIERLIST> , ERROR                 :111 ERRORVAR 
  130                      ! ERROR                                    :112 ERRORVAR 

  131   <RECFIELDLIST> ::= <RECFIELDLIST> , <RECIDENT>                :0 
  132                    ! <RECIDENT>                                 :0 
  133                    ! <RECFIELDLIST> , ERROR                     :111 ERRORVAR 
  134                    ! ERROR                                      :112 ERRORVAR 

  135   <IDENT> ::= NAME                                              :701 , DECLARELIST 

  136   <RECIDENT> ::= NAME                                           :701 , DECLARELIST 
  137                ! ?                                              :704 , DECLARELIST 

  138   <INITIALIZATION> ::= <INITASSIGN> <EXPRESSION>                :702 ENDINIT 
  139                      ! EMPTY                                    :705 ENDVAR/ENDSHARED 

  140   <INITASSIGN> ::= :=                                           :708 INIT 

  141   <ROUTINEDECLARATION> ::= <ROUTINEHEADING> ; <ROUTINEBLOCK>    :0 

  142   <ROUTINEHEADING> ::= <PROCEDUREHEADING>                       :1002 ENDPROCDECL 
  143                      ! <FUNCTIONHEADING>                        :1101 ENDFUNCDECL 

  144   <ROUTINEBLOCK> ::= <ROUTINEDECLARATIONS> <STARTLABELSCOPE> <COMPOUNDSTATEMENT> 
                           <ENDLABELSCOPE>                            :1011 ENDBLOCK ENDLEVEL ENDLEVEL 
  145                    ! EXTERNAL                                   :1020 EXTERNAL ENDLEVEL 
  146                    ! OPENROUTINE                                :1027 OPENROUTINE ENDLEVEL 
  147                    ! FORWARD                                    :1021 FORWARD ENDLEVEL 

  148   <ROUTINEDECLARATIONS> ::= <BEGINLEVEL> <RDECLS>               :1009 ENDDECLARATIONS 

  149   <RDECLS> ::= EMPTY                                            :0 
  150              ! <ROUTINEDECLPART>                                :0 

  151   <PROCEDUREHEADING> ::= PROCEDURE <PROCEDURENAME> <FORMALPARAMETERS> :0 
  152                        ! PROCEDURE ERROR                        :113 ERRORPROC 

  153   <PROCEDURENAME> ::= NAME                                      :1003 PROCDECL, DECLARATION 
  154                     ! <SPIXNAME> = NAME                         :1004 PROCDECL, DECLARATION 

  155   <SPIXNAME> ::= NAME                                           :1001 PICK UP NAME 

  156   <FUNCTIONHEADING> ::= FUNCTION <FUNCTIONNAME> <FORMALPARAMETERS> 
                              <COLON> <COMMONTYPESPEC>                :0 
  157                       ! FUNCTION ERROR                          :114 ERRORFUNCT 

  158   <FUNCTIONNAME> ::= NAME                                       :1102 FUNCDECL, DECLARATION 
  159                    ! <SPIXNAME> = NAME                          :1103 FUNCDECL, DECLARATION 

  160   <COLON> ::= :                                                 :640 
  161             ! ERROR                                             :116 ERROR 

  162   <FORMALPARAMETERS> ::= <INITFORMAL>                           :1007 ENDFORMAL 
  163                        ! <INITFORMAL> ( <FORMALLIST> )          :1007 ENDFORMAL 

  164   <INITFORMAL> ::= EMPTY                                        :1022 BEGINLEVEL, BEGINLEVEL 

  165   <FORMALLIST> ::= <FORMALLIST> ; <PARAMETERDESCRIPTION>        :0 
  166                  ! <PARAMETERDESCRIPTION>                       :0 

  167   <PARAMETERDESCRIPTION> ::= <PARAMKIND> <PARAMETERGROUP> <TYPECOLON> 
                                   <FORMALTYPESPEC>                   :1006 ENDFORMALLIST 
  168                            ! ERROR                              :117 ERRORPARAM 

  169   <PARAMKIND> ::= EMPTY                                         :1023 FORMALPARAMLIST, STARTLIST 
  170                 ! VAR                                           :1024 FORMALPARAMLIST, STARTLIST 
  171                 ! INSPECT                                       :1025 FORMALPARAMLIST, STARTLIST 
  172                 ! SHARED                                        :1026 FORMALPARAMLIST, STARTLIST 

  173   <PARAMETERGROUP> ::= <PARAMETERGROUP> , NAME                  :1008 , DECLARELIST 
  174                      ! NAME                                     :1008 , DECLARELIST 

  175   <FORMALTYPESPEC> ::= <DEFTYPESPEC>                            :0 
  176                      ! <DEFINEDTYPE>                            :609 TYPEID ENDTYPE 

  177   <COMPOUNDSTATEMENT> ::= <BEGIN> <STATEMENTLIST> END           :901  

  178   <BEGIN> ::= BEGIN                                             :902 

  179   <STATEMENTLIST> ::= <STATEMENTLIST> ; <STATEMENT>             :0 
  180                     ! <STATEMENT>                               :900 STATEMENT 

  181   <STATEMENT> ::= EMPTY                                         :900 
  182                 ! <COMPOUNDSTATEMENT>                           :0 
  183                 ! <PROCEDURECALL>                               :0 
  184                 ! <ASSIGNMENTSTATEMENT>                         :0 
  185                 ! <EXCHANGESTATEMENT>                           :0 
  186                 ! <CASESTATEMENT>                               :0 
  187                 ! <FORDO> <STARTLABELSCOPE> <STATEMENT> <ENDLABELSCOPE> :917 ENDLEVEL ENDFOR, ENDLEVEL 
  188                 ! <GOTOSTATEMENT>                               :0 
  189                 ! <IFTHEN> <STATEMENT>                          :925 ENDIF 
  190                 ! <IFTHENELSE> <STATEMENT>                      :958 ENDELSE 
  191                 ! <LABELNAME> : <STATEMENT>                     :0 
  192                 ! <REPEATSTATEMENT>                             :0 
  193                 ! <WHILEDO> <STATEMENT>                         :933 ENDWHILE 
  194                 ! <WITHDO> <STARTLABELSCOPE> <STATEMENT> <ENDLABELSCOPE> :936 ENDWITH ENDLEVEL, ENDLEVEL 
  195                 ! <LOCKDO> <STARTLABELSCOPE> <STATEMENT> <ENDLABELSCOPE> :949 ENDLOCK ENDLEVEL, ENDLEVEL 
  196                 ! <LOOPSTATEMENT>                               :0 
  197                 ! EXITLOOP                                      :950 EXITLOOP 
  198                 ! CONTINUELOOP                                  :951 CONTLOOP 
  199                 ! EXIT                                          :952 EXITSTAT 
  200                 ! <REGIONDO> <STARTLABELSCOPE> <STATEMENT> <ENDLABELSCOPE> :953 ENDREGION 
  201                 ! ERROR                                         :121 ERRORSTATEMENT 

  202   <BALANCEDSTATEMENT> ::= EMPTY                                 :900 
  203                         ! <COMPOUNDSTATEMENT>                   :0 
  204                         ! <PROCEDURECALL>                       :0 
  205                         ! <ASSIGNMENTSTATEMENT>                 :0 
  206                         ! <EXCHANGESTATEMENT>                   :0 
  207                         ! <CASESTATEMENT>                       :0 
  208                         ! <FORDO> <STARTLABELSCOPE> <BALANCEDSTATEMENT> 
                                <ENDLABELSCOPE>                       :917 ENDLEVEL ENDFOR, ENDLEVEL 
  209                         ! <GOTOSTATEMENT>                       :0 
  210                         ! <IFTHENELSE> <BALANCEDSTATEMENT>      :958 ENDELSE 
  211                         ! <LABELNAME> : <BALANCEDSTATEMENT>     :0 
  212                         ! <REPEATSTATEMENT>                     :0 
  213                         ! <WHILEDO> <BALANCEDSTATEMENT>         :933 ENDWHILE 
  214                         ! <WITHDO> <STARTLABELSCOPE> <BALANCEDSTATEMENT> 
                                <ENDLABELSCOPE>                       :936 ENDWITH ENDLEVEL, ENDLEVEL 
  215                         ! <LOCKDO> <STARTLABELSCOPE> <BALANCEDSTATEMENT> 
                                <ENDLABELSCOPE>                       :949 ENDLOCK ENDLEVEL, ENDLEVEL 
  216                         ! <LOOPSTATEMENT>                       :0 
  217                         ! EXITLOOP                              :950 EXITLOOP 
  218                         ! CONTINUELOOP                          :951 CONTLOOP 
  219                         ! EXIT                                  :952 EXITSTAT 
  220                         ! <REGIONDO> <STARTLABELSCOPE> <BALANCEDSTATEMENT> 
                                <ENDLABELSCOPE>                       :953 ENDREGION 
  221                         ! ERROR                                 :121 ERRORSTATEMENT 

  222   <PROCEDURECALL> ::= <VARIABLE>                                :903 CALLPROCEDURE 

  223   <LABELNAME> ::= NAME                                          :1201 LABELDEF, DECLARATION LABELDECLARE 

  224   <ACTUALPARAMETERLIST> ::= <UNIT>                              :904 ACTUALPARAM 
  225                           ! <ACTUALPARAMETERLIST> , <UNIT>      :904 ACTUALPARAM 

  226   <UNIT> ::= <EXPRESSION>                                       :0 
  227            ! ?                                                  :905 SKIPPARAM 

  228   <ASSIGNMENTSTATEMENT> ::= <VARIABLE> <ASSIGN> <EXPRESSION>    :906 ENDASSIGN 

  229   <ASSIGN> ::= :=                                               :960 ASSIGN 

  230   <EXCHANGESTATEMENT> ::= <VARIABLE> <EXCHANGE> <VARIABLE>      :907 ENDEXCHANGE 

  231   <EXCHANGE> ::= :=:                                            :961 EXCHANGE 

  232   <CASESTATEMENT> ::= <SELECTORPART> <CASELIST> <SKIPSEMIKOLON> <ENDCASEPART> :909 ENDCASE 

  233   <SELECTORPART> ::= <CASE> <EXPRESSION> OF                     :910 CASEEXPR 

  234   <CASE> ::= CASE                                               :911 CASESTAT 

  235   <CASELIST> ::= <CASELIST> ; <CASELISTELEMENT>                 :0 
  236                ! <CASELISTELEMENT>                              :0 

  237   <CASELISTELEMENT> ::= <CASELABELLIST> <ENDLABELLIST> <STATEMENT> :912 CASEELEMENT 

  238   <CASELABELLIST> ::= <LABELRANGE>                              :0 
  239                     ! <CASELABELLIST> , <LABELRANGE>            :0 

  240   <LABELRANGE> ::= <EXPRESSION> .. <EXPRESSION>                 :913 CASELABELRANGE 
  241                  ! <EXPRESSION>                                 :914 CASELABEL 

  242   <ENDLABELLIST> ::= :                                          :915 CASELIST 

  243   <ENDCASEPART> ::= <OTHERWISE> <STATEMENT> <SKIPSEMIKOLON> END :912 CASEELEMENT 
  244                   ! END                                         :0 

  245   <OTHERWISE> ::= OTHERWISE                                     :916 OTHERWISE CASELIST 

  246   <SKIPSEMIKOLON> ::= ;                                         :0 
  247                     ! EMPTY                                     :0 

  248   <FORDO> ::= <FORTO> <EXPRESSION> DO                           :918 ENDSUBRANGE UP BEGINLEVEL 
  249             ! <FORDOWNTO> <EXPRESSION> DO                       :919 ENDSUBRANGE DOWN BEGINLEVEL 

  250   <FORTO> ::= <FORASSIGN> <EXPRESSION> TO                       :0 

  251   <FORDOWNTO> ::= <FORASSIGN> <EXPRESSION> DOWNTO               :0 

  252   <FORASSIGN> ::= FOR NAME :=                                   :920 FORSTAT, BEGINLEVEL DECLARATION 

  253   <GOTOSTATEMENT> ::= <GOTO> <LABNAME>                          :922 ENDGOTO 

  254   <GOTO> ::= GOTO                                               :923 GOTOSTAT 

  255   <LABNAME> ::= NAME                                            :924 ID 

  256   <IFTHEN> ::= <IFPART> <EXPRESSION> THEN                       :926 IFEXPR 

  257   <IFPART> ::= IF                                               :927 IFSTAT 

  258   <IFTHENELSE> ::= <IFTHEN> <BALANCEDSTATEMENT> ELSE            :928 ELSE 

  259   <LOOPSTATEMENT> ::= <LOOP> <STATEMENTLIST> ENDLOOP            :957 ENDLOOP 

  260   <LOOP> ::= LOOP                                               :956 LOOPSTAT 

  261   <REPEATSTATEMENT> ::= <REPEAT> <STATEMENTLIST> <UNTIL> <EXPRESSION> :930 ENDREPEAT 

  262   <REPEAT> ::= REPEAT                                           :932 REPEATSTAT 

  263   <UNTIL> ::= UNTIL                                             :929 UNTIL 

  264   <WHILEDO> ::= <WHILE> <EXPRESSION> DO                         :934 WHILEEXPR 

  265   <WHILE> ::= WHILE                                             :935 WHILESTAT 

  266   <WITHDO> ::= <WITH> <WITHVARIABLELIST> DO                     :944 DO 

  267   <LOCKDO> ::= <LOCK> <VARIABLE> <TO> <LOCKIDENT> DO            :947 DO 

  268   <LOCKIDENT> ::= <IDENT>                                       :0 
  269                 ! <IDENT> <TYPECOLON> <COMMONTYPESPEC>          :0 

  270   <WITH> ::= WITH                                               :937 WITHSTAT BEGINLEVEL 

  271   <LOCK> ::= LOCK                                               :945 LOCKSTAT BEGINLEVEL 
  272            ! LOCKBUF                                            :946 LOCKBUFSTAT 
  273            ! LOCKMES                                            :945 LOCKSTAT BEGINLEVEL 

  274   <WITHVARIABLELIST> ::= <WITHVARIABLE>                         :0 
  275                        ! <WITHVARIABLELIST> <WITHCOMMA> <WITHVARIABLE> :0 

  276   <WITHCOMMA> ::= ,                                             :938 WITHCOMMA BEGINLEVEL 

  277   <WITHVARIABLE> ::= <VARIABLE>                                 :939 WITHVAR NOLOCALDECL, DECLARATION 
  278                    ! <VARIABLE> <AS> <LOCALNAME> <TYPECOLON> <COMMONTYPESPEC> :942 ENDLOCALDECL 
  279                    ! <VARIABLE> <AS> <LOCALNAME>                :943 NOLOCALTYPE 

  280   <AS> ::= AS                                                   :940 WITHVAR, DECLARATION 

  281   <LOCALNAME> ::= NAME                                          :941 , RENAME 

  282   <TO> ::= TO                                                   :948 LOCKVAR ENDLOCKDECL, STARTLIST 
  283          ! AS                                                   :948 LOCKVAR ENDLOCKDECL, STARTLIST 

  284   <REGIONDO> ::= <REGION> <VARIABLE> DO                         :955 VAR 

  285   <REGION> ::= REGION                                           :954 REGIONSTAT 

  286   <EXPRESSION> ::= <SIMPLEEXPRESSION>                           :801 ENDEXPRESSION 
  287                  ! <SIMPLEEXPRESSION> = <SIMPLEEXPRESSION>      :802 EQ ENDEXPRESSION 
  288                  ! <SIMPLEEXPRESSION> <> <SIMPLEEXPRESSION>     :803 NE ENDEXPRESSION 
  289                  ! <SIMPLEEXPRESSION> < <SIMPLEEXPRESSION>      :804 LT ENDEXPRESSION 
  290                  ! <SIMPLEEXPRESSION> <= <SIMPLEEXPRESSION>     :805 LE ENDEXPRESSION 
  291                  ! <SIMPLEEXPRESSION> > <SIMPLEEXPRESSION>      :806 GT ENDEXPRESSION 
  292                  ! <SIMPLEEXPRESSION> >= <SIMPLEEXPRESSION>     :807 GE ENDEXPRESSION 
  293                  ! <SIMPLEEXPRESSION> IN <SIMPLEEXPRESSION>     :808 IN ENDEXPRESSION 
  294                  ! ERROR                                        :122 ERROREXPRESSION ENDEXPRESSION 

  295   <SIMPLEEXPRESSION> ::= <SIMPLEEXPRESSION> + <TERM>            :810 ADD 
  296                        ! <SIMPLEEXPRESSION> - <TERM>            :811 SUB 
  297                        ! <SIMPLEEXPRESSION> OR <TERM>           :812 OR 
  298                        ! <SIMPLEEXPRESSION> XOR <TERM>          :815 XOR 
  299                        ! + <TERM>                               :813 NOCODE 
  300                        ! - <TERM>                               :814 USUB 
  301                        ! <TERM>                                 :0 

  302   <TERM> ::= <TERM> * <FACTOR>                                  :816 STAR 
  303            ! <TERM> / <FACTOR>                                  :817 SLASH 
  304            ! <TERM> SHIFT <FACTOR>                              :821 SHIFT 
  305            ! <TERM> DIV <FACTOR>                                :818 DIV 
  306            ! <TERM> MOD <FACTOR>                                :819 MOD 
  307            ! <TERM> AND <FACTOR>                                :820 AND 
  308            ! <FACTOR>                                           :0 

  309   <FACTOR> ::= <VALUEDENOTATION>                                :0 
  310              ! <VARIABLE>                                       :830 ENDVARIABLE 
  311              ! ( <EXPRESSION> )                                 :0 
  312              ! VARSIZE ( NAME )                                 :833 VARSIZECALL( SPIX ) 
  313              ! TYPESIZE ( NAME )                                :834 TYPESIZECALL( SPIX ) 
  314              ! NOT <FACTOR>                                     :831 NOT 

  315   <VALUEDENOTATION> ::= <UNSIGNEDINTEGER>                       :0 
  316                       ! <STRUCVALUEDENOTATION>                  :0 
  317                       ! <SETDENOTATION>                         :825 ENDSETLIST 
  318                       ! <STR>                                   :401 LITERAL TEXT 

  319   <STR> ::= STRING                                              :405 STRING 
  320           ! <STR> & STRING                                      :406 CONCATENATE STRING 
  321           ! <STR> & NAME                                        :408 CONCATENAME NAME 

  322   <STRUCVALUEDENOTATION> ::= <STARTSTRUCVAL> <STRUCVALUELIST> :) :842 ENDSTRUC 
  323                            ! <STARTSTRUCVAL> :)                 :842 ENDSTRUC 

  324   <STARTSTRUCVAL> ::= (:                                        :841 BEGINSTRUC 

  325   <STRUCVALUELIST> ::= <STRUCVALUELIST> , <STRUCVALUE>          :0 
  326                      ! <STRUCVALUE>                             :0 

  327   <STRUCVALUE> ::= <UNIT>                                       :843 STRUCELEM 
  328                  ! <EXPRESSION> *** <UNIT>                      :844 REPSTRUC 

  329   <SETDENOTATION> ::= <STARTSET> <ELEMENTLIST> .)               :824 
  330                     ! <STARTSET> .)                             :0 

  331   <STARTSET> ::= (.                                             :826 SETLIST 

  332   <ELEMENTLIST> ::= <ELEMENTLIST> , <ELEMENT>                   :0 
  333                   ! <ELEMENT>                                   :0 

  334   <ELEMENT> ::= <EXPRESSION>                                    :827 S_ELEMENT 
  335               ! <EXPRESSION> .. <EXPRESSION>                    :828 M_ELEMENT 

  336   <VARIABLE> ::= NAME                                           :835 ID 
  337                ! <VARIABLE> . NAME                              :836 FIELD 
  338                ! <VARIABLE> <STRUCVALUEDENOTATION>              :0 
  339                ! <VARIABLE> <BEGINACTUAL> <ACTUALPARAMETERLIST> ) :837 ENDACTUAL 
  340                ! <VARIABLE> <EXCLAMATION> <PARAMNAME>           :0 
  341                ! <VARIABLE> ^                                   :838 UPARROW 

  342   <EXCLAMATION> ::= !                                           :0 

  343   <PARAMNAME> ::= NAME                                          :840 TYPESELECT 

  344   <BEGINACTUAL> ::= (                                           :839 BEGINACTUAL 

  345   <UNSIGNEDINTEGER> ::= KONST                                   :402 LITERAL INTEGER/REAL 
  346                       ! # NAME                                  :404 LITERAL INTEGER 
  *************************************************************************
 ***********************************************************************
 
  THE GRAMMAR IS LALR1 
 
  ***********************************************************************
 ***********************COMPILER ERROR MESSAGES  ***********************
 
 
    ERRORNO : 0  ** SPECIAL ERROR **
 
 
    ERRORNO :  EXPECTED SYMBOL:
 
        1 :                  NAME       
  nr=4
 nr=159
 nr=167
 nr=173
 nr=346
 nr=313
 nr=312
 nr=340
 nr=337
 nr=93
 nr=154
 nr=65
 nr=252
 nr=284
 nr=267
 nr=267
 nr=266
 nr=279
 nr=275
 nr=253
 nr=230
 nr=14

 
        2 :                  ;          
  nr=8
 nr=93
 nr=141
 nr=125
 nr=58
 nr=57
 nr=52
 nr=47
 nr=14
 nr=14
 nr=13
 nr=25
 nr=41

 
        3 :                  PREFIX     CONST      TYPE       PROCEDURE  FUNCTION   
  nr=8

 
        4 :                  ERROR      NAME       
  nr=157
 nr=73
 nr=129
 nr=152
 nr=125
 nr=55
 nr=48
 nr=24

 
        5 :                  =          
  nr=159
 nr=154

 
        6 :                  ,          :          ERROR      
  nr=173
 nr=131
 nr=127
 nr=173

 
        7 :                  .)         ERROR      +          -          (          
                                     VARSIZE    TYPESIZE   NOT        NAME       KONST      
                                     #          STRING     (:         (.         
  nr=330

 
        8 :                  :)         ?          ERROR      +          -          
                                     (          VARSIZE    TYPESIZE   NOT        NAME       
                                     KONST      #          STRING     (:         (.         
  nr=323

 
        9 :                  STRING     NAME       
  nr=320

 
       10 :                  (          VARSIZE    TYPESIZE   NOT        NAME       
                                     KONST      #          STRING     (:         (.         
  nr=314
 nr=307
 nr=306
 nr=305
 nr=304
 nr=303
 nr=302
 nr=300
 nr=299
 nr=298
 nr=297
 nr=296
 nr=295

 
       11 :                  (          
  nr=313
 nr=312
 nr=101

 
       12 :                  )          
  nr=313
 nr=312
 nr=311

 
       13 :                  ERROR      +          -          (          VARSIZE    
                                     TYPESIZE   NOT        NAME       KONST      #          
                                     STRING     (:         (.         
  nr=311
 nr=335
 nr=332
 nr=77
 nr=78
 nr=138
 nr=52
 nr=251
 nr=233
 nr=264
 nr=256
 nr=249
 nr=248
 nr=232
 nr=240
 nr=239
 nr=228
 nr=261

 
       14 :                  ?          ERROR      +          -          (          
                                     VARSIZE    TYPESIZE   NOT        NAME       KONST      
                                     #          STRING     (:         (.         
  nr=339
 nr=225
 nr=328
 nr=325

 
       15 :                  +          -          (          VARSIZE    TYPESIZE   
                                     NOT        NAME       KONST      #          STRING     
                                     (:         (.         
  nr=293
 nr=292
 nr=291
 nr=290
 nr=289
 nr=288
 nr=287

 
       16 :                  )          ,          
  nr=339
 nr=73

 
       17 :                  :)         ,          
  nr=322

 
       18 :                  .)         ,          
  nr=329

 
       19 :                  OF         ERROR      
  nr=118
 nr=103

 
       20 :                  ARRAY      RECORD     
  nr=94

 
       21 :                  ERROR      NAME       ?          
  nr=113
 nr=133

 
       22 :                  ..         
  nr=74

 
       23 :                  END        ;          
  nr=108
 nr=177

 
       24 :                  )          ERROR      ,          
  nr=100
 nr=102

 
       25 :                  )          ;          
  nr=163
 nr=62

 
       26 :                  :          ERROR      
  nr=156

 
       27 :                  =          ERROR      
  nr=59
 nr=52

 
       28 :                  BEGIN      
  nr=144
 nr=29

 
       29 :                  :=         
  nr=252

 
       30 :                  TO         DOWNTO     
  nr=250

 
       31 :                  OF         
  nr=233

 
       32 :                  DO         .          ^          (          !          
                                     (:         
  nr=284

 
       33 :                  .          ^          TO         AS         (          
                                     !          (:         
  nr=337

 
       34 :                  DO         
  nr=267
 nr=264
 nr=249
 nr=248

 
       35 :                  DO         ,          
  nr=266

 
       36 :                  THEN       
  nr=256

 
       37 :                  ,          :          
  nr=239

 
       38 :                  :          
  nr=191
 nr=191

 
       39 :                  ELSE       
  nr=258

 
       40 :                  END        OTHERWISE  
  nr=232

 
       41 :                  END        
  nr=243

 
       42 :                  ;          UNTIL      
  nr=179

 
       43 :                  ENDLOOP    ;          
  nr=259

 
       44 :                  PROCEDURE  FUNCTION   
  nr=14

 
       45 :                  .          PREFIX     CONST      TYPE       PROCEDURE  
                                     FUNCTION   
  nr=8

 
       46 :                  PROGRAM    PROCEDURE  FUNCTION   
  nr=23

 
       47 :                  .          
  nr=2
 nr=17

 
       48 :                  -EOF-      
  nr=0

 
 
  *************************************************************************

end
blocksread = 206
 *head cpu
bb  1991.05.06  10.19.31   cpu:  908.36 sec.
 *copy rtp86tab. 10. 15
rtp86tab    segm.   1     123/ 4270  
 *o c
