Giter Club home page Giter Club logo

titouanfreville / supinforesources Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 8.0 35.78 MB

Resources for Supinfo cursus and more. This repo is shared with any Supinfo Student and free of use.

OCaml 1.83% Python 3.43% Common Lisp 3.64% Prolog 3.58% C 44.07% Makefile 13.40% Lex 1.95% Shell 0.76% Yacc 1.36% TeX 24.61% Go 0.91% HTML 0.22% C++ 0.19% Perl 6 0.01% Roff 0.03%
functional-programming course-material artificial-intelligence logic logic-programming lex yacc c caml lisp

supinforesources's Introduction

Supinfo AIT resources

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.

2 CMP

Working environement

  • Linux sudo apt-get install gcc flex byacc
  • Mac brew install gcc flex bison (if exist in brew, used byacc instead of bison)

Automata tool

http://madebyevan.com/fsm/ is the one I used. You can also use yEd or any graphics editor you like and master.

Labs Correction

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).

Part 1

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

Part 2

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

3 AIT

Working environement

  • Linux sudo apt-get install clisp
  • Mac brew install clisp
  • Windows télécharger clisp

Set up with Sublime

  • Download sublime text
  • get package manager
  • get SublimeREPL and Lisp langage support
  • Run REPL with common lisp

Set up with atom-slime

  • Clone slime project: git clone https://github.com/slime/slime.git
  • Get atom-slime package from atom
  • Go into slime clone
  • run make && make run-swank
  • into atom: Maj+Ctl+P, Slime:Connect

List of corrections available (lisp)

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

List of correction (CAML -> All tps, in CAML :)

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

List of correction (Pyhton -> All tps, in Python :)

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

Be ready for SOE

What Where
general others.txt
lisp lisp.lisp
python python.py

TPs

TP_NOTE contain correction of the TP we had in 2016. rattrapage contain correction of the TP for 2d timer we had in 2016.

4 AIT

Calcul logique

Prologue

Get started contain all 'mini' exercises introducting prolog language in the course and some others bases.

Working environement

Linux / MacOS
  • sudo apt-get install swi-prolog
  • Download sublime text or visual studio code
VSCode
  • 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 to swipl
Sublime Text
  • 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

Correction TPs

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

Nicer Sublime text

  • get Seti UI package
  • get lisp indent package

Nicer VSCode

  • get icon theme
  • get seti icon theme

supinforesources's People

Contributors

titouanfreville avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.