Giter Club home page Giter Club logo

yang's Introduction

                                                .,ad88888888baa,
                                            ,d8P"""        ""9888ba.
                                         .a8"          ,ad88888888888a
                                        aP'          ,88888888888888888a
                                      ,8"           ,88888888888888888888,
                                     ,8'            (888888888( )888888888,
                                    ,8'             `8888888888888888888888
                                    8)               `888888888888888888888,
                                    8                  "8888888888888888888)
                                    8                   `888888888888888888)
                                    8)                    "8888888888888888
                                    (b                     "88888888888888'
                                    `8,        (8)          8888888888888)
                                     "8a                   ,888888888888)
                                       V8,                 d88888888888"
                                        `8b,             ,d8888888888P'
                                          `V8a,       ,ad8888888888P'
                                             ""88888888888888888P"    

Yet Another "New GCC" (Yang)

This is a simple C compiler for a custom CPU architecture (see ying).

It is based on the following C BNF:
https://cs.wmich.edu/~gupta/teaching/cs4850/sumII06/The%20syntax%20of%20C%20in%20Backus-Naur%20form.htm

See also the Taijitu project, which is the corresponding interpreter.

Compilation

This project can be compiled using the autotools with the following commands:

~/yang $ autoreconf --install
~/yang $ ./configure
~/yang $ make

Usage

Usage: compiler [options] < FILE
Options:
  -v            Increase verbosity level.
  -q            Set verbosity level to quiet.
  -b            Output raw binary code instead of assembly.
  -o filename   Write assembly to file. Default is stdout.
  -h            Display this help message.

Running tests

To run tests:

~/yang $ python3 tests/run-tests.py -vv

yang's People

Contributors

florentrevest avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.