C compiler with embedded metalanguage.
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
Ian Piumarta 88af7147a0 Remove stale ccmeta-input.txt. 2 yıl önce
doc Update author information. 2 yıl önce
examples Add C metaprogramming examples. 2 yıl önce
src Add boot and library meta code. 2 yıl önce
tests Add parsimony tests. 2 yıl önce
.gitignore Ignore more junk. 2 yıl önce
AUTHORS Update author information. 2 yıl önce
LICENSE Initial commit 3 yıl önce
README.md README.md is a symlink to the one in doc. 2 yıl önce

README.md

CCMETA

C compiler with embedded metalanguage.

Table of contents

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

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

Authors

Ian Piumarta (2016-)

  • infrastructure
  • parsing framework
  • C grammar, C AST
  • object system design and implementation
  • metalanguage design and implementation, features, development, etc.

Mahe Tardy (2020)

  • object system implementation
  • metalanguage implementation

Nathan Razafimanantsoa, Kumar Mahadayya (2021)

  • C AST

Theo Souchon (2022-2023)

  • metalanguage features, development, tests, examples
  • grammar, object system changes for metalanguage
  • source and repository reorganisation