Building yourself a compiler

Computers are a very powerful machine that can solve problems in a short time with a huge of calculations. Computers are one of the greatest inventions of the 20th century. It will be great if we can ask a computer to solve our problem. Programming languages such as Java or C++ has been a key facto...

Full description

Saved in:
Bibliographic Details
Main Author: Ngo, Trung Le Bao
Other Authors: Ta Nguyen Binh Duong
Format: Final Year Project
Language:English
Published: 2018
Subjects:
Online Access:http://hdl.handle.net/10356/74039
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-74039
record_format dspace
spelling sg-ntu-dr.10356-740392023-03-03T20:37:43Z Building yourself a compiler Ngo, Trung Le Bao Ta Nguyen Binh Duong School of Computer Science and Engineering DRNTU::Engineering Computers are a very powerful machine that can solve problems in a short time with a huge of calculations. Computers are one of the greatest inventions of the 20th century. It will be great if we can ask a computer to solve our problem. Programming languages such as Java or C++ has been a key factor for people to communicate and interact with computers. Today, more and more programming languages are created for many specific purposes like Go for microservices, R for statistics. However, these programming languages are so hard to learn and so complicated to install a compiler. For example, to use Java, you need to install a JDK or JRE with multiple steps and many configurations which are error-prone and hard to debug. These languages are not suitable for a simple program with a small number of code lines. Luckily, the core principle to create a new language is not so complicated. People only need a basic understanding of lexical, syntax and semantic specifications to create a simple programming language. Users can use their own simple programming languages to meet their requirements. However, one of the current challenges is that we lack tools for beginners to create a language on their own. In this project, an online compiler generator was developed so that create a compiler with declared lexical and syntax specifications. Specifically, users will key in the keywords and rules of syntax, then the generator will generate a compiler respect to provided tokens and rules. Users can run their script on the online editor or offline editor by downloading the generated compiler. This report was written to discuss every aspect of all the work, including the way of what I have done, the challenges I have met and comment on them. Moreover, remaining problems and future features are also mentioned so that this project can be continued in the next years and become a useful tool not only for NTU students but also for other engineers who want to create a programming language for their need. Bachelor of Engineering (Computer Science) 2018-04-23T14:27:26Z 2018-04-23T14:27:26Z 2018 Final Year Project (FYP) http://hdl.handle.net/10356/74039 en Nanyang Technological University 49 p. application/pdf
institution Nanyang Technological University
building NTU Library
continent Asia
country Singapore
Singapore
content_provider NTU Library
collection DR-NTU
language English
topic DRNTU::Engineering
spellingShingle DRNTU::Engineering
Ngo, Trung Le Bao
Building yourself a compiler
description Computers are a very powerful machine that can solve problems in a short time with a huge of calculations. Computers are one of the greatest inventions of the 20th century. It will be great if we can ask a computer to solve our problem. Programming languages such as Java or C++ has been a key factor for people to communicate and interact with computers. Today, more and more programming languages are created for many specific purposes like Go for microservices, R for statistics. However, these programming languages are so hard to learn and so complicated to install a compiler. For example, to use Java, you need to install a JDK or JRE with multiple steps and many configurations which are error-prone and hard to debug. These languages are not suitable for a simple program with a small number of code lines. Luckily, the core principle to create a new language is not so complicated. People only need a basic understanding of lexical, syntax and semantic specifications to create a simple programming language. Users can use their own simple programming languages to meet their requirements. However, one of the current challenges is that we lack tools for beginners to create a language on their own. In this project, an online compiler generator was developed so that create a compiler with declared lexical and syntax specifications. Specifically, users will key in the keywords and rules of syntax, then the generator will generate a compiler respect to provided tokens and rules. Users can run their script on the online editor or offline editor by downloading the generated compiler. This report was written to discuss every aspect of all the work, including the way of what I have done, the challenges I have met and comment on them. Moreover, remaining problems and future features are also mentioned so that this project can be continued in the next years and become a useful tool not only for NTU students but also for other engineers who want to create a programming language for their need.
author2 Ta Nguyen Binh Duong
author_facet Ta Nguyen Binh Duong
Ngo, Trung Le Bao
format Final Year Project
author Ngo, Trung Le Bao
author_sort Ngo, Trung Le Bao
title Building yourself a compiler
title_short Building yourself a compiler
title_full Building yourself a compiler
title_fullStr Building yourself a compiler
title_full_unstemmed Building yourself a compiler
title_sort building yourself a compiler
publishDate 2018
url http://hdl.handle.net/10356/74039
_version_ 1759855494557597696