Giter Site home page Giter Site logo

practical / practical-sa Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 689 KB

The Practical Programming Language - Semantic Analyzer

License: Boost Software License 1.0

Makefile 0.54% M4 4.48% C++ 94.98%
programming-language compiler runtime-library practical-programming-language semantic-analyzer-library programming-language-development

practical-sa's Introduction

Wrong Repository?

If you're looking for the actual Practical compiler, this is the wrong repository. Check out the Practicomp project (of which this is a subproject) for the stand-alone compiler.

Tracking Progress and Community

You can watch this repository to get minute updates on minor improvements to the language. Announcements on more significant milestones will be posted to the announcement forum at https://forum.practical-pl.org. This is also the place to ask questions about the language and its details.

If all you want is to get a taste for the program's syntax, please have a look at the code we use to test the compiler with.

Practical: Semantic Analyzer

This is the repository for the semantic analyzer library for the Practical programming language.

In order to make tooling easier, as well as allowing different back end implementations easy, the Practical compiler is split into a semantic analyzer library, and the actual glue that generates the code. The semantic analyzer is built to be generic, allowing implementing compilers over LLVM, GCC and Visual C backend with little or no need to port, or even adapt, the semantic analysis part of the compiler in any way.

What is Practical?

Practical is a new programming language designed to give the safety and features one would expect from a modern programming language without sacrificing speed in any way. Practical aims to be as fast, if not faster, than C.

Practical takes its inspiration for design and syntax from C++, Rust and D, while trying not to fall into any of the pitfalls that those languages encountered.

Practical is aimed for programmers in the gaming, storage, video and, eventually, embedded markets, where high throughput and low latency are everything.

Status

Practical is currently in preliminary the implementation effort stage.

Current compiler manages the basics: literals, function calls, variables and a few choice operators. This stage is important for deciding on the correct syntax and semantics.

What's Planned?

For specifics on the plans for the language, syntax and features, please check out the language's wiki.

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.