LSE ( фр . Langage symbolique d'enseignement ) — язык программирования, разработанный в Supélec и Télémécanique с конца 1960-х до середины 1970-х годов. [1] [2] [3] [4] Он похож на BASIC , за исключением ключевых слов на французском языке вместо ключевых слов на английском языке. Он был получен из более раннего языка под названием LSD , также разработанного в Supélec. Чаще всего его называют аббревиатурой от Langage Symbolique d'Enseignement (символический язык обучения), но известны и другие расширения (например, Langage de Sup-Élec или более циничный Langage Sans Espoir (безнадежный язык)).
LSE изначально процветал, потому что будучи «интерпретируемым», используемые «токены» были общими для всех языков, и с национализированным «редактором» токенизированные программы могли быть перечислены на любом языке. Очевидно, поддержка со стороны Министерства национального образования Франции была очень важна, но она снизилась, поскольку министерство потеряло интерес. Он прошел через ряд изменений; более ранние версии LSE не имели полной поддержки структурного программирования , более поздние версии, такие как LSE-83 (он же LSE-1983) Жака Арсака, добавили поддержку структурного программирования вместе с обработкой исключений . [5] Даже более поздние изменения, такие как LSE-2000, добавили больше функциональности, новые типы, новые операторы (NI, ET QUE, OU QUE и SELON-DANS-SINON), команды управления потоком и т. д.
1*ШАНСОН ДЕ 99 БУТЕЙ ДЕ БЬЕР 2*ПАСКАЛЬ БУРГИНЬОН, 2003 10 FAIRE 20 POUR N ←99 PAS -1 JUSQUA 1 20 &СТРОФ(Н) 30 ПРИЛОЖЕНИЕ ['IL EST TEMPS D''ALLER AU MAGASIN.',/] 40 ТЕРМИНЕР100 ПРОЦЕДУРА &STROF(N) ЛОКАЛЬНАЯ S1,S0;ЦЕПЬ S1,S0;S1←"S";S0←"S"110 SI N=2 ALORS S0 ←"" SINON SI N=1 ALORS DEBUT S1 ←"";S0 ←"" FIN120 AFFICHER[U,' BOUTEILLE',U,' DE BIERE SUR LE MUR.',/]N,S1130 AFFICHER[U,' BOUTEILLE',U,' DE BIERE.',/]N,S1140 AFFICHER['EN PRENDRE UNE, LA FAIRE PASSER.',/]150 AFFICHER[U,' BOUTEILLE',U,' DE BIERE SUR LE MUR.',2/]N-1,S0160 ВОЗВРАТ
Пример от Жака Арсака в LSE83: [5]
1 ЦЕПЬ А, В, ВР5 ЯРМАРКА10 АФФИШЕР 'A =' ;LIRE A ; SI A='' ALORS FINI IS11 СЛОВО 'B =' ;LIRE B ; БП ← Б1215 R SI LGR(A) # LGR(B) ALORS .FAUX. СИНОН И АНАГ(А,В) ЕСТЬ20 SI R ALORS AFFICHER A, 'EST ANAGRAMME DE', BP21 SINON AFFICHER A, 'N''EST PAS ANAGRAMME DE 1, BP22 ИС25 БУКЛЕР2930 ТЕРМИНЕР3150 ФУНКЦИЯ &ANAG(U,V) ЛОКАЛЬНЫЙ J {lgr(u)=lgr(v)}51 SI U=' ' РЕЗУЛЬТАТ ALORS .VRAI. ЯВЛЯЕТСЯ52 SI J = 0 РЕЗУЛЬТАТ ALORS .FAUX. ЯВЛЯЕТСЯ54 РЕЗУЛЬТАТ &ANAG(SCH(U,2, ' '),MCH(V,J,l, ' '))55 долларов США &ANAG99 долларов
(*** MÉTHOD D'EUCLIDE POUR TROUVER LE PLUS GRAND DIVISEUR Commun D'UN** НОМЕР И ЗНАЧИТЕЛЬ.** Л. Гуле 2010*)ПРОЦЕДУРА &PGDC(ENTIER U, ENTIER V): ENTIER LOCAL U, V ЕНТЬЕР Т ТАК ЧТО U > 0 СПРАВЕДЛИВО SI U< ЦЕННОСТИ T←U U←V V←Т ФИН СИ У ← У - В БУКЛЕР РЕЗУЛЬТАТ VПРОЦЕДУРА FINПРОЦЕДУРА &ДЕМО(ENTIER U, ENTIER V) ЛОКАЛЬНЫЙ U, V AFFICHER ['Le PGDC de ',U,'/',U,' est ',U,/] U, V, &PGDC(U,V)ПРОЦЕДУРА FIN&ДЕМО(9,12)
Язык LSE (Langage Symbolique d'Enseignement – символьный язык обучения) был определен в моей лаборатории в 1971 году и реализован на системах MITRA 15 и T1600, обе произведенных во Франции.