5 Repos
Modifications to the grammar and interpretation rules of an existing programming language.
Distinct from Python Extensions: Focuses on language syntax modification rather than developer tool plugins or library extensions.
Explore 5 awesome GitHub repositories matching programming languages & runtimes · Syntax Extensions. Refine with filters or upvote what's useful.
TrumpScript is a Python-based domain specific language and compiler extension that wraps the Python runtime to enforce custom grammar and vocabulary rules. It transforms a specialized, case-insensitive vocabulary and natural speech patterns into executable Python instructions. The implementation distinguishes itself through strict constraints on source code, including a variable name system that restricts identifiers to a predefined whitelist and a numeric parser that rejects any integer not exceeding one million. It further utilizes a token-filtering preprocessor to remove filler words and n
Modifies how Python code is written and interpreted through token filtering and case-insensitivity.
Scalaz is a functional programming library for Scala that provides a collection of purely functional data structures and type classes. It functions as a framework for organizing functional behaviors into hierarchies to enable generic programming and type-safe transformations. The library includes tools for composing and managing nested functional effects within a single type stack through a monad transformer system. It provides data structures for representing and combining input, output, and optionality effects. The project covers a broad surface of functional abstractions, including the im
Uses implicit extensions to provide fluent method call syntax on standard data structures.
Sweet-core ist ein JavaScript-Source-to-Source-Compiler und ein Lisp-artiges Makrosystem. Es fungiert als Syntax-Transformer, der JavaScript erweitert, indem er die Definition benutzerdefinierter Syntax und Operatoren während des Kompilierungsprozesses ermöglicht. Das System bietet ein Framework zum Aufbau domänenspezifischer Sprachen durch hygienische, rekursive Makro-Expansion und die Erstellung neuer Sprachkonstrukte. Es zeichnet sich durch die Unterstützung benutzerdefinierter Operatordefinitionen mit konfigurierbarer Assoziativität und Präzedenz aus, um die Ausdrucksauswertung zu steuern. Der Compiler enthält ein spezialisiertes Modulsystem zur Verwaltung von Compile-Time-Abhängigkeiten und der Integration von Runtime-Hilfsprogrammen. Seine interne Architektur umfasst die Transformation abstrakter Syntaxbäume, das Matching von Grammatikproduktionen und die Generierung von Syntaxobjekten, um lexikalische Hygiene zu gewährleisten. Eine Befehlszeilenschnittstelle wird bereitgestellt, um Quelldateien in Standard-JavaScript-Ausgabedateien oder -verzeichnisse zu transformieren.
Creates identifiers, literals, keywords, and delimiters while maintaining lexical contexts to ensure code hygiene.
Janet ist eine Lisp-basierte dynamische Programmiersprache mit einer registerbasierten Bytecode-Virtual-Machine und einer einbettbaren Skript-Engine. Sie fungiert als Fiber-basierte Nebenläufigkeits-Runtime und enthält eine Parsing-Engine, die auf Parsing Expression Grammars basiert. Das Projekt zeichnet sich durch die Fähigkeit aus, über eine minimale Header-Schnittstelle in C- oder C++-Anwendungen integriert zu werden. Es nutzt ein Lisp-artiges Makrosystem für Code-Transformationen zur Kompilierzeit und verwendet prototypbasierte Tabellenvererbung für objektorientiertes Verhalten. Die Runtime deckt ein breites Spektrum an Funktionen ab, einschließlich asynchronem IO-Management durch eine nicht-blockierende Event-Loop, nativer Bibliotheksinteroperabilität über ein Foreign Function Interface und umfassender Textverarbeitung unter Verwendung von PEG-Grammatiken. Sie bietet zudem Tools für die Systemautomatisierung, wie eine Read-Eval-Print-Loop, ein Modulsystem für Symbolauflösung und Utilities für Netzwerk-Socket-Kommunikation und Dateisystemverwaltung. Die Umgebung enthält Diagnosetools für das Debugging der Bytecode-Ausführung und kann Quellcode in eigenständige binäre Executables bündeln.
Transforms code input into new output before compilation to create custom language constructs.
The project provides a standardized abstract syntax tree specification and utility library for parsing, transforming, and serializing markdown documents. It serves as a comprehensive document processing architecture that translates between raw text markup and structured node representations in both directions. The capability surface covers syntax parsing for extended markdown features, custom syntax extensions, metadata blocks, and embedded expressions, alongside document serialization that converts syntax trees back into standard and extended markup formats. It includes node modeling and val
Builds extensions that plug into parsers and serializers to support custom syntax nodes within documents.