AST
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
mtardy b51fe9f606
Add nice format for runtime errors (#12)
pirms 4 gadiem
drafts Modify drafts and tests pirms 4 gadiem
tests Add Objects with prototypes pirms 4 gadiem
.dockerignore Add Dockerfile and instructions to build with Docker pirms 4 gadiem
.gitignore Add Objects with prototypes pirms 4 gadiem
Dockerfile Update README and Dockerfile pirms 4 gadiem
Makefile Clean Makefile pirms 4 gadiem
README.md Update README and Dockerfile pirms 4 gadiem
TODO.txt Add tests and update todo pirms 4 gadiem
calc.leg Fix symbol table pirms 4 gadiem
object.c Add nice format for runtime errors (#12) pirms 4 gadiem
parse.leg Add nice format for runtime errors (#12) pirms 4 gadiem
test-incdec.txt Add tests for incdec and object instanciation pirms 4 gadiem
test-object.txt Update tests pirms 4 gadiem
test-proto.txt Add nice format for runtime errors (#12) pirms 4 gadiem
test-runtime-error.txt Add nice format for runtime errors (#12) pirms 4 gadiem
test-strings.txt Add '*' operator for string multiplication pirms 4 gadiem
test.txt Update test files pirms 4 gadiem
test1.txt Optimizing integers pirms 4 gadiem
test2.txt Modify drafts and tests pirms 4 gadiem

README.md

Sandbox

Build the project

Requirements

Please install peg/leg manually or with a package manager, for example with Homebrew:

$ brew install peg

Please install the Boehm-Demers-Weiser conservative garbage collector manually or with a package manager, for example with Homebrew:

$ brew install bdw-gc

Build

$ make

Build with Docker

The Docker image provides a ready to go environment to experiment with the project. Just build the image locally and run an interactive shell inside the container:

$ docker build . --tag mtardy/sandbox
$ docker run -it mtardy/sandbox

Usage

Single input

You can pass your program:

  • via the standard input
$ echo "a=2+3 a*2" | ./parse
$ ./parse < file
  • via a file
$ ./parse file

Multiple inputs

You can also pass multiple files and use - in any order as the standard input when mixing files and standard input, for example:

$ ./parse file1 - file2 < file3
$ echo "a=2+3 a*2" | ./parse file1 file2 -