Skip to content
This repository has been archived by the owner on Feb 7, 2019. It is now read-only.

UPB-FILS/Archive-ALF

Repository files navigation

ALF


TD

TD1 : Ecrivez une expression reguliere en JavaScript pour valider une date en format ISO en incluant le fuseau horraire

TD2 : Ecrivez une grammaire en PEG.js pour valider si un numero de carte de credit est vadid ou non

TD3 : Concevez la grammaire d'un langage de programmation a l'aide de PEG.js. Le langage peut-etre imperative ou fonctionnel selon votre choix. Il faut traiter les regles pour instruction imbriquee de type if-then-else

TD4 : Concevez un langage de programmation a l'aide de ANTLR. Le langage doit comprendre au moins deux types d'instruction: initialisation des varibles et le traitement de conditions logiques. Le type de langage est a votre choix.

TD5 : Concevez une machine de Turing pour faire des calculs elementaires en binnaire (addition, substraction, multiplication, division, puisssance 2). Vous pouvez outiliser le site de Khan Academy ou Morphett ou votre propre implementation.

TD6 : Concevez une machine de Turing capable de lire les specifications d'une autre machine de Turing comme programme d'entree et ecrire sur plusieurs bandes le programme de celle-ci. Les donnes d'entree se trouvent sur une bande separee. Exemplifiez par l'implementation d'une machine capable de faire des additions en base 16, les regles algebriques sont specifiees en tant que machine de Turing. Les donnes d'entree pour le calcul sont "B0 + B5 ="


Automates et Langages Formels

Liens:

https://javacc.java.net/

http://www.antlr.org/download.html

http://zaach.github.io/jison/docs/ --> http://zaa.ch/jison/demos/calc/

http://goldparser.org/index.htm

http://www.hwaci.com/sw/lemon/

http://www2.cs.tum.edu/projects/cup/index.php

http://ssw.jku.at/Coco/

http://pegjs.majda.cz/

http://hackingoff.com/compilers/ll-1-parser-generator; http://hackingoff.com/compilers/lr-0-parser-generator; http://hackingoff.com/compilers/slr-1-parser-generator

http://www.bottlecaps.de/rex/

http://dinosaur.compilertools.net/

http://catalog.compilertools.net/lexparse.html; http://gentle.compilertools.net/;

http://zaa.ch/jison/

http://java-source.net/open-source/parser-generators

http://jflex.de/

http://jscc.phorward-software.com/

http://irony.codeplex.com/ - .NET approach. Directly in C#

http://syntax.gforge.inria.fr/

https://pypi.python.org/pypi/grako/

http://labraj.feri.um.si/lisa/

http://accent.compilertools.net/

http://www.semanticdesigns.com/Products/DMS/DMSToolkit.html

https://www.khanacademy.org/computer-programming/game-of-life/879123336

Vous pouvez trouver plusieurs alogorithmes implementes en plusieurs langages de programmation pour faire la compraison:

http://rosettacode.org/wiki/Rosetta_Code -> http://rosettacode.org/wiki/Category:Programming_Tasks -> http://rosettacode.org/wiki/Priority_queue
ou per langage de programmation (e.g. Python)
http://rosettacode.org/wiki/Category:Programming_Languages -> http://rosettacode.org/wiki/Category:Python

Voir aussi les langages exotiques ou academiques: https://esolangs.org/wiki/Language_list et un bon example est https://github.com/lhartikk/ArnoldC

http://hackingoff.com/compilers/ll-1-parser-generator

http://jointjs.com/demos/javascript-ast

http://www.bayfronttechnologies.com/mc_tutorial.html

http://gnosis.cx/TPiP/ [Python]

https://en.wikipedia.org/wiki/Compilers%3A_Principles,_Techniques,_and_Tools (Jedi Masters only)

https://en.wikipedia.org/wiki/List_of_compilers

https://en.wikipedia.org/wiki/Comparison_of_assemblers

https://en.wikipedia.org/wiki/Comparison_of_parser_generators

https://en.wikipedia.org/wiki/Parsing_expression_grammar

https://en.wikipedia.org/wiki/Regular_expression

https://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines

https://en.wikipedia.org/wiki/Lexical_analysis#List_of_lexer_generators

https://en.wikipedia.org/wiki/Ragel

https://en.wikipedia.org/wiki/Finite-state_machine

https://en.wikipedia.org/wiki/Compiler-compiler

https://en.wikipedia.org/wiki/Metacompiler

https://en.wikipedia.org/wiki/LR_parser

https://en.wikipedia.org/wiki/LALR_parser

https://en.wikipedia.org/wiki/LL_parser

https://en.wikipedia.org/wiki/Infix_notation

https://en.wikipedia.org/wiki/Polish_notation

https://en.wikipedia.org/wiki/Reverse_Polish_notation

https://en.wikipedia.org/wiki/Binary_expression_tree

http://www.cs.man.ac.uk/~pjj/cs212/fix.html

Turing Machine

http://morphett.info/turing/turing.html

https://www.khanacademy.org/computer-programming/turing-machine/938201372

http://www.google.com/doodles/alan-turings-100th-birthday

https://turingmachinesimulator.com/

http://www.turing.org.uk/book/update/tmjavar.html

http://www.rendell-attic.org/gol/TMapplet/

http://www.mijagourlay.com/turingmachine

https://en.wikipedia.org/wiki/Busy_beaver

http://demonstrations.wolfram.com/BusyBeaver/

https://en.wikipedia.org/wiki/Ackermann_function

https://en.wikipedia.org/wiki/Sudan_function

https://en.wikipedia.org/wiki/Turmite

https://en.wikipedia.org/wiki/Langton%27s_ant

https://en.wikipedia.org/wiki/Paterson%27s_worms

https://en.wikipedia.org/wiki/Computability_theory

https://en.wikipedia.org/wiki/Transcomputational_problem

Liens divers - a etudier

https://scratch.mit.edu/projects/editor/?tip_bar=home

http://ariya.ofilabs.com/2011/08/math-evaluator-in-javascript-part-2.html

http://tapdigit.googlecode.com/git/demo.htm

http://fatiherikli.github.io/brainfuck-visualizer/

http://fullvolume.co.uk/static/lolcode/

http://lolcode.codeschool.com/levels/1/challenges/1

http://strlen.com/false-language

http://esolangs.org/wiki/Befunge

http://www.quirkster.com/iano/js/befunge.html

http://web.archive.org/web/20150623025348/http://compsoc.dur.ac.uk/whitespace/

http://www.dangermouse.net/esoteric/ook.html

https://en.wikipedia.org/wiki/Fast-growing_hierarchy

http://www.jikesrvm.org/

http://sable.github.io/soot/

https://www.gnu.org/software/bison/

http://goldparser.org/

http://www.mactech.com/articles/mactech/Vol.16/16.07/UsingFlexandBison/index.html

https://github.com/sirthias/parboiled/wiki

https://wiki.haskell.org/Parsec

http://www.colm.net/open-source/ragel/

https://en.wikipedia.org/wiki/Spirit_Parser_Framework

https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form

http://gdk.sourceforge.net/

http://syntax.gforge.inria.fr/

http://invisible-island.net/byacc/byacc.html

http://flex.sourceforge.net/

http://nlp.stanford.edu/software/lex-parser.shtml

http://blogs.perl.org/users/jeffrey_kegler/2014/09/parsing-a-timeline.html

https://spadystudios.wordpress.com/2014/05/04/these-are-a-few-of-my-favorite-things-38-designing-celtic-knots/

https://www.rit.edu/news/story.php?id=49994

https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQo8oTbvFS-7Q787xJHY7PvDRQvKK3P8Dvzq-aaOSDr-KR48LXT

http://obsidianbutterfly.com/Articles/celtic1.html

http://www.calligraphy-skills.com/how-to-draw-celtic-knots.html


TD et Cours - autres Universites

http://www.discmath.ulg.ac.be/cours/main_autom.pdf

http://pageperso.lif.univ-mrs.fr/~frederic.olive/Materiel/langagesL2/cours.pdf

http://www.lsv.ens-cachan.fr/~gastin/Langages/

http://lacl.fr/dima/langages/

http://nprcovic.free.fr/transparents-IN401.pdf

http://gaati.org/bisson/tea/lfcc.pdf

http://www.lix.polytechnique.fr/~jouannaud/articles/cours-info-theo.pdf

http://www.liafa.jussieu.fr/~asarin/ENS/lf.html 👍

http://liris.cnrs.fr/~sbrandel/wiki/lib/exe/fetch.php?media=ens:lif15:lif15-cours.pdf

http://liris.cnrs.fr/~sbrandel/wiki/lib/exe/fetch.php?media=ens:lif15:lif15-support-de-cours.pdf

http://deptinfo.unice.fr/~julia/AL/01al.pdf

http://damien.nouvels.net/fr/enseignement (voir aussi Python)

http://planiart.usherbrooke.ca/kabanza/cours/ift313/

https://enjalbert.users.greyc.fr/cours/Langages/TD/TD1_Corrige%CC%81.pdf

http://www2.lifl.fr/~mailliet/Compil/TD/Exo2.pdf

http://pageperso.lif.univ-mrs.fr/~frederic.olive/Materiel/langagesL2/td.pdf

MIT ->
http://ocw.mit.edu/courses/mathematics/18-404j-theory-of-computation-fall-2006/index.htm
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-045j-automata-computability-and-complexity-spring-2011/

http://cs.fit.edu/~dmitra/FormaLang/

Stanford ->
https://www.coursera.org/course/automata


Youtube

https://www.youtube.com/watch?v=xHVmwx0fCbI

https://www.youtube.com/watch?v=GutFwGmajHA

https://www.youtube.com/watch?v=GwsU2LPs85U

Le canal Computerphile https://www.youtube.com/user/Computerphile , en Anglais.