AST
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
mtardy 7eb1f4934c Add '*' operator for string multiplication há 4 anos
drafts Modify drafts and tests há 4 anos
tests Add Objects with prototypes há 4 anos
.dockerignore Add Dockerfile and instructions to build with Docker há 4 anos
.gitignore Add Objects with prototypes há 4 anos
Dockerfile Add Dockerfile and instructions to build with Docker há 4 anos
Makefile Clean Makefile há 4 anos
README.md Update README on tests há 4 anos
TODO.txt Add tests and update todo há 4 anos
calc.leg Fix symbol table há 4 anos
object.c Add '*' operator for string multiplication há 4 anos
parse.leg Add '*' operator for string multiplication há 4 anos
test-incdec.txt Add tests for incdec and object instanciation há 4 anos
test-object.txt Update tests há 4 anos
test-proto.txt Add syntax to extend the language via macro há 4 anos
test-strings.txt Add '*' operator for string multiplication há 4 anos
test.txt Add for loop and switch statement há 4 anos
test1.txt Optimizing integers há 4 anos
test2.txt Modify drafts and tests há 4 anos
test3.txt Update tests há 4 anos

README.md

Javascrypt

Build the project

Requirements

Please install peg/leg manually or with Homebrew:

$ brew install peg

Please install the Boehm-Demers-Weiser conservative garbage collector manually or 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/javascrypt
$ docker run -it mtardy/javascrypt

Usage

$ echo "a=2+3 a*2" | ./calc

or

$ ./calc < file

Tests

Simple tests:

$ tests/test.sh

Custom test:

$ ./calc < tests/test.txt