C parsing, semantic analys, generate a graph from a source code. An educational project during my third year of Computer Science Licence.

Pour compiler le programme, il suffit d'exécuter compiler.sh avec la commande "./compiler.sh" en se trouvant dans le dossier racine du projet.
Un fichier éxécutable "miniC" sera créé.
Ensuite, l'utilisation du programme s'effectue comme ceci :

./miniC Nom_Du_Fichier_Dot_Qui_Sera_Généré < chemin_du_fichier_miniC_à_lire

Le nom du fichier dot qui sera généré doit se situer dans le répertoire courant.

Exemple d'utilisations complète du projet : 

1) ./compiler.sh
2) ./miniC variables.dot < Tests/variables.c



Pour faciliter la tâche, nous avons créé un script "runProgram.sh" qui exécute le programme miniC pour tous les Tests (listes des commandes écrites à la main).

Exemple d'utilisation complète du projet avec runProgram : 

1) ./compiler.sh
2) ./runProgram.sh


Après, il suffit de copier le contenu du fichier dot et de le copier par exemple dans "https://dreampuf.github.io/GraphvizOnline" pour le visualiser.
Owner
Jean Philippe Carlens
Master Student in Computer Science
Jean Philippe Carlens
Similar Resources

Final Project for OOP Course - University of Science, VNUHCM

Final Project for OOP Course - University of Science, VNUHCM

Bily Flower Shop This is our final project for OOP Course. Content: Try our app Build the source codes Demo About us Try our app You can download the

Jan 18, 2022

C/C++ language server supporting multi-million line code base, powered by libclang. Emacs, Vim, VSCode, and others with language server protocol support. Cross references, completion, diagnostics, semantic highlighting and more

Archived cquery is no longer under development. clangd and ccls are both good replacements. cquery cquery is a highly-scalable, low-latency language s

Jan 2, 2023

CSC404: Computer Graphics [CG] & CSL402: Computer Graphics Lab [CG Lab] Semester IV

COMPUTER-GRAPHICS-AND-COMPUTER-GRAPHICS-LAB CSC404: CG & CSL402: CG LAB [SEMESTER IV] Syllabus CG - Reference Books THE WALL MEGA SATISH - AUTHOR CG C

Apr 28, 2022

Project is to port original Zmodem for Unix to CP/M and provide binaries and source code for platform specific modification as needed. Based on 1986 C source code by Chuck Forsberg

Zmodem-CP-M This repository is intended to foster a RetroBrewComputers community effort to port the original Zmodem source code for Unix to CP/M so ev

Aug 31, 2022

Project is to port original Zmodem for Unix to CP/M and provide binaries and source code for platform specific modification as needed. Based on 1986 C source code by Chuck Forsberg

Zmodem4CPM This repository is intended to foster a RetroBrewComputers community effort to port the original Zmodem source code for Unix to CP/M so eve

Aug 31, 2022

OTA Third Party Firmware Flasher for the original Wyze Plug (WLPP1) and Wyze Bulb (WLPA19).

OTA Third Party Firmware Flasher for the original Wyze Plug (WLPP1) and Wyze Bulb (WLPA19).

Wyze Plug (and Bulb!) Flasher Use this software to install third party firmware on the original Wyze Plug (model WLPP1) and Wyze Bulb (model WLPA19) o

Dec 11, 2022

A refactored Proof-of-concept originally developed in 2017 to print all function calls with their arguments data types and values using Ptrace during program execution.

print-function-args-debugger A refactored Proof-of-concept originally developed in 2017 to print all function calls with their arguments data types an

Jun 17, 2022

IDA Debugger Module to Dynamically Synchronize Memory and Registers with third-party Backends (Tenet, Unicorn, GDB, etc.)

IDA Debugger Module to Dynamically Synchronize Memory and Registers with third-party Backends (Tenet, Unicorn, GDB, etc.)

IDA Debug Bridge IDA Debugger Module to Dynamically Synchronize Memory and Registers with third-party Backends (Tenet, Unicorn, GDB, etc.) By synchron

Sep 5, 2022

A rosbag2 recorder node that backs up split files to an external location during recording

System Data Recorder (SDR) A lifecycle node and executable for recording topic data to a rosbag2 bag, while simultaneously copying the split bag files

Aug 31, 2022
PLP Project Programming Language | Programming for projects and computer science and research on computer and programming.
PLP Project Programming Language | Programming for projects and computer science and research on computer and programming.

PLPv2b PLP Project Programming Language Programming Language for projects and computer science and research on computer and programming. What is PLP L

Aug 20, 2022
This was the first ever Computer Science project that I made back in Class XII (2016). I thought I should upload it on GitHub so that it does not get lost. :)
This was the first ever Computer Science project that I made back in Class XII (2016). I thought I should upload it on GitHub so that it does not get lost. :)

First Ever Project This was the first ever Computer Science project that I made back in Class XII (2016). I thought I should upload it on github so th

Jun 7, 2021
Final version of my dissertation project at the University of Birmingham as part of MSc. Computer Science degree.
Final version of my dissertation project at the University of Birmingham as part of MSc. Computer Science degree.

Unfair Edge: A Low-Level Manipulation of Game Memory with Bypassing VAC This repository hosts the code submitted as a dissertation project for MSc. Co

Nov 4, 2021
This repository consists an implementation of the Algorithms encountered in Computer Science, Physics and Mathematics.
This repository consists an implementation of the Algorithms encountered in Computer Science, Physics and Mathematics.

All the Algorithms you'll ever need xD This repository contains all the algorithms we have encountered in the fields of Computer Science, Mathematics

Dec 3, 2022
CSE-7th-Semester-IIT-KGP - Tests, programming assignments and their solution for some courses offered by Department of Computer Science and Engineering, IIT Kharagpur

CSE-7th-Semester-IIT-KGP Disclaimer: Do not copy codes though. Heavy penalization for plagiarism. Programming assignments and their solution for some

Dec 30, 2021
A gazebo actor plugin that utilizes the map of the environment and graph search methods to generate random actor trajectories that don't pass through walls, furniture, etc.

Gazebo-Map-Actor-Plugin A gazebo actor plugin that utilizes the map of the environment and graph search methods to generate random actor trajectories

Dec 23, 2022
By putting in a lot of speed, the speed sequence is sorted and divided, three types of speed interval distribution maps are generated.(including broken line graph,histogram and curve graph)

Auto-drawing-speed-range-map By putting in a lot of speed, the speed sequence is sorted and divided, three types of speed interval distribution maps a

May 14, 2022
Repository of the <> team for the third project in 2022, titled <>
Repository of  the <<magnUS Snakemen>> team for the third project in 2022, titled  <<Logic Game>>

『 ?? 』magnUS-Snakemen『 ?? 』 ?? About It's been a tough day at school. You come back home, leave your bag on your bed and sit on your desk. You think i

Nov 17, 2022
This is official repository of the course Industrial Informatics LT, Year 2021/22, at University of Modena and Reggio Emilia, held at Fondazione Universitaria di Mantova
This is official repository of the course Industrial Informatics LT, Year 2021/22, at University of Modena and Reggio Emilia, held at Fondazione Universitaria di Mantova

Industrial informatics LT - Mantova - 2021/22 This is official repository of the course Industrial Informatics LT, Year 2020/21, at University of Mode

Jun 27, 2022