20 repositorios
Parsers specifically designed to convert JavaScript source code into structured data for analysis.
Distinct from Source Code Transformation Engines: Distinct from general transformation engines: focuses specifically on the initial parsing phase for the JavaScript language.
Explore 20 awesome GitHub repositories matching programming languages & runtimes · JavaScript Source Parsers. Refine with filters or upvote what's useful.
oxc is a high-performance JavaScript toolchain developed in Rust for parsing, transforming, and analyzing JavaScript and TypeScript source code. It provides a set of core utilities including a parser that converts code into an abstract syntax tree, a linter for identifying problematic patterns, a formatter for standardizing visual style, and a minifier for reducing production file sizes. The project focuses on high-performance execution through a system design that utilizes single-pass parsing, zero-copy string slicing, and parallel worker processing to handle large codebases. It further opti
Implements a fast compiler frontend that converts JavaScript and TypeScript code into an abstract syntax tree.
UglifyJS2 is a suite of tools designed for parsing, beautifying, mangling, and minifying JavaScript code. It functions by converting source code into an abstract syntax tree to enable programmatic analysis and transformation, and it includes a dedicated generator for creating associated source maps. The project optimizes web production builds by compressing script logic and removing unreachable code. It utilizes name mangling to shorten variable and property names and implements a beautifier to reconstruct compressed scripts into a human-readable layout. The toolset covers broad capability a
Converts raw JavaScript source code into a structured data format for analysis and logic redistribution.
UglifyJS is a tool for JavaScript code minification, AST manipulation, and source beautification. Its primary purpose is to reduce the file size of JavaScript source code by removing whitespace and shortening variable names to optimize frontend build assets. The project differentiates itself through its ability to programmatically analyze and transform code using abstract syntax trees. It performs constant folding analysis and conditional compilation to eliminate unreachable or redundant code, and it employs a multi-pass compression pipeline to maximize total file size reduction. The tool pr
Includes specialized JavaScript source parsers to convert raw code into structured data.
Acorn is a JavaScript parser that converts source text into a structured abstract syntax tree. It follows the ESTree specification to produce a standardized JSON tree format, enabling consistent analysis of code structure and language versions. The project features a plugin-based grammar extension system that allows the base parser to be extended with custom rules for experimental or non-standard language features. It also includes syntax error recovery, which inserts placeholder nodes into the tree when encountering invalid code to allow parsing to continue. The toolset covers static analys
Provides a high-performance parser that converts JavaScript source code into structured ESTree-compliant data.
Terser is a JavaScript minifier and compressor designed to reduce file size through whitespace removal, symbol mangling, and logic optimization for ES6+. It functions as a toolkit for minification, a code mangler for shortening variable and property names, and a dead code eliminator that evaluates constant expressions to remove unreachable logic. The project operates as an AST toolkit that parses JavaScript source into SpiderMonkey AST format for structural analysis. It generates source maps to link compressed production code back to the original source, ensuring that minified bundles remain
Ships a specialized JavaScript source parser that converts code into a structured tree for optimization.
Otto is a Go implementation of a JavaScript interpreter and embedded scripting engine. It provides a runtime environment for executing JavaScript code within native applications and includes a parser that converts source code into an abstract syntax tree for analysis and processing. The project enables the creation of custom scripting interfaces by binding native Go functions into the JavaScript global scope. It also includes a utility to translate JavaScript regular expression patterns into compatible formats for other programming languages. The engine supports safe script sandboxing throug
Includes a parser that converts JavaScript source code into structured ASTs for program analysis.
Esprima es un analizador (parser) de JavaScript que convierte el código fuente en un árbol de sintaxis abstracta estructurado. Implementa una gramática basada en especificaciones para garantizar el cumplimiento de los estándares ECMAScript, permitiendo el análisis y la transformación programática de programas JavaScript. El proyecto proporciona capacidades para la tokenización léxica para dividir el código fuente en símbolos individuales y la validación de sintaxis estática para verificar que los scripts estén bien formados sin ejecutar el código. Su superficie funcional cubre el análisis estático de JavaScript, el análisis léxico y la generación de árboles de sintaxis abstracta.
Provides lexical tokenization to break JavaScript source code into individual symbols.
js-code-to-svg-flowchart is a JavaScript source code visualizer and static code analysis tool that converts programming blocks and iterators into scalable vector graphics flowcharts. It functions as a code-to-diagram converter that maps the structural logic and sequence of operations from source files into visual representations. The system includes a command line interface for generating SVG flowcharts directly from local source code. It features a transformation engine that maps code nodes to schematic shapes and supports a sequence of images at varying abstraction levels to explain logic s
Transforms JavaScript source code into SVG flowcharts to visualize program logic and execution flow.
Boa is a high-performance JavaScript engine and parser designed to execute JavaScript code and analyze source code structure. It functions as a runtime environment for executing scripts to automate tasks or process data, providing both a command-line JavaScript interpreter and a tool for converting source code into abstract syntax trees. The engine is capable of compiling to WebAssembly, allowing the runtime to be deployed and executed within web browser environments. It includes an interactive read-eval-print loop for real-time logic testing and snippet execution via a terminal. The system
Provides a dedicated JavaScript parser that converts source code into detailed abstract syntax trees.
Metro es un bundler de JavaScript diseñado para entornos React Native. Funciona como un sistema para resolver dependencias, transformar código fuente y empaquetar JavaScript y activos en bundles para su ejecución. El proyecto incluye un servidor de bundler de desarrollo que aloja activos a través de HTTP y proporciona reemplazo de módulos en caliente (HMR). Cuenta con un resolvedor de módulos que maneja extensiones de archivo específicas de la plataforma y un transformador de código fuente que convierte el código en estructuras de árbol para su optimización y minificación. El conjunto de herramientas cubre la generación programática de bundles, la creación de mapas de origen y el almacenamiento en caché del sistema de archivos para evitar transformaciones redundantes. También proporciona capacidades para la gestión de activos, inyección de polyfills y configuración segura del servidor utilizando certificados TLS para endpoints cifrados. Se incluyen herramientas de monitoreo para rastrear el estado del empaquetado y registrar metadatos de rendimiento para eventos de inicio y actualización.
Provides a transformation pipeline that converts source code into tree structures for optimization and minification.
go-ast-book es una colección de recursos técnicos y educativos centrados en el análisis de árboles de sintaxis abstracta (AST), desarrollo de compiladores y verificación estática de código. Proporciona guías y manuales para analizar, recorrer y examinar código fuente en Go con el fin de extraer su significado semántico. El proyecto sirve como referencia para construir frontends de compiladores, cubriendo la traducción de código de alto nivel a representaciones intermedias y formas de asignación estática única (SSA). También proporciona instrucciones para utilizar estas técnicas en el desarrollo de herramientas de lenguaje y análisis estático de código. Los recursos cubren una amplia gama de capacidades de análisis estático, incluyendo tokenización léxica, análisis estructural de expresiones y declaraciones, y seguimiento de coordenadas para archivos fuente. También detalla procesos de análisis semántico como la resolución de identificadores, verificación de corrección de tipos y análisis de flujo de control para concurrencia y ejecución diferida.
Breaks down source code into identifiers and operators to prepare text for structural analysis.
Esta librería es un analizador léxico de código fuente PHP y una herramienta de análisis estático que convierte código PHP sin procesar en tokens discretos y representaciones XML estructuradas. Funciona como un serializador que transforma flujos de tokens en un formato legible por máquina para el análisis programático y la manipulación del árbol de fuentes. El proyecto utiliza serialización XML basada en flujos y escritura de búfer basada en fragmentos para mantener un bajo consumo de memoria al procesar archivos grandes. Permite la configuración de espacios de nombres XML personalizados para asegurar la compatibilidad del esquema y evitar colisiones de nombres durante el proceso de transformación. El kit de herramientas cubre el análisis léxico y la conversión de código fuente en XML estructurado para soportar flujos de trabajo de análisis de código estático. Procesa flujos de tokens en una sola pasada para organizar listas de fuentes planas en una estructura XML jerárquica.
Converts PHP source code into discrete tokens to enable programmatic analysis and processing.
CodeGen es un modelo de lenguaje grande entrenado y modelo de síntesis de programas diseñado para generar código fuente funcional. Utiliza una arquitectura de red neuronal para sintetizar código ejecutable a partir de descripciones en lenguaje natural o fragmentos de código parciales. El modelo permite la síntesis automática de programas y la codificación asistida por IA al predecir y completar secciones faltantes de código dentro de un programa. Transforma descripciones en lenguaje natural en lógica de programación funcional para automatizar la creación de código repetitivo y lógica.
Converts source code into numerical representations using a specialized vocabulary optimized for programming language syntax.
browserify-handbook es una guía de documentación completa para Browserify, un empaquetador de módulos CommonJS y herramienta de construcción para JavaScript. Explica cómo compilar módulos al estilo de Node.js en archivos JavaScript únicos para su ejecución dentro de navegadores web. La guía cubre la generación de paquetes de definición de módulos universales que funcionan en entornos Node, AMD y navegadores. También detalla el uso de polyfills compatibles con navegadores para los módulos integrados de Node.js, asegurando la compatibilidad multiplataforma. El manual describe capacidades para la transformación de código fuente, automatización de compilación frontend y depuración de aplicaciones web. También cubre la optimización del tamaño del paquete, la división de paquetes en puntos de entrada y la generación de mapas de origen (source maps).
Transforms JavaScript source code through compilation pipelines to support custom syntax or languages.
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.
Acts as a JavaScript source transformer that creates new language constructs and operators via macros.
Este proyecto es un conjunto de herramientas de transformación de árboles de sintaxis abstracta (AST) diseñadas para automatizar la migración de código fuente a versiones más recientes de React. Proporciona un conjunto de scripts que modifican programáticamente estructuras de código para reemplazar APIs obsoletas y patrones de componentes con equivalentes modernos. El kit de herramientas se especializa en convertir componentes de clase en componentes funcionales utilizando arrow functions y desestructuración de props. También incluye utilidades para modernizar la sintaxis JSX, actualizar métodos de ciclo de vida obsoletos a versiones estables y migrar referencias basadas en cadenas heredadas a callback refs. Las capacidades adicionales cubren la optimización de patrones de importación, la eliminación de importaciones redundantes y la actualización de referencias de paquetes y rutas de módulos. El proyecto utiliza migración de código fuente basada en reglas y análisis de sintaxis por coincidencia de patrones para garantizar que las transformaciones se apliquen de manera consistente en bases de código grandes.
Provides tools for programmatically transforming JavaScript source code through AST manipulation pipelines.
This project is an AST-based code optimizer and compressor for modern ECMAScript, JSX, and TypeScript source code. It functions as a JavaScript minifier that uses the Babel toolchain to reduce file size by removing unnecessary characters and whitespace while preserving program logic. The tool is distinguished by its ability to process experimental language proposals and transform modern syntax into browser-compatible versions. It provides specialized handling for React JSX transpilation and strips type annotations from TypeScript files to produce compressed production assets. The system cove
Converts JavaScript and TypeScript source files into structured abstract syntax trees for analysis and transformation.
Koala is a graphical user interface for managing the compilation, transpilation, and background monitoring of web asset preprocessors. It serves as a build tool that converts Less, Sass, and CoffeeScript files into browser-compatible CSS and JavaScript. The application features a visual interface for controlling the transformation process, removing the need for command line interaction. It integrates a background file monitor that automatically recompiles source files in real time as changes are detected on the local filesystem. The tool provides utilities for managing global and project-spe
Transforming CoffeeScript into executable JavaScript while detecting syntax errors and managing output configurations.
Optimize-js is a JavaScript parsing optimizer designed to reduce the time browsers spend pre-parsing scripts to improve initial execution speed. It transforms source code to minimize the overhead associated with browser parsing. The project implements a technique that wraps function calls in parentheses to bypass initial pre-parsing and reduce double-parsing overhead. To maintain the utility of the transformed code, it includes a source map generator that links the optimized output back to the original source. The toolset also includes performance benchmarking capabilities to measure the exa
Transforms JavaScript source code through AST manipulation to reduce browser pre-parsing overhead.
This project is an interactive JavaScript course and beginner programming guide designed to teach fundamental scripting logic and language syntax. It functions as a web-based coding tutorial that transforms markdown-based lessons into a static site curriculum for learning web development basics. The resource features a browser-based code sandbox that allows for the execution of JavaScript snippets within a secure environment for immediate feedback. Lessons are organized into a linear sequence of modules to provide a structured onboarding process for those new to software development. The sys
Uses lexical analysis to tokenize JavaScript source code for the purpose of applying syntax highlighting.