LSE (programming language)
LSE (French: Langage symbolique d'enseignement) is a programming language developed at SupĂ©lec and TĂ©lĂ©mĂ©canique from the late 1960s to the mid-1970s.[1][2][3][4] It is similar to BASIC, except with French-language instead of English-language keywords. It was derived from an earlier language called LSD, also developed at SupĂ©lec. It is most commonly said to be an acronym for Langage Symbolique d'Enseignement (Symbolic Teaching Language), but other expansions are also known (e.g. Langage de Sup-Ălec, or the more cynical Langage Sans Espoir (hopeless language)).
LSE originally flourished because being "interpreted", the "tokens" used were common to all languages and with a nationalized "editor", tokenized programs could be listed in any language. Obviously, the support from the French Ministry of National Education was very important, but it declined as the ministry lost interest. It went through a number of revisions; earlier versions of LSE lacked full support for structured programming, later versions such as LSE-83 (aka LSE-1983) by Jacques Arsac added structured programming support, along with exception handling.[5] Even later revisions, such as LSE-2000, added more functionality, new types, new operators (NI, ET QUE, OU QUE and SELON-DANS-SINON), flow control commands, etc.
Code examples
[edit]99 Bottles (AFNOR Z 65-020)
[edit]1*CHANSON DES 99 BOUTEILLES DE BIERE 2*PASCAL BOURGUIGNON, 2003 10 FAIRE 20 POUR Nâ99 PAS -1 JUSQUA 1 20 &STROF(N) 30 AFFICHER['IL EST TEMPS DââALLER AU MAGASIN.',/] 40 TERMINER 100 PROCEDURE &STROF(N) LOCAL S1,S0;CHAINE S1,S0;S1â"S";S0â"S" 110 SI N=2 ALORS S0â"" SINON SI N=1 ALORS DEBUT S1â"";S0â"" FIN 120 AFFICHER[U,' BOUTEILLE',U,' DE BIERE SUR LE MUR.',/]N,S1 130 AFFICHER[U,' BOUTEILLE',U,' DE BIERE.',/]N,S1 140 AFFICHER['EN PRENDRE UNE, LA FAIRE PASSER.',/] 150 AFFICHER[U,' BOUTEILLE',U,' DE BIERE SUR LE MUR.',2/]N-1,S0 160 RETOUR
Anagrams (LSE-1983)
[edit]Example from Jacques Arsac in LSE83:[5]
1 CHAINE A,B,BP
5 FAIRE
10 AFFICHER 'A = ' ;LIRE A ; SI A=ââ ALORS FINI IS
11 AFFICHER 'B = ' ;LIRE B ; BP â B
12
15 R SI LGR(A) # LGR(B) ALORS .FAUX. SINON &ANAG(A,B) IS
20 SI R ALORS AFFICHER A, 'EST ANAGRAMME DE ',BP
21 SINON AFFICHER A, 'NââEST PAS ANAGRAMME DE 1, BP
22 IS
25 BOUCLER
29
30 TERMINER
31
50 FONCTION &ANAG(U,V) LOCAL J {lgr(u)=lgr(v)}
51 SI U=' ' ALORS RESULTAT .VRAI. IS
52 SI J = 0 ALORS RESULTAT .FAUX. IS
54 RESULTAT &ANAG(SCH(U,2, ' '),MCH(V,J,l, ' '))
$55 &ANAG
$99
Largest common divisor, Euclid's algorithm (LSE2000)
[edit](*
** MĂTHODE D'EUCLIDE POUR TROUVER LE PLUS GRAND DIVISEUR COMMUN D'UN
** NUMĂRATEUR ET D'UN DĂNOMINATEUR.
** L. Goulet 2010
*)
PROCĂDURE &PGDC(ENTIER U, ENTIER V) : ENTIER LOCAL U, V
ENTIER T
TANT QUE U > 0 FAIRE
SI U< V ALORS
TâU
UâV
VâT
FIN SI
U â U - V
BOUCLER
RĂSULTAT V
FIN PROCĂDURE
PROCĂDURE &DEMO(ENTIER U, ENTIER V) LOCAL U, V
AFFICHER ['Le PGDC de ',U,'/',U,' est ',U,/] U, V, &PGDC(U,V)
FIN PROCĂDURE
&DEMO(9,12)
References
[edit]- ^ Hebenstreit, Jacques (2006). "The '10,000 microcomputers plan' in France". In Jacquetta Megarry (ed.). World Yearbook of Education 1982/3: Computers and Education. Routledge. p. 126. ISBN 978-1-136-16772-0.
The language LSE (Langage Symbolique d'Enseignementâa symbolic teaching language) was defined at my laboratory in 1971 and implemented on the MITRA 15 and T1600, both French-made systems.
- ^ Pascal Marquet (2004). Informatique et enseignement: progrÚs ou évolution? (in French). Editions Mardaga. p. 19. ISBN 978-2-87009-875-2.
- ^ Héctor Schmucler (1997). Memoria de la comunicación (in Spanish). Editorial Biblos. p. 178. ISBN 978-950-786-141-3.
- ^ "La Saga du LSE et de sa famille (LSD/LSG/LST)", by Yves Noyelle, May 1988. http://www.epi.asso.fr/revue/54/b54p216.htm (in French) "Toutes ces contraintes ont mené entre Mars 1968 et Mars 1969 à la conception de LSD ... La saga du LSE suit celle du LSD, et son origine est le colloque CERI/OCDE de SÚvres (mars 1970) ... Les gens de Télémécanique mirent le paquet sur ce projet ... et livrÚrent deux systÚmes fin Octobre 1972. ... Le développement des LSx s'est étendu sur neuf années (1968-1976), avec quelques interruptions."
- ^ a b Arsac, Jacques (1985). "LSE 83" (PDF). Bulletin de l'EPI (in French) (38): 116â137.
External links
[edit]- [1] 99 Bottles program written in LSE
- An implementation of L.S.E. Archived 2016-03-03 at the Wayback Machine