5 repositorios
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 es una biblioteca de programación funcional para Scala que proporciona una colección de estructuras de datos puramente funcionales y clases de tipo. Funciona como un framework para organizar comportamientos funcionales en jerarquías para permitir la programación genérica y transformaciones con tipado fuerte. La biblioteca incluye herramientas para componer y gestionar efectos funcionales anidados dentro de una sola pila de tipos a través de un sistema de transformadores de mónadas. Proporciona estructuras de datos para representar y combinar efectos de entrada, salida y opcionalidad. El proyecto cubre una amplia superficie de abstracciones funcionales, incluyendo la implementación de patrones de programación basados en principios y la gestión de operaciones de entrada y salida como valores de primera clase. También proporciona mecanismos para invocar clases de tipo y aplicar sintaxis funcional a estructuras de datos.
Uses implicit extensions to provide fluent method call syntax on standard data structures.
Sweet-core es un compilador de código fuente a código fuente de JavaScript y un sistema de macros al estilo Lisp. Funciona como un transformador de sintaxis que extiende JavaScript permitiendo la definición de sintaxis y operadores personalizados durante el proceso de compilación. El sistema proporciona un framework para construir lenguajes específicos de dominio (DSL) mediante la expansión de macros recursivas e higiénicas y la creación de nuevas construcciones de lenguaje. Se distingue por admitir definiciones de operadores personalizados con asociatividad y precedencia configurables para controlar la evaluación de expresiones. El compilador incluye un sistema de módulos especializado para gestionar dependencias en tiempo de compilación e integración de helpers en tiempo de ejecución. Su arquitectura interna cubre la transformación del árbol de sintaxis abstracta (AST), la coincidencia de producción gramatical y la generación de objetos de sintaxis para garantizar la higiene léxica. Se proporciona una interfaz de línea de comandos para transformar archivos fuente en archivos o directorios de salida de JavaScript estándar.
Creates identifiers, literals, keywords, and delimiters while maintaining lexical contexts to ensure code hygiene.
Janet es un lenguaje de programación dinámico basado en Lisp que cuenta con una máquina virtual de bytecode basada en registros y un motor de scripting integrable. Funciona como un runtime de concurrencia basado en fibras e incluye un motor de análisis basado en Gramáticas de Expresión de Análisis (PEG). El proyecto se distingue por su capacidad de integrarse en aplicaciones de C o C++ a través de una interfaz de cabecera mínima. Utiliza un sistema de macros al estilo Lisp para la transformación de código en tiempo de compilación y emplea herencia de tablas basada en prototipos para el comportamiento orientado a objetos. El runtime cubre un amplio conjunto de capacidades, incluyendo la gestión de IO asíncrona a través de un bucle de eventos no bloqueante, interoperabilidad de bibliotecas nativas a través de una interfaz de funciones externas y procesamiento de texto integral utilizando gramáticas PEG. También proporciona herramientas para la automatización del sistema, como un bucle de lectura-evaluación-impresión (REPL), un sistema de módulos para la resolución de símbolos y utilidades para la comunicación de sockets de red y la gestión del sistema de archivos. El entorno incluye herramientas de diagnóstico para la depuración de la ejecución de bytecode y puede empaquetar el código fuente en ejecutables binarios independientes.
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.