Skip to content

EddieEldridge/GoLangAutomaton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

golang automaton

A regular expression engine built in the Go programming langauge

Contents

Description

The aim of this project is to write a program in the Go programming language that can build a non-deterministic finite automaton (NFA) from a regular expression, and can use the NFA to check if the regular expression matches any given string of text.

How to run the program

This program uses the Go programming language .

If you do not currently have Go installed click on the following link to download INSTALL GO

To clone the repository to your local machine, using your prefered command prompt, navigate to the folder you wish to download the files to and enter

git clone https://github.com/EddieEldridge/GoLangAutomaton

There is two ways to run this program

  1. Build and Run Navigate to the GoLangAutomata\main folder and enter the following to compile the code
go build main.go

This will create a .exe file in your current directory.To run the file that is created (note, unless specified, Go will name the .exe after the name of the folder which contrains the main.go file. E.g. in my case, my folder is called 'main' so an .exe called 'main.exe' is created)

main.exe
  1. Run to simply run the program in your command prompt enter the following
go run main.go

Information

For more information on concepts discussed and used in this program, please refer to the Wiki and resources below.

Technologies

Resources

Developers

Edward Eldridge (G00337490)

Acknowledgments

  • Dr. Ian Mcloughlin - For help with the foundations of the project
  • Cian Gannon - For bringing my attention to the fact that '/r' and '/n' characters were being passed into the PostMatch function

About

A regular expression engine built using Go

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages