18 dépôts
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 18 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 est un analyseur JavaScript qui convertit le code source en un arbre de syntaxe abstraite structuré. Il implémente une grammaire basée sur les spécifications pour assurer la conformité aux normes ECMAScript, permettant l'analyse et la transformation programmatiques des programmes JavaScript. Le projet fournit des capacités de tokenisation lexicale pour décomposer le code source en symboles individuels et de validation syntaxique statique pour vérifier que les scripts sont bien formés sans exécuter le code. Sa surface fonctionnelle couvre l'analyse statique JavaScript, l'analyse lexicale et la génération d'arbres de syntaxe abstraite.
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 est un bundler JavaScript conçu pour les environnements React Native. Il fonctionne comme un système pour résoudre les dépendances, transformer le code source et empaqueter JavaScript et les actifs dans des bundles pour l'exécution. Le projet inclut un serveur de bundler de développement qui héberge les actifs via HTTP et fournit le remplacement de module à chaud (hot module replacement). Il dispose d'un résolveur de module qui gère les extensions de fichiers spécifiques à la plateforme et un transformateur de code source qui convertit le code en structures d'arbre pour l'optimisation et la minification. La boîte à outils couvre la génération de bundle par programmation, la création de source maps et la mise en cache du système de fichiers pour éviter les transformations redondantes. Elle fournit également des capacités pour la gestion des actifs, l'injection de polyfills et la configuration de serveur sécurisée utilisant des certificats TLS pour les endpoints chiffrés. Des outils de surveillance sont inclus pour suivre le statut du bundling et enregistrer les métadonnées de performance pour les événements de démarrage et de mise à jour.
Provides a transformation pipeline that converts source code into tree structures for optimization and minification.
go-ast-book est une collection de ressources éducatives et techniques axées sur l'analyse des arbres de syntaxe abstraite (AST), le développement de compilateurs et la vérification de code statique. Il fournit des guides et manuels pour parser, parcourir et analyser le code source Go afin d'en extraire la signification sémantique. Le projet sert de référence pour construire des frontends de compilateurs, couvrant la traduction de code de haut niveau en représentations intermédiaires et en formes d'assignation statique unique (SSA). Il fournit également des instructions pour utiliser ces techniques afin de développer des outils de langage et effectuer de l'analyse de code statique. Les ressources couvrent un large éventail de capacités d'analyse statique, incluant la tokenisation lexicale, le parsing structurel des expressions et déclarations, et le suivi des coordonnées pour les fichiers sources. Il détaille également les processus d'analyse sémantique tels que la résolution d'identifiants, la vérification de la correction des types et l'analyse du flux de contrôle pour la concurrence et l'exécution différée.
Breaks down source code into identifiers and operators to prepare text for structural analysis.
Cette bibliothèque est un tokenizer de code source PHP et un outil d'analyse statique qui convertit le code PHP brut en jetons discrets et en représentations XML structurées. Il fonctionne comme un sérialiseur qui transforme les flux de jetons en un format lisible par machine pour l'analyse programmatique et la manipulation de l'arborescence source. Le projet utilise la sérialisation XML basée sur les flux et l'écriture de tampons basée sur des fragments pour maintenir une faible surcharge mémoire lors du traitement de fichiers volumineux. Il permet une configuration personnalisée des espaces de noms XML pour garantir la compatibilité des schémas et éviter les collisions de noms pendant le processus de transformation. La boîte à outils couvre l'analyse lexicale et la conversion du code source en XML structuré pour prendre en charge les flux de travail d'analyse de code statique. Elle traite les flux de jetons en un seul passage pour organiser les listes sources plates en une structure XML hiérarchique.
Converts PHP source code into discrete tokens to enable programmatic analysis and processing.
CodeGen est un grand modèle de langage entraîné et un modèle de synthèse de programme conçu pour générer du code source fonctionnel. Il utilise une architecture de réseau neuronal pour synthétiser du code exécutable à partir de descriptions en langage naturel ou d'extraits de code partiels. Le modèle permet la synthèse de programme automatisée et le codage assisté par IA en prédisant et en remplissant les sections manquantes de code au sein d'un programme. Il transforme les descriptions en langage naturel en logique de programmation fonctionnelle pour automatiser la création de code standard et de logique.
Converts source code into numerical representations using a specialized vocabulary optimized for programming language syntax.
Le browserify-handbook est un guide de documentation complet pour Browserify, un bundler de modules CommonJS et un outil de build JavaScript. Il explique comment compiler des modules de style Node.js en fichiers JavaScript uniques pour une exécution dans les navigateurs web. Le guide couvre la génération de bundles UMD (Universal Module Definition) qui fonctionnent dans des environnements Node, AMD et navigateur. Il détaille également l'utilisation de polyfills compatibles avec les navigateurs pour les modules intégrés de Node.js afin d'assurer la compatibilité multiplateforme. Le manuel décrit les capacités de transformation de code source, d'automatisation de build frontend et de débogage d'applications web. Il couvre également l'optimisation de la taille des bundles, le découpage des bundles par points d'entrée et la génération de source maps.
Transforms JavaScript source code through compilation pipelines to support custom syntax or languages.
Sweet-core is a JavaScript source-to-source compiler and Lisp-style macro system. It functions as a syntax transformer that extends JavaScript by allowing the definition of custom syntax and operators during the compilation process. The system provides a framework for building domain-specific languages through hygienic, recursive macro expansion and the creation of new language constructs. It distinguishes itself by supporting custom operator definitions with configurable associativity and precedence to control expression evaluation. The compiler includes a specialized module system for mana
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 est une interface graphique pour gérer la compilation, la transpilation et la surveillance en arrière-plan des préprocesseurs d'assets web. Il sert d'outil de build qui convertit les fichiers Less, Sass et CoffeeScript en CSS et JavaScript compatibles avec les navigateurs. L'application dispose d'une interface visuelle pour contrôler le processus de transformation, éliminant le besoin d'interagir via la ligne de commande. Elle intègre un moniteur de fichiers en arrière-plan qui recompile automatiquement les fichiers source en temps réel dès que des changements sont détectés sur le système de fichiers local. L'outil fournit des utilitaires pour gérer les paramètres de compilation globaux et spécifiques au projet, y compris la minification après traitement pour compresser le code compilé. Il inclut également un système de notification qui capture la sortie du compilateur pour détecter et signaler les erreurs de syntaxe.
Transforming CoffeeScript into executable JavaScript while detecting syntax errors and managing output configurations.