19 Repos
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 19 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 ist ein JavaScript-Parser, der Quellcode in einen strukturierten abstrakten Syntaxbaum (AST) konvertiert. Er implementiert eine spezifikationsgesteuerte Grammatik, um die Einhaltung von ECMAScript-Standards sicherzustellen und die programmatische Analyse und Transformation von JavaScript-Programmen zu ermöglichen. Das Projekt bietet Funktionen für die lexikalische Tokenisierung, um Quellcode in einzelne Symbole zu zerlegen, sowie statische Syntaxvalidierung, um zu verifizieren, dass Skripte wohlgeformt sind, ohne den Code auszuführen. Der Funktionsumfang deckt statische JavaScript-Analyse, lexikalische Analyse und die Generierung von abstrakten Syntaxbäumen ab.
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 ist ein JavaScript-Bundler, der für React-Native-Umgebungen konzipiert ist. Er fungiert als System zur Auflösung von Abhängigkeiten, zur Transformation von Quellcode und zur Paketierung von JavaScript und Assets in Bundles für die Ausführung. Das Projekt beinhaltet einen Entwicklungs-Bundler-Server, der Assets via HTTP hostet und Hot Module Replacement bietet. Es verfügt über einen Modul-Resolver, der plattformspezifische Dateierweiterungen handhabt, sowie einen Quellcode-Transformator, der Code zur Optimierung und Minifizierung in Baumstrukturen konvertiert. Das Toolset deckt die programmatische Bundle-Generierung, die Erstellung von Source-Maps und das Dateisystem-Caching ab, um redundante Transformationen zu vermeiden. Es bietet zudem Funktionen für Asset-Management, Polyfill-Injektion und sichere Serverkonfiguration unter Verwendung von TLS-Zertifikaten für verschlüsselte Endpunkte. Überwachungstools sind enthalten, um den Bundling-Status zu verfolgen und Performance-Metadaten für Start- und Update-Events zu protokollieren.
Provides a transformation pipeline that converts source code into tree structures for optimization and minification.
go-ast-book ist eine Sammlung technischer Bildungsressourcen zur Analyse abstrakter Syntaxbäume (AST), Compiler-Entwicklung und statischer Code-Verifizierung. Es bietet Anleitungen und Handbücher zum Parsen, Traversieren und Analysieren von Go-Quellcode, um semantische Informationen zu extrahieren. Das Projekt dient als Referenz für den Bau von Compiler-Frontends und deckt die Übersetzung von High-Level-Code in Zwischenrepräsentationen und Single Static Assignment (SSA) Formen ab. Es bietet zudem Anleitungen zur Nutzung dieser Techniken für die Entwicklung von Sprach-Tooling und statischer Code-Analyse. Die Ressourcen decken ein breites Spektrum an statischen Analysefähigkeiten ab, einschließlich lexikalischer Tokenisierung, strukturellem Parsen von Ausdrücken und Deklarationen sowie Koordinaten-Tracking für Quelldateien. Zudem werden semantische Analyseprozesse wie Identifier-Auflösung, Typprüfung und Kontrollflussanalyse für Nebenläufigkeit und Deferred Execution detailliert beschrieben.
Breaks down source code into identifiers and operators to prepare text for structural analysis.
Diese Bibliothek ist ein PHP-Quellcode-Tokenizer und ein Tool zur statischen Analyse, das rohen PHP-Code in diskrete Token und strukturierte XML-Repräsentationen umwandelt. Sie fungiert als Serialisierer, der Token-Streams in ein maschinenlesbares Format für die programmatische Analyse und Quellbaum-Manipulation transformiert. Das Projekt verwendet Stream-basierte XML-Serialisierung und Fragment-basiertes Puffer-Schreiben, um den Speicherbedarf bei der Verarbeitung großer Dateien gering zu halten. Es ermöglicht eine benutzerdefinierte XML-Namespace-Konfiguration, um die Schema-Kompatibilität sicherzustellen und Namenskollisionen während des Transformationsprozesses zu vermeiden. Das Toolkit deckt die lexikalische Analyse und die Konvertierung von Quellcode in strukturiertes XML ab, um Workflows zur statischen Codeanalyse zu unterstützen. Es verarbeitet Token-Streams in einem einzigen Durchgang, um flache Quelllisten in eine hierarchische XML-Struktur zu organisieren.
Converts PHP source code into discrete tokens to enable programmatic analysis and processing.
CodeGen is a trained large language model and program synthesis model designed to generate functional source code. It utilizes a neural network architecture to synthesize executable code from natural language descriptions or partial code snippets. The model enables automated program synthesis and AI-assisted coding by predicting and filling in missing sections of code within a program. It transforms natural language descriptions into functional programming logic to automate the creation of boilerplate and logic.
Converts source code into numerical representations using a specialized vocabulary optimized for programming language syntax.
Das browserify-handbook ist ein umfassender Dokumentationsleitfaden für Browserify, einen CommonJS-Modul-Bundler und JavaScript-Build-Tool. Es erklärt, wie Node.js-artige Module in einzelne JavaScript-Dateien kompiliert werden, um sie in Webbrowsern auszuführen. Der Leitfaden behandelt die Erstellung von Universal Module Definition (UMD) Bundles, die in Node-, AMD- und Browser-Umgebungen funktionieren. Er erläutert zudem die Verwendung browserkompatibler Polyfills für eingebaute Node.js-Module, um die plattformübergreifende Kompatibilität sicherzustellen. Das Handbuch beschreibt Funktionen für die Quellcode-Transformation, Frontend-Build-Automatisierung und das Debugging von Webanwendungen. Es behandelt außerdem die Optimierung der Bundle-Größe, das Splitting von Entry-Point-Bundles und die Generierung von Source Maps.
Transforms JavaScript source code through compilation pipelines to support custom syntax or languages.
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.
Acts as a JavaScript source transformer that creates new language constructs and operators via macros.
This project is a suite of abstract syntax tree transformation tools designed to automate the migration of source code to newer versions of React. It provides a set of scripts that programmatically modify code structures to replace deprecated APIs and component patterns with modern equivalents. The toolkit specializes in converting class components into functional components using arrow functions and prop destructuring. It also includes utilities for modernizing JSX syntax, updating deprecated lifecycle methods to stable versions, and migrating legacy string-based references to callback refs.
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 ist eine grafische Benutzeroberfläche für die Verwaltung von Kompilierung, Transpilierung und Hintergrundüberwachung von Web-Asset-Präprozessoren. Es dient als Build-Tool, das Less-, Sass- und CoffeeScript-Dateien in browserkompatibles CSS und JavaScript umwandelt. Die Anwendung bietet eine visuelle Oberfläche zur Steuerung des Transformationsprozesses, wodurch die Interaktion über die Kommandozeile entfällt. Sie integriert einen Hintergrund-Dateimonitor, der Quelldateien bei Änderungen im lokalen Dateisystem automatisch in Echtzeit neu kompiliert. Das Tool bietet Dienstprogramme zur Verwaltung globaler und projektspezifischer Kompilierungseinstellungen, einschließlich Minifizierung zur Komprimierung des kompilierten Codes. Zudem enthält es ein Benachrichtigungssystem, das die Compiler-Ausgabe erfasst, um Syntaxfehler zu erkennen und zu melden.
Transforming CoffeeScript into executable JavaScript while detecting syntax errors and managing output configurations.
Regenerator is a JavaScript transpiler and source code processor designed to enable the use of modern ECMAScript generator functions and asynchronous iteration syntax in environments that lack native support. It functions as a build-time tool that converts advanced language features into standard ES5 code, ensuring that complex asynchronous control flow patterns execute reliably across diverse browser versions and legacy runtimes. The tool operates by performing structural transformations on source code, specifically rewriting generator syntax into a flat switch-case state machine. To maintai
Performs structural transformations on code to enable advanced language features in environments lacking native support.