This repository provide resources for AIT courses of Supinfo schools (3rd year and 4th year). They mostly consist in LABS and TPs corrections in various langages and syntaxes.
- Linux
sudo apt-get install gcc flex byacc - Mac
brew install gcc flex bison(if exist in brew, usedbyaccinstead ofbison)
http://madebyevan.com/fsm/ is the one I used. You can also use yEd or any graphics editor you like and master.
When codes have to be generated, I used Makefile to allow you to go through the compilations process. Think to use it (in general, you can just run make in the folder where the code is, and make test if the rules exist).
| TP Number | Tp Group | File to consult | Lines | Link |
|---|---|---|---|---|
| 1 | 2 | discovery/factorielle.c | all | click |
| 3 | discovery,discovery/Makefile | all | ||
| 2 | 1 | Regex.md | 1 - 26 | Regex.md |
| 2 | Regex.md | 27 - 34 | Regex.md | |
| 3 | Regex.md | 35 - end | Regex.md | |
| 3 | 1 | Automates.md | 1 - 12 | Automates.md |
| 2 | images/morse.png | Automates.md | ||
| 3 | Automates.md | 17 - 30 | Automates.md | |
| 4 | Automates.md | 31 - end | Automates.md | |
| 4 | 1 | Grammaire.md | 3 - 70 | Grammaire.md |
| 2 | Grammaire.md | 71 - 138 | Grammaire.md | |
| 3 | Grammaire.md | 139 - 171 | Grammaire.md | |
| 4 | Grammaire.md | 172 - end | Grammaire.md | |
| 5 | 1 | ArbreDR.md | 3 - 56 | ArbreDR.md |
| 2 | ArbreDR.md | 57 - 79 | ArbreDR.md | |
| 3 | ArbreDR.md | 80 - end | ArbreDR.md |
| TP Number | Tp Group | File to consult (base: lex_yacc/tp6, lex_ycc/tp8) | Link |
|---|---|---|---|
| 6-1 | 1 | 1/copie.l | copie.l |
| 2 | 1/compt_voyelle.l | compt_voyelle.l | |
| 3 | 1/compt_consonne.l | compt_consonne.l | |
| 4 | 1/compt_mot.l | compt_mot.l | |
| 5 | 1/compt_linebreak.l | compt_linebreak.l | |
| 6 | 1/compt_allchars.l | compt_allchars.l | |
| 7 | 1/compt_chars_notarbreak.l | compt_chars_notarbreak.l | |
| 8 | 1/compt_class.l | compt_class.l | |
| 6-2 | 1 | 2/filt_sl_comment.l | filt_sl_comment.l |
| 2 | 2/filt_ml_comment.l | filt_ml_comment.l | |
| 3 | 2/filt_chars.l | filt_chars.l | |
| 6-3 | 1 | 3/copie_files.l | copie_files.l |
| 2 | 3/crypt.l | crypt.l | |
| 3 | 3/decrypt.l | decrypt.l | |
| 6-4 | 1 | 4/affiche_nombre.l | affiche_nombre.l |
| 2-3-4 | 4/calculator.l | calculator.l | |
| 6-5 | 5/pgm_analysor.l | pgm_analysor.l | |
| 6-6 | 6/polish_syntax_checker.l | polish.l | |
| 6-7 | 7/polish_syntax_checker_automate.l | polish_automate.l | |
| 7 | 1 | 2CMP/Grammaire.md | Grammaire LL |
| 2 | 2CMP/Grammaire.md | CGES | |
| 3 | 2CMP/Grammaire.md | Grammaire LR | |
| 8-1 | 1 | 1/calc.y | parser |
| 2 | 1/calc.l | lexer | |
| 8-2 | 1 | 2/Grammar.md | Grammar |
| 2 | 2/calc.l | lexer | |
| 3-5 | 2/calc.y | parser | |
| 8-3 | 1 | 3/Grammar.md | Grammar |
| 1 | 3/calc.y | parser | |
| 8-3 | 2 | 3/calc.l | lexer |
| 8-4 | 1 | 4/calc.reduction_errors.y | parser wih erd errors |
| 2 | 4/calc.no_reduction.y | parser wih erd errors | |
| 1-2 | 4/calc.l | lexer |
- Linux
sudo apt-get install clisp - Mac
brew install clisp - Windows télécharger
clisp
- Download
sublime text - get package manager
- get SublimeREPL and Lisp langage support
- Run REPL with common lisp
- Clone
slimeproject:git clone https://github.com/slime/slime.git - Get
atom-slimepackage from atom - Go into
slimeclone - run
make && make run-swank - into atom:
Maj+Ctl+P,Slime:Connect
In lisp folder :)
| TP number | TP group | File to consult | Lines |
|---|---|---|---|
| TP 1 | 1 | easy_labs.lisp | 17 to 54 |
| 2 | easy_labs.lisp | 55 to 123 | |
| 3 | easy_labs.lisp | 124 to 179 | |
| TP 2 | 1 | easy_labs.lisp | 180 to 214 |
| 2 | easy_labs.lisp | 215 to 253 | |
| 3 | easy_labs.lisp | 254 to 326 | |
| TP 3 | easy_labs.lisp | 327 to 528 | |
| TP 4 | the_lab_that_should_not_exist.lisp | Stand Alone | |
| TP 5 | easy_labs.lisp | 529 to 528 | |
| TP 6 | laby.lisp | Stand Alone |
In CAML folder ;)
| TP number | TP group | File to consult | Lines |
|---|---|---|---|
| TP 1 | 1 | tp1_to_3.ml | 22 to 57 |
| 2 | tp1_to_3.ml | 56 to 89 | |
| 3 | tp1_to_3.ml | 90 to 148 | |
| TP 2 | 3 | tp1_to_3.ml | 149 to 257 |
| TP 3 | tp1_to_3.ml | 258 to 427 | |
| TP 5 | tree.ml | Stand Alone |
Guess where :p
| TP number | TP group | File to consult | Lines |
|---|---|---|---|
| TP 1 | 1 | tp1_to_3.py | 36 to 128 |
| 2 | tp1_to_3.py | 56 to 89 | |
| 3 | tp1_to_3.py | 90 to 148 | |
| TP 2 | 3 | tp1_to_3.py | 149 to 257 |
| TP 3 | tp1_to_3.py | 258 to 427 | |
| TP 5 | tree.py | Stand Alone | |
| TP 9 | 1 | lab9.py | 8 to 162 |
| What | Where |
|---|---|
| general | others.txt |
| lisp | lisp.lisp |
| python | python.py |
TP_NOTE contain correction of the TP we had in 2016. rattrapage contain correction of the TP for 2d timer we had in 2016.
Get started contain all 'mini' exercises introducting prolog language in the course and some others bases.
sudo apt-get install swi-prolog- Download
sublime textorvisual studio code
- get package Prologue
- in configuration add:
"files.associations": { "*.pl": "prolog"} - use terminal (integrated or extern) to run prologue:
swipl - clauses and foncteur are to be used with
consult. Goals need to be copy paste toswipl
- get package manager
- get SublimeREPL and Prolog langage support
- Open package (
~/.config/sublime-text-3/Packages/SublimeREPL/config/Prolog) - Change
Main.sublime-menu"cmd": ["...."]into"cmd": ["swipl"] - Run REPL with prolog
| TP number | TP group | File to consult | Lines |
|---|---|---|---|
| TP 4 | 1 | tp4.pl | 1 to 71 |
| 2 | tp4.pl | 72 to 141 | |
| 3 | tp4.pl | 142 to 170 | |
| 4 | tp4.pl | 171 to 186 | |
| 5 | tp4.pl | 187 to 243 |
- get
Seti UIpackage - get
lisp indentpackage
- get
icon theme - get
seti icon theme