Skip to content
/ imp-go Public

Implementation of a typechecker, evaluator, and parser for a simple imperative language (IMP) written in Go.

License

Notifications You must be signed in to change notification settings

Pyronix/imp-go

Repository files navigation

IMP Go

GitHub Workflow Status codecov

As a apart of the elective course "Modellbasierte Softwareentwicklung"
at the Hochschule Karlsruhe – University of Applied Sciences (HKA) this group project aims at implementing a

  • Typechecker
  • Evaluator
  • Parser

for a given simple imperative language (IMP).

Details for IMP can be found here:
https://sulzmann.github.io/ModelBasedSW/imp.html#(1)

Using

First build the program by using

go build

REPL

After building run

./imp

to bring up the IMP REPL

Run from file

You can run IMP programs from a given file by using

./imp run <path>

e.g.

./imp run ./examples/fizz_buzz.imp

Testing

Export Test Coverage as HTML

  • Use go test with the -coverprofile flag
  • Use go tool cover to generate html

Command:

go test -coverprofile cov.out ./... && go tool cover -html=cov.out -o cov.out.html

About

Implementation of a typechecker, evaluator, and parser for a simple imperative language (IMP) written in Go.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages