maelswarm / Nymph
Licence: mit
🧚 A slightly different version of C.
Stars: ✭ 168
Labels
Projects that are alternatives of or similar to Nymph
Solpp
A solidity preprocessor and flattener CLI and library
Stars: ✭ 44 (-73.81%)
Mutual labels: preprocessor
Pypreprocessor
A c-style macro preprocessor written in Python
Stars: ✭ 98 (-41.67%)
Mutual labels: preprocessor
Stylus
Expressive, robust, feature-rich CSS language built for nodejs
Stars: ✭ 10,817 (+6338.69%)
Mutual labels: preprocessor
Cxxctp
DEPRECATED. USE INSTEAD github.com/blockspacer/flextool
Stars: ✭ 58 (-65.48%)
Mutual labels: preprocessor
Cessie
Transpile your CSS bundle to support CSS variables, calc, and future CSS for legacy browsers.
Stars: ✭ 81 (-51.79%)
Mutual labels: preprocessor
Java Comment Preprocessor
The Most Powerful Multi-Pass Java Preprocessor
Stars: ✭ 111 (-33.93%)
Mutual labels: preprocessor
Jest Vue Preprocessor
Preprocessor that allows importing of .vue files in jest tests
Stars: ✭ 133 (-20.83%)
Mutual labels: preprocessor
Surelog
SystemVerilog 2017 Pre-processor, Parser, Elaborator, UHDM Compiler. Provides IEEE Design/TB C/C++ VPI and Python AST API.
Stars: ✭ 116 (-30.95%)
Mutual labels: preprocessor
I8086.js
16bit Intel 8086 / 80186 + X87 emulator written in TypeScript with REPL assembly compiler and tiny C compiler
Stars: ✭ 54 (-67.86%)
Mutual labels: preprocessor
Video2tfrecord
Easily convert RGB video data (e.g. .avi) to the TensorFlow tfrecords file format for training e.g. a NN in TensorFlow. This implementation allows to limit the number of frames per video to be stored in the tfrecords.
Stars: ✭ 137 (-18.45%)
Mutual labels: preprocessor
Manifold
Manifold plugs into Java to supplement it with powerful features, from Type-safe Metaprogramming (direct access to GraphQL, JSON, XML, etc.), Extension Methods, Operator Overloading, and Unit Expressions to an integrated Template Engine and a Preprocessor. All fully supported in IntelliJ IDEA and Android Studio. Simply add Manifold to your project and begin taking advantage of it.
Stars: ✭ 993 (+491.07%)
Mutual labels: preprocessor
Jus
🍉 An opinionated tool for making static websites with browserify
Stars: ✭ 107 (-36.31%)
Mutual labels: preprocessor
Kirby Webpack
💪 A Kirby CMS starter-kit with modern frontend tools
Stars: ✭ 150 (-10.71%)
Mutual labels: preprocessor
Ecsharp
Home of LoycCore, the LES language of Loyc trees, the Enhanced C# parser, the LeMP macro preprocessor, and the LLLPG parser generator.
Stars: ✭ 141 (-16.07%)
Mutual labels: preprocessor
Preprocessor
A future-facing CSS preprocessor (used by SUIT CSS)
Stars: ✭ 132 (-21.43%)
Mutual labels: preprocessor
Nymph
Let's see what we can achieve by reworking C syntax.
Overview
Nymph is a simple C like programming language.
Nymph acts as a preprocessor, converting Nymph files (extension *.n) into C files.
This project is very much in development... It is not production ready.
What's New
This project just recieved a complete overhaul.
Goals
Completed
-
Class-Based OOP
-
Subtyping
In Progress
- TBD
Pending
-
Destructors?
-
Type Inference?
-
Reflection?
-
Default function arguments?
-
Lambdas?
Example
mammal.n
#include <stdio.h>
#include <stdlib.h>
class Mammal {
+ int population = 0; // Class Variable (+)
- int height = 0, weight = 100; // Object Variable (-)
+ Mammal *init(int height, int weight) { // Class Method (+) Constructor
this->height = height;
this->weight = weight;
Mammal->population++;
return this;
}
- void print() { // Object Method (-)
printf("print instance properties...\n");
}
}
human.n
#include "mammal.n"
#include <stdio.h>
#include <stdlib.h>
class Human : Mammal {
- char *name = NULL; // Object Variable (-)
+ Human *init(char *name, int height, int weight) { // Class Method (+) Constructor
this = super->init(height, weight);
this->name = name;
return this;
}
- void died() { // Object Method (-) Constructor
free(this->name);
free(this);
Mammal->population--;
}
}
int main(void) {
char *name = malloc(5);
memset(name, 0, sizeof(name));
strcpy(name, "Fred");
Human *person1 = Human->init(name, 76, 146); // Class Method Constructor Call
person1->print(); // Object Method Call
person1->died(); // Object Method Call
return 0;
}
nymph -r human.n
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].