hawkins / druid Goto Github PK
View Code? Open in Web Editor NEW๐ง A systems-level programming language with a focus on integrated build systems and deploying to native and web assembly at once
Home Page: https://twitch.tv/druidlang
๐ง A systems-level programming language with a focus on integrated build systems and deploying to native and web assembly at once
Home Page: https://twitch.tv/druidlang
We're working on a variety of platforms (windows, mac, *nix...), we may want to try a CMake setup for consistent build products.
All plans are subject to change as optimizations or re-structuring is needed. As a basic first step, the druid preprocessor should be able to mimic the "include" capability of the C preprocessor.
For now, this will take the form of building an ordered memory model of ASCII characters consisting of the contents of the include files, and being able to output this char stream to stdout.
For the next step in the pipeline, the parser, we'll need a proper grammar. I think these are typically done in EBNF (or see these lecture notes).
#summon
in apply
parameter
and write in-place into fp
stdout
druid/code/compiler_tools/character_tools.h
Lines 33 to 38 in e7213ee
TODO
comment in e7213ee. It's been assigned to @assemblyDruid because they committed the code.We need a tool to use that will:
Effectively this CLI will pass fork to several child processes, the first of which will call the preprocessor on the file, then pipe to lexer, then pipe to parser, then pipe to compiler.
For no reason beyond a Druid casting magic on the file to make it do things, pretend this CLI is called cast
:
$ cast hello.druid --verbose
* preprocessing hello.druid
* summoned ./echo.druid
* summoned :math
* summoned :io
* parse check successful
* compiled to web assembly
* done in 0.27 sec
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.