Қарлы дауыл - Snostorm

Қарлы дауыл (Snostorm3) - нұсқасының нұсқасы SNOBOL4 тіл құрылымдық бағдарламалау құрылымдар қосылды. SNOBOL4-те бағдарламаланған құрылымдық құрылымдардың жоқтығын IF, ELSEIF, ELSE, LOOP, CASE және PROCEDURE мәлімдемелерін және басқаларын ұсыну арқылы өтейді. Ол бастапқыда Фред Г.Сварцпен алдын-ала процессор ретінде жобаланған және енгізілген SPITBOL астында жүгіру Мичиганның терминалдық жүйесі (МТС) Мичиган университеті Есептеу орталығы 1970 ж.[1]

Мүмкіндіктер қосылды

Қосылған функцияларға логикалық операторлар, процедуралар, инициализация блоктары, жақсартылған түсініктемелер және листингті басқару кіретін басқару құрылымдары кіреді.[1]

Грамматикаға келесі құрылымдар кіреді:[1]

Логикалық операторлар
  • ЖӘНЕ, НЕМЕСЕ, және ЕМЕС логикалық операторлар.
Басқару құрылымдары
  • IF, ELSEIF, ELSE және ENDIF операторлары.
  • LOOP, LOOP WHILE, LOPOP UNTIL дейін, LOOP FOR, EXITLOOP, NEXTLOOP, ENDLOOP және ENDLOOP REPEAT операторлары.
  • DOCASE, CASE, ELSECASE және ENDCASE мәлімдемелері.
  • PROCEDURE (PROC), EXITPROCEDURE (EDITPROC) және ENDPROCEDURE (ENDPROC) мәлімдемелері.
Инициализация
  • Бастапқы және ақырғы тұжырымдар
Жақсартылған түсініктемелер
  • 1-бағаннан басқа бағандардағы жұлдызшадан (*) басталатын түсініктемелер.
  • Бос жолдар түсініктеме ретінде қарастырылды.
Листингті басқару
  • EJECT, TITLE, SUBTITLE, SPACE, LIST ON, LIST OFF, LIST PUSHON, LIST PUSHOFF және POP операторларының тізімдері.

Сонымен қатар, MTS Snostorm үшін опциялар ұсынылды әдемі басып шығару және Spitbol компиляторымен түзету үшін.

Snostorm синтаксисі кеңістіктер мен жаңа сызықтарға айтарлықтай сезімтал емес, бірақ SNOBOL4-ті орындау үшін тәуелді болғандықтан.

Мысал

SNOBOL4 бағдарламасы SNOBOL4 бағдарламалау тілі Грисволд, Поаге және Полонский[2] содан кейін Snostorm-да қайта жазылған сол бағдарлама.[1]

  • SNOBOL4 түпнұсқа бағдарламасы.
       ...ОҚЫҢЫЗ   ШЫҒАРУ         = КІРІС          :F(ДИСПЛЕЙ)       МӘТІН           = ШЫҒАРУКЕЛЕСІ   МӘТІН ҚАРСЫ      =                :F(ОҚЫҢЫЗ)       COUNT<CH>      = COUNT<CH> + 1  :(КЕЛЕСІ)       ДИСПЛЕЙ ШЫҒАРУ =ІЛІК   Хаттар ҚАРСЫ   =                :F(СОҢЫ)       ШЫҒАРУ         = NE(COUNT<CH>) CH 'ОҚИҒАЛАР' COUNT<CH> «УАҚЫТТАР»+                                      :(ІЛІК)СОҢЫ
  • Snostorm-да қайта жазылған сол бағдарлама.
       ... LOOP WHILE TEXT = INPUT OUTPUT = MEXT LOOP WHILE MEXT CHAR = COUNT  = COUNT  + 1 ENDLOOP ENDLOOP OUTPUT = LOOP WHILE LETTERS CHAR = IF NE (COUNT ) OUTPUT = CH 'ОҚЫТУ' COUNT  'TIMES' ENDIF ENDLOOPEND

Пайдаланыңыз

Мичиган Терминал жүйесі жұмыс істейтін сегізден он беске дейінгі учаскелерде қолданумен қатар,[1] Snostorm3 компиляторы болған Лондон университетінің колледжі (UCL) 1982-1984 жж. Және Snostorm3-ті SNOBOL4-ке компиляциялау арқылы жұмыс істеді, оны SNOBOL4 интерпретаторы көмегімен немесе орындалатын файл жасау үшін SPITBOL компиляторы көмегімен орындауға болады.[дәйексөз қажет ]

Пайдаланылған әдебиеттер

  1. ^ а б c г. e «SNOSTORM», МТС 9-том: МТС-те SNOBOL4, Есептеу орталығы, Мичиган университеті, 1979 ж. Маусым, 99-120 беттер. Алынған 1 қыркүйек 2014 ж.
  2. ^ Грисволд, Ральф Е., Дж.Ф. Поуж және И. П. Полонский (1968). SNOBOL4 бағдарламалау тілі. Englewood Cliffs, NJ: Prentice Hall, ISBN  0-13-815373-6.

Сыртқы сілтемелер