C compiler with embedded metalanguage.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Theo Souchon 38b6693d23 Changing the readme 2 years ago
media Modification of the README.md 2 years ago
parsimonyLibrary Update dynamicObject.mc 2 years ago
tests-c added comments where the test fails 3 years ago
tests-cpp test folders 3 years ago
tests-err updated comments 3 years ago
tests-gnu deleted *.out files 3 years ago
tests-parsimony Simplification of dynamicObject.mc 2 years ago
tests-std deleted *.out files 3 years ago
.gitignore append part almost done & beginning of map function 2 years ago
AUTHORS Add AUTHORS and .gitignore 4 years ago
LICENSE Initial commit 4 years ago
Makefile Adding flags for HOMEBREW and update of the gitignore 2 years ago
README.md Changing the readme 2 years ago
buffer.h Initial import of framework. 4 years ago
ccmeta-input.txt new input file with dynamic C expression 3 years ago
ccmeta.leg Simplification of dynamicObject.mc 2 years ago
debug.c added a file to help debug 3 years ago
dotest updated dotest 3 years ago
object.c Fix code 2 years ago
protoNumber.txt Total independence of parsimony 2 years ago
scope.c updated scopes to be easier to manipulate 3 years ago
testPars.sh new test file and some advances in realObject 2 years ago

README.md

CCMETA

C compiler with embedded metalanguage.

Table of contents

  1. Architecture
  2. Build the project
  3. Usage
  4. Help

Architecture

alt text

Go to the table of contents

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

Makefile

Compatible with the homebrew installed on the apple silicon ship

Build

$ make

Clean

$ make clean

Test

$ make test

Go to the table of contents

Usage

How it works

You can pass your program:

  • via an input file
$ ./ccmeta < file
  • via a file
$ ./ccmeta file

Check each test file to get an idea of how parsimony works

Go to the table of contents

Help

peg/leg

$ man peg

Go to the table of contents