astDataRepresentation.h
Description du code
Représentation de données de l'arbre syntaxique abstrait Compilateur LSD010Code source ou contenu du fichier
Code c (astDataRepresentation.h) (79 lignes)
/* * astDataRepresentation.h : * Exposes the data representation of the Abstract Syntaxic Tree * Don't include this if not really needed. * All "public" functions are available on the ast.h * Part of the compiler project for LSD10 language * Gaudry Stéphane * More information on http://www.gaudry.be/langages-analyse-syntaxique-ast.html * ********************************************************** */ #ifndef AST_DATAREP_H #define AST_DATAREP_H #include "common.h" /** * Debug informations */ struct debugInfo{ char* file; int line; int linePsn; }; typedef struct debugInfo DebugInfo; /** * Value informations */ struct astNodeInfo{ /*ID, Name of the item (variable, function, etc.)*/ char *name; /* avoid calling more than once the type*/ int computedType; /*LSD10 Type of the item, one of the LEXICAL_VAR_TYPE_xxx constants*/ int type; /* Integer value for the integer vars O (false) or 1 (true) for the boolean vars */ int value; /* Used for the ID and function call nodes, NULL otherwise */ struct astNode *declarationNode; /* Used for the "declaration" nodes, NULL otherwise */ int memoryLocation; /* Used for the functions nodes astNode pointer if return statement is found, NULL otherwise */ struct astNode *returnStatement; int scopeId; int scopeDepth; }; typedef struct astNodeInfo AstNodeInfo; /** * Structure informations */ struct astNode { /*One of the NODE_TYPE_xxx constant*/ int type; /*Value information*/ AstNodeInfo *info; DebugInfo *debug; struct astNode *parent; struct astNode *right; struct astNode *left; /* * One of the NODE_TYPE_xxx constant * todo : use only type and create more constants */ int subtype; }; typedef struct astNode AstNode; //typedef struct astNode *AstNodePtr; #endif
Autres extraits de codes en c
- DisquetteDispo Vérifier la disponibilité du lecteur de disquette
- Suite de Fibonacci Exemple d'itération en C
- Suite de Fibonacci Exemple de récursion en C
- astDataRepresentation.h Représentation de données de l'arbre syntaxique abstrait Compilateur LSD010
- ast.h Arbre syntaxique abstrait Compilateur LSD010
- ast.c Arbre syntaxique abstrait Compilateur LSD010
- symbolsTableDataRepresentation.h Représentation de données de la table des symboles Compilateur LSD010
- symbolsTable.h Fonctions de gestion de la table des symboles Compilateur LSD010
- symbolsTable.c Fonctions de gestion de la table des symboles Compilateur LSD010
- hashCode.h Fonctions de hachage Compilateur LSD010
- hashCode.c Fonctions de hachage Compilateur LSD010
- scopeStack.h Fonctions de gestion d'une pile de portées Compilateur LSD010
- scopeStack.c Fonctions de gestion d'une pile de portées Compilateur LSD010
- scopeHelper.h Fonctions de gestion de la portée courante Compilateur LSD010
- console.h Fonctions d'affichage Compilateur LSD010
- console.c Fonctions d'affichage Compilateur LSD010
- graphVizHelper.h Génération d'une image d'un arbre syntaxique abstrait.
Classe d'intégration de l'outil GraphViz. Compilateur LSD010 - graphVizHelper.c Génération d'une image d'un arbre syntaxique abstrait.
Classe d'intégration de l'outil GraphViz. Compilateur LSD010 - common.h Définition des constantes et variables communes Compilateur LSD010
- pcode.c Génération de p-code Compilateur LSD010
- pcode.h Génération de p-code Compilateur LSD010
- Tous les extraits
Version en cache
21/11/2024 11:42:11 Cette version de la page est en cache (à la date du 21/11/2024 11:42:11) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 05/10/2009, dernière modification le 28/10/2018
Source du document imprimé : https://www.gaudry.be/sniplet-rf-lsd010/project/source/astDataRepresentation.h.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.