LSE (programming Language)
   HOME

TheInfoList



OR:

LSE () is a
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
developed at
Supélec École supérieure d'électricité (, ), commonly known as Supélec (), was a French graduate school of engineering. It was one of the most prestigious grande écoles in France in the field of electrical engineering, energy and information scien ...
and Télémécanique from the late 1960s to the mid-1970s."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." It is similar to
BASIC Basic or BASIC may refer to: Science and technology * BASIC, a computer programming language * Basic (chemistry), having the properties of a base * Basic access authentication, in HTTP Entertainment * Basic (film), ''Basic'' (film), a 2003 film ...
, 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 Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making specific disciplined use of the structured control flow constructs of selection ( if/then/else) and repet ...
, later versions such as LSE-83 (aka LSE-1983) by Jacques Arsac added structured programming support, along with
exception handling In computing and computer programming, exception handling is the process of responding to the occurrence of ''exceptions'' – anomalous or exceptional conditions requiring special processing – during the execution of a program. In general, an ...
. 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


99 Bottles (AFNOR Z 65-020)

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 ,' BOUTEILLE',U,' DE BIERE SUR LE MUR.',/,S1 130 AFFICHER ,' BOUTEILLE',U,' DE BIERE.',/,S1 140 AFFICHER EN PRENDRE UNE, LA FAIRE PASSER.',/ 150 AFFICHER ,' BOUTEILLE',U,' DE BIERE SUR LE MUR.',2/-1,S0 160 RETOUR


Anagrams (LSE-1983)

Example from Jacques Arsac in LSE83: 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 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)

(* ** 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


External links



99 Bottles of Beer, 99 Bottles program written in LSE
An implementation of L.S.E.
{{Authority control Procedural programming languages Non-English-based programming languages BASIC programming language family Programming languages created in the 1970s