4 dépôts
Recording line and column offsets for tokens to map parse tree elements back to original source code.
Distinguishing note: Shortlist candidates focus on user input playback or ML encodings; none cover source-code coordinate tracking for parsers.
Explore 4 awesome GitHub repositories matching programming languages & runtimes · Source Coordinate Tracking. Refine with filters or upvote what's useful.
Lark est un toolkit d'analyse syntaxique Python utilisé pour définir des grammaires et convertir du texte brut en arbres d'analyse annotés. Il sert de générateur d'arbre syntaxique abstrait et de langage de définition de grammaire pour spécifier des règles de langage via des terminaux et des expressions régulières. La bibliothèque fournit deux implémentations d'analyse principales : une bibliothèque d'analyse Earley capable de gérer tous les langages non contextuels, y compris ceux avec ambiguïté et récursion à gauche, et une bibliothèque d'analyse LALR haute performance conçue pour les langages déterministes avec une faible surcharge mémoire. Au-delà de l'analyse de base, le toolkit inclut des capacités pour la composition de grammaire modulaire, la transformation d'arbre basée sur des règles et le suivi des coordonnées pour les positions sources. Il prend également en charge la sérialisation des grammaires LALR en modules d'analyse autonomes.
Provides line and column offset tracking for tokens to map parse tree nodes back to the original source code.
TSDoc est un standard de documentation et une spécification pour l'écriture de commentaires structurés dans le code TypeScript. Il fournit un système portable pour définir des métadonnées, des balises et des références croisées au sein du code source afin d'assurer une analyse et un rendu cohérents à travers différents outils. Le projet inclut un analyseur de commentaires de documentation qui convertit les commentaires en un arbre de syntaxe structuré et un validateur qui applique la cohérence syntaxique. Il permet la définition de balises de documentation personnalisées via des fichiers de configuration externes et prend en charge plusieurs modes de validation de syntaxe pour aider à la conformité aux spécifications. La spécification couvre un large éventail de besoins en documentation d'API, y compris le marquage des étapes de publication, la stabilité et la dépréciation. Elle prend en charge le détail des paramètres de fonction, les valeurs de retour et les types d'exception, ainsi que la gestion de la visibilité interne, de l'héritage et des références croisées entre les déclarations.
Records line and column offsets for tokens to map parse tree elements back to original source code for precise error reporting.
Ce projet est un compilateur de feuilles de style CSS qui transforme le code source Sass en CSS standard. Il fournit le mécanisme principal de conversion des styles tout en implémentant les règles de syntaxe pour les navigateurs web et les applications. Le compilateur prend en charge un système de dépendances basé sur des modules qui utilise des espaces de noms dédiés pour assurer l'encapsulation et éviter les collisions de portée globale. Il inclut des moteurs spécialisés pour la conversion de couleurs multi-modèles et des calculs mathématiques avancés, incluant la trigonométrie et les logarithmes. Les capacités couvrent une large gamme d'outils de build et d'analyse, incluant la génération de source maps, la surveillance du système de fichiers pour la recompilation automatique, et la possibilité d'exécuter la compilation directement dans un navigateur web. Il permet également l'extensibilité via des fonctions personnalisées et des importateurs définis dans un langage hôte via un protocole de messagerie structuré. Les utilisateurs peuvent également effectuer une analyse statique en inspectant l'arbre de syntaxe abstraite pour analyser la structure du code et résoudre les dépendances sans effectuer une compilation complète.
Records line and column offsets for tokens to accurately map compiled output back to original source code.
Parser is a Ruby source code parser that converts raw source text into structured abstract syntax trees for static analysis and code manipulation. It features dynamic dispatch mechanisms that select specific grammar and tokeniser implementations at runtime, supporting both the executing interpreter version and explicitly targeted language specification versions. The library constructs abstract syntax tree nodes as frozen, immutable objects while tracking exact source file coordinates and character ranges for each node. Developers can supply custom builder objects to control how tree nodes ar
Tracks exact source file coordinates and character ranges for nodes within the generated syntax tree.