Published June 21, 1972
| Version v1
Miscellaneous
Open
Syntax analysis of an Algol extension for a vector machine
Description
This research thesis addresses the study of the definition of vector extensions aimed at extending the Algol 60 programming language. This syntax analysis is the first of the three main components of a future extended Algol compiler which is to operate on a vector machine, the other components being the semantic analysis and the code generation. The author presents the characteristics of the vector machine and the most interesting statements, defines the syntax of Algol and of vector extensions, and presents some examples. He presents the general philosophy adopted for this analysis, some options adopted for the definition of algorithms within the frame of a lexicographic analysis and of syntax analysis
Abstract (French)
Le langage ALGOL 60 auquel nous nous interessons ici fut defini en 1963 par un groupe de chercheurs europeens apres plusieurs annees d'etudes. Ce langage algorithmique a ete defini comme etant completement independant des moyens technologiques utilises pour construire les ordinateurs. C'est dans cette optique que le rapport de base ne se preoccupe pas, par erreur, des moyens d'entree et de sortie des donnees ou des resultats. Un ensemble d'entree-sortie a ete defini par KNUTH pour ce langage. Il permet une ecriture concise des ordres d'entree-sortie et autorise une tres grande diversite dans la presentation des resultats. Ce langage tres interessant, du fait de sa definition bien structuree et de sa simplicite d'emploi, donne un moyen aise pour la mise au point et la communication d'algorithmes entre chercheurs. D'autre part la structure de bloc et l'utilisation des variables definies localement dans un bloc permet une mise en commun aisee des travaux effectues par plusieurs utilisateurs. C'est la definition d'extensions vectorielles, destinees a etendre ce langage, ainsi que l'analyse syntaxique du langage etendu que nous allons etudier. Cette analyse syntaxique constituera la premiere des trois parties principales du futur compilateur ALGOL Etendu qui fonctionnera sur une machine vectorielle. Les deux autres parties etant constituees respectivement par l'analyse semantique, qui effectuera la partie de l'analyse 'dependante du contexte' en verifiant le type correct des expressions et la validite des declarations, calculera la fermeture transitive de la matrice d'incidence (pour les differents appels de procedure) et preparera en optimisant au maximum une liste de pseudo-instructions a trois adresses, et par la generation du code qui partant de la liste des pseudo-instructions produira une suite d'instructions machine directement executables en effectuant une allocation des registres aussi optimale que possible. Comme tout le reste du compilateur cette analyse syntaxique est ecrite pour permettre au compilateur d'etre reentrant et 'independant de la position' c'est-a-dire executable quelle que soit l'adresse a laquelle il est charge en memoire. La machine vectorielle qui est utilisee pour ce compilateur possede une structure et un jeu d'instructions fort puissants en ce qui concerne le calcul vectoriel et le traitement des chaines. Algorithmes et codes du compilateur ALGOL Etendu se doivent de les utiliser a leur maximum de puissance. Les extensions apportees ont pour but de donner a l'utilisateur acces a cette puissance. Elles permettent en outre de generer a peu de frais un code extremement optimise. Le travail de codage a ete execute en utilisant le langage d'assemblage de la machine et son jeu d'instructions. Le premier chapitre presente les caracteristiques de cette machine et l'ensemble des instructions les plus interessantes. Le second chapitre definit la syntaxe d'ALGOL et des extensions vectorielles qui y ont ete apportees en justifiant les limites donnees a ces extensions et en presentant quelques exemples d'application. Enfin il presente la philosophie generale utilisee pour cette analyse. Les deux derniers chapitres presentent dans le detail les options prises au moment de la definition des algorithmes, dans le cadre de l'analyse lexicographique pour le troisieme chapitre et dans le cadre de l'analyse syntaxique pour le quatrieme. Une serie d'appendices references dans le texte donnent certains renseignements supplementairesFiles
47078147.pdf
Files
(70.7 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:34a683a652334b43b82d34dc96886da7
|
70.7 MB | Preview Download |
Additional details
Additional titles
- Original title (French)
- Analyse syntaxique d'une extension d'algol pour une machine vectorielle
Identifiers
Publishing Information
- Imprint Pagination
- 281 p.
- Report number
- FRCEA-TH--7343
INIS
- Country of Publication
- France
- Country of Input or Organization
- France
- INIS RN
- 47078147
- Subject category
- S97: MATHEMATICAL METHODS AND COMPUTING;
- Resource subtype / Literary indicator
- Thesis
- Descriptors DEI
- ALGOL; ALGORITHMS; AUGMENTATION; COMPUTER CODES; DATA COMPILATION; PARALLEL PROCESSING; SUPERCOMPUTERS; TRANSLATORS; VECTOR PROCESSING
- Descriptors DEC
- COMPUTER CODES; COMPUTERS; DATA; DATA PROCESSING; DIGITAL COMPUTERS; INFORMATION; MATHEMATICAL LOGIC; PROCESSING; PROGRAMMING; PROGRAMMING LANGUAGES
Optional Information
- Notes
- 7 refs.; Available from the INIS Liaison Officer for France, see the 'INIS contacts' section of the INIS website for current contact and e-mail addresses: http://www.iaea.org/inis/Contacts/