St Andrews Research Repository

St Andrews University Home
View Item 
  •   St Andrews Research Repository
  • Computer Science (School of)
  • Computer Science
  • Computer Science Theses
  • View Item
  •   St Andrews Research Repository
  • Computer Science (School of)
  • Computer Science
  • Computer Science Theses
  • View Item
  •   St Andrews Research Repository
  • Computer Science (School of)
  • Computer Science
  • Computer Science Theses
  • View Item
  • Register / Login
JavaScript is disabled for your browser. Some features of this site may not work without it.

A syntax analysis and manipulation tool

Thumbnail
View/Open
AllanMilneMScThesis1986_original_C.pdf (30.35Mb)
Date
1986
Author
Milne, Allan C.
Supervisor
Davie, A. J. T. (Antony J. T.), 1939-
Metadata
Show full item record
Abstract
A software system for analysing and manipulating an LL(1) grammar of a programming language is described. An extended form of BNF notation is presented for the specification of the syntax. The transformations which can be performed upon the defined grammar are described. The system is particularly designed for the processing of LL(1) grammars, although many of the analysis and manipulation functions will be applicable to a wide range of grammar types. The software system (called LL1) performs various transformations upon the input grammar; to translate it into standard BNF, to remove useless productions and direct left recursion, and to attempt to arrive at an LL(1) definition. LL1 also provides various analyses of the grammar and will output the final syntax in human/machine readable form. A facility is provided to generate a recursive descent parser, incorporating a simple lexical analyser, which will recognise valid sentences of the defined language. A justification for these transformations and analyses is given and this is put in the context of the overall language design process. A definition and description of LL(1) grammars and the recursive descent compiling technique is made together with a description of the structure and operation of LL1.
Type
Thesis, MSc Master of Science
Collections
  • Computer Science Theses
URI
http://hdl.handle.net/10023/21848

Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.

Advanced Search

Browse

All of RepositoryCommunities & CollectionsBy Issue DateNamesTitlesSubjectsClassificationTypeFunderThis CollectionBy Issue DateNamesTitlesSubjectsClassificationTypeFunder

My Account

Login

Open Access

To find out how you can benefit from open access to research, see our library web pages and Open Access blog. For open access help contact: openaccess@st-andrews.ac.uk.

Accessibility

Read our Accessibility statement.

How to submit research papers

The full text of research papers can be submitted to the repository via Pure, the University's research information system. For help see our guide: How to deposit in Pure.

Electronic thesis deposit

Help with deposit.

Repository help

For repository help contact: Digital-Repository@st-andrews.ac.uk.

Give Feedback

Cookie policy

This site may use cookies. Please see Terms and Conditions.

Usage statistics

COUNTER-compliant statistics on downloads from the repository are available from the IRUS-UK Service. Contact us for information.

© University of St Andrews Library

University of St Andrews is a charity registered in Scotland, No SC013532.

  • Facebook
  • Twitter