Интернет магазин китайских планшетных компьютеров



Компьютеры - Грамматика ван Вейнгаардена - Примеры из ALGOL 68

23 января 2011


Оглавление:
1. Грамматика ван Вейнгаардена
2. Примеры из ALGOL 68
3. История
4. Применения кроме ALGOL 68



До языка ALGOL 68 был формализован ALGOL 60 посредством контекстно-свободных форм Бекуса-Наура. Появление новых контекстно-зависимых двухуровневых грамматик представляло трудность для некоторых читателей «Финального отчёта» по ALGOL 68 в 1968 году. Впоследствии, финальный отчёт был отредактирован Вейнгаарденом и коллегами, и опубликован как «Отредактированный отчёт» по ALGOL 68 в 1973 году.

ALGOL 68 в отчёте 1968 года § 2.1

a) program : open symbol, standard prelude,
     library prelude option, particular program, exit,
     library postlude option, standard postlude, close symbol.
b) standard prelude : declaration prelude sequence.
c) library prelude : declaration prelude sequence.
d) particular program :
     label sequence option, strong CLOSED void clause.
e) exit : go on symbol , letter e letter x letter i letter t, label symbol.
f) library postlude : statement interlude.
g) standard postlude : strong void clause train

ALGOL 68 в отредактированном отчёте 1973 года § 2.2.1, § 10.1.1

program : strong void new closed clause

A) EXTERNAL :: standard ; library ; system ; particular.
B) STOP :: label letter s letter t letter o letter p.
a) program text : STYLE begin token, new LAYER1 preludes, 
       parallel token, new LAYER1 tasks PACK, 
       STYLE end token.
b) NEST1 preludes : NEST1 standard prelude with DECS1, 
       NEST1 library prelude with DECSETY2, 
       NEST1 system prelude with DECSETY3, where is
      .
c) NEST1 EXTERNAL prelude with DECSETY1 : 
       strong void NEST1 series with DECSETY1, go on token ; 
       where is, EMPTY.
d) NEST1 tasks : NEST1 system task list, and also token, 
       NEST1 user task PACK list.
e) NEST1 system task : strong void NEST1 unit.
f) NEST1 user task : NEST2 particular prelude with DECS, 
       NEST2 particular program PACK, go on token, 
       NEST2 particular postlude, 
       where is.
g) NEST2 particular program : 
       NEST2 new LABSETY3 joined label definition
       of LABSETY3, strong void NEST2 new LABSETY3
       ENCLOSED clause.
h) NEST joined label definition of LABSETY : 
       where is, EMPTY ; 
       where is, 
          NEST label definition of LAB1, 
          NEST joined label definition of$ LABSETY1. 
i) NEST2 particular postlude :
       strong void NEST2 series with STOP.


Просмотров: 5862


<<< АПЛ (язык программирования)
Графический язык программирования >>>