home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / m296.doc / m2jpi.5 < prev    next >
Encoding:
Text File  |  1990-02-23  |  59.7 KB  |  1,385 lines

  1.  
  2.                             â ï Ç é Ç  6
  3.                             ============
  4.  
  5.                            ÄÅêæÇìêà ƒç¢èÇ
  6.                            ==============
  7.  
  8.          é ú½áóÑ ñáÑΓß∩ ¬αáΓ¬«Ñ «»¿ßá¡¿Ñ ∩ºδ¬á JPI Modula-2. â½áóá ß«ßΓáó½Ñ¡á ¬«¼»á¬Γ¡« ¿ ñ«½ª-
  9.     ¡á ¿ºπτáΓ∞ß∩ ΓΘáΓѽ∞¡«. æΓ¿½∞ «»¿ßá¡¿∩ ¼áΓÑα¿á½á ¬«¡ΓαáßΓ¿απÑΓ ß ΓÑ«αÑΓ¿τÑ߬¿¼¿ αáºαáí«Γ¬á-
  10.     ¼¿, ó ¬«Γ«αδσ ß«ñÑনΓß∩ í«½∞ΦÑ ¿¡Σ«α¼áµ¿¿ ¿ »«∩ߡѡ¿⌐.
  11.          Åα«úαá¼¼δ ñ«½ª¡δ ß««ΓóÑΓßΓó«óáΓ∞ ß¿¡Γá¬ß¿ßπ ∩ºδ¬á  Modula-2.  æ¿¡Γá¬ß¿ß  πßΓá¡áó½¿óáÑΓ
  12.     íẫóπε ΓѬßΓ«óπε ßΓαπ¬Γπαπ »α¿ú«ñ¡δσ ¬ »α¿¼Ñ¡Ñ¡¿ε »α«úαá¼¼. è«¼»¿½∩Γ«α »α¿¡¿¼áÑΓ ñ½∩ «íαá-
  13.     í«Γ¬¿ Γ«½∞¬« ß¿¡Γá¬ß¿τÑ߬¿ »αáó¿½∞¡δÑ »α«úαá¼¼δ.
  14.          é«-óΓ«αδσ, »α«úαá¼¼δ ñ«½ª¡δ ß««ΓóÑΓßΓó«óáΓ∞ ßѼá¡Γ¿¬Ñ óαѼѡ¿ ¬«¼»¿½∩µ¿¿ (ßΓáΓ¿τÑ߬«⌐)
  15.     ∩ºδ¬á Modula-2.  ¥Γ« ¿¼ÑÑΓ «Γ¡«ΦÑ¡¿Ñ ¬ º¡áτÑ¡¿ε,  ßó∩ºá¡¡«¼π ß ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ »α«úαá¼¼δ ¿
  16.     ß»«ß«íπ  ¿σ ¿ß»«½∞º«óá¡¿∩.  èα«¼Ñ óßÑú« »α«τÑú« φΓ« ó¬½ετáÑΓ ¬«¡Γα«½∞ Γ¿»«ó.  ÄΦ¿í¬¿ ó φΓ¿σ
  17.     ß½πτá∩σ ΓᬪѠ«»αÑñѽ∩εΓß∩ ß »«¼«Θ∞ε ¬«¼»¿½∩Γ«αá.
  18.          ê, ¡á¬«¡Ñµ,  »α«úαá¼¼δ ñ«½ª¡δ ß««ΓóÑΓßΓó«óáΓ∞ ßѼá¡Γ¿¬Ñ óαѼѡ¿ óδ»«½¡Ñ¡¿∩ (ñ¿¡á¼¿τÑß-
  19.     ¬«⌐) Modula-2.  Å«ñ φΓ¿¼ »«ñαáºπ¼ÑóáÑΓß∩ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ  »«óÑñÑ¡¿Ñ  óδ»«½¡∩Ѽ«⌐  »α«úαá¼¼δ.
  20.     ìá»α¿¼Ñα,  ΓαÑíπÑΓß∩,  τΓ«íδ óѽ¿τ¿¡δ ¿¡ñѬ߫ó ¼áßß¿ó«ó ¡áσ«ñ¿½¿ß∞ ó «»αÑñѽѡ¡δσ »αÑñѽáσ.
  21.     éδ»«½¡Ñ¡¿Ñ φΓ¿σ »αáó¿½ ¡Ñ ∩ó½∩ÑΓß∩ «í∩ºáΓѽ∞¡δ¼ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.  àß½¿ «¡¿ ¡Ñ
  22.     ß«í½εñáεΓß∩, Γ« φΓ« ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ¡Ñ«»αÑñѽѡ¡δ¼ αѺπ½∞ΓáΓá¼, ¡« ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡«
  23.     ó µÑ½∩σ »«½πτÑ¡¿∩ »«í«τ¡δσ φΣΣÑ¬Γ«ó.
  24.          üẫóá∩ áασ¿ΓѬΓπαá  ¼áΦ¿¡δ  «Γ¡«ß¿Γß∩ ¬ ßѼÑ⌐ßΓóπ 8086 ß áñαÑß¡δ¼ »α«ßΓαá¡ßΓó«¼ 2**20
  25.     (1 îíá⌐Γ) íá⌐Γ »« 8 í¿Γ. ö¿º¿τÑ߬¿⌐ áñαÑß Σ«α¼¿απÑΓß∩ ß »«¼«Θ∞ε 16-í¿Γ«ó«ú« ßÑú¼Ñ¡Γá ¿ 16 -
  26.     í¿Γ«ó«ú« ß¼ÑΘÑ¡¿∩; áíß«½εΓ¡δ⌐ áñαÑß íá⌐Γá: (16 * ßÑú¼Ñ¡Γ) + ß¼ÑΘÑ¡¿Ñ.
  27.          ä½∩ ¿½½εßΓαᵿ¿ ¬áªñ«⌐ ¬«¡µÑ»µ¿¿ íπñπΓ ¿ß»«½∞º«óáΓ∞ß∩ »α¿¼Ñαδ;  ¡Ñ¬«Γ«αδÑ ¿º ¡¿σ íπñπΓ
  28.     «Γ¡«ß¿Γ∞ß∩ ¬ »α¿óÑñÑ¡¡δ¼ αá¡ÑÑ »α¿¼Ñαá¼.
  29.  
  30.                              Ä ÆàèæÆÇò
  31.                              =========
  32.  
  33.                               ïѬßѼδ
  34.                               -------
  35.  
  36.          ïѬßÑ¼δ »αÑñßΓáó½∩εΓ  ß«í«⌐ íẫóδÑ ΓѬßΓ«óδÑ φ½Ñ¼Ñ¡Γδ,  ¡á ¬«Γ«αδσ «ß¡«óá¡á ßΓαπ¬Γπαá
  37.     Modula-2. ïѬßѼᠻαÑñßΓáó½∩ÑΓ ß«í«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«½«ó ¬«ñá ASCII. ïѬßѼδ αáºñÑ-
  38.     ½∩εΓß∩ ¡á 4 ¬½áßßá:
  39.          - ¬½ετÑóδÑ ß½«óá;
  40.          - «úαá¡¿τ¿Γѽ¿;
  41.          - α«ñ«óδÑ ½Ñ¬ßѼδ;
  42.          - αáºñѽ¿Γѽ¿.
  43.          è½ετÑóδÑ ß½«óá ¿ «úαá¡¿τ¿Γѽ¿ ß«ßΓ«∩Γ ¿º Σ¿¬ß¿α«óá¡¡δσ »«ß½Ññ«óáΓѽ∞¡«ßΓÑ⌐  ß¿¼ó«½«ó ó
  44.     Γ« óαѼ∩, ¬á¬ ñ½∩ ¬áªñ«⌐ «íΘÑ⌐ ½Ñ¬ßѼδ ó«º¼«ª¡« ¼¡«ªÑßΓó« »«ß½Ññ«óáΓѽ∞¡«ßΓÑ⌐ ß¿¼ó«½«ó.
  45.          êß»«½∞ºπεΓß∩ ß½ÑñπεΘ¿Ñ ¬½ετÑóδÑ ß½«óá:
  46.  
  47.          AND          FOR               OR
  48.          ARRAY        FORWARD           POINTER
  49.          BEGIN        FROM              PROCEDURE
  50.          BY           GOTO              RECORD
  51.          CASE         IF                REPEAT
  52.          CONST        IMPLEMENTATION    RETURN
  53.          DEFINITION   IMPORT            SET
  54.          DIV          IN                THEN
  55.          DO           LABEL             TO
  56.          ELSE         LOOP              TYPE
  57.          ELSIF        MOD               UNTIL
  58.          END          MODULE            VAR
  59.          EXIT         NOT               WHILE
  60.          EXPORT       OF                WITH
  61.  
  62.          êß»«½∞ºπεΓß∩ ß½ÑñπεΘ¿Ñ «úαá¡¿τ¿Γѽ¿:
  63.  
  64.          +   -   *   /   :=   &   .   ,   ;
  65.          :   (   )   [   ]    {   }   ^   ~
  66.          =   #   <>  <   <=   >   >=  <<  >>
  67.          |   ..
  68.  
  69.          êß»«½∞ºπεΓß∩ ß½ÑñπεΘ¿Ñ «íΘ¿Ñ ½Ñ¬ßѼδ:
  70.  
  71.                            êñÑ¡Γ¿Σ¿¬áΓ«α
  72.                            -------------
  73.  
  74.          - »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ íπ¬ó («Γ "A" ñ« "Z", «Γ "a" ñ« "z" ¿ "_") ¿ µ¿Σα («Γ "0" ñ« "9"),
  75.     ¬«Γ«αδ⌐ ñ«½ªÑ¡ ¡áτ¿¡áΓ∞ß∩ ß íπ¬óδ,  ¿ß¬½ετá∩ 42 ¬½ετÑóδσ  ß½«óá,  »α¿óÑñÑ¡¡δσ  óδΦÑ.  üπ¬óδ
  76.     óÑασ¡Ñú« ¿ ¡¿ª¡Ñú« αÑú¿ßΓα«ó ßτ¿ΓáεΓß∩ αẽ¿τ¡δ¼¿. ìá»α¿¼Ñα:
  77.  
  78.           X  HelloThere  Agent_007  _main
  79.  
  80.                         äÑß∩Γ¿τ¡δ⌐  ½¿ΓÑαá½
  81.                         -------------------
  82.  
  83.          - »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα.
  84.  
  85.                    12345  0  255
  86.  
  87.                         é«ß∞¼Ñα¿τ¡δ⌐ ½¿ΓÑαá½
  88.                         --------------------
  89.  
  90.          - »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ó«ß∞¼Ñα¿τ¡δσ µ¿Σα («Γ "0" ñ« "7"),  ºá ¬«Γ«α«⌐ ß½ÑñπÑΓ íπ¬óá "é":
  91.  
  92.                10é (=8) 377é (=255)
  93.  
  94.                      ÿÑßΓ¡áñµáΓÑα¿τ¡δ⌐ ½¿ΓÑαá½
  95.                      -------------------------
  96.  
  97.          - »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα ¿ ΦÑßΓ¡áñµáΓÑα¿τ¡δσ íπ¬ó («Γ "A" ñ« "F"), ºá ¬«Γ«α«⌐ ß½ÑñπÑΓ
  98.     íπ¬óá "H", φΓá »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ñ«½ª¡á ¡áτ¿¡áΓ∞ß∩ ß µ¿Σαδ.
  99.  
  100.                 10ì (=16) OFFH (=255)
  101.  
  102.                        äÑ⌐ßΓó¿Γѽ∞¡δ⌐ ½¿ΓÑαá½
  103.                        ----------------------
  104.  
  105.          - »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα,  ºá ¬«Γ«α«⌐ ß½ÑñπÑΓ ".",  ºá ¬«Γ«α«⌐, ó ßó«ε «τÑαÑñ∞, ¼«ªÑΓ
  106.     ß½Ññ«óáΓ∞ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα,  íπ¬óá à, º¡á¬ + ¿½¿ -, ºá ¬«Γ«α묨 ¼«ªÑΓ ß½Ññ«óáΓ∞ »«ß-
  107.     ½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα.
  108.  
  109.                  3.14   12.3à-3 (=0,0123)
  110.  
  111.                          æΓ᫬«óδ⌐ ½¿ΓÑαá½
  112.                          -----------------
  113.  
  114.          - »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«½«ó,  ºá¬½ετÑ¡¡δσ ó ¬áóδτ¬¿ (") ¿½¿ ('). é¡πΓα¿ ªÑ φΓ«⌐ »«ß-
  115.     ½Ññ«óáΓѽ∞¡«ßΓ¿ ¡Ñ ¼«ªÑΓ ß«ñÑαªáΓ∞ß∩ ß¿¼ó«½ " ¿½¿ '.  Å«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¡Ñ ¼«ªÑΓ íδΓ∞ »α«-
  116.     ñ«½ªÑ¡á ºá »αÑñѽδ ßΓ᫬¿. æΓ᫬á ñ½¿¡«⌐ Ññ¿¡¿µá ΓᬪѠ¡áºδóáÑΓß∩ ß¿¼ó«½«¼.
  117.          æ¿¼ó«½ ¼«ªÑΓ  ΓᬪѠ óδαáªáΓ∞ß∩  ó  ó«ß∞¼Ñα¿τ¡«¼   ¬«ñÑ
  118.     ASCII,  ¬á¬ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ó«ß∞¼Ñα¿τ¡δσ µ¿Σα, ºá ¬«Γ«α«⌐
  119.     ß½ÑñπÑΓ "æ":
  120.  
  121.                   'Hi'   "that's ok"   101C (='A')
  122.  
  123.          êß»«½∞ºπεΓß∩ ß½ÑñπεΘ¿Ñ αáºñѽ¿Γѽ¿:
  124.  
  125.          - »α«íѽδ - ½εíá∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ »α«íѽ«ó,  ß¿¼ó«½δ Γáíπ½∩µ¿¿ ¿ «úαá¡¿τ¿Γѽ∞ ßΓα«-
  126.     ¬¿;
  127.          - ¬«¼¼Ñ¡Γáα¿¿ - ½εíá∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«½«ó,  ºá¬½ετÑ¡¡δσ ó '(*' ¿ '*)'. è«¼¼Ñ¡-
  128.     Γáα¿¿ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ¿ »α«ñ½ÑóáΓ∞ß∩ ºá »αÑñÑ½δ «úαá¡¿τ¿ΓѽÑ⌐ ßΓ᫬¿.
  129.          ïѬßѼδ "#" ¿ "<>" ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ «ñ¡á ó¼ÑßΓ« ñαπú«⌐ ΓᬪÑ, ¬á¬ ¿ AND ¿ "&", NOT
  130.     ¿ "~".
  131.          êñÑ¡Γ¿Σ¿¬áΓ«αδ ¿ß»«½∞ºπεΓß∩ ñ½∩ «í«º¡áτÑ¡¿∩ «íΩÑ¬Γ«ó, «»αÑñѽ∩Ѽδσ »«½∞º«óáΓѽѼ.
  132.          äÑß∩Γ¿τ¡δÑ, ó«ß∞¼Ñα¿τ¡δÑ ¿ ΦÑßΓ¡áñµáΓÑα¿τ¡δÑ ½Ñ¬ßÑ¼δ «í«º¡áτáεΓ µÑ½δÑ τ¿ß½á.
  133.          äÑ⌐ßΓó¿Γѽ∞¡δÑ ½Ñ¬ßÑ¼δ «í«º¡áτáεΓ ñÑ⌐ßΓó¿Γѽ∞¡δÑ τ¿ß½á.
  134.     ¥¬ß»«¡Ñ¡µ¿á½∞¡á∩ τáßΓ∞ «í«º¡áτáÑΓ π¼¡«ªÑ¡¿Ñ ¡á π¬áºá¡¡πε ßΓѻѡ∞ τ¿ß½á 10.
  135.          èáªñá∩ ½Ñ¬ßѼá ß«ñÑαª¿Γ ¬á¬ ¼«ª¡« í«½∞ΦÑÑ τ¿ß½« ß¿¼ó«½«ó: 123 - φΓ« «ñ¿¡ ½¿ΓÑαá½, ß«ß-
  136.     Γ«∩Θ¿⌐ ¿º ΓαÑσ µ¿Σα, á ¡Ñ Γα¿ ½¿ΓÑαá½á, ß«ßΓ«∩Θ¿σ ¬áªñδ⌐ ¿º «ñ¡«⌐ µ¿Σαδ.
  137.          Éáºñѽ¿Γѽ¿, ¿ß¬½ετá∩ ¬«¼¼Ñ¡Γáα¿¿,  ¡áτ¿¡áεΘ¿Ñß∩ ß '(*$' (ß¼.  âïÇéô 7),  ¡Ñ ó½¿∩εΓ ¡á
  138.     »α«úαá¼¼π, ºá ¿ß¬½ετÑ¡¿Ñ¼ «Γñѽ∞¡δσ ½Ñ¬ßѼ.
  139.  
  140.                              æ¿¡Γá¬ß¿ß
  141.                              ---------
  142.  
  143.          æ¿¡Γá¬ß¿ß ∩ºδ¬á Modula-2 «»¿ßδóáÑΓ,  ¬á¬ úαπ»»¿α«óáΓ∞ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ½Ñ¬ßѼ, τΓ«íδ
  144.     »«½πτ¿Γ∞ »αáó¿½∞¡δ⌐ ΓѬßΓ »α«úαá¼¼δ.  æ¿¡Γá¬ß¿ß ß«ñÑαª¿Γ ¡áí«α ß¿¡Γá¬ß¿τÑ߬¿σ ¬«¡ßΓαπ¬µ¿⌐ ¿
  145.     »αáó¿½. Åαáó¿½á πßΓá¡áó½¿óáεΓ, ¬á¬ ¬«¡ßΓαπ¬µ¿¿ ¿ ½¿ΓÑαá½δ ñ«½ª¡δ ß«Ññ¿¡∩Γ∞ß∩, τΓ«íδ «íαẫ-
  146.     óáΓ∞  ¡«óδÑ  ¬«¡ßΓαπ¬µ¿¿.  èáªñ«⌐  ¬«¡ßΓαπ¬µ¿¿ ß««ΓóÑΓßΓóπÑΓ ¡Ñ߬«½∞¬« »α«ñπ¬Γ«ó »« óδí«απ,
  147.     ¬áªñδ⌐ ¿º ¬«Γ«αδσ óδαáªáÑΓ ó«º¼«ª¡«Ñ »α¿¼Ñ¡Ñ¡¿Ñ ñá¡¡«⌐ ¬«¡ßΓαπ¬µ¿¿; αẽ¿τ¡δÑ óáα¿á¡Γδ »α«-
  148.     ñπ¬Γ«ó íπñπΓ »α¿ó«ñ¿Γ∞ß∩, úñÑ φΓ« π¼ÑßΓ¡« ¿ ¡Ñ úαπ»»«⌐.
  149.          Åα¿ «íαẫóá¡¿¿ »αáó¿½ ¿ß»«½∞ºπεΓß∩ ß½ÑñπεΘ¿Ñ ¼ÑΓá-ß¿¼ó«½δ:  ß¬«í¬¿ - [ ¿ ],  Σ¿úπα¡δÑ
  150.     ß¬«í¬¿ - { ¿ }, τÑαΓá - | ¿ ß¿¼ó«½ «»αÑñѽѡ¿∩ ::=.
  151.          æ¬«í¬¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ ºá¬½ετÑ¡¿∩ ó ¡¿σ ¡Ñ«í∩ºáΓѽ∞¡δσ τáßΓÑ⌐; ó Σ¿úπα¡δѠ߬«í¬¿ ºá¬-
  152.     ½ετáεΓß∩ ΓÑ τáßΓ¿, ¬«Γ«αδÑ ¼«úπΓ »«óΓ«α∩Γ∞ß∩ 0 ¿ í«½ÑÑ αáº, á τÑαΓá ¿ß»«½∞ºπÑΓß∩ ñ½∩ αáºñÑ-
  153.     ½Ñ¡¿∩ ó«º¼«ª¡δσ óáα¿á¡Γ«ó.  æ¿¼ó«½ «»αÑñѽѡ¿∩ ¿ß»«½∞ºπÑΓß∩ ñ½∩ «Γñѽѡ¿∩ «»αÑñѽ∩Ѽ«⌐ ß¿¡-
  154.     Γá¬ß¿τÑ߬«⌐   ¬«¡ßΓαπ¬µ¿¿  «Γ  ÑÑ  αáßΦ¿αÑ¡¿∩.  æ¼ÑΦá¡¡δ⌐  αÑú¿ßΓα  ¿ß»«½∞ºπÑΓß∩  ñ½∩  ¿¼Ñ¡
  155.     ¬«¡ßΓαπ¬µ¿⌐,  óÑασ¡¿⌐ - ñ½∩ ¬½ετÑóδσ ß½«ó, αáºñѽ¿Γѽ¿ »«¬áºá¡δ ó á»«ßΓα«Σáσ. ÄíΘ¿Ñ ½Ñ¬ßѼδ
  156.     ¡áºδóáεΓß∩: êñÑ¡Γ, ûѽ«Ñù¿ß½«, äÑ⌐ßΓó¿Γù¿ß½« ¿ æΓ᫬á.
  157.          Åα«ñπµ¿απεΘ¿Ñ »αáó¿½á «íαáºπεΓ «ß¡«óπ ∩ºδ¬á ¿ ñ«½ª¡δ "τ¿ΓáΓ∞ß∩" ¬á¬ «íδτ¡δÑ  πΓóÑαªñÑ-
  158.     ¡¿∩; ΓѬßΓ, ß½ÑñπεΘ¿⌐ ºá ¬áªñδ¼ »αá󿽫¼, íπñÑΓ «Γ¡«ß¿Γ∞ß∩ ¬ Ñú« ß«ßΓáó½∩εΘ¿¼. Æá¬
  159.  
  160.          æ»¿ß«¬êñÑ¡Γ ::= êñÑ¡Γ{','êñÑ¡Γ}
  161.  
  162.     «»αÑñѽ∩ÑΓ ß»¿ß«¬ ¿º «ñ¡«ú« ¿½¿ í«½ÑÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó, αáºñѽѡ¡δσ ºá»∩Γ묨.
  163.          Åα¿¼Ñαδ:
  164.  
  165.          HelloThere, _main , X
  166.          Agent_007
  167.  
  168.                    ÄíΩ∩ó½Ñ¡¿∩ ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩
  169.                    -----------------------------
  170.  
  171.          èáªñδ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ªÑΓ íδΓ∞ ½¿í« «íΩ∩ó½Ñ¡, ½¿í« »αÑñ«»αÑñѽѡ. ÄíΩ∩ó½Ñ¡¿∩ «»¿ßδóá-
  172.     εΓ »α«úαá¼¼¡«-«»αÑñѽѡ¡δÑ «íΩѬΓδ ¿ πßΓá¡áó½¿óáεΓ ¿σ ßó«⌐ßΓóá. Å«ß½Ñ Γ«ú«, ¬á¬ ¿ñÑ¡Γ¿Σ¿¬á-
  173.     Γ«α «íΩ∩ó½Ñ¡, «¡ ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡ ñ½∩ ¡á¿¼Ñ¡«óá¡¿∩ «íΩ∩ó½Ñ¡¡«ú« «íΩѬΓá:
  174.  
  175.          ê¼∩ ::= êñÑ¡Γ
  176.  
  177.          ÄíΩ∩ó½Ñ¡¿∩ ¿ñπΓ »« ß»¿ß¬π:
  178.  
  179.          æ»¿ß«¬ÄíΩ∩ó½Ñ¡¿⌐ ::={ÄíΩ∩ó½Ñ¡¿Ñ}
  180.  
  181.          êñÑ¡Γ¿Σ¿¬áΓ«αδ ñ«½ª¡δ íδΓ∞ «íΩ∩ó½Ñ¡δ »ÑαÑñ ¿σ ¿ß»«½∞º«ó᡿Ѽ. àñ¿¡ßΓóÑ¡¡δ¼ ¿ß¬½ετÑ¡¿Ñ¼
  182.     ∩ó½∩εΓß∩ Γ¿»δ,  «í«º¡áτáѼδÑ π¬áºáΓѽ∩¼¿, ¬«Γ«αδÑ ºáΓѼ ñ«½ª¡δ «íΩ∩ó½∩Γ∞ß∩ ó Γ«¼ ªÑ »ÑαÑτ¡Ñ
  183.     (ß»¿ß¬Ñ) «íΩ∩ó½Ñ¡¿⌐;  »ÑαÑñ φΓ¿¼ ºá»αÑΘáÑΓß∩ »α«¿ºó«ñ¿Γ∞ «»Ñαᵿ¿, ΓαÑíπεΘ¿Ñ º¡á¡¿∩ «í«º¡á-
  184.     τáѼ«ú« Γ¿»á,  Γ.Ñ. ½εíδÑ «»Ñαᵿ¿, ó¬½ετáεΘ¿Ñ αáºδ¼Ñ¡«óá¡¿Ñ. éßÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ, «íΩ∩ó½Ñ¡-
  185.     ¡δÑ ó ß»¿ß¬Ñ «íΩ∩ó½Ñ¡¿∩, ñ«½ª¡δ íδΓ∞ αẽ¿τ¿¼δ.
  186.          ÄíΩ∩ó½Ñ¡¿Ñ ñÑ⌐ßΓóπÑΓ  ó ßΣÑαÑ Ñú« ó½¿∩¡¿∩.  æΣÑαá ó½¿∩¡¿∩ «»αÑñѽ∩ÑΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«
  187.     «Γ ¼ÑßΓá «íΩ∩ó½Ñ¡¿∩ ¡á óÑß∞ «ßΓáóΦ¿⌐ß∩ ß»¿ß«¬ «íΩ∩ó½Ñ¡¿⌐ ¿ ¡á óßÑ  »«ß½ÑñπεΘ¿Ñ πΓóÑαªñÑ¡¿∩,
  188.     ßó∩ºá¡¡δÑ ß« ß»¿ß¬«¼ «íΩ∩ó½Ñ¡¿⌐.  æ»¿ß¬¿ «íΩ∩ó½Ñ¡¿⌐ ¼«úπΓ «íαẫóδóáΓ∞ß∩ ß »«¼«Θ∞ε »α«µÑñπα
  189.     ¿ ¼«ñπ½Ñ⌐,  ¿ ó«º¼«ª¡« »ÑαÑ«íΩ∩ó½Ñ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ó  Γᬿσ  ó¡πΓαÑ¡¡¿σ  «í½áßΓ∩σ.  WITH
  190.     -«íΩ∩ó½Ñ¡¿∩ »αÑñßΓáó½∩εΓ ß«í«⌐ ñαπú«⌐ ß»«ß«í «íαẫóá¡¿∩ Γᬿσ ú¡Ñºñ«óδσ «í½áßΓÑ⌐. é ¬áªñ«¼
  191.     τáßΓ¡«¼ ß½πτáÑ ¿ß»«½∞º«óá¡¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá «¡ «í«º¡áτáÑΓ «íΩѬΓ,  «íΩ∩ó½Ñ¡¡δ⌐ αá¡ÑÑ ó ¡á¿-
  192.     í«½ÑÑ ú½πí«¬«⌐ ó½«ªÑ¡¡«⌐ «í½áßΓ¿; «¡á ß«ñÑαª¿Γ «íΩѬΓδ, «í«º¡áτÑ¡¡δÑ ΓѼ ªÑ ßá¼δ¼ ¿ñÑ¡Γ¿Σ¿-
  193.     ¬áΓ«α«¼ ó¡ÑΦ¡¿σ «í½áßΓÑ⌐.
  194.          Åα¿¼Ñα:
  195.  
  196.          MODULE M;
  197.          VAR I,J: CARDINAL;     (* äóÑ »ÑαѼѡ¡δÑ, »α¿¡áñ½. î *)
  198.            PROCEDURE P;
  199.            VAR I,K: INTEGER;    (* äóÑ »ÑαѼѡ¡δÑ, »α¿¡áñ½. É *)
  200.            BEGIN
  201.              I := 7;      (* I »α¿¡áñ½. É *)
  202.              J := 8;      (* J »α¿¡áñ½. î *)
  203.              K := 9;      (* è »α¿¡áñ½. É *)
  204.            END P;
  205.          BEGIN
  206.            I := 10;       (* I »α¿¡áñ½. î *)
  207.            J := 11;       (* J »α¿¡áñ½. î *)
  208.            (* è ºñÑß∞ ¡Ñó¿ñ¿¼á *)
  209.          END M;
  210.  
  211.          Ç½¿áß¡δÑ «íΩ∩ó½Ñ¡¿∩ ¡Ñ ß½πªáΓ ñ½∩ «íΩ∩ó½Ñ¡¿∩ ¡«óδσ «íΩÑ¬Γ«ó, ¡« óó«ñ∩Γ ¡«óδÑ ¿¼Ñ¡á ñ½∩
  212.     πªÑ ßπΘÑßΓóπεΘ¿σ:
  213.  
  214.          ÄíΩ∩ó½Ñ¡¿Ñ ::= CONST {êñÑ¡Γ ':' ':=' ê¼∩ ';'}
  215.  
  216.          ê¼∩ ¼«ªÑΓ «í«º¡áτáΓ∞ ½εí«⌐ «íΩѬΓ.
  217.  
  218.          Åα¿¼Ñα: CONST VisibleVersion ::= AboutToBeHidden;
  219.  
  220.          ÅαÑñ«»αÑñѽѡ¡δÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ, »ÑαÑτ¿ß½Ñ¡¡δÑ ¡¿ªÑ, ñ«½ª¡δ «íΩ∩ó½∩Γ∞ß∩ ó ßἫ⌐ ¡áαπª-
  221.     ¡«⌐ «í½áßΓ¿. ç¡áτÑ¡¿Ñ ¬áªñ«ú« ¿º ¡¿σ «íΩ∩ß¡∩ÑΓß∩ »«ºñ¡ÑÑ.
  222.  
  223.          ABS         DEC       LONGCARD     ORD         WORD
  224.          ADDRESS     DISPOSE   LONGINT      PROC        VSIZE
  225.          ADR         EXCL      LONGREAL     REAL
  226.          BITSET      FALSE     LONGWORD     SHORTADDR
  227.          BOOLEAN     FLOAT     MAX          SHORTCARD
  228.          BYTE        HALT      MIN          SHORTINT
  229.          CAP         HIGH      NEW          SIZE
  230.          CARDINAL    INC       NIL          TRUE
  231.          CHAR        INCL      NULLPROC     TRUNC
  232.          CHR         INTEGER   ODD          VAL
  233.  
  234.  
  235.                                 Æ¿»δ
  236.                                 ----
  237.  
  238.          Æ¿» «»αÑñѽ∩ÑΓ ¼¡«ªÑßΓó« º¡áτÑ¡¿⌐. ƒºδ¬ Modula-2 ó¬½ετáÑΓ α∩ñ »αÑñ«»αÑñѽѡ¡δσ Γ¿»«ó ¿
  239.     ¬«¡ßΓαπ¬µ¿⌐ ñ½∩ «»αÑñѽѡ¿∩ ¡«óδσ Γ¿»«ó.  ê¼Ñ¡á ¡«óδ¼ Γ¿»á¼ ¼«ª¡« ¡áº¡áτ¿Γ∞ »α¿  «íΩ∩ó½Ñ¡¿¿
  240.     Γ¿»á:
  241.  
  242.          ÄíΩ∩ó½Ñ¡¿Ñ ::= TYPE {êñÑ¡Γ '=' Ä»¿ßá¡¿ÑÆ¿»á ';'}
  243.  
  244.          ìѬ«Γ«αδÑ Γ¿»δ ¡áºδóáεΓß∩ »α«ßΓ묨:
  245.  
  246.                Ä»¿ßá¡¿ÑÆ¿»á::= Åα«ßΓ«⌐Æ¿»
  247.  
  248.          Æ¿» ¼«ªÑΓ íδΓ∞ Γ«½∞¬« ¿¼Ñ¡Ñ¼ Γ¿»á:
  249.  
  250.                    Åα«ßΓ«⌐Æ¿» ::= ê¼∩
  251.  
  252.          ¥Γá ß¿¡Γá¬ß¿τÑ߬á∩ ¬«¡ßΓαπ¬µ¿∩ ¿ß»«½∞ºπÑΓß∩ ñ½∩ ¡á¿¼Ñ¡«óá¡¿∩ ½εí«ú« Γ¿»á,  á ¡Ñ Γ«½∞¬«
  253.     »α«ßΓ«ú«.
  254.  
  255.          àß½¿ «íΩ∩ó½Ñ¡¿Ñ Γ¿»á »αÑñßΓáó½∩ÑΓ ß«í«⌐ Γ«½∞¬« ¿¼∩ Γ¿»á,  Γ« «íΩ∩ó½Ñ¡¡δ⌐ Γ¿» ¿ñÑ¡Γ¿τÑ¡
  256.     ¡áºóá¡¡«¼π (¿¼Ñ¡«óá¡¡«¼π).
  257.  
  258.          Åα¿¼Ñα: TYPE JustCardinal = CARDINAL;
  259.  
  260.  
  261.                            ù¿ß½«óδÑ Γ¿»δ
  262.                            -------------
  263.  
  264.          ƒºδ¬ Modula-2 ß«ñÑαª¿Γ Γα¿ »αÑñ«»αÑñѽѡ¡δσ «ß¡«ó¡δσ Γ¿»á,  óѽ¿τ¿¡δ ¬«Γ«αδσ »αÑñßΓáó-
  265.     ½∩εΓ ß«í«⌐ íѺº¡á¬«óδÑ µÑ½δÑ τ¿ß½á ó ß½ÑñπεΘ¿σ »αÑñѽáσ:
  266.          CARDINAL  : «Γ 0 ñ« 65535 («Γ 0 ñ« 2**16 - 1)
  267.          SHORTCARD : «Γ 0 ñ« 255 («Γ 0 ñ« 2**8 - 1)
  268.          LONGCARD  : «Γ 0 ñ« 4294967295 («Γ 0 ñ« 2**32 - 1)
  269.  
  270.          æπΘÑßΓóπÑΓ Γα¿ »αÑñ«»αÑñѽѡ¡δσ µÑ½δσ Γ¿»á, óѽ¿τ¿¡δ ¬«Γ«αδσ »αÑñßΓáó½∩εΓ ß«í«⌐ º¡á¬«-
  271.     óδÑ µÑ½δÑ τ¿ß½á ó »αÑñѽáσ:
  272.          INTEGER:   -32768 ñ« + 32767     (-2**15 ñ« 2**15 - 1)
  273.          SHORTINT:  -128 ñ« + 127           (-2**7 ñ« 2**7 - 1)
  274.          LONGINT:  -2147483648 ñ« + 2147483647 (-2**31 ñ« 2**31-1)
  275.  
  276.          ûѽδÑ ¿ «ß¡«ó¡δÑ Γ¿»δ ó¼ÑßΓÑ ¡áºδóáεΓß∩ µÑ½δ¼¿ τ¿ß½«ó묨 Γ¿»á¼¿.
  277.          ê¼ÑÑΓß∩ ñóá »αÑñ«»αÑñѽѡ¡δσ ñÑ⌐ßΓó¿Γѽ∞¡δσ Γ¿»á,  óѽ¿τ¿¡δ ¬«Γ«αδσ »αÑñßΓáó½∩εΓ ß«í«⌐
  278.     ñÑ⌐ßΓó¿Γѽ∞¡δÑ τ¿ß½á «»αÑñѽѡ¡«⌐ Γ«τ¡«ßΓ¿:
  279.  
  280.          REAL: +/- 1.2E-38 ñ« 3.4+38, ß Γ«τ¡«ßΓ∞ε ñ« 6 µ¿Σα;
  281.          LONGREAL: +/- 2.e- ñ« 1.7 ñ« 308, ß Γ«τ¡«ßΓ∞ε ñ« 15 µ¿Σα.
  282.          éßÑ Γα¿, «»¿ßá¡¡δÑ óδΦÑ Γ¿»á, ¡áºδóáεΓß∩ τ¿ß½«ó묨 Γ¿»á¼¿.
  283.  
  284.                          ÅÑαÑτ¿ß½¿¼δÑ Γ¿»δ
  285.                          -----------------
  286.  
  287.          ÅαÑñ«»αÑñѽѡ¡δ⌐ Γ¿» CHAR ß«ñÑαª¿Γ 256 º¡áτÑ¡¿⌐:  »ÑαóδÑ 128 - φΓ« ß¿¼ó«½δ ¬«ñá ASCII,
  288.     »«ß½Ññ¡¿Ñ 128 - ß»Ñµ¿á½∞¡δÑ úαáΣ¿τÑ߬¿Ñ ß¿¼ó«½δ.
  289.          Modula-2 »αÑñßΓáó½∩ÑΓ ¼Ñσá¡¿º¼ ñ½∩ «»αÑñѽѡ¿∩ Γ¿»«ó »ÑαÑτ¿ß½Ñ¡¿∩  ß  »«¼«Θ∞ε  »«½¡«ú«
  290.     ß»¿ß¬á óѽ¿τ¿¡ ó Γ¿»Ñ. éѽ¿τ¿¡δ, ½¿ΓÑαá½δ »ÑαÑτ¿ß½Ñ¡¿∩ »αÑñßΓáó½∩εΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ, ¬«-
  291.     Γ«αδÑ «íΩ∩ó½∩εΓ »πΓѼ «»αÑñѽѡ¿∩ Γ¿»á:
  292.  
  293.          Åα«ßΓ«⌐Æ¿» ::= '('滿߫¬êñÑ¡Γ')'
  294.  
  295.          Åα¿¼Ñα:
  296.          TYPE Color  = (Red,Yellow,Green,Brown,Blue,Pink,Black);
  297.               Gender = (Male,Female);
  298.  
  299.          Modula-2 ó¬½ετáÑΓ «ñ¿¡ »αÑñ«»αÑñѽѡ¡δ⌐ Γ¿» »ÑαÑτ¿ß½Ñ¡¿∩,  ß«ñÑαªáΘ¿⌐ ¿ßΓ¿¡¡δÑ óѽ¿τ¿-
  300.     ¡δ:
  301.  
  302.          TYPE BOOLEAN = (FALSE,TRUE);
  303.  
  304.          ûѽδÑ, «ß¡«ó¡δÑ, ß¿¼ó«½∞¡δÑ, »ÑαÑτ¿ß½¿¼δÑ Γ¿»δ ó¼ÑßΓÑ ¡áºδóáεΓß∩ »ÑαÑτ¿ß½¿¼δ¼¿ Γ¿»á¼¿;
  305.     «¡¿ ¿¼ÑεΓ µÑ½«τ¿ß½Ñ¡¡δÑ »ÑαÑτ¿ß½¿¼δÑ º¡áτÑ¡¿∩. ÅÑαÑτ¿ß½¿¼δÑ ½¿ΓÑαá½δ ¿ßτ¿ß½∩εΓß∩ »«ß½Ññ«óá-
  306.     Γѽ∞¡«,  ¡áτ¿¡á∩ ß ¡π½∩. Æá¬ ªÑ ¬á¬ ¿ ñ½∩ ß¿¼ó«½∞¡«ú« Γ¿»á, ¬«α«Γ¬¿Ñ »ÑαÑτ¿ß½¿¼δÑ Γ¿»δ ¿ß¬-
  307.     ½ετáεΓ LONGCARD ¿ LONGINT.
  308.  
  309.                            Æ¿»δ-ñ¿á»áº«¡δ
  310.                            --------------
  311.  
  312.          Åα¿ ºáñá¡¿¿ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á ¼«ª¡« «»αÑñѽ¿Γ∞ Γ¿»-ñ¿á»áº«¡ φΓ«ú« íẫó«ú« Γ¿»á.
  313.  
  314.          Åα«ßΓ«⌐Æ¿» ::= [ê¼∩] '['éδαáª'..' éδαáª']'
  315.  
  316.          äóá óδαáªÑ¡¿∩ ñ«½ª¡δ íδΓ∞ »«ßΓ«∩¡¡δ¼¿ ¿ «ñ¡«ú« ¿ Γ«ú« ªÑ Γ¿»á.  Ä¡¿ «úαá¡¿τ¿óáεΓ óѽ¿-
  317.     τ¿¡δ Γ¿»á »πΓѼ π¬áºá¡¿∩ ¡¿ª¡Ñ⌐ ¿ óÑασ¡Ñ⌐ úαá¡¿µδ (¡¿ª¡∩∩ <= óÑασ¡Ñ⌐). àß½¿ ¿¼∩ »α¿ßπΓßΓóπ-
  318.     ÑΓ,  Γ« «¡« ¿¼Ñ¡πÑΓ íẫóδ⌐ Γ¿»;  ó »α«Γ¿ó¡«¼ ß½πτáÑ, Ñß½¿ óѽ¿τ¿¡δ óδαáªÑ¡¿∩ »α¿¡áñ½ÑªáΓ ¬
  319.     ¡Ñπ¬áºá¡¡«¼π µÑ½«τ¿ß½Ñ¡¡«¼π Γ¿»π,  íẫóδ⌐ Γ¿» »α¿¡¿¼áÑΓß∩ µÑ½δ¼, Ñß½¿ »Ñαó«Ñ óδαáªÑ¡¿Ñ «Γ-
  320.     α¿µáΓѽ∞¡«, ó »α«Γ¿ó¡«¼ ß½πτáÑ - µÑ½δ¼ »«½«ª¿Γѽ∞¡δ¼ (CARDINAL).
  321.          Åα¿¼Ñαδ:
  322.  
  323.     TYPE Year = [1900..2001];          (* üẫóδ⌐ Γ¿» CARDINAL *)
  324.          MyInt = [-1000..+1000];        (* üẫóδ⌐ Γ¿» INTEGER *)
  325.          Digits = ['0'..'9'];              (* üẫóδ⌐ Γ¿» CHAR *)
  326.          IntYear = INTEGER [1900..2001]; (* üẫóδ⌐ Γ¿» INTEGER *)
  327.          LongYear = LONGCARD[101900..102001];
  328.          HighColor = [Blue..Black];     (* üẫóδ⌐ Γ¿» COLOR *)
  329.  
  330.          Æ¿»δ-ñ¿á»áº«¡δ ßἿ ∩ó½∩εΓß∩ π»«α∩ñ«τÑ¡¡δ¼¿ Γ¿»á¼¿.
  331.  
  332.  
  333.                            Æ¿»δ ¼¡«ªÑßΓó
  334.                            -------------
  335.  
  336.          Åα¿ ºáñá¡¿¿ ¬«α«Γ¬«ú« »ÑαÑτ¿ß½¿¼«ú« Γ¿»á ¼«ª¡« «»αÑñѽ¿Γ∞ Γ¿» ¼¡«ªÑßΓó«,  óѽ¿τ¿¡δ ¬«-
  337.     Γ«α«ú« »αÑñßΓáó½∩εΓ ß«í«⌐ (¡Ñπ»«α∩ñ«τÑ¡¡δÑ) ¼¡«ªÑßΓó« óѽ¿τ¿¡ ¬«α«Γ¬«ú« »ÑαÑτ¿ß½¿¼«ú« Γ¿»á:
  338.  
  339.          Ä»¿ßá¡¿ÑÆ¿»á ::= SET OF Åα«ßΓ«⌐Æ¿»
  340.  
  341.          î¿¡¿¼á½∞¡á∩ óѽ¿τ¿¡á ¿¼Ñ¡«óá¡¡«ú« Γ¿»á φ½Ñ¼Ñ¡Γá ¡áí«αá ñ«½ª¡á ¿¼ÑΓ∞ ¡π½∞ π»«α∩ñ«τÑ¡¡«⌐
  342.     óѽ¿τ¿¡δ. Æ¿» ¡áí«αá ß«ñÑαª¿Γ ½εí«Ñ »«ñ¼¡«ªÑßΓó« óѽ¿τ¿¡ Γ¿»á φ½Ñ¼Ñ¡Γá ¡áí«αá.
  343.  
  344.          Åα¿¼Ñα: TYPE Chars = SET OF CHAR;
  345.  
  346.          ê¼ÑÑΓß∩ «ñ¿¡ »αÑñ«»αÑñѽѡ¡δ⌐ Γ¿» ¡áí«αá:
  347.  
  348.                  TYPE BITSET = SET OF [0..15];
  349.  
  350.  
  351.                            Æ¿»δ ¼áßß¿ó«ó
  352.                            -------------
  353.  
  354.          Æ¿»δ ¼áßß¿ó«ó  «íÑß»Ñτ¿óáεΓ  «Γ«íαáªÑ¡¿∩  ß ¬«α«Γ¬«ú« »ÑαÑτ¿ß½¿¼«ú« ¿¡ñѬߡ«ú« Γ¿»á ¡á
  355.     ½εí«⌐ Γ¿» φ½Ñ¼Ñ¡Γá ¼áßß¿óá:
  356.  
  357.          Ä»¿ßá¡¿ÑÆ¿»á ::= ARRAY æ»¿ß«¬ê¡ñѬ߫ó OF Ä»¿ßá¡¿ÑÆ¿»á
  358.  
  359.          æ»¿ß«¬ê¡ñѬ߫ó ::= Åα«ßΓ«⌐Æ¿» {',' Åα«ßΓ«⌐Æ¿»}
  360.  
  361.          Ä»αÑñѽѡ¿Ñ Γ¿»á ¼¡«ªÑßΓóá ß í«½ÑÑ, τѼ «ñ¡¿¼ ¿¡ñÑ¬ß¡δ¼ Γ¿»«¼ φ¬ó¿óá½Ñ¡Γ¡« «»αÑñѽѡ¿ε
  362.     αáßΦ¿αÑ¡¡«ú« Γ¿»á:
  363.  
  364.          ARRAY ê¡ñѬß1 OF ARRAY ê¡ñѬß2 ... OF Ä»¿ßá¡¿ÑÆ¿»á
  365.  
  366.          éßÑ αáºΩ∩ߡѡ¿∩ »«ñαáºπ¼ÑóáεΓ «ñ¿¡ ¿¡ñѬߡδ⌐ Γ¿». éѽ¿τ¿¡á Γ¿»á ¼áßß¿ó«ó ß«ñÑαª¿Γ π»«-
  367.     α∩ñ«τÑ¡¡δ⌐ ¡áí«α óѽ¿τ¿¡ φ½Ñ¼Ñ¡Γ¡«ú« Γ¿»á - «ñ¡á ñ½∩ ¬áªñ«⌐ óѽ¿τ¿¡δ ó ¿¡ñѬߡ«¼ Γ¿»Ñ.
  368.          Åα¿¼Ñαδ:
  369.  
  370.          TYPE NameString = ARRAY [0..24] OF CHAR;
  371.               IntArray = ARRAY BOOLEAN OF INTEGER;
  372.  
  373.  
  374.                             Æ¿»δ ºá»¿ßÑ⌐
  375.                             ------------
  376.  
  377.          Æ¿»δ ºá»¿ßÑ⌐ »αÑñßΓáó½∩εΓ ß«í«⌐ ß«ó«¬π»¡«ßΓ∞ «Γñѽ∞¡δσ »«½Ñ⌐:
  378.  
  379.          Ä»¿ßá¡¿ÑÆ¿»á ::= RECORD { Ä»¿ßá¡¿ÑÅ«½∩ } END
  380.  
  381.          Ä»¿ßá¡¿ÑÅ«½∩ ::= æ»¿ß«¬êñÑ¡Γ ':' Ä»¿ßá¡¿ÑÆ¿»á ';'
  382.  
  383.          éßÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ,  ¡áºδóáѼδÑ ¿¼Ñ¡á¼¿ »«½Ñ⌐, ñ«½ª¡δ íδΓ∞ αẽ¿τ¡δ¼¿, ¡« «¡¿ ∩ó½∩εΓß∩
  384.     ½«¬á½∞¡δ¼¿ »« «Γ¡«ΦÑ¡¿ε ¬ «»αÑñѽѡ¿ε Γ¿»á ºá»¿ß¿ ¿ ¼«úπΓ ¡Ñ «Γ½¿τáΓ∞ß∩ «Γ ñαπú¿σ ¿ñÑ¡Γ¿Σ¿-
  385.     ¬áΓ«α«ó.
  386.          éѽ¿τ¿¡á ºá»¿ß¿ ß«ñÑαª¿Γ «ñ¡π óѽ¿τ¿¡π ß««ΓóÑΓßΓóπεΘÑú« Γ¿»á ñ½∩ ¬áªñ«ú« »«½∩.
  387.          Åα¿¼Ñαδ:
  388.  
  389.          TYPE Person = RECORD
  390.                          First,Last:  NameString;
  391.                          Age:         SHORTCARD [0..125];
  392.                        END;
  393.               AdrPair = RECORD Ofz,Seg: CARDINAL; END;
  394.  
  395.          Æ¿»δ óáα¿á¡Γ¡«⌐ ºá»¿ß¿ »«ºó«½∩εΓ »αÑñßΓáó¿Γ∞ º¡áτÑ¡¿Ñ ºá»¿ß¿ αẽ¿τ¡δ¼¿  úαπ»»á¼¿  »«-
  396.     ½Ñ⌐, óáα¿á¡ΓἿ. éáα¿á¡Γ¡δÑ τáßΓ¿ ¼«úπΓ »α«¿ºó«½∞¡« úαπ»»¿α«óáΓ∞ß∩.
  397.  
  398.          Ä»¿ßá¡¿ÑÅ«½∩ ::= ùáßΓ∞éáα¿á¡Γá ';'
  399.  
  400.          ùáßΓ∞éáα¿á¡Γá ::= CASE [êñÑ¡Γ] ':' ê¼∩ OF { '|' éáα¿á¡Γ}
  401.                         [ELSE {Ä»¿ßá¡¿ÑÅ«½∩} ] END
  402.  
  403.          éáα¿á¡Γ ::= æ»¿ß«¬éδí«αá ':' {Ä»¿ßá¡¿ÑÅ«½∩}
  404.  
  405.          æ»¿ß«¬éδí«αá ::= éδí«α { ',' éδí«α }
  406.  
  407.          éδí«α ::= éδα᪠['..' éδαáª]
  408.  
  409.          ç¡á¬ "|", ßΓ«∩Θ¿⌐ »ÑαÑñ »Ñαóδ¼ óáα¿á¡Γ«¼, ¼«ªÑΓ íδΓ∞ «»πΘÑ¡.
  410.          êñÑ¡Γ¿Σ¿¬áΓ«α »α¿º¡á¬á,  ¬«Γ«αδ⌐  ¼«ªÑΓ π¬áºδóáΓ∞ß∩ »«ß½Ñ CASE,  ß«»α«ó«ªñáÑΓß∩ ¿¼Ñ¡Ñ¼
  411.     »ÑαÑτ¿ß½¿¼«ú« Γ¿»á »α¿º¡á¬á.  àß½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α¿º¡á¬á »α¿ßπΓßΓóπÑΓ, «¡ «»αÑñѽ∩ÑΓ ñÑ⌐ß-
  412.     Γó¿Γѽ∞¡«Ñ »«½Ñ Γᬫú« Γ¿»á.
  413.          éáα¿á¡Γδ ¿ ¡Ñ«í∩ºáΓѽ∞¡á∩ τáßΓ∞ ELSE,  ¬áªñá∩, «»αÑñѽ∩εΓ ß»¿ß«¬ »«½Ñ⌐ «»αÑñѽѡ¿⌐, ¡«
  414.     »«½Ñ Γ«½∞¬« «ñ¡«⌐ ¿º ¡¿σ »α¿ßπΓßΓóπÑΓ ó ¬áªñ«¼ º¡áτÑ¡¿¿ Γ¿»á óáα¿á¡Γ¡«⌐ ºá»¿ß¿.
  415.          Ç½∞ΓÑα¡áΓ¿ó¡δÑ óδαáªÑ¡¿∩ ñ«½ª¡δ íδΓ∞ »«ßΓ«∩¡¡δ ¿ Γ¿»á »α¿º¡á¬á ¿ ¡Ñ  ñ«½ª¡δ  ß«ñÑαªáΓ∞
  416.     »ÑαѬαδóáεΘ¿σß∩ óѽ¿τ¿¡.  Ç½∞ΓÑα¡áΓ¿óá ß ñóπ¼∩ óδαáªÑ¡¿∩¼¿ «í«º¡áτáÑΓ óßÑ óѽ¿τ¿¡δ ñ¿á»áº«-
  417.     ¡á.  èáªñδ⌐ á½∞ΓÑα¡áΓ¿ó¡δ⌐ ß»¿ß«¬ ñ«½ªÑ¡ «»αÑñѽ∩Γ∞ óѽ¿τ¿¡δ »α¿º¡á¬á,  ñ½∩ ¬«Γ«αδσ ¿¼ÑÑΓß∩
  418.     ß««ΓóÑΓßΓóπεΘ¿⌐ óáα¿á¡Γ,  τáßΓ∞ ELSE »«¬αδóáÑΓ «ßΓáóΦ¿Ñß∩ óѽ¿τ¿¡δ. Åα¿ßπΓßΓó¿Ñ ¿½¿ «ΓßπΓß-
  419.     Γó¿Ñ »«½Ñ⌐ »α¿º¡á¬á ∩ó½∩ÑΓß∩ Γ«½∞¬« ½«ú¿τÑ߬¿¼;  «¡¿ óßÑúñá ñ«ß∩úáѼδ, ¡« αáºñѽ∩εΓ »á¼∩Γ∞.
  420.          Åα¿¼Ñα:
  421.  
  422.          TYPE Location =
  423.                 RECORD
  424.                   Value: BYTE;
  425.                   CASE Simple: BOOLEAN OF
  426.                     | TRUE: ByteOfz: LONGCARD;
  427.                     | FALSE: SegOfz: AdrPair;
  428.                   END:
  429.                 END;
  430.  
  431.                           Æ¿»δ π¬áºáΓѽÑ⌐
  432.                           ---------------
  433.  
  434.          éѽ¿τ¿¡δ Γ¿»á  π¬áºáΓѽÑ⌐ »αÑñßΓáó½∩εΓ ß«í«⌐ »πΓ¿ ñ«ßΓπ»á ¬ «íΩѬΓá¼ «í«º¡áτáѼ«ú« Γ¿-
  435.     »á:
  436.  
  437.          Ä»¿ßá¡¿ÑÆ¿»á ::= POINTER [ éδα᪠] TO Ä»¿ßá¡¿ÑÆ¿»á
  438.  
  439.          àß½¿ óδαáªÑ¡¿Ñ «»πΘÑ¡«,  «»αÑñѽ∩ÑΓß∩ áíß«½εΓ¡δ⌐ Γ¿» π¬áºáΓѽ∩;  óѽ¿τ¿¡δ  φΓ«ú«  Γ¿»á
  440.     »αÑñßΓáó½∩εΓ ß«í«⌐ »«½¡δÑ 32- σ í¿Γ«óδÑ Σ¿º¿τÑ߬¿Ñ áñαÑßá ó¿ñá ßÑú¼Ñ¡Γ/ß¼ÑΘÑ¡¿Ñ.
  441.          üẫóδ⌐ Γ¿» π¬áºáΓѽ∩ «»αÑñѽ∩ÑΓß∩ »πΓѼ  ó¬½ετÑ¡¿∩  (»«ß½Ñ  POINTER)  óδαáªÑ¡¿∩  Γ¿»á
  442.     CARDINAL.  Æá¬¿Ñ  º¡áτÑ¡¿∩ ß«ñÑαªáΓ Γ«½∞¬« Γπ τáßΓ∞ Σ¿º¿τÑ߬«ú« áñαÑßá,  ¬«Γ«αá∩ ¡áºδóáÑΓß∩
  443.     ß¼ÑΘÑ¡¿Ñ¼.  æÑú¼Ñ¡Γ¡á∩ τáßΓ∞ »«½πτáÑΓß∩ »αÑ«íαẫó᡿Ѽ óδαáªÑ¡¿∩ ¬áªñδ⌐ αáº, ¬«úñá «í«º¡á-
  444.     τáѼδ⌐ «íΩÑ¬Γ ñ«ßΓπ»Ñ¡. Å«φΓ«¼π íẫóδÑ π¬áºáΓѽ¿ ¬«α«Γ¬¿ - 16 í¿Γ.
  445.          üẫóδÑ π¬áºáΓѽ¿ «íÑß»Ñτ¿óáεΓ ßß佬π ¡á ¡áßΓαá¿óáѼδÑ «íΩѬΓδ Γ«½∞¬« »πΓѼ  ¼«ñ¿Σ¿¬á-
  446.     µ¿¿ íẫó«⌐ (ßÑú¼Ñ¡Γ¡«⌐) óѽ¿τ¿¡δ («ßΓáó½∩∩ ß¼ÑΘÑ¡¿Ñ ¡Ñ¿º¼Ñ¡¡δ¼).
  447.          Åα¿¼Ñαδ:
  448.  
  449.          TYPE ListPtr  = POINTER TO  ListNode;
  450.               ListNode = RECORD
  451.                            Value: CARDINAL; (* º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá
  452.                                                               *)
  453.                            NextNode: ListPtr;  (* ß½ÑñπεΘ¿⌐ φ½Ñ-
  454.                                                          ¼Ñ¡Γ *)
  455.                          END;
  456.               ShortPtr = POINTER Base TO ListNode;
  457.  
  458.          ê¼ÑÑΓß∩ ñóá »αÑñ«»αÑñѽѡ¡δσ Γ¿»á π¬áºáΓѽÑ⌐:
  459.  
  460.          TYPE ADDRESS = POINTER TO WORD;
  461.          SHORTADDR =  Pointer  O TO WORD;(* ¡π½Ñó«⌐ íẫóδ⌐ ßÑú-
  462.                                                          ¼Ñ¡Γ *)
  463.  
  464.          éѽ¿τ¿¡δ Γ¿»á  π¬áºáΓѽ∩ »«½πτáεΓß∩ ½¿í« ¬á¬ áñαÑßá (áíß«½εΓ¡δÑ) ßπΘÑßΓóπεΘ¿σ «íΩÑ¬Γ«ó
  465.     «í«º¡áτáѼ«ú« Γ¿»á ¿½¿ ªÑ «¡¿ ¼«úπΓ »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¿ßσ«ñ¡δÑ áñαÑßá »á¼∩Γ¿, »«½πτÑ¡¡δÑ ß
  466.     »«¼«Θ∞ε áñ¼¿¡¿ßΓαáΓ«αá »á¼∩Γ¿ (ß¼. âïÇéô 8).
  467.          Æ¿»δ ¼áßß¿ó«ó,  ºá»¿ßÑ⌐ ¿ π¬áºáΓѽÑ⌐ ó¼ÑßΓÑ ¡áºδóáεΓß∩ ß«ßΓáó¡δ¼¿ Γ¿»á¼¿;  óßÑ «ßΓá½∞-
  468.     ¡δÑ, ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ¿»«ó ¼¡«ªÑßΓóá, ∩ó½∩εΓß∩ »α«ßΓ묨 Γ¿»á¼¿.
  469.  
  470.  
  471.                         æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó
  472.                         -------------------
  473.  
  474.          é ¡Ñ¬«Γ«αδσ ß¿Γπᵿ∩σ ΓαÑíπÑΓß∩ ß«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó;  ºñÑß∞ ÑßΓ∞ Γα¿ ñÑßΓáí¿½¿º¿απεΘ¿σ
  475.     ¼«¼Ñ¡Γá.
  476.          ìá¿í«½ÑÑ ªÑßΓ¬¿¼ ∩ó½∩ÑΓß∩ ΓαÑí«óá¡¿Ñ ¿ñÑ¡Γ¿τ¡«ßΓ¿ Γ¿»«ó;  φΓ« «º¡áτáÑΓ, τΓ« «¡¿ ñ«½ª¡δ
  477.     íδΓ∞ «»αÑñÑ½Ñ¡δ «ñ¡¿¼ Γ¿»«¼.
  478.          æ½ÑñπεΘ¿¼ ¿ñÑΓ ß«ó¼ÑßΓ¿¼«ßΓ∞.  Ä¡á ó¬½ετáÑΓ ΓαÑí«óá¡¿∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ »«ñτ¿¡Ñ¡¡δσ Γ¿»«ó
  479.     ß ¿σ íẫó묨 Γ¿»á¼¿ ¿ ñαπú¿¼¿ »«ñτ¿¡Ñ¡¡δ¼¿ Γ¿»á¼¿ Γ«ú« ªÑ íẫó«ú« Γ¿»á. ADDRESS ß«ó¼ÑßΓ¿¼
  480.     ß ½εíδ¼ áíß«½εΓ¡δ¼ π¬áºáΓѽѼ, á SHORTADDR - ß ½εíδ¼ íẫóδ¼ π¬áºáΓѽѼ.
  481.          ê, ¡á¬«¡Ñµ,  ß«ó¼ÑßΓ¿¼«ßΓ∞ »α¿ßóá¿ó᡿Ѽ ¿¼ÑÑΓ ¼ÑßΓ«  ¼Ñªñπ  »áαἿ  CARDINAL/INTEGER,
  482.     SHORTCARD/SHORTINT, LONGCARD/ LONGINT.
  483.          æπΘÑßΓóπÑΓ Γα¿ »αÑñ«»αÑñѽѡ¡δσ Γ¿»á,  ¡áºδóáѼδσ BYTE, WORD ¿ LONGWORD. Ä¡¿ «Γ¡«ß∩Γß∩
  484.     ¬ 1,  2, ¿ 4 í¿Γá¼ »á¼∩Γ¿, ß««ΓóÑΓßΓóÑ¡¡«, ¿ ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ »« »α¿ßó«Ñ¡¿ε ß «íΘ¿¼¿ ¿
  485.     µÑ½δ¼¿ Γ¿»á¼¿ «ñ¿¡á¬«ó«ú« αẼÑαá.
  486.          æ»Ñµ¿á½∞¡δÑ »αáó¿½á ß«ó¼ÑßΓ¿¼«ßΓ¿ »α¿¼Ñ¡∩εΓß∩ ¬ Σ«α¼á½∞¡δ¼ »áαá¼ÑΓαá¼.
  487.  
  488.  
  489.                          ÄüÜàèÆ¢ ê çìÇùàìêƒ
  490.                          ==================
  491.  
  492.          ÄíΩѬΓδ ¿¼ÑεΓ Γ¿»δ ¿ σαá¡∩Γ óѽ¿τ¿¡δ ¿ß¬½ετ¿Γѽ∞¡« φΓ«ú« Γ¿»á. ê¼ÑÑΓß∩ ñóá Γ¿»á: »ÑαÑ-
  493.     ¼Ñ¡¡δÑ ¿ Σ«α¼á½∞¡δÑ »áαá¼ÑΓαδ. ÄíΩѬΓδ Γ¿»á ¼áßß¿óá ¿ ºá»¿ß¿ ¼«úπΓ ß«ñÑαªáΓ∞ ¡Ñ߬«½∞¬« ¬«¼-
  494.     »«¡Ñ¡Γ¡δσ «íΩÑ¬Γ«ó.
  495.          ÅÑαѼѡ¡δÑ ñ«½ª¡δ íδΓ∞ «íΩ∩ó½Ñ¡δ:
  496.  
  497.          ÄíΩ∩ó½Ñ¡¿Ñ ::=  VAR  {ÅÑαѼêñÑ¡Γ { ',' ÅÑαѼêñÑ¡Γ } ':'
  498.                                Ä»¿ßá¡¿ÑÆ¿»á ';' }
  499.  
  500.          ÅÑαѼêñÑ¡Γ ::= êñÑ¡Γ
  501.  
  502.          èáªñ«Ñ «íΩ∩ó½Ñ¡¿Ñ »α«ó«ºú½áΦáÑΓ óßÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ß»¿ß¬á »ÑαѼѡ¡δ¼¿ «»¿ßá¡¡«ú« Γ¿»á.
  503.     êσ »Ñαó«¡áτá½∞¡δÑ óѽ¿τ¿¡δ ¿ñÑ¡Γ¿Σ¿µ¿α«óá¡δ.
  504.          Åα¿¼Ñαδ:
  505.  
  506.          VAR I,J,N,M:  CARDINAL;
  507.              Base:     CARDINAL;
  508.              L:        LONGCARD;
  509.              X,Y:      LONGREAL;
  510.              P:        POINTER TO INTEGER;
  511.              S:        ARRAY [1..100] OF CHAR;
  512.              R:        RECORD  X,Y:  INTEGER; END;
  513.              C:        CHAR;
  514.              Z:        Chars;
  515.              Loc:      Location;
  516.              Persons:  ARRAY BOOLEAN OF POINTER TO Person;
  517.  
  518.          ÅÑαѼѡ¡á∩ ¼«ªÑΓ  íδΓ∞  αẼÑΘѡᠠ»« Σ¿¬ß¿α«óá¡¡«¼π Σ¿º¿τÑ߬«¼π áñαÑßπ »πΓѼ π¬áºá¡¿∩
  519.     »«ßΓ«∩¡¡δσ óδαáªÑ¡¿⌐ CARDINAL ñ½∩ ßÑú¼Ñ¡Γá ¿ ß¼ÑΘÑ¡¿∩:
  520.  
  521.          ÅÑαѼêñÑ¡Γ ::= êñÑ¡Γ '[' éδα᪠':' éδα᪠']'
  522.  
  523.  
  524.          Åα¿¼Ñα:
  525.  
  526.          VAR ColorScreen [0B800H:0] : ARRAY [1..25] OF
  527.                                         ARRAY [1..80] OF
  528.                                           RECORD
  529.                                             Chr: CHAR;
  530.                                             Atr: SHORTCARD;
  531.                                           END;
  532.  
  533.                             è«¡ßΓá¡Γδ
  534.                             ---------
  535.  
  536.          Å«ßΓ«∩¡¡δÑ ½¿ΓÑαá½δ «í«º¡áτáεΓ ¡á¿í«½ÑÑ íẫóδÑ óѽ¿τ¿¡δ:
  537.          ç¡áτÑ¡¿Ñ ::= ûѽ«Ñù¿ß½«
  538.          ç¡áτÑ¡¿Ñ ::= äÑ⌐ßΓó¿Γù¿ß½«
  539.          ç¡áτÑ¡¿Ñ ::= æΓ᫬á
  540.  
  541.          ûѽδÑ τ¿ß½á ∩ó½∩εΓß∩ ó«º¼«ª¡δ¼¿ óѽ¿τ¿¡á¼¿ ñ½∩ µÑ½δσ  ¿  «íΘ¿σ  Γ¿»«ó,  ñÑ⌐ßΓó¿Γѽ∞¡δÑ
  542.     τ¿ß½á - ñ½∩ ñÑ⌐ßΓó¿Γѽ∞¡δσ Γ¿»«ó, á ¼áß߿󠽿ΓÑα - ñ½∩ ß¿¼ó«½∞¡δσ Γ¿»«ó (¼áßß¿ó ó φΓ«¼ ß½π-
  543.     τáÑ ñ«½ªÑ¡ ¿¼ÑΓ∞ ñ½¿¡π 1) ¿ ñ½∩ Γ¿»«ó Σ«α¼δ: ARRAY...OF CHAR.
  544.          éѽ¿τ¿¡δ »«ßΓ«∩¡¡δσ ºá»¿ßÑ⌐ ¿ óѽ¿τ¿¡δ ¼áßß¿ó«ó Σ«α¼¿απεΓß∩ ß áúαÑúáΓἿ:
  545.  
  546.          ç¡áτÑ¡¿Ñ ::= ê¼∩ '(' éδα᪠{ ',' éδα᪠} ')'
  547.  
  548.          éδαáªÑ¡¿∩, ¬«Γ«αδσ ñ«½ª¡« íδΓ∞ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ ñóá, ∩ó½∩εΓß∩ »«ßΓ«∩¡¡δ¼¿ ¿ ñáεΓ ¬«¼»«-
  549.     ¡Ñ¡Γ¡δÑ óѽ¿τ¿¡δ ñ½∩ ¿¼Ñ¡«óá¡¡«ú« Γ¿»á.
  550.          ä½∩ Γ¿»«ó  ¼áßß¿ó«ó  «ñ¡á óѽ¿τ¿¡á ñ«½ª¡á »α¿ó«ñ¿Γ∞ß∩ ñ½∩ ¬áªñ«⌐ ¿º óѽ¿τ¿¡ ¿¡ñѬߡ«ú«
  551.     ñ¿á»áº«¡á.
  552.          ä½∩ Γ¿»«ó  ºá»¿ß¿  «ñ¡á óѽ¿τ¿¡á »α¿ó«ñ¿Γß∩ ñ½∩ ¬áªñ«ú« ñá¡¡«ú« Γ¿»á.  éѽ¿τ¿¡δ ñ«½ª¡δ
  553.     »α¿ó«ñ¿Γ∞ß∩ ñáªÑ ñ½∩ «ΓßπΓßΓóπεΘ¿σ »«½Ñ⌐ »α¿º¡á¬á,  τΓ«íδ «»αÑñѽ¿Γ∞, ¬ ¬á¬«¼π »α¿º¡á¬π «Γ-
  554.     ¡«ß∩Γß∩ ß½ÑñπεΘ¿Ñ óѽ¿τ¿¡δ.
  555.          ê¼Ñ¡«óá¡¡δÑ ¬«¡ßΓá¡Γδ ¼«úπΓ íδΓ∞ «íΩ∩ó½Ñ¡δ »πΓѼ óó«ñá ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó, »αÑñßΓáó½∩εΘ¿σ
  556.     »«ßΓ«∩¡¡δÑ óѽ¿τ¿¡δ:
  557.  
  558.          ÄíΩ∩ó½Ñ¡¿Ñ ::= CONST { êñÑ¡Γ '=' éδα᪠';' }
  559.  
  560.          ê¼ÑÑΓß∩ »αÑñ«»αÑñѽѡ¡á∩ ¬«¡ßΓá¡Γá, NIL, ß«ó¼ÑßΓ¿¼á∩ ß ½εíδ¼ áíß«½εΓ¡δ¼ Γ¿»«¼ π¬áºáΓÑ-
  561.     ½∩.
  562.           ì¿ ½¿ΓÑαá½δ, ¡¿ ¿¼Ñ¡«óá¡¡δÑ ¬«¡ßΓá¡Γδ ¡Ñ ∩ó½∩εΓß∩ «íΩѬΓἿ.
  563.          Åα¿¼Ñαδ:
  564.  
  565.          CONST Pi = 3.14159;
  566.                Ratio = 360.0 / (2.0 * Pi);
  567.                K = 1024;
  568.                P = Person("Donald","Duck",50);
  569.                LastLoc = Location(0,FALSE,AdrPair(0FFFFH,0FH));
  570.                X = IntArray(-12345,16*K)
  571.  
  572.  
  573.                           ç¡áτÑ¡¿∩ ¼¡«ªÑßΓó
  574.                           -----------------
  575.  
  576.          éѽ¿τ¿¡δ ¡áí«αá Σ«α¼¿απεΓß∩ ß »«¼«Θ∞ε »«ßΓα«¿Γѽ∩ ¡áí«αá.
  577.  
  578.          ç¡áτÑ¡¿Ñ ::= [ ê¼∩ ] '{' [ æ»¿ß«¬éδí«αá] '}'
  579.  
  580.          éδαáªÑ¡¿∩ ñ½∩ óδí«α«ó »αÑñßΓáó½∩εΓ ß«í«⌐ óѽ¿τ¿¡δ Γ¿»á ¡áí«αá φ½Ñ¼Ñ¡Γ«ó; «¡¿ ¡Ñ ñ«½ª¡δ
  581.     íδΓ∞ »«ßΓ«∩¡¡δ¼¿.  ê¼∩ «í«º¡áτáÑΓ Γ¿» ¡áí«αá; Ñß½¿ ªÑ Ñú« »α«»πßΓ¿Γ∞, Γ« φΓ« íπñÑΓ «º¡áτáΓ∞
  582.     BITSET.
  583.  
  584.          Åα¿¼Ñα: Chars { 'A'..'Z' , 'a'..'z' , '_' }
  585.  
  586.  
  587.                             ìạáτÑ¡¿∩
  588.                             ----------
  589.  
  590.          ìạáτÑ¡¿∩ ¿ß»«½∞ºπεΓß∩ ñ½∩ «í«º¡áτÑ¡¿∩ «íΩÑ¬Γ«ó. è«¼»«¡Ñ¡Γ¡δÑ «íΩѬΓδ ß«ßΓáó¡«ú« «íΩ-
  591.     Ñ¬ΓᠡạáτáεΓß∩ »πΓѼ ñ«íáó½Ñ¡¿∩ ßπΣΣ¿¬ß«ó ¬  ¡áº¡áτÑ¡¿ε  ß«ßΓáó¡«ú«  «íΩѬΓá.  ä«íáó½Ñ¡¿Ñ
  592.     ßπΣΣ¿¬ß«ó  ¿ß»«½∞ºπÑΓß∩  ΓᬪѠ ñ½∩ ¡áº¡áτÑ¡¿∩ ¬«¼»«¡Ñ¡Γ«ó ¿¼Ñ¡«óá¡¡δσ áúαÑúáΓ¡δ󠬫¡ßΓá¡Γ.
  593.     êß»«½∞º«óá¡¿Ñ ¡áº¡áτÑ¡¿∩ ó ¬áτÑßΓóÑ óѽ¿τ¿¡δ «í«º¡áτáÑΓ óѽ¿τ¿¡π ¡áº¡áτáѼ«ú« «íΩѬΓá:
  594.  
  595.          ç¡áτÑ¡¿Ñ ::= ìạáτÑ¡¿Ñ
  596.  
  597.          ìá¿»α«ßΓÑ⌐Φá∩ Σ«α¼á ¡áº¡áτÑ¡¿∩ - φΓ« »α«ßΓ« ¿¼∩ «íΩѬΓá:
  598.  
  599.          ìạáτÑ¡¿Ñ ::= ê¼∩
  600.  
  601.          ¥Γ« »αÑñßΓáó½∩ÑΓ ß«í«⌐ ΓᬪѠ߻«ß«í ¿ß»«½∞º«óá¡¿∩ »ÑαÑτ¿ß½¿¼δσ ½¿ΓÑαὫ󠿠¿¼Ñ¡«óá¡¡δσ
  602.     ¬«¡ßΓá¡Γ ¬á¬ óѽ¿τ¿¡ Γ«½∞¬« ½¿Φ∞ »πΓѼ ¿σ ¡á¿¼Ñ¡«óá¡¿∩.
  603.          ê¡ñѬßᵿ∩ ¿ß»«½∞ºπÑΓß∩ ñ½∩ ¡áº¡áτÑ¡¿∩ ¬«¼»«¡Ñ¡Γ«ó «íΩÑ¬Γ«ó Γ¿»á ¼áßß¿óá:
  604.  
  605.          ìạáτÑ¡¿Ñ ::= ìạáτÑ¡¿Ñ '[' éδα᪠{ ',' éδα᪠} ']'
  606.  
  607.          ÅÑαÑτÑ¡∞ ¿¡ñѬߡδσ óδαáªÑ¡¿⌐ φ¬ó¿óá½Ñ¡ΓÑ¡ »ÑαÑτ¡ε «Γñѽ∞¡δσ ¿¡ñѬ߫ó: X[A,B,C] φ¬ó¿óá-
  608.     ½Ñ¡Γ¡« X[A][B][C]. éßÑ »«∩ߡѡ¿∩ »«ñαáºπ¼ÑóáεΓ Ññ¿¡ßΓóÑ¡¡«Ñ ¿¡ñѬߡ«Ñ óδαáªÑ¡¿Ñ.
  609.          éѽ¿τ¿¡á óδαáªÑ¡¿∩ ñ«½ª¡á ¿¼ÑΓ∞ Γ¿»«ó«Ñ »α¿ßóá¿óá¡¿Ñ, ßαáó¡¿¼«Ñ ß ¿¡ñÑ¬ß¡δ¼ Γ¿»«¼; »α¿
  610.     φΓ«¼ »α«¿ßσ«ñ¿Γ óδí«α ß««ΓóÑΓßΓóπεΘÑú« ¬«¼»«¡Ñ¡Γ¡«ú« «íΩѬΓá.
  611.  
  612.          Åα¿¼Ñα: S[I+7]
  613.  
  614.          éδí«α »«½∩ ¿ß»«½∞ºπÑΓß∩ ñ½∩ ¡áº¡áτÑ¡¿∩ ¬«¼»«¡Ñ¡Γ«ó «íΩÑ¬Γ«ó Γ¿»«ó ºá»¿ß¿:
  615.  
  616.          ìạáτÑ¡¿Ñ ::= ìạáτÑ¡¿Ñ '.' êñÑ¡Γ
  617.  
  618.          êñÑ¡Γ¿Σ¿¬áΓ«α »αÑñßΓáó½∩ÑΓ  ß«í«⌐ ½εí«⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »«½∩ Γ¿»á ºá»¿ß¿; αѺπ½∞Γ¿απεΘÑÑ
  619.     ¡áº¡áτÑ¡¿Ñ π¬áºδóáÑΓ ¡á »«½Ñ «íΩѬΓᠺỿ߿.
  620.  
  621.          Åα¿¼Ñα: R.Y
  622.  
  623.          Éáºδ¼Ñ¡«óá¡¿Ñ ¿ß»«½∞ºπÑΓß∩ ñ½∩ ¡áº¡áτÑ¡¿∩ «íΩѬΓá, ¡á ¬«Γ«αδ⌐ π¬áºδóáÑΓ, «íΩѬΓἿ Γ¿-
  624.     »á π¬áºáΓѽ∞:
  625.  
  626.          ìạáτÑ¡¿Ñ ::= ìạáτÑ¡¿Ñ '^'
  627.  
  628.          àß½¿ Γ¿» π¬áºáΓѽ∩ ¿¼ÑÑΓ «ß¡«óá¡¿Ñ, φΓ« ó¬½ετáÑΓ óδτ¿ß½Ñ¡¿Ñ íẫó«ú« óδαáªÑ¡¿∩.
  629.  
  630.          Åα¿¼Ñα: P^
  631.  
  632.          ê¡ñѬ߿α«óá¡¿Ñ, óδí«α »«½∩ ¿ αáºδ¼Ñ¡«óá¡¿Ñ ¼«úπΓ ß¼ÑΦ¿óáΓ∞ß∩.
  633.          Åα¿¼Ñα:
  634.  
  635.          Persons[TRUE]^.Last[0] (* »Ñαóá∩ íπ¬óá »«ß½Ññ¡«ú« ¿¼Ñ¡¿ *)
  636.  
  637.          è«¡ßΓαπ¬Γ«α π¬áºáΓѽ∩  ¿ß»«½∞ºπÑΓß∩  ñ½∩  «íΩÑñ¿¡Ñ¡¿∩  µÑ½δσ  »«½«ª¿Γѽ∞¡δσ   º¡áτÑ¡¿⌐
  638.     (CARDINAL) ßÑú¼Ñ¡Γá ¿ ß¼ÑΘÑ¡¿∩ ó Σ¿º¿τÑ߬¿⌐ áñαÑß:
  639.  
  640.          ìạáτÑ¡¿Ñ ::= '[' éδα᪠':' éδα᪠[ ê¼∩ ] ']'
  641.  
  642.          ê¼∩ «í«º¡áτáÑΓ αѺπ½∞Γ¿απεΘ¿⌐ Γ¿» áíß«½εΓ¡«ú« π¬áºáΓѽ∩;  Ñß½¿ «¡« «»πΘÑ¡«, Γ« ¿¼ÑÑΓß∩
  643.     ó ó¿ñπ Γ¿» ADDRESS.
  644.          Åα¿¼Ñα:
  645.  
  646.          [ListSeg:FirstNode+N ListPtr]^.Value
  647.  
  648.  
  649.                              é¢ÉÇåàìêƒ
  650.                              =========
  651.  
  652.          éδαáªÑ¡¿∩ «í«º¡áτáεΓ  óδτ¿ß½Ñ¡¿Ñ  óѽ¿τ¿¡.  é¡πΓα¿  óδαáªÑ¡¿⌐ ¿ß»«½∞ºπεΓß∩ «»ÑαáΓ«αδ ß
  653.     µÑ½∞ε «íΩÑñ¿¡Ñ¡¿∩ «»Ñαá¡ñ«ó, ¬«Γ«αδÑ ßἿ »« ßÑíÑ ∩ó½∩εΓß∩ óδαáªÑ¡¿∩¼¿.
  654.          éδαáªÑ¡¿∩, ΓᬪѠ ¬á¬ ¿ óѽ¿τ¿¡δ,  ¿¼ÑεΓ Γ¿»δ,  ºá ¿ß¬½ετÑ¡¿Ñ¼ ΓÑσ ß½πτáÑó,  ¬«úñá óßÑ
  655.     «»Ñαá¡ñδ ∩ó½∩εΓß∩ τ¿ß½Ñ¡¡δ¼¿ ½¿ΓÑαá½á¼¿; «»αÑñѽѡ¿Ñ Γ¿»«ó ñ½∩ Γᬿσ óδαáªÑ¡¿⌐ «Γ¬½áñδóáÑΓ-
  656.     ß∩  ñ«  ΓÑσ »«α,  »«¬á ó ¬«¡ΓѬßΓÑ ¡Ñ ó«º¡¿¬¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞ π¬áºá¡¿∩ ß»Ñµ¿Σ¿τÑ߬«ú« Γ¿»á.
  657.     ¥Γ« «º¡áτáÑΓ,  τΓ« «ñ¿¡á¬«óδÑ τ¿ß½Ñ¡¡δÑ ½¿ΓÑαá½δ (¿½¿ ¿¼Ñ¡«óá¡¡δÑ ¬«¡ßΓá¡Γδ) ¼«úπΓ íδΓ∞ ¿ß-
  658.     »«½∞º«óá¡δ ñ½∩ αẽ¿τ¡δσ τ¿ß½Ñ¡¡δσ Γ¿»«ó. ä« óó«ñá ¬«¡ΓѬßΓá Ññ¿¡ßΓóÑ¡¡δ¼ αẽ¿τ¿Ñ¼ ∩ó½∩ÑΓ-
  659.     ß∩ αẽ¿τ¿Ñ ¼Ñªñπ µÑ½δ¼¿ ¿ ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ τ¿ß½á¼¿.
  660.          è«úñá «»Ñαá¡ñδ «»ÑαáΓ«αá »αÑñßΓáó½∩εΓ ß«í«⌐ ¬«¡ßΓá¡Γδ,  αѺπ½∞ΓáΓ óδτ¿ß½∩ÑΓß∩ ºá óαѼ∩
  661.     ¬«¼»¿½∩µ¿¿; αѺπ½∞ΓáΓ ΓᬪѠ¬«¡ßΓá¡Γá.
  662.          ÅÑαóÑ¡ßΓó« «»ÑαáΓ«α«ó «»¿ßá¡« ¡¿ªÑ »α¿ «»¿ßá¡¿¿ ß¿¡Γá¬ß¿ßá; ß«Ññ¿¡Ñ¡¿Ñ »α«¿ßσ«ñ¿Γ ß½Ñ-
  663.     óá ¡á»αáó«. æ¬«í¬¿ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ «íÑß»ÑτÑ¡¿∩ ½εíδσ úαπ»»¿α«ó«¬:
  664.  
  665.          éδα᪠::= Åα«ßΓ«Ñéδα᪠[Ä»Ñαᵿ∩ÄΓ¡«ΦÑ¡¿∩ Åα«ßΓ«Ñéδαáª]
  666.  
  667.          Åα«ßΓ«Ñéδα᪠::= [Ä»Ñαᵿ∩ç¡á¬«óá∩] ÆÑα¼
  668.                           {Ä»Ñαᵿ∩潫ªÑ¡¿∩ ÆÑα¼}
  669.  
  670.          ÆÑα¼ ::= öá¬Γ«α {Ä»Ñαᵿ∩ô¼¡«ªÑ¡¿∩ öá¬Γ«α}
  671.  
  672.          öá¬Γ«α ::= '(' éδα᪠')'
  673.  
  674.          öá¬Γ«α ::= NOT öá¬Γ«α
  675.  
  676.          öá¬Γ«α ::= ç¡áτÑ¡¿Ñ
  677.  
  678.          Ä»Ñαᵿ∩ÄΓ¡«ΦÑ¡¿∩ ::= '=' | '#' | '<' | '<=' | '>' |
  679.                               '>=' | IN
  680.  
  681.          Ä»Ñαᵿ∩ç¡á¬«óá∩ ::= '+' | '-'
  682.  
  683.          Ä»Ñαᵿ∩潫ªÑ¡¿∩ ::= '+' | '-' | OR
  684.  
  685.          Ä»Ñαᵿ∩ô¼¡«ªÑ¡¿∩ ::= '*' | '/' | DIV | MOD | AND |
  686.                               '<<' |  '>>'
  687.  
  688.          Ä»Ñαᵿ∩, «í«º¡áτÑ¡¡á∩ «»ÑαáΓ«α«¼, ºáó¿ß¿Γ ¬á¬ «Γ «»ÑαáΓ«αá, Γᬠ¿ «Γ Γ¿»«ó «»Ñαá¡ñ«ó.
  689.          éßÑ «»ÑαáΓ«αδ, ¿ß¬½ετá∩ IN, ΓαÑíπεΓ «»Ñαá¡ñ«ó ß«ó¼ÑßΓ¿¼δσ Γ¿»«ó.
  690.          Ä»Ñαᵿ¿ ßαáó¡Ñ¡¿∩ ¿ IN ó αѺπ½∞ΓáΓÑ «íÑß»Ñτ¿óáεΓ Γ¿» BOOLEAN.  ÄßΓá½∞¡δÑ «íÑß»Ñτ¿óáεΓ
  691.     Γᬫ⌐ ªÑ αѺπ½∞ΓáΓ, ¬á¬ ¿ «»Ñαá¡ñδ.
  692.          Ä»ÑαáΓ«αδ '=' ¿ '#' «»αÑñѽѡδ ñ½∩ óßÑσ Γ¿»«ó ¿ ßαáó¡¿óáεΓ ¡á (¡Ñ)αáóÑ¡ßΓó«.
  693.          Ä»ÑαáΓ«αδ '<','<=','>','>=' «»αÑñѽѡδ ñ½∩ »ÑαÑτ¿ß½¿¼δσ ¿ ñÑ⌐ßΓó¿Γѽ∞¡δσ Γ¿»«ó ¿ »αÑñ-
  694.     ¡áº¡áτÑ¡δ  ñ½∩  «Γ¡«ß¿Γѽ∞¡«ú«  π»«α∩ñ«τÑ¡¿∩.  '<='  ¿ '>=' «»αÑñѽѡδ ñ½∩ Γ¿»«ó ¼¡«ªÑßΓó ¿
  695.     ßαáó¡¿óáεΓ »«ñ¼¡«ªÑßΓóá ¿ ¼¡«ªÑßΓóá óδßΦÑú« »«α∩ñ¬á.
  696.          ç¡á¬«óδ⌐ «»ÑαáΓ«α '+' «»αÑñѽѡ ñ½∩ τ¿ß½«óδσ Γ¿»«ó; «¡ ¡Ñóδ»«½¡∩Ѽ.
  697.          ç¡á¬«óδ⌐ «»ÑαáΓ«α '-' «»αÑñѽ∩ÑΓß∩ ñ½∩ µÑ½δσ ¿ ñÑ⌐ßΓó¿Γѽ∞¡δσ Γ¿»«ó,  «Γα¿µá∩ «»Ñαá¡ñ.
  698.          Ä»ÑαáΓ«αδ ß½«ªÑ¡¿∩  '+' ¿ '-' «»αÑñѽѡδ ñ½∩ τ¿ß½Ñ¡¡δσ Γ¿»«ó ¿ «º¡áτáεΓ ß½«ªÑ¡¿Ñ ¿ óδ-
  699.     τ¿Γá¡¿Ñ.  Ä¡¿ ΓᬪѠ«»αÑñѽѡδ ñ½∩ Γ¿»«ó ¼¡«ªÑßΓó ¿ «í«º¡áτáεΓ «íΩÑñ¿¡Ñ¡¿Ñ ¼¡«ªÑßΓó ¿  αáº-
  700.     ¡«ßΓ∞ ¼¡«ªÑßΓó. é ¬«¡Ñτ¡«¼ ßτÑΓÑ '+' ΓᬪѠ«»αÑñѽѡ ñ½∩ ½εí«⌐ ¬«¼í¿¡áµ¿¿ »«ßΓ«∩¡¡δσ ß¿¼ó«-
  701.     ½«ó ¿ ßΓα«τ¡δσ ½¿ΓÑαὫó,  «íΩÑñ¿¡∩∩ ¿σ  ó  «ñ¡π  ßΓα«τ¡πε  ¬«¡ßΓá¡Γπ.  Ä»ÑαáΓ«α  OR  íÑαÑΓ
  702.     «»Ñαá¡ñδ BOOLEAN ¿ óδτ¿ß½∩ÑΓ ½«ú¿τÑ߬πε ßπ¼¼π;  Ñß½¿ ½Ñóδ⌐ «»Ñαá¡ñ ∩ó½∩ÑΓß∩ ½«ª¡δ¼ (FALSE),
  703.     Γ« óδτ¿ß½∩ÑΓß∩ Γ«½∞¬« »αáóδ⌐ «»Ñαá¡ñ.
  704.          Ä»ÑαáΓ«αδ π¼¡«ªÑ¡¿∩  '*',  DIV ¿ MOD «»αÑñѽѡδ ñ½∩ µÑ½δσ ¿ µÑ½δσ »«½«ª¿Γѽ∞¡δσ Γ¿»«ó,
  705.     «íÑß»Ñτ¿óá∩ óδτ¿ß½Ñ¡¿Ñ τáßΓ¡«ú« («¬απú½Ñ¡¡«ú« ñ« ¡π½∩) ¿ «ßΓáΓ¬á («Γ ñѽѡ¿∩).  '<<' ¿ '>>'
  706.     «»αÑñѽѡδ ñ½∩ µÑ½δσ »«½«ª¿Γѽ∞¡δσ Γ¿»«ó,  «íÑß»Ñτ¿óá∩ óδτ¿ß½Ñ¡¿Ñ ½«ú¿τÑ߬«ú« ½Ñó«ú« ¿ »αá-
  707.     ó«ú« ßñó¿úá ½Ñó«ú« «»Ñαá¡ñá ¡á óѽ¿τ¿¡π »αáó«ú« «»Ñαá¡ñá. '*' ¿ '/' «»αÑñѽѡδ ñ½∩ ñÑ⌐ßΓó¿-
  708.     Γѽ∞¡δσ  Γ¿»«ó,  «íÑß»Ñτ¿óá∩ (»α¿í½¿ªÑ¡¡«Ñ) óδτ¿ß½Ñ¡¿Ñ »α«¿ºóÑñÑ¡¿∩ ¿ τáßΓ¡«ú« .  '*' ¿ '/'
  709.     «»αÑñѽѡδ ñ½∩ Γ¿»«ó ¼áßß¿ó«ó,  «íÑß»Ñτ¿óá∩ óδτ¿ß½Ñ¡¿Ñ »ÑαÑßÑτÑ¡¿∩ ¼¡«ªÑßΓó ¿  ß¿¼¼ÑΓα¿τ¡«⌐
  710.     αạ«ßΓ¿ ¼¡«ªÑßΓó.  AND «»αÑñѽ∩ÑΓß∩ ñ½∩ «»Ñαá¡ñ«ó Γ¿»á BOOLEAN, «íÑß»Ñτ¿óá∩ óδτ¿ß½Ñ¡¿Ñ ½«-
  711.     ú¿τÑ߬«ú« αѺπ½∞ΓáΓá, »αáóδ⌐ «»Ñαá¡ñ óδτ¿ß½∩ÑΓß∩ ó Γ«¼ ß½πτáÑ, Ñß½¿ ½Ñóδ⌐ ∩ó½∩ÑΓß∩ ¿ßΓ¿¡¡δ¼
  712.     (TRUE).
  713.          Ä»Ñαá¡ñ NÄT íÑαÑΓ «»Ñαá¡ñ BOOLEAN ¿ ñ«»«½¡∩ÑΓ Ñú«. Ä»Ñαá¡ñ IN íÑαÑΓ óѽ¿τ¿¡δ Γ¿»á ¼¡«-
  714.     ªÑßΓó«, ¬á¬  »αáóδÑ  «»Ñαá¡ñδ  ¿ óѽ¿τ¿¡δ Γ¿»á φ½Ñ¼Ñ¡Γδ ¼¡«ªÑßΓó,  ¬á¬ ½ÑóδÑ «»Ñαá¡ñδ:  φΓ«
  715.     «íÑß»Ñτ¿óáÑΓ »α«óÑα¬π, ¡áσ«ñ¿Γß∩ ½¿ º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá ó º¡áτÑ¡¿¿ ¼¡«ªÑßΓóá.
  716.          î¡«ªÑßΓóá »αÑñßΓáó½∩εΓß∩ ¬á¬ í¿Γ«óδÑ ¬áαΓδ,  ó ¬«Γ«αδσ «ñ¿¡ í¿Γ »αÑñ«ßΓáó½∩ÑΓß∩ ¬áªñ«⌐
  717.     ó«º¼«ª¡«⌐ óѽ¿τ¿¡Ñ φ½Ñ¼Ñ¡Γá (π¬áºδóá∩ ¡á Ñú« »α¿ßπΓßΓó¿Ñ),  Γᬿ¼  «íαẫ¼,  τΓ«  «»ÑαáΓ«αδ
  718.     ¼¡«ªÑßΓóá '+',  '*',  '/' ¿ '-' ß««ΓóÑΓßΓóπεΓ »«αáºα∩ñ¡δ¼ íπ½Ñóδ¼ «»Ñαᵿ∩¼ OR,  AND, XOR ¿
  719.     AND NOT ß««ΓóÑΓßΓóÑ¡¡«.
  720.          Åα¿¼Ñαδ:
  721.  
  722.          (J = 0) OR (I MOD J = I - (I DIV J)*J) (* éßÑúñá TRUE*)
  723.          X * Y / Ratio
  724.          R.X + 1
  725.          S[1] IN Z * (Chars{'A'..'F'} + Chars{'0'..'9'})
  726.          'Line terminated with cr/lf' + CHR(13) + CHR(10)
  727.  
  728.  
  729.                              ÄÅàÉÇÆÄÉ¢
  730.                              =========
  731.  
  732.          Åα«úαá¼¼δ αáí«ΓáεΓ  »πΓѼ óδ»«½¡Ñ¡¿∩ (󫺼«ª¡á ó½«ªÑ¡¡«ßΓ∞) «»ÑαáΓ«α«ó.  Ä»ÑαáΓ«αδ ß«-
  733.     ñÑαªáΓß∩ ó ß»¿ß¬áσ ¿ óδ»«½¡∩εΓß∩ »« «ñ¡«¼π.
  734.  
  735.          æ»¿ß«¬Ä»Ñα ::= {Ä»Ñα ';'}
  736.  
  737.          ç¡á¬ ';', ßΓ«∩Θ¿⌐ »«ß½Ñ »«ß½Ññ¡Ñú« «»ÑαáΓ«αá, ¼«ª¡« ßΓáó¿Γ∞, á ¼«ª¡« ¡Ñ ßΓáó¿Γ∞.
  738.  
  739.  
  740.                        Ä»ÑαáΓ«α »α¿ßóá¿óá¡¿∩
  741.                        ---------------------
  742.  
  743.          Ä»ÑαáΓ«α »α¿ßóá¿óá¡¿∩ ¿ß»«½∞ºπÑΓß∩ ñ½∩ ¿º¼Ñ¡Ñ¡¿∩ óѽ¿τ¿¡δ «íΩѬΓá:
  744.  
  745.          Ä»Ñα ::= ìạáτÑ¡¿Ñ ':=' éδαáª
  746.  
  747.          éδαáªÑ¡¿Ñ óδτ¿ß½∩ÑΓß∩ ¿ Ñú« óѽ¿τ¿¡á ºá¼ÑΘáÑΓ ßΓáαπε óѽ¿τ¿¡π  «í«º¡áτáѼ«ú«  «íΩѬΓá.
  748.     éδαáªÑ¡¿Ñ ñ«½ª¡« »αÑñßΓáó½∩Γ∞ ß«í«⌐ »α¿ßóá¿óá¡¿Ñ, ß«ó¼ÑßΓ¿¼«Ñ ß Γ¿»«¼ «íΩѬΓá.
  749.          æΓα«τ¡δÑ ½¿ΓÑαá½δ »αÑñßΓáó½∩εΓ ß«í«⌐ ß»Ñµ¿á½∞¡δ⌐ ß½πτá⌐:  «¡¿ ¼«úπΓ íδΓ∞ »α¿ßó«Ñ¡δ ½ε-
  750.     í«¼π «íΩѬΓπ, ¬«Γ«αδ⌐ ¿¼ÑÑΓ Γ¿» ARRAY...OF CHAR ¿ ∩ó½∩ÑΓß∩ ñ«ßΓáΓ«τ¡« ñ½¿¡¡δ¼, τΓ«íδ ß«ñÑα-
  751.     ªáΓ∞ ßΓ᫬π;  Ñß½¿ «íΩÑ¬Γ í«½ÑÑ ñ½¿¡¡δ⌐,  Γ« »«ß½Ñ óѽ¿τ¿¡δ ßΓ᫬¿ ó¬½ετáÑΓß∩ »πßΓ«⌐ ß¿¼ó«½
  752.     (Äæ).
  753.          Åα¿¼Ñαδ:
  754.  
  755.          X := 0.0;
  756.          I := J + 1;
  757.          Z := Z - Chars{'a'..'z'};
  758.          Persons[I>7]^.First := "Kurt";
  759.  
  760.  
  761.  
  762.  
  763.                             Ä»ÑαáΓ«α IF
  764.                             -----------
  765.  
  766.          Ä»ÑαáΓ«α IF ¿ß»«½∞ºπÑΓß∩ ñ½∩ óδí«αá ß»¿ß¬á «»ÑαáΓ«α«ó, πß½«ó¡« ºáó¿ß∩ΘÑú« «Γ óδαáªÑ¡¿⌐
  767.     Γ¿»á BOOLEAN, πß½«ó¿⌐:
  768.  
  769.          Ä»Ñα  ::=  IF éδα᪠THEN æ»¿ß«¬Ä»Ñα {ELSIF éδα᪠THEN
  770.                             æ»¿ß«¬Ä»Ñα}
  771.  
  772.                      [ELSE æ»¿ß«¬Ä»Ñα] END
  773.  
  774.          éδ»«½¡∩ÑΓß∩ ¼á¬ß¿¼π¼ «ñ¿¡ ¿º «»ÑαáΓ«α«ó ß»¿ß¬á,  á ¿¼Ñ¡¡«, ß½ÑñπεΘ¿⌐ ºá »Ñαóδ¼ óδαáªÑ-
  775.     ¡¿Ñ¼, πßΓá¡áó½¿óáεΘ¿¼ß∩ ó TRUE, úñÑ ELSE Γαá¬ΓπÑΓß∩ ¬á¬ ELSIF TRUE THEN.
  776.          Åα¿¼Ñα:
  777.  
  778.          IF     I > J THEN
  779.            M := I;
  780.          ELSIF I < J THEN
  781.            M := J;
  782.          ELSE (* I ñ«½ª¡« íδΓ∞ αáó¡« J *)
  783.            B := TRUE;
  784.            M := I;
  785.          END;
  786.  
  787.  
  788.                            Ä»ÑαáΓ«α CASE
  789.                            -------------
  790.  
  791.          Ä»ÑαáΓ«α óδí«αá «ßπΘÑßΓó½∩ÑΓ óδí«α ¼Ñªñπ á½∞ΓÑα¡áΓ¿ó¡δ¼¿ ß»¿ß¬á¼¿ «»ÑαáΓ«α«ó ó ºáó¿ß¿-
  792.     ¼«ßΓ¿ «Γ óѽ¿τ¿¡δ óδαáªÑ¡¿∩ óδí«αá ¬«α«Γ¬«ú« »ÑαÑτ¿ß½¿¼«ú« Γ¿»á:
  793.  
  794.          Ä»Ñα::= CASE éδα᪠OF {'|'éδí«α} [ELSE æ»¿ß«¬Ä»Ñα] END
  795.  
  796.          éδí«α ::= C»¿ß«¬Ç½∞ΓÑα¡áΓ¿ó ':' æ»¿ß«¬Ä»Ñα
  797.  
  798.          Äí«º¡áτÑ¡¿Ñ '|' »ÑαÑñ »Ñαóδ¼ óδí«α«¼ ∩ó½∩ÑΓß∩ ¡Ñ«í∩ºáΓѽ∞¡δ¼.
  799.          Æ¿»δ á½∞ΓÑα¡áΓ¿ó¡δσ óδαáªÑ¡¿⌐ ñ«½ª¡δ íδΓ∞ ß«ó¼ÑßΓ¿¼δ ß  Γ¿»«¼  óδαáªÑ¡¿∩  óδí«αá;  «¡¿
  800.     ñ«½ª¡δ íδΓ∞ »«ßΓ«∩¡¡δ ¿ ¿σ óѽ¿τ¿¡δ ¡Ñ ñ«½ª¡δ »ÑαѬαδóáΓ∞ß∩.  éδ»«½¡Ñ¡¡δ⌐ ß»¿ß«¬ «»ÑαáΓ«α«ó
  801.     Γᬫ⌐,  ß»¿ß«¬ á½∞ΓÑα¡áΓ¿ó ¬«Γ«α«ú« ó¬½ετáÑΓ º¡áτÑ¡¿Ñ óδαáªÑ¡¿∩ óδí«αá;  Ñß½¿  ¡¿  «ñ¿¡  ¡Ñ
  802.     ó¬½ετáÑΓ, Γ« óδ»«½¡∩ÑΓß∩ ¡Ñ«í∩ºáΓѽ∞¡δ⌐ ß»¿ß«¬ «»ÑαáΓ«α«ó (»«ß½Ñ ELSE).
  803.          Åα¿¼Ñα:
  804.  
  805.          CASE S[I] OF
  806.            | '.':          I := 999;
  807.            | 'A'..'Z':     L := L + 1;
  808.                            U := U + 1;
  809.            | 'a'..'z':     L := L + 1;
  810.            | '[',']':      X := X + 1;
  811.          ELSE              TheEnd := TRUE;
  812.          END;
  813.  
  814.  
  815.                            Ä»ÑαáΓ«α WHILE
  816.                            --------------
  817.  
  818.          Ä»ÑαáΓ«α WHILE  ¿ß»«½∞ºπÑΓß∩ ñ½∩ óδ»«½¡Ñ¡¿∩ ß»¿ß¬á «»ÑαáΓ«α«ó «Γ ¡π½∩ ñ« í«½ÑÑ αáº,  ó
  819.     ºáó¿ß¿¼«ßΓ¿ «Γ óѽ¿τ¿¡δ πß½«ó¿∩:
  820.  
  821.          Ä»Ñα ::= WHILE éδα᪠DO æ»¿ß«¬Ä»Ñα END
  822.  
  823.          éδαáªÑ¡¿Ñ óδτ¿ß½∩ÑΓß∩ »ÑαÑñ ¬áªñδ¼ óδ»«½¡Ñ¡¿Ñ¼ ß»¿ß¬á «»ÑαáΓ«α«ó;  »«óΓ«αÑ¡¿Ñ ºá¬á¡τ¿-
  824.     óáÑΓß∩, ¬á¬ Γ«½∞¬« óѽ¿τ¿¡á ∩ó½∩ÑΓß∩ ½«ª¡«⌐ (FALSE).
  825.          Åα¿¼Ñα:
  826.  
  827.          WHILE (I > 0) AND (I MOD 2 = 0) DO
  828.            I := I DIV 2;
  829.          END;
  830.  
  831.  
  832.                           Ä»ÑαáΓ«α REPEAT
  833.                           ---------------
  834.  
  835.          Ä»ÑαáΓ«α REPEAT ¿ß»«½∞ºπÑΓß∩ ñ½∩ óδ»«½¡Ñ¡¿∩ »ÑαÑτ¡∩ «»ÑαáΓ«α«ó «ñ¿¡ ¿½¿  í«½ÑÑ  αẠ ó
  836.     ºáó¿ß¿¼«ßΓ¿ «Γ óѽ¿τ¿¡δ πß½«ó¿∩:
  837.  
  838.          Ä»Ñα ::= REPEAT æ»¿ß«¬Ä»Ñα UNTIL éδαáª
  839.  
  840.        éδαáªÑ¡¿Ñ óδτ¿ß½∩ÑΓß∩ »«ß½Ñ ¬áªñ«ú« óδ»«½¡Ñ¡¿∩ ß»¿ß¬á «»ÑαáΓ«α«ó;  »«óΓ«αÑ¡¿Ñ «ßΓá¡áó½¿-
  841.     óáÑΓß∩, ¬á¬ Γ«½∞¬« óѽ¿τ¿¡á ∩ó½∩ÑΓß∩ ¿ßΓ¿¡¡«⌐ (TRUE).
  842.          Åα¿¼Ñα:
  843.  
  844.          REPEAT
  845.            I := I MOD N + 1;
  846.          UNTIL S[I] = ' ';
  847.  
  848.  
  849.                            Ä»ÑαáΓ«α LOOP
  850.                            -------------
  851.  
  852.          Ä»ÑαáΓ«α µ¿¬½á  LOOP ¿ß»«½∞ºπÑΓß∩ ñ½∩ óδ»«½¡Ñ¡¿∩ ß»¿ß¬á «»ÑαáΓ«α«ó »«óΓ«α¡« ß ¡Ñ߬«½∞-
  853.     ¬¿¼¿ ó«º¼«ª¡δ¼¿ Γ«τ¬á¼¿ óσ«ñá:
  854.  
  855.          Ä»Ñα :: LOOP æ»¿ß«¬Ä»Ñα END
  856.  
  857.          Ä»Ñα ::= EXIT
  858.  
  859.          Ä»ÑαáΓ«α EXIÆ ∩ó½∩ÑΓß∩ Γ«½∞¬« «ñ¡¿¼ «»ÑαáΓ«α«¼ ó¡πΓα¿ «»ÑαáΓ«αá µ¿¬½á,  ¬«Γ«αδ⌐ ñ«»πß-
  860.     ¬áÑΓß∩ ¿ß»«½∞º«óáΓ∞; «¡ ºáóÑαΦáÑΓ ßá¼δ⌐ ó¡πΓαÑ¡¡¿⌐ ó½«ªÑ¡¡δ⌐ µ¿¬½.
  861.  
  862.  
  863.  
  864.          Åα¿¼Ñα:
  865.  
  866.          LOOP
  867.            IF I = J THEN EXIT; END;
  868.            WHILE I < J DO
  869.              I := (I * J) MOD N;
  870.              IF I = 0 THEN
  871.                I := J;
  872.                EXIT; (* éδ⌐Γ¿ ¿º LOOP, á ¡Ñ ¿º WHILE. *)
  873.              END;
  874.            END;
  875.            I := I DIV 2;
  876.          END;
  877.          (* ÄßπΘÑßΓó½Ñ¡ óδσ«ñ ¿º LOOP. *)
  878.  
  879.  
  880.                             Ä»ÑαáΓ«α FOR
  881.                             ------------
  882.  
  883.          Ä»ÑαáΓ«α FOR ¿ß»«½∞ºπÑΓß∩ ñ½∩ óδ»«½¡Ñ¡¿∩ ß»¿ß¬á «»ÑαáΓ«α«ó  »αÑñóáα¿Γѽ∞¡« óδτ¿ß½Ñ¡¡«Ñ
  884.     τ¿ß½« αáº,  »α¿τѼ, »ÑαÑτ¿ß½¿¼á∩ π»αáó½∩εΘá∩ »ÑαѼѡ¡á∩ »α¿¡¿¼áÑΓ º¡áτÑ¡¿∩ ¿º »α«úαÑßß¿απε-
  885.     ΘÑ⌐ τ¿ß½«ó«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿:
  886.  
  887.          Ä»Ñα ::= FOR êñÑ¡Γ ':=' éδα᪠TO éδα᪠[BY éδαáª] DO
  888.                                            æ»¿ß«¬Ä»Ñα END
  889.  
  890.          ÅÑαóδÑ ñóá  óδαáªÑ¡¿∩  óδτ¿ß½∩εΓß∩  ñ½∩ »«½πτÑ¡¿∩ º¡áτÑ¡¿⌐ ¡áτá½á ¿ ¬«¡µá;  «¡¿ ñ«½ª¡δ
  891.     ¿¼ÑΓ∞ Γ¿»δ,  ß«ó¼ÑßΓ¿¼δÑ ß »ÑαÑτ¿ß½¿¼δ¼ Γ¿»«¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá.  éδαáªÑ¡¿Ñ, ßΓ«∩ΘÑÑ »«ß½Ñ éô,
  892.     º¡áτÑ¡¿Ñ  Φáúá,  ñ«½ª¡« íδΓ∞ »«ßΓ«∩¡¡δ¼ µÑ½δ¼ τ¿ß½«¼;  Ñß½¿ ªÑ «¡« «»πΘÑ¡«,  Γ« »α¿¡¿¼áÑΓß∩
  893.     αáó¡δ¼ +1.
  894.          ÅÑαѼѡ¡á∩ π»αáó½Ñ¡¿∩ »α¿¡¿¼áÑΓ »ÑαÑτ¿ß½¿¼δÑ óѽ¿τ¿¡δ,  ¡áτ¿¡á∩ ß ¡áτá½∞¡«⌐ óѽ¿τ¿¡δ ¿
  895.     πóѽ¿τ¿óáÑΓß∩ ¡á óѽ¿τ¿¡π Φáúá.  Ä»ÑαáΓ«α FOR »αѬαáΘáÑΓ ßó«ε αáí«Γπ, ¬«úñá »«ß½ÑñπεΘá∩ óÑ-
  896.     ½¿τ¿¡á »αÑóδß¿Γ óѽ¿τ¿¡π Φáúá;  ß»¿ß«¬ «»ÑαáΓ«α«ó ¼«ªÑΓ ó««íΘÑ ¡Ñ óδ»«½¡∩Γ∞ß∩.  ìá»αáó½Ñ¡¿Ñ
  897.     ¡áαáΘ¿óá¡¿∩ «»αÑñѽ∩ÑΓß∩ º¡á¬«¼ óѽ¿τ¿¡δ Φáúá.
  898.           éѽ¿τ¿¡á »ÑαѼѡ¡«⌐  π»αáó½Ñ¡¿∩ ¡Ñ ñ«½ª¡á ¿º¼Ñ¡∩Γ∞ß∩ ó¡πΓα¿ ß»¿ß¬á «»ÑαáΓ«α«ó,  ¿ «¡á
  899.     ¡Ñ «»αÑñѽѡᠻ«ß½Ñ «»ÑαáΓ«αá FOR.
  900.          Åα¿¼Ñα:
  901.  
  902.          FOR Ball := Black TO Yellow BY -2 DO
  903.            LastBall := Ball; (* éδí¿αáεΓß∩: Black(ùÑα¡δ⌐),Blue
  904.                                 (⫽πí«⌐),Green(çѽѡδ⌐) *)
  905.          END;
  906.  
  907.  
  908.                            Ä»ÑαáΓ«α WITH
  909.                            -------------
  910.  
  911.          Ä»ÑαáΓ«α WITH »α¿¼Ñ¡∩ÑΓß∩ ñ½∩ ß«ºñá¡¿∩ ½«¬á½∞¡«⌐ «í½áßΓ¿,  ó ¬«Γ«α«⌐ ¿¼Ñ¡á »«½Ñ⌐  Γ¿»á
  912.     ºá»¿ß¿  ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« ñ½∩ «í«º¡áτÑ¡¿∩ »«½Ñ⌐ «»αÑñѽѡ¡«ú« «í«º¡áτÑ¡-
  913.     ¡«ú« «íΩѬΓá φΓ«ú« Γ¿»á:
  914.  
  915.          Ä»Ñα ::= WITH ìạáτÑ¡¿Ñ DO æ»¿ß«¬Ä»Ñα END
  916.  
  917.          Åα¿¼Ñα:
  918.  
  919.          WITH Persons [TRUE]^ DO
  920.            IF Age < 4 THEN
  921.              First := "baby";
  922.            ELSIF Age < 15 THEN
  923.              First := "junior";
  924.            END;
  925.          END;
  926.  
  927.  
  928.                            Ä»ÑαáΓ«α GOTO
  929.                            -------------
  930.  
  931.          Ä»ÑαáΓ«α GOTO ¿ß»«½∞ºπÑΓß∩ ñ½∩ »ÑαÑ¼Ñ¡δ »«Γ«¬á (¡á»αáó½Ñ¡¿∩) óδ»«½¡Ñ¡¿∩:
  932.  
  933.          Ä»Ñα ::= GOTO êñÑ¡Γ
  934.  
  935.          è«¡Ñτ¡á∩ Γ«τ¬á ß¬áτ¬á πßΓá¡áó½¿óáÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ¼ÑΓ¬¿, ¬«Γ«αá∩ ñ«½ª¡á ¡áσ«ñ¿Γ∞ß∩
  936.     ó Γ«⌐ ªÑ ßἫ⌐ »α«úαá¼¼¡«⌐ Ññ¿¡¿µÑ :
  937.  
  938.          Ä»Ñα ::= êñÑ¡Γ ':' [Ä»Ñα]
  939.  
  940.          îÑΓ¬¿ ñ«½ª¡δ íδΓ∞ «íΩ∩ó½Ñ¡δ ó Γ«⌐ ªÑ ßἫ⌐ »α«úαá¼¼¡«⌐ Ññ¿¡¿µÑ,  ó ¬«Γ«α«⌐ «¡¿ ¿ß»«½∞-
  941.     ºπεΓß∩.
  942.  
  943.          ÄíΩ∩ó½Ñ¡¿Ñ ::= LABEL æ»¿ß«¬êñÑ¡Γ ';'
  944.  
  945.  
  946.                              ÅÉÄûàäôÉ¢
  947.                              =========
  948.  
  949.          Åα«µÑñπαδ ¿ß»«½∞ºπεΓß∩ ñ½∩ úαπ»»¿α«óá¡¿∩ ß«ó¼ÑßΓ¡« óδ»«½¡∩Ѽδσ «»Ñαᵿ⌐ ó  ¿º«½¿α«óá¡-
  950.     ¡δÑ í½«¬¿. æ«íßΓóÑ¡¡« »α«µÑñπαδ ¿ß»«½∞ºπεΓß∩ ¬á¬ «»ÑαáΓ«αδ, ó Γ« óαѼ∩ ¬á¬ Σπ¡¬µ¿¿ óδτ¿ß½∩-
  951.     εΓ º¡áτÑ¡¿∩ ¿ ¿ß»«½∞ºπεΓß∩ ó óδαáªÑ¡¿∩σ.
  952.          Åα«µÑñπαδ «íΩ∩ó½∩εΓß∩ ¬á¬ ¿ ñαπú¿Ñ «íΩѬΓδ ¿,  ó»«ß½ÑñßΓó¿¿,  á¬Γ¿ó¿º¿απεΓß∩ ó맮óἿ.
  953.     Ä¡¿ ¼«úπΓ ¿¼ÑΓ∞ »áαá¼ÑΓαδ,  ¬«Γ«αδÑ »αÑñßΓáó½∩εΓ ß«í«⌐ «íΩѬΓδ ¿½¿ º¡áτÑ¡¿∩.  Åα«µÑñπαδ ºá-
  954.     óÑαΦáεΓ óδ»«½¡Ñ¡¿Ñ ó«ºóαáΓ«¼.
  955.          Åα«µÑñπαδ ¼«úπΓ ΓᬪѠóδ»«½¡∩Γ∞ß∩ íѺ ó맮óá:  «¡¿ ¼«úπΓ íδΓ∞  ñ«»πßΓ¿¼δ¼¿  óѽ¿τ¿¡á¼¿
  956.     Γ¿»á »α«µÑñπα ¿ ß««ΓóÑΓßΓóÑ¡¡« «íαáíáΓδóáΓ∞ß∩.
  957.          òáαá¬ΓÑα¿ßΓ¿¬¿ »α«µÑñπα πßΓá¡áó½¿óáεΓß∩ ó ºáú«½«ó¬Ñ »α«µÑñπαδ:
  958.  
  959.          çáú«½«ó«¬Åα«µÑñπαδ ::= PROCEDURE êñÑ¡Γ[ö«α¼á½∞¡δ⌐滿߫¬
  960.                                 [':' ê¼∩]]';'
  961.  
  962.          ö«α¼á½∞¡δ⌐滿߫¬ ::='('[ö«α¼á½∞¡á∩æÑ¬µ¿∩
  963.                                         {';'ö«α¼á½∞¡á∩æÑ¬µ¿∩}]')'
  964.  
  965.          ö«α¼á½∞¡á∩æÑ¬µ¿∩ ::= [VAR] æ»¿ß«¬êñÑ¡Γ¿Σ¿¬áΓ«α«ó
  966.                               ':' ö«α¼á½∞¡δ⌐Æ¿»
  967.  
  968.          ö«α¼á½∞¡δ⌐Æ¿» ::= [ARRAY OF] ê¼∩
  969.  
  970.          çáú«½«ó«¬ »α«µÑñπαδ «íΩ∩ó½∩ÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α,  «í«º¡áτáεΘ¿⌐ »α«µÑñπαπ. Ä¡ ß«ñÑαª¿Γ ß»¿-
  971.     ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó («¡ ¼«ªÑΓ íδΓ∞ ¿ »πßΓδ¼),  «íΩ∩ó½∩Ѽδσ ΓᬪÑ, ¬á¬ »ÑαѼѡ¡δÑ. ÄΓ-
  972.     ßπΓßΓó¿Ñ ß¿¼ó«½á ':' ¿ ¿¼Ñ¡¿ «í«º¡áτáÑΓ πßΓá¡«ó½Ñ¡¡πε »α«µÑñπαπ; Ñú« »α¿ßπΓßΓó¿Ñ «í«º¡áτáÑΓ
  973.     Σπ¡¬µ¿ε ¿ πßΓá¡áó½¿óáÑΓ Γ¿» ó«ºóαáΓá.
  974.          èáªñδ⌐ Σ«α¼á½∞¡δ⌐  αáºñѽ  «íΩ∩ó½∩ÑΓ »ÑαÑτÑ¡∞ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó,  πßΓá¡áó½¿óáÑΓ ¿σ
  975.     Σ«α¼á½∞¡δ⌐ Γ¿» ¿ πßΓá¡áó½¿óáÑΓ, ∩ó½∩εΓß∩ ½¿ «¡¿ »áαá¼ÑΓαἿ VAR ¿½¿ »áαá¼ÑΓαἿ óѽ¿τ¿¡ »π-
  976.     ΓѼ »α¿ßπΓßΓó¿∩/«ΓßπΓßΓó¿∩ VAR.  éßÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ »áαá¼ÑΓαá Σ«α¼á½∞¡«ú« ñ¿ß¬á ñ«½ª¡δ íδΓ∞
  977.     αẽ¿τ¿¼δ.
  978.          Åα¿¼Ñαδ:
  979.  
  980.          PROCEDURE NewLine;
  981.          PROCEDURE PrintNumber (N: INTEGER; Width: SHORTCARD );
  982.          PROCEDURE Accumulate (VAR X: LONGREAL; Delta: LONGREAL);
  983.          PROCEDURE HypSquare (A,B: LONGREAL): LONGREAL;
  984.          PROCEDURE PrintMessage (M: ARRAY OF CHAR);
  985.          PROCEDURE GetChar (): CHAR;
  986.  
  987.  
  988.                                 ÆÑ½á
  989.                                 ----
  990.  
  991.          çáú«½«ó«¬ »α«µÑñπαδ «íΩÑñ¿¡Ñ¡ ß Γѽ«¼,  πßΓá¡áó½¿óá∩ ó¡πΓαÑ¡¡¿Ñ αáí«τ¿Ñ «í½áßΓ¿ »α«µÑ-
  992.     ñπαδ; «íΩ∩ó½Ñ¡¿Ñ FORWARD ¿ß»«½∞ºπÑΓß∩ ñ½∩ «íÑß»ÑτÑ¡¿∩ ºáñÑ᪬¿ «»αÑñѽѡ¿∩ Γѽá.
  993.  
  994.          ÄíΩ∩ó½Ñ¡¿Ñ ::= çáú«½«ó«¬Åα«µÑñπαδ ÆÑ½« êñÑ¡Γ ';'
  995.  
  996.          ÄíΩ∩ó½Ñ¡¿Ñ ::= çáú«½«ó«¬Åα«µÑñπαδ FORWARD ';'
  997.  
  998.          ÆÑ½« ::= æ»¿ß«¬ÄíΩ∩ó½Ñ¡¿⌐ [BEGIN æ»¿ß«¬Ä»Ñα] END
  999.  
  1000.          êñÑ¡Γ¿Σ¿¬áΓ«α »«óΓ«α∩ÑΓ ¿¼∩ »α«µÑñπαδ.  Åα«µÑñπαá, «íΩ∩ó½Ñ¡¡á∩ ¬á¬ FORWARD, ñ«½ª¡á ºá-
  1001.     óÑαΦáΓ∞ß∩ »«ºñ¡ÑÑ ó Γ«¼ ªÑ «»¿ßáΓѽ∞¡«¼ ß»¿ß¬Ñ »πΓѼ »«½¡«ú« «íΩ∩ó½Ñ¡¿∩ »α«µÑñπαδ, »«óΓ«α∩∩
  1002.     ºáú«½«ó«¬ »α«µÑñπαδ ¿ »α¿½áúá∩ ÑÑ Γѽ«.
  1003.          æ»¿ß«¬ «íΩ∩ó½Ñ¡¿∩ «íΩ∩ó½∩ÑΓ «íΩѬΓδ, ¬«Γ«αδÑ ∩ó½∩εΓß∩ ½«¬á½∞¡δ¼¿ »« «Γ¡«ΦÑ¡¿ε ¬ »α«µÑ-
  1004.     ñπαÑ; «¡¿ ñ«½ª¡δ ¿¼ÑΓ∞ ¿¼Ñ¡á, «Γ½¿τ¡δÑ «Γ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó.
  1005.          ö«α¼á½∞¡δÑ »áαá¼ÑΓαδ Σ«α¼á½∞¡«ú« Γ¿»á "¼áßß¿ó Γ¿»á" (ARRAY OF  Type),  Γ.Ñ.  »áαá¼ÑΓαδ
  1006.     «Γ¬αδΓ«ú« ¼áßß¿óá, ßτ¿ΓáεΓß∩ ½«¬á½∞¡δ¼¿ ¼áßß¿óἿ, ¿¡ñѬ߿α«óá¡¡δ¼¿ ß »«¼«Θ∞ε µÑ½δσ »«½«ª¿-
  1007.     Γѽ∞¡δσ τ¿ßѽ, ¡áτ¿¡á∩ ß 0; óÑασ¡∩∩ úαá¡¿µá ¿¡ñѬßá »«½πτáÑΓß∩ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ HIGH.
  1008.          ï«¬á½∞¡δÑ »ÑαѼѡ¡δÑ  »«∩ó½∩εΓß∩,  ¬«úñá »α«µÑñπαδ óδºδóáεΓß∩ ¿ ¿ßτѺáεΓ »α¿ ó«ºóαáΓÑ.
  1009.     Åα«µÑñπαδ ¼«úπΓ »α∩¼« ¿½¿ ¬«ßóÑ¡¡« óδºδóáΓ∞ ßἿ ßÑí∩, óδºδóá∩ «ñ¡«óαѼѡ¡«Ñ »«∩ó½Ñ¡¿Ñ ¡Ñß-
  1010.     ¬«½∞¬¿σ ¡áí«α«ó ½«¬á½∞¡δσ »ÑαѼѡ¡δσ.
  1011.          ìạáτÑ¡¿Ñ ½εí«⌐ ½«¬á½∞¡«⌐ »ÑαѼѡ¡«⌐ «Γ¡«ß¿Γß∩ ¬ φ¬ºÑ¼»½∩απ  ¿º  ¡á¿í«½ÑÑ  »«ß½Ññ¡Ñú«
  1012.     á¬Γ¿ó¡«ú« ó맮óá φΓ«⌐ »α«µÑñπαδ.
  1013.          Åáαá¼ÑΓα Σ«α¼á½∞¡«ú« º¡áτÑ¡¿∩ ßτ¿ΓáÑΓß∩ «íδτ¡«⌐ ½«¬á½∞¡«⌐ »ÑαѼѡ¡«⌐, óѽ¿τ¿¡á ¬«Γ«α«⌐
  1014.     ¿¡¿µ¿á½¿º¿απÑΓß∩  »α¿ ó맮óÑ »α«µÑñπαδ.  ö«α¼á½∞¡δÑ »áαá¼ÑΓαδ VAR «í«º¡áτáεΓ ñÑ⌐ßΓó¿Γѽ∞¡δÑ
  1015.     «íΩѬΓδ, ¬«Γ«αδÑ ¿ñÑ¡Γ¿Σ¿µ¿απεΓß∩ óδºδóáεΘÑ⌐ »α«µÑñπα«⌐ »α¿ ó맮óÑ »α«µÑñπαδ.
  1016.          ÄΓ¬αδΓδÑ ¼áßß¿óδ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¬á¬ ñÑ⌐ßΓó¿Γѽ∞¡δÑ »áαá¼ÑΓαδ ñ½∩ ñαπú¿σ Σ«α¼á½∞¡δσ
  1017.     »áαá¼ÑΓα«ó «Γ¬αδΓ«ú« ¼áßß¿óá;  ó »α«Γ¿ó¡«¼ ß½πτáÑ ß ¡¿¼¿ ¼«ª¡« αáí«ΓáΓ∞ Γ«½∞¬« »«φ½Ñ¼Ñ¡Γ¡«.
  1018.          æ»¿ß«¬ «»ÑαáΓ«α«ó  πßΓá¡áó½¿óáÑΓ ñÑ⌐ßΓó¿∩ »α«µÑñπαδ.  Æ«½∞¬« «ñ¡¿¼ ñ«»πßΓ¿¼δ¼ ß»«ß«í«¼
  1019.     óδσ«ñá ¿º »α«µÑñπαδ ∩ó½∩ÑΓß∩ óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«αá RETURN.  æ«íßΓóÑ¡¡« »α«µÑñπαá ¼«ªÑΓ  «ßπ-
  1020.     ΘÑßΓó¿Γ∞ ó«ºóαáΓ ΓᬪѠ»πΓѼ ñ«ßΓ¿ªÑ¡¿∩ ¬«¡µá ß»¿ß¬á «»ÑαáΓ«α«ó.
  1021.  
  1022.          Ä»Ñα ::= RETURN [éδαáª]
  1023.  
  1024.          éδαáªÑ¡¿Ñ ñ«½ª¡« ¿ß»«½∞º«óáΓ∞ß∩ ¿ß¬½ετ¿Γѽ∞¡« ñ½∩ Σπ¡¬µ¿⌐,  ¿ Ñú« Γ¿» ñ«½ªÑ¡ íδΓ∞ ß«ó-
  1025.     ¼ÑßΓ¿¼ »« »α¿ßóá¿óá¡¿ε ß Γ¿»«¼ return; φΓ« óѽ¿τ¿¡á, ó«ºóαáΘáѼá∩ óδºδóáεΘÑ⌐ »α«µÑñπαÑ.
  1026.          Åα¿¼Ñαδ:
  1027.  
  1028.          PROCEDURE Max (X,Y: LONGREAL): LONGREAL;
  1029.          BEGIN
  1030.            IF X > Y THEN
  1031.              RETURN X;
  1032.            ELSE
  1033.              RETURN Y;
  1034.            END;
  1035.          END Max;
  1036.          PROCEDURE HypSquare( A,B: LONGREAL): LONGREAL; FORWARD;
  1037.  
  1038.          PROCEDURE Accumulate(VAR X: LONGREAL; Y: LONGREAL);
  1039.          VAR Z: LONGREAL;
  1040.          BEGIN
  1041.            Z := HypSquare ( Y, 10.0-Y);
  1042.            X := X +Max ( Z*Z, -999.99);
  1043.          END Accumulate;
  1044.  
  1045.          PROCEDURE HypSquare ( A,B: LONGREAL ): LONGREAL;
  1046.          BEGIN
  1047.            RETURN A*A + B*B;
  1048.          END HypSquare;
  1049.  
  1050.  
  1051.                            é맮ó »α«µÑñπα
  1052.                            --------------
  1053.  
  1054.          æ«íßΓóÑ¡¡« »α«µÑñπαδ óδºδóáóáεΓß∩ ó «»ÑαáΓ«αáσ call:
  1055.  
  1056.          Ä»Ñα ::= ìạáτÑ¡¿Ñ [ öá¬Γ¿τÑ߬¿⌐滿߫¬]
  1057.  
  1058.          öá¬Γ¿τÑ߬¿⌐滿߫¬ ::= '('[éδαáª{',' éδαáª}]')'
  1059.  
  1060.          æ»¿ß«¬ Σá¬Γ¿τÑ߬¿σ  »áαá¼ÑΓα«ó  ñ«½ªÑ¡  «íÑß»Ñτ¿óáΓ∞  «ñ¡π óѽ¿τ¿¡π ¿½¿ ¡áº¡áτÑ¡¿Ñ ñ½∩
  1061.     ¬áªñ«ú« ß««ΓóÑΓßΓóπεΘÑú« Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá.  éδαáªÑ¡¿Ñ ñ½∩ »áαá¼ÑΓαá  Γ¿»á  VAR  ñ«½ª¡«
  1062.     »αÑñßΓáó½∩Γ∞  ß«í«⌐ ¡áº¡áτÑ¡¿Ñ «íΩѬΓá ß Γ¿»«¼ ¿ñÑ¡Γ¿τ¡δ¼ Σ«α¼á½∞¡«¼π Γ¿»π;  ñ½∩ »áαá¼ÑΓα«ó
  1063.     óѽ¿τ¿¡ ½εí«Ñ óδαáªÑ¡¿Ñ Γ¿»á ß«ó¼ÑßΓ¿¼«ú« »« »α¿ßóá¿óá¡¿ε  ∩ó½∩ÑΓß∩  ñ«»πßΓ¿¼δ¼.  æΓ᫬«óδÑ
  1064.     ½¿ΓÑαá½δ ∩ó½∩εΓß∩ ñ«»πßΓ¿¼δ¼¿ ñ½∩ ½εí«ú« º¡áτÑ¡¿∩ »áαá¼ÑΓαá Γ¿»á ARRAY ... OF CHAR.
  1065.          ö«α¼á½∞¡δ⌐ Γ¿» ARRAY OF Type ßτ¿ΓáÑΓß∩ ¿ñÑ¡Γ¿τ¡δ¼ ½εí«¼π Γ¿»π ¼áßß¿óá  ß  Γᬿ¼  Γ¿»«¼
  1066.     φ½Ñ¼Ñ¡Γ«ó;  ¿¡ñѬߡδ⌐  ñ¿á»áº«¡ Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá «Γ«íαáªáÑΓß∩ ¡á µÑ½δÑ »«½«ª¿Γѽ∞¡δÑ,
  1067.     ¡áτ¿¡á∩ ß 0.  éδαáªÑ¡¿Ñ φ½Ñ¼Ñ¡Γ¡«ú« Γ¿»á ΓᬪѠñ«»πßΓ¿¼« (¿ «íαáíáΓδóáÑΓß∩ ¬á¬ ¼áßß¿ó ß «ñ-
  1068.     ¡¿¼ φ½Ñ¼Ñ¡Γ«¼).
  1069.          ö«α¼á½∞¡δÑ Γ¿»δ BYTE,  WORD ¿ LONGWORD ß«ó¼ÑßΓ¿¼δ ß ½εíδ¼ Γ¿»«¼  ¿ñÑ¡Γ¿τ¡«ú«  αẼÑαá.
  1070.     ö«α¼á½∞¡δÑ Γ¿»δ ARRAY OF BYTE,  ARRAY OF WORD ¿ ARRAY OF LONGWORD ß«ó¼ÑßΓ¿¼δ ß ½εí묨, »«º-
  1071.     ó«½∩∩ »α«µÑñπαÑ «íαáíáΓδóáΓ∞ Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα, ¬á¬ ¡ÑßΓαπ¬Γπα¿α«óá¡¡πε »á¼∩Γ∞.
  1072.  
  1073.          Åα¿¼Ñαδ:
  1074.  
  1075.          NewLine;
  1076.          PrintMessage("Don't panic");
  1077.          Accumulate( X, 7.0 * Y );
  1078.  
  1079.          öπ¡¬µ¿¿ óδºδóáεΓ∩ ó óδαáªÑ¡¿∩σ:
  1080.  
  1081.          ç¡áτÑ¡¿Ñ ::= ìạáτÑ¡¿Ñ öá¬Γ¿τÑ߬¿⌐滿߫¬
  1082.  
  1083.          Åαáó¿½á ñ½∩ »áαá¼ÑΓαá ΓᬿѠªÑ ¬á¬, ß«íßΓóÑ¡¡«, ñ½∩ »α«µÑñπα.
  1084.  
  1085.          Åα¿¼Ñαδ:
  1086.  
  1087.          X := HypSquare( 10.0, Y );
  1088.          C := GetChar();
  1089.  
  1090.          ìѬ«Γ«αδÑ »α«µÑñπαδ ¼«úπΓ íδΓ∞ ΓᬪѠóδºóá¡δ ß ¿ß»«½∞º«ó᡿Ѽ ¿¡Σ¿¬ß¡«⌐ ¡«Γᵿ¿.
  1091.  
  1092.          ê¡Σ¿¬ß ::= '\' ìạáτÑ¡¿Ñ '\'
  1093.  
  1094.  
  1095.          ìạáτáѼá∩ »α«µÑñπαá ñ«½ª¡á »«½πτ¿Γ∞ ñóá »áαá¼ÑΓαá. öπ¡¬µ¿¿ »α¿¼Ñ¡∩εΓß∩ ¬á¬ «»ÑαáΓ«αδ
  1096.          ßἫú« ¡¿º¬«ú« ó«º ¼«ª¡«ú« »α¿«α¿ΓÑΓá óδαáªÑ¡¿⌐:
  1097.  
  1098.          éδαáª' ::= éδα᪠{ ê¡Σ¿¬ß éδα᪠}
  1099.  
  1100.          æ«íßΓóÑ¡¡« »α«µÑñπαδ óδºδóáεΓß∩ á¡á½«ú¿τ¡« «»ÑαáΓ«αá¼ »α¿ßóá¿óá¡¿∩:
  1101.  
  1102.          Ä»Ñα ::= éδα᪠ê¡Σ¿¬ß éδαáª'
  1103.  
  1104.  
  1105.          Åα¿¼Ñαδ:
  1106.  
  1107.          X \Accumulate\ 1.0+(5.0\HypSquare\ Y-1.0);
  1108.          Accumulate (X, 1.0+HypSquare(5.0, Y-1.0));
  1109.  
  1110.  
  1111.                            Æ¿»δ »α«µÑñπα
  1112.                            -------------
  1113.  
  1114.          Æ¿» »α«µÑñπαδ «í«º¡áτáÑΓ ßѼÑ⌐ßΓó« »α«µÑñπα ß ¿ñÑ¡Γ¿τ¡δ¼¿ σáαá¬ΓÑα¿ßΓ¿¬á¼¿ ó맮óá:
  1115.  
  1116.          Ä»¿ßá¡¿ÑÆ¿»á ::=PROCEDURE['('[滿߫¬ö«α¼á½∞¡«ú«Æ¿»á]')'
  1117.                                       [':'ê¼∩]]
  1118.  
  1119.          æ»¿ß«¬ö«α¼á½∞¡«ú«Æ¿»á ::=[VAR]ö«α¼á½∞¡δ⌐Æ¿»{','
  1120.                                   [VAR]ö«α¼á½∞¡δ⌐Æ¿»}
  1121.  
  1122.          Åα«µÑñπαδ, «Γ¡«ß∩Θ¿Ñß∩ ¬ «»αÑñѽѡ¡«¼π Γ¿»π,  »αÑñßΓáó½∩εΓ ß«í«⌐ »α«µÑñπαδ ß ß«ó»áñáε-
  1123.     Θ¿¼¿ ºáú«½«ó¬á¼¿:  ¬áªñδ⌐ »áαá¼ÑΓα ñ«½ªÑ¡ «Γ¡«ß¿Γ∞ß∩ ¬ ¿ñÑ¡Γ¿τ¡«¼π ¿½¿ ¬ Γ¿»π ß«»«ßΓá󿼫¼π
  1124.     »« »α¿ßó«Ñ¡¿ε ñ½∩ »áαá¼ÑΓα«ó VAR ¿ »áαá¼ÑΓα«ó-º¡áτÑ¡¿⌐, ß««ΓóÑΓßΓóÑ¡¡«; Γ¿»δ ó«ºóαáΓá ñ«½ª-
  1125.     ¡δ íδΓ∞ ¿ñÑ¡Γ¿τ¡δ Σπ¡¬µ¿∩¼.  ÅαÑñ«»αÑñѽѡ¡δÑ »α«µÑñπαδ ¿ »α«µÑñπαδ,  αáß»«½«ªÑ¡¡δÑ  ó¡πΓα¿
  1126.     ñαπú¿σ »α«µÑñπα, ¿ß¬½ετáεΓß∩.
  1127.  
  1128.          Åα¿¼Ñα:
  1129.  
  1130.          TYPE  PutProc = PROCEDURE ( ARRAY OF CHAR );
  1131.          VAR G: ARRAY BOOLEAN OF PROCEDURE (): CHAR;
  1132.              P: PutProc;
  1133.  
  1134.          ê¼ÑÑΓß∩ «ñ¿¡ »αÑñ«»αÑñѽѡ¡δ⌐ Γ¿» »α«µÑñπα:
  1135.  
  1136.          TYPE PROC = PROCEDURE; (* Åα«µÑñπαδ íѺ »áαá¼ÑΓα«ó *)
  1137.  
  1138.          Äñ¡« »αÑñ«»αÑñѽѡ¡«Ñ º¡áτÑ¡¿Ñ »α«µÑñπαδ, NULLPROC, ∩ó½∩ÑΓß∩ ß«ó¼ÑßΓ¿¼δ¼ ß ½εíδ¼ Γ¿»«¼
  1139.     »α«µÑñπα. Åα¿ ÑÑ ó맮óÑ »α«¿ßσ«ñ¿Γ «Φ¿í¬á ó« óαѼ∩ óδ»«½¡Ñ¡¿∩.
  1140.          ç¡áτÑ¡¿∩ »α«µÑñπα «í«º¡áτáεΓß∩ ¡áº¡áτÑ¡¿∩¼¿ íѺ ß»¿ß¬«ó »áαá¼ÑΓα«ó.
  1141.  
  1142.          Åα¿¼Ñαδ:
  1143.  
  1144.          P := PrintMessage; (* P ΓÑ»Ñα∞ «í«º¡áτáÑΓ PrintMessage*)
  1145.          P ("Hi, there");   (* éδºóáΓ∞ ÑÑ *)
  1146.          G [TRUE] := GetChar; (* G[TRUE] ΓÑ»Ñα∞ «í«º¡áτáÑΓ
  1147.                                                       GetChar *)
  1148.          C := G[TRUE] ();     (* éδºóáΓ∞ ÑÑ *)
  1149.  
  1150.  
  1151.                      ÅαÑñ«»αÑñѽѡ¡δÑ »α«µÑñπαδ
  1152.                      --------------------------
  1153.  
  1154.          Modula-2 ß«ñÑαª¿Γ  α∩ñ  »αÑñ«»αÑñѽѡ¡δσ  »α«µÑñπα.  ìѬ«Γ«αδÑ ∩ó½∩εΓß∩ α«ñ«ó묨 ó Γ«¼
  1155.     ß¼δß½Ñ,  τΓ« «¡¿ ñ«»πßΓ¿¼δ ñ½∩ ¡Ñ߬«½∞¬¿σ Γ¿»«ó »áαá¼ÑΓα«ó ¿ ¼«úπΓ íαáΓ∞ «ñ¿¡ ¿½¿ ñóá »áαá-
  1156.     ¼ÑΓαá.
  1157.  
  1158.          ÅαÑñ«»αÑñѽѡ¡δÑ Σπ¡¬µ¿«¡á½∞¡δÑ »α«µÑñπαδ:
  1159.  
  1160.          ABS(X) - áíß«½εΓ¡á∩ óѽ¿τ¿¡á τ¿ß½«óδσ «»Ñαá¡ñ«ó.
  1161.  
  1162.          ADR(X) - Σ¿º¿τÑ߬¿⌐ áñαÑß «íΩѬΓá X.
  1163.  
  1164.          CAP(C) - ß¿¼ó«½ C, ¿º¼Ñ¡∩εΘ¿⌐ 'a'..'z' to 'A'..'Z'.
  1165.  
  1166.          CHR(X) - CHAR ß »«α∩ñ¬«ó«⌐ óѽ¿τ¿¡«⌐ X.
  1167.  
  1168.          FLOAT(C) - ñÑ⌐ßΓó¿Γѽ∞¡«Ñ º¡áτÑ¡¿Ñ CARDINAL C.
  1169.  
  1170.          HIGH(A) - óÑασ¡∩∩ ¿¡ñѬߡá∩ úαá¡¿µá «Γ¬αδΓ«ú« ¼áßß¿óá A.
  1171.  
  1172.          MAX(T) - ¼á¬ß¿¼á½∞¡á∩ óѽ¿τ¿¡á »«α∩ñ¬«ó«ú«/ñÑ⌐ßΓó¿Γѽ∞¡«ú« Γ¿»á T.
  1173.  
  1174.          MIN(T) - ¼¿¡¿¼á½∞¡á∩ óѽ¿τ¿¡á »«α∩ñ¬«ó«ú«/ñÑ⌐ßΓó¿Γѽ∞¡«ú« Γ¿»á T.
  1175.  
  1176.          ODD(X) - TRUE, Ñß½¿ »ÑαÑτ¿ß½¿¼á∩ óѽ¿τ¿¡á X ¡ÑτÑΓ¡á.
  1177.  
  1178.          ORD(X) - CARDINAL, ¬«α«Γ¬á∩ »ÑαÑτ¿ß½¿¼á∩ óѽ¿τ¿¡á X.
  1179.  
  1180.          SIZE(T) - αẼÑα ó íá⌐Γáσ Γ¿»á ¿½¿ «íΩѬΓá T.
  1181.  
  1182.          TRUNC(R) - CARDINAL, πßÑτÑ¡¡á∩ óѽ¿τ¿¡á ñÑ⌐ßΓó¿Γѽ∞¡«ú« T.
  1183.  
  1184.          VAL(T,X) - óѽ¿τ¿¡á X, »αÑ«íαẫóá¡¡á∩ ¬ Γ¿»π T.
  1185.  
  1186.          VSIZE(R.F) - αẼÑα Γ¿»á ºá»¿ß¿ R, ó¬½ετáεΘ¿⌐ »«½Ñ F.
  1187.  
  1188.          ÅαÑñ«»αÑñѽѡ¡δÑ »αáó¿½∞¡δÑ »α«µÑñπαδ:
  1189.  
  1190.          DEC(X) - πíδóáεΘ¿⌐ »ÑαÑτ¿ß½¿¼δ⌐ «íΩÑ¬Γ X.
  1191.  
  1192.          DEC(X,N) - πíδóáεΘ¿⌐ »ÑαÑτ¿ß½¿¼δ⌐ «íΩÑ¬Γ X ß ¬«½¿τÑßΓó«¼ N.
  1193.  
  1194.          EXCL(S,E) - ¿ß¬½ετÑ¡¿Ñ φ½Ñ¼Ñ¡Γá E ¿º «íΩѬΓá ¼¡«ªÑßΓóá S.
  1195.  
  1196.          HALT - »αÑαδóá¡¿Ñ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.
  1197.  
  1198.          INC(X) - ó«ºαáßΓáεΘ¿⌐ »ÑαÑτ¿ß½¿¼δ⌐ «íΩÑ¬Γ X.
  1199.  
  1200.          INC(X,N) - ó«ºαáßΓáεΘ¿⌐ »ÑαÑτ¿ß½¿¼δ⌐ «íΩÑ¬Γ X ß ¬«½¿τÑßΓó«¼ N.
  1201.  
  1202.          INCL(S,E) - ó¬½ετÑ¡¿Ñ φ½Ñ¼Ñ¡Γá E ó «íΩÑ¬Γ ¼¡«ªÑßΓóá S.
  1203.  
  1204.          VAL ¼«ªÑΓ »αÑóαáΘáΓ∞ óѽ¿τ¿¡δ ¼Ñªñπ ñóπ¼∩ τ¿ß½Ñ¡¡δ¼¿ ¿ »ÑαÑτ¿ß½¿¼δ¼¿ Γ¿»á¼¿.
  1205.  
  1206.          ïεí«Ñ ¿¼∩ Γ¿»á ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ¬á¬ Σπ¡¬µ¿∩ ¿º¼Ñ¡Ñ¡¿∩ Γ¿»á, »«½πτá∩ »α¿ φΓ«¼ »áαá-
  1207.     ¼ÑΓα-º¡áτÑ¡¿Ñ ½εí«ú« Γ¿»á. ÉѺπ½∞ΓáΓ ß«ßΓ«¿Γ ó Γ«¼, τΓ« óѽ¿τ¿¡á ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¬á¬ óѽ¿-
  1208.     τ¿¡á ¿¼Ñ¡«óá¡¡«ú« Γ¿»á.  öá¬Γ¿τÑ߬¿⌐ í¿Γ«óδ⌐ Φáí½«¡ óѽ¿τ¿¡δ «ßΓáÑΓß∩ ¡Ñ¿º¼Ñ¡¡δ¼, ºá ¿ß¬½ε-
  1209.     τÑ¡¿Ñ¼ ΓÑσ  ß½πτáÑó,  ¬«úñá  Γ¿»  óѽ¿τ¿¡δ  ¿  »ÑαÑñáóáѼδ⌐  Γ¿»  ∩ó½∩εΓß∩  τ¿ß½Ñ¡¡δ¼¿  ¿½¿
  1210.     »ÑαÑτ¿ß½¿¼δ¼¿, ¬«úñá «ßπΘÑßΓó½∩ÑΓß∩, ß«íßΓóÑ¡¡«, »αÑ«íαẫóá¡¿Ñ º¡áτÑ¡¿∩.
  1211.          ÅαÑ«íαẫóá¡¿Ñ Γ¿»á ßτ¿ΓáÑΓß∩ σ«α«Φ« »α«óÑñÑ¡¡δ¼,  ¬«úñá αẼÑαδ Γ¿»á óѽ¿τ¿¡δ ¿  Γ¿»á
  1212.     »ÑαÑñáτ¿ αáó¡δ ¿½¿ ªÑ «ßπΘÑßΓó½∩ÑΓß∩ ß«íßΓóÑ¡¡« »αÑ«íαẫóá¡¿Ñ º¡áτÑ¡¿∩. Æá¬¿Ñ »ÑαÑñáτ¿ Γ¿-
  1213.     »á ¼«úπΓ ßó«í«ñ¡« »α«¿ºó«ñ¿Γ∞ß∩ ó óδαáªÑ¡¿∩σ.
  1214.          é Γ«¼  ß½πτáÑ,  ¬«úñá αẼÑα Γ¿»á óѽ¿τ¿¡δ »αÑóδΦáÑΓ αẼÑα Γ¿»á »ÑαÑñáτ¿,  «ßΓáóΦ¿Ñß∩
  1215.     »«ß½Ññ¡¿Ñ íá⌐Γδ ¿ú¡«α¿απεΓß∩.  àß½¿ ªÑ «¡ ¬«α«τÑ,  »«ß½Ññ¡¿Ñ íá⌐Γδ αѺπ½∞Γ¿απεΘÑ⌐  óѽ¿τ¿¡δ
  1216.     ¡Ñ«»αÑñѽѡδ.  Æá¬¿Ñ  »ÑαÑñáτ¿  Γ¿»á  ¿ß»«½∞ºπεΓß∩ Γ«½∞¬« ñ½∩ «íσ«ñá ΓαÑí«óá¡¿⌐ »« Γ¿»π »α¿
  1217.     »α¿ßóá¿óá¡¿¿ ¿ »α«»π߬ᠻáαá¼ÑΓαá.
  1218.  
  1219.          Åα¿¼Ñαδ:
  1220.  
  1221.          I := CARDINAL(BITSET(I) *  BITSET(J));  (*  »«αáºα∩ñ¡«Ñ
  1222.                                                     π¼¡«ªÑ¡¿Ñ *)
  1223.          L := LONGCARD(SegOfz); (* ºá»¿ß∞ -> µÑ½«Ñ »«½«ª¿Γѽ∞¡«Ñ *)
  1224.          SegOfz := ArdPair(L); (* µÑ½«Ñ »«½«ª¿Γѽ∞¡«Ñ -> ºá»¿ß∞ *)
  1225.          P := ADDRESS(L);       (* ìÑ áñαÑß L! *)
  1226.  
  1227.  
  1228.                                îÄäôïê
  1229.                                ------
  1230.  
  1231.          î«ñπ½¿ ó¬½ετáεΓ ß«»πΓßΓóπεΘ¿Ñ «íΩ∩ó½Ñ¡¿∩.  êß»«½¡∩εΘá∩ »α«úαá¼¼á ß«ßΓ«¿Γ  ¿º  ú½áó¡«ú«
  1232.     ¼«ñπ½∩  ¿  α∩ñá «íß½πª¿óáεΘ¿σ ¼«ñπ½Ñ⌐.  Äíß½πª¿óáεΘ¿Ñ ¼«ñπ½¿ ñѽ∩Γß∩ ¡á «»αÑñѽ∩εΘπε τáßΓ∞,
  1233.     ó¿ñ¿¼πε ñ½∩ »«½∞º«óáΓѽÑ⌐,  ¿ τáßΓ∞ óδ»«½¡Ñ¡¿∩,  ¬«Γ«αá∩ »α∩τÑΓ ó¡πΓαÑ¡¡¿Ñ ñÑΓ὿ «Γ ¬½¿Ñ¡-
  1234.     Γ«ó.
  1235.          î«ñπ½¿ »αÑñßΓáó½∩εΓ «íΘÑÑ ßαÑñßΓó« ñ½∩ ¿ß»«½∞º«óá¡¿∩ (óóÑñÑ¡¿∩) ßó«⌐ßΓó,  ¬«Γ«αδÑ ∩ó¡«
  1236.     ¡Ñ »αÑñßΓáó½∩εΓß∩ ∩ºδ¬«¼:  óó«ñ ¿ óδó«ñ,  «»Ñαᵿ¿ ß« ßΓ᫬«⌐, «αúá¡¿ºáµ¿∩ »á¼∩Γ¿, »áαá½½Ñ-
  1237.     ½¿º¼, ñ«ßΓπ» ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼѠ¿ Γ.ñ. (ß¼. âïÇéô 8).
  1238.          î«ñπ½¿ »αÑñßΓáó½∩εΓ ß«í«⌐ íẫóδÑ Ññ¿¡¿µδ ¬«¼»¿½∩µ¿¿:
  1239.  
  1240.          è«¼»¿½∩µ¿∩ ::= Ä»αÑñѽѡ¿Ñî«ñπ½∩ '.'
  1241.  
  1242.          è«¼»¿½∩µ¿∩ ::= [IMPLEMENTATION] Moñπ½∞ '.'
  1243.  
  1244.          î«ñπ½∞ ::= MODULE êñÑ¡Γ [Åα¿«α¿ΓÑΓ] ';' {ê¼»«αΓ}
  1245.                                  [¥¬ß»«αΓ] ÆÑ½« êñÑ¡Γ
  1246.  
  1247.  
  1248.          Ä»αÑñѽѡ¿Ñî«ñπ½∩ ::=  DEFINITION  MODULE êñÑ¡Γ  ';'
  1249.                          {ê¼»«αΓ} æ»¿ß«¬ÄíΩ∩ó½Ñ¡¿⌐ END êñÑ¡Γ
  1250.  
  1251.          Åα¿«α¿ΓÑΓ ::= '['éδα']'
  1252.  
  1253.          èáªñδ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¿¼Ñ¡πÑΓ «»αÑñѽ∩Ѽδ⌐ ¼«ñπ½∞.
  1254.          î«ñπ½¿ ¼«úπΓ ¿¼ÑΓ∞ »α¿«α¿ΓÑΓ Γ¿»á CARDINAL,  ¿ß»«½∞ºπѼδ⌐ ß ¼«ñπ½Ñ¼ SYSTEM (ß¼.  âïÇéô
  1255.     8).
  1256.          î«ñπ½∞ ¬«¼»¿½∩µ¿¿ íѺ »α¿¼Ñ¡Ñ¡¿∩ IMPLEMENTATION »αÑñßΓáó½∩ÑΓ ß«í«⌐ ú½áó¡δ⌐ ¼«ñπ½∞.
  1257.  
  1258.  
  1259.                        éß»«¼«úáΓѽ∞¡δÑ ¼«ñπ½¿
  1260.                        ----------------------
  1261.  
  1262.          Ä»αÑñѽ¿Γѽ∞¡á∩ τáßΓ∞  «íß½πª¿óáεΘÑú« ¼«ñπ½∩ «íΩ∩ó½∩ÑΓ «íΩѬΓδ ñ«ßΓπ»¡δÑ »«½∞º«óáΓѽε.
  1263.     ïÑúá½∞¡δ¼¿ ∩ó½∩εΓß∩ Γ«½∞¬« «íΩ∩ó½Ñ¡¿∩ CONST,  TYPE ¿ VAR ó ñ«»«½¡Ñ¡¿Ñ ¬ ñóπ¼ ß½ÑñπεΘ¿¼, ¬«-
  1264.     Γ«αδÑ ∩ó½∩εΓß∩ ½Ñúá½∞¡δ¼¿ Γ«½∞¬« ó «»αÑñѽ¿Γѽ∞¡δσ τáßΓ∩σ:
  1265.  
  1266.          ÄíΩ∩ó½Ñ¡¿Ñ ::= çáú«½«ó«¬Åα«µÑñπαδ
  1267.  
  1268.          ÄíΩ∩ó½Ñ¡¿Ñ ::= TYPE {êñÑ¡Γ ['=' Ä»αÑñѽѡ¿ÑÆ¿»á} ';'}
  1269.  
  1270.          ÅÑαó«Ñ óδαáªÑ¡¿Ñ «íΩ∩ó½∩ÑΓ »α«µÑñπαπ. éΓ«α«Ñ óδαáªÑ¡¿Ñ ó ß½πτáÑ, ¬«úñá «»αÑñѽѡ¿Ñ Γ¿-
  1271.     »á »α«»πΘÑ¡«, «íΩ∩ó½∩ÑΓ ¡Ñ∩ó¡δ⌐ Γ¿» π¬áºáΓѽ∩ ß ¡Ñ¿ºóÑßΓ¡δ¼ ¡áº¡áτÑ¡¡δ¼ Γ¿»«¼; Ññ¿¡ßΓóÑ¡¡δ-
  1272.     ¼¿  ñ«ßΓπ»¡δ¼¿  «»Ñαᵿ∩¼¿  ß «íΩѬΓἿ ¡Ñ∩ó¡«ú« Γ¿»á ∩ó½∩εΓß∩ ¡áº¡áτÑ¡¿Ñ ¿ »α«óÑα¬á ¡á αá-
  1273.     óÑ¡ßΓó«.  æ««ΓóÑΓßΓóπεΘ¿Ñ »«½¡δÑ «íΩ∩ó½Ñ¡¿∩ ñ«½ª¡δ »«∩ó¿Γ∞ß∩ ó  óδ»«½¡∩Ѽ«⌐  τáßΓ¿  ¼«ñπ½∩.
  1274.     ÄíΩѬΓδ,  «íΩ∩ó½Ñ¡¡δÑ  ó  ¬«¼»¿½∩µ¿«¡¡δσ ¼«ñπ½∩σ,  ¡áºδóáεΓß∩ ú½«íá½∞¡δ¼¿ ¿ »α¿ßπΓßΓóπεΓ ó«
  1275.     óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ ( ó «Γ½¿τ¿Ñ «Γ »ÑαѼѡ¡δσ, ½«¬á½∞¡δσ »« «Γ¡«ΦÑ¡¿ε ¬ »α«µÑñπαá¼).
  1276.  
  1277.          Åα¿¼Ñα:
  1278.  
  1279.          DEFINITION MODULE Str; (* ü¿Γ π»αáó½∩εΘÑ⌐ ßΓ᫬¿ *)
  1280.            CONST MaxWidth = 20;
  1281.            TYPE Buffer = ARRAY [1..MaxWidth] OF CHAR;
  1282.            VAR  Width: [1..MaxWidth];
  1283.            PROCEDURE Put ( C: CARDINAL ): Buffer;
  1284.            PROCEDURE SetFill ( C: CHAR );
  1285.          END Str.
  1286.  
  1287.          ÉÑ὿ºπεΘá∩ τáßΓ∞ ß«ñÑαª¿Γ «íΩ∩ó½Ñ¡¿∩, ½«¬á½∞¡δÑ »« «Γ¡«ΦÑ¡¿ε ¬ ¼«ñπ½ε. ìÑ«í∩ºáΓѽ∞¡δ⌐
  1288.     »ÑαÑτÑ¡∞ «»ÑαáΓ«α«ó, ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿, óδ»«½¡∩ÑΓß∩ »ÑαÑñ ΓѼ, ¬á¬ óδ»«½¡∩εΓß∩ ½εíδÑ «»Ñαá-
  1289.     Γ«αδ »«½∞º«óáΓѽ∩. àß½¿ ¿º-ºá µ¿¬½¿τ¡«ßΓ¿ φΓ« ¡Ñ󫺼«ª¡« πñ«ó½ÑΓó«α¿Γ∞, »«α∩ñ«¬ ¿¡¿µ¿á½¿ºá-
  1290.     µ¿¿ ¡Ñ«»αÑñѽѡ ó¡πΓα¿ µ¿¬½á.
  1291.          é¼ÑßΓÑ ß «íΩ∩ó½Ñ¡¿∩¼¿ «»αÑñѽ∩εΘÑ⌐ τáßΓ¿ «íΩ∩ó½Ñ¡¿∩ óδ»«½¡¿¼«⌐ τáßΓ¿  «íαáºπεΓ  Ññ¿¡πε
  1292.     «í½áßΓ∞. æ½Ññ«óáΓѽ∞¡«, ½εí«Ñ ¿¼∩ «»αÑñѽ∩εΘÑ⌐ τáßΓ¿ ∩ó½∩ÑΓß∩ ó¿ñ¿¼δ¼, ¿ «íΩ∩ó½Ñ¡¡δÑ ñ«»«½-
  1293.     ¡¿Γѽ∞¡δÑ ¿¼Ñ¡á ñ«½ª¡δ «Γ½¿τáΓ∞ß∩ «Γ ¡¿σ.
  1294.  
  1295.          Åα¿¼Ñα:
  1296.  
  1297.          IMPLEMENTATION MODULE Str;
  1298.            VAR FillChar: CHAR;
  1299.  
  1300.            PROCEDURE Put ( C: CARDINAL ): Buffer;
  1301.              VAR P: [0..MaxWidth];
  1302.                  S: Buffer;
  1303.            BEGIN
  1304.              P := Width;
  1305.              REPEAT
  1306.                S[P] := CHR( ORD('0') + C MOD 10 );
  1307.                C := C DIV 10;
  1308.                DEC( P );
  1309.              UNTIL (C = 0) OR (P = 0);
  1310.              WHILE P > 0 DO
  1311.                S[P] := FillChar;
  1312.                DEC( P );
  1313.              END;
  1314.              RETURN S;
  1315.            END Put;
  1316.  
  1317.            PROCEDURE SetFill ( C: CHAR );
  1318.            BEGIN
  1319.              FillChar := C;
  1320.            END SetFill;
  1321.          BEGIN
  1322.            FillChar := ' ';
  1323.          END Str.
  1324.  
  1325.  
  1326.                            ê¼»«αΓ¿α«óá¡¿Ñ
  1327.                            --------------
  1328.  
  1329.          Å«½∞º«óáΓѽ¿ »«½πτáεΓ ñ«ßΓπ» ¬ «íß½πª¿óáεΘÑ¼π ¼«ñπ½ε »πΓѼ ¿¼»«αΓá ¿º ¡Ñú«:
  1330.  
  1331.          ê¼»«αΓ ::= [ FROM êñÑ¡Γ ] IMPORT æ»¿ß«¬êñÑ¡Γ ';'
  1332.  
  1333.          ö«α¼á FROM »«½πτáÑΓ «ñ¿¡ ¼«ñπ½∞ ¿ »ÑαÑτÑ¡∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó,  ¿¼Ñ¡πεΘ¿σ «íΩѬΓδ ó  ¡Ñ¼.
  1334.     ¥Γ¿  ¿¼Ñ¡á  ßτ¿ΓáεΓß∩  «íΩ∩ó½Ñ¡¿∩¼¿ ΓÑσ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ¿ Γᬿ¼ «íαẫ¼ «íÑß»Ñτ¿óáεΓ »α∩¼πε
  1335.     ó¿ñ¿¼«ßΓ∞ ¿¼Ñ¡«óá¡¡δσ «íΩÑ¬Γ«ó.  ê¼»«αΓ¿α«óá¡¿Ñ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á ΓᬪѠ¿¼»«αΓ¿απÑΓ  »ÑαÑ-
  1336.     τ¿ß½¿¼δÑ ½¿ΓÑαá½δ.
  1337.          ö«α¼á íѺ óδαáªÑ¡¿∩ FROM ¿¼»«αΓ¿απÑΓ ¬áªñδ⌐ ¿º ¿¼Ñ¡«óá¡¡δσ ¼«ñπ½Ñ⌐. ôßΓá¡«ó½Ñ¡¡δÑ ¿¼Ñ-
  1338.     ¡á ¿ß»«½∞ºπεΓß∩ ñ½∩ «»αÑñѽѡ¿∩ «íΩÑ¬Γ«ó ó φΓ¿σ ¼«ñπ½∩σ:
  1339.  
  1340.          ê¼∩ ::= êñÑ¡Γ '.' êñÑ¡Γ
  1341.  
  1342.          ÅÑαóδ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α «º¡áτáÑΓ ¿¼∩ ¼«ñπ½∩,  óΓ«α«⌐ - ó¡πΓαÑ¡¡¿⌐ «íΩÑ¬Γ ó ¡Ñ¼.  Æá¬«Ñ ªÑ
  1343.     πßΓá¡«ó½Ñ¡¡«Ñ «í«º¡áτÑ¡¿Ñ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ ¡á¿¼Ñ¡«óá¡¿∩ ß«íßΓóÑ¡¡δσ «íΩÑ¬Γ«ó  ¼«ñπ-
  1344.     ½∩.
  1345.  
  1346.  
  1347.          Åα¿¼Ñα:
  1348.  
  1349.          FROM Str IMPORT Put, Width;
  1350.          IMPORT Str;
  1351.          VAR S: Str.Buffer;
  1352.          ...
  1353.          Str.SetFill(' ');
  1354.          Width := Str.MaxWidth DIV 2;
  1355.          S := Put( I+7 );
  1356.  
  1357.  
  1358.                           ï«¬á½∞¡δÑ ¼«ñπ½¿
  1359.                           ----------------
  1360.  
  1361.          é ñ«»«½¡Ñ¡¿Ñ ¬ ¿σ ¿ß»«½∞º«óá¡¿ε ó ¬áτÑßΓóÑ Ññ¿¡¿µ ¬«¼»¿½∩µ¿¿  ½«¬á½∞¡δÑ  ¼«ñπ½¿  ¼«úπΓ
  1362.     íδΓ∞ «íΩ∩ó½Ñ¡δ:
  1363.  
  1364.          ÄíΩ∩ó½Ñ¡¿Ñ ::= î«ñπ½∞ ';'
  1365.  
  1366.          ï«¬á½∞¡δÑ ¼«ñπ½¿  »«ñτ¿¡∩εΓß∩  »αáó¿½á¼  ß»Ñµ¿á½∞¡«⌐  «í½áßΓ¿.  ïεí«⌐ ΓαÑíπѼδ⌐ «íΩѬΓ
  1367.     (¬α«¼Ñ »αÑñ«»αÑñѽѡ¡δσ «íΩÑ¬Γ«ó),  αáß»«½«ªÑ¡¡δ⌐ ó¡Ñ ½«¬á½∞¡«ú« ¼«ñπ½∩, ñ«½ªÑ¡ íδΓ∞ ¿¼»«α-
  1368.     Γ¿α«óá¡ ¿ ñ«½ªÑ¡ ßαáºπ íδΓ∞ ó¿ñ¿¼δ¼ ó¡Ñ ½«¬á½∞¡«ú« ¼«ñπ½∩.  Æá¬¿¼ «íαẫ¼ ¿¼»«αΓ íѺ "FROM"
  1369.     ¼«ªÑΓ ¿¼Ñ¡«óáΓ∞ ½εí«⌐ «íΩÑ¬Γ (¡Ñ Γ«½∞¬« óß»«¼«úáΓѽ∞¡δÑ ¼«ñπ½¿).  êß»«½∞º«óá¡¿Ñ Σ«α¼δ  FROM
  1370.     ΓαÑíπÑΓ ó¿ñ¿¼«ßΓ¿ ¿¼Ñ¡«óá¡¡«ú« óß»«¼«úáΓѽ∞¡«ú« ¼«ñπ½∩ (¿ Γᬿ¼ «íαẫ¼ πªÑ ¿¼»«αΓ¿α«óá¡¡«-
  1371.     ú«) ßαáºπ ªÑ ó¡Ñ ½«¬á½∞¡«ú« ¼«ñπ½∩.
  1372.          ¥¬ß»«αΓ¿α«óá¡¿Ñ αáºαÑΦáÑΓß∩ Γ«½∞¬« ó ½«¬á½∞¡δσ ¼«ñπ½∩σ:
  1373.  
  1374.          ¥¬ß»«αΓ ::= EXPORT æ»¿ß«¬êñÑ¡Γ ';'
  1375.  
  1376.        ÅÑαÑτ¿ß½Ñ¡¡δÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ  «íΩ∩ó½∩εΓß∩ ó «¬απªáεΘÑ⌐ (ó¡ÑΦ¡Ñ⌐) «í½áßΓ¿ ñ½∩ Γ«ú«, τΓ«íδ
  1377.     ßñѽáΓ∞ φΓ¿ «í½áßΓ¿ ¡Ñ»«ßαÑñßΓóÑ¡¡« ñ«ßΓπ»¡δ¼¿. ôΓ«τ¡Ñ¡¿Ñ ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡« ñ½∩ «íÑß-
  1378.     »ÑτÑ¡¿∩ ñ«ßΓπ»á ¬ ½εí«¼π «íΩѬΓπ.
  1379.          é«º¼«ª¡δÑ ß»¿ß¬¿ «»ÑαáΓ«α«ó ½«¬á½∞¡δσ ¼«ñπ½Ñ⌐ óδ»«½¡∩εΓß∩ (ó Γ«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿, ó
  1380.     ¬«Γ«α«⌐ »«∩ó½∩εΓß∩) »ÑαÑñ ß»¿ß¬«¼ «»ÑαáΓ«α«ó ó¡ÑΦ¡Ñ⌐ «í½áßΓ¿.
  1381.          ôΓ«τ¡Ñ¡¡δ⌐ φ¬ß»«αΓ íδ½ «ßΓáó½Ñ¡ ó ßἫ¼ »«ºñ¡Ñ¼ óáα¿á¡ΓÑ ("«Σ¿µ¿á½∞¡«¼")  Modula-2, ¡«
  1382.     «¡  ¡Ñ óσ«ñ¿Γ ó JPI Modula-2;  φΓ« ¿º½¿Φ¡Ñ,  »«ß¬«½∞¬π óßÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ½«¬á½∞¡δσ ¼«ñπ½Ñ⌐
  1383.     ñ«ßΓπ»¡δ ß »«¼«Θ∞ε πßΓá¡«ó½Ñ¡¡δσ ¿¼Ñ¡ ¬á¬ πú«ñ¡«.
  1384.          ìá φΓ«¼ «»¿ßá¡¿Ñ ∩ºδ¬á JPI Modula-2 ºá¬á¡τ¿óáÑΓß∩.
  1385.