IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Théorie des langages


Sujet :

Algorithmes et structures de données

  1. #1
    Lucas Panny
    Invité(e)
    Par défaut Théorie des langages
    Bonjour,

    J'ai cette matière à l'université! Il semble que cela va mener vers la réalisation de compilateur.

    Ce que je cherche c'est comprendre les bases de ce cours, en fait on n'a pas encore commencé le cours mais j'aimerais savoir que dois-je cherche sur Internet pour l'apprendre un peu plus

    Des liens de cours s'il y en a?
    Il semble que la base c'est les fameux automates?

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Lucas Panny Voir le message
    j'aimerais savoir que dois-je cherche sur Internet pour l'apprendre un peu plus
    google: Programming language theory

    Bon courage, il y a de quoi lire.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Lucas Panny
    Invité(e)
    Par défaut
    Mes petites recherches confirment que l'automate est la base de cette matière
    J'ai même visionné un exercice sur l'automate mais j'ai vu que c'est un peu ridicule d'utiliser de l'automate pour relever les mots dans un texte, voir si un mot est dans le dictionnaire, etc

    Je me demande en combien d'années ou d'heures avez-vous étudié cette matière "théorie des langages"?

    Est-ce que ça traite les Algorithme de manipulation du textes? Algorithmes de mesure de similarité? Je pense à la recherche Google en posant ces questions

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Lucas Panny Voir le message
    Mes petites recherches confirment que l'automate est la base de cette matière
    ?

    Pour moi la PLT ca parle plutot des langage de programmation: paradigmes, structuration, données, execution, ...
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre actif
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Points : 257
    Points
    257
    Par défaut
    Bonjour,

    les langages de programmation sont une application de la théorie des langages mais ce n'est certainement pas la seule :-) !
    J'ai vu (surement que) partiellement cela dans mes différents cours sur les automates... (aussi machines de turing, automate a pile, etc...)...

    Globalement on part d'un alphabet (a,b), et avec une fonction (définie souvent par un automate), on regarde quels mots on peut constituer avec...
    Si par exemple j'ai un automate qui boucle sur un etat 1 avec le mot a, possède une transition entre l'état 1 et l'état 2, et a pour état final b (un automate est défini par un alphabet, un ensemble de transitions entre ces etats, un etat final et un etat initial) alors le langage défini par cet automate sera de ce style :
    b, ab, aab, aaab, aaaab, etc... et en utilisant une expression regulière : a*b...

    Ceci est juste une petite introduction pour te mettre en appétit, après avec un peu de doc, tu vas surement trouver tout ce que tu cherches...

    [c'est effectivement utilisé pour les compilateurs... Deux outils utilisés pour programmer les compilateurs => lex et yacc (outil pour implémenter "l'automate"]

    @+,
    Tid.

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Tidus159 Voir le message
    les langages de programmation sont une application de la théorie des langages mais ce n'est certainement pas la seule :-) !
    J'ai vu (surement que) partiellement cela dans mes différents cours sur les automates... (aussi machines de turing, automate a pile, etc...)...
    Hum... pour moi les automates font plutot partie de la théorie de la calculabilité, ou de l'algorithmique. Mais bon, chacun son point de vue.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 55
    Points : 61
    Points
    61
    Par défaut
    En fait, la matiere que tu aborderas a la fac fera certainement le lien entre automates, grammaires et langages.

    Une grammaire definira un langage lequel sera représenté par un automate a etat finis.

    Puis tu verras les differents types de grammaires (Type 0, 1,...) , les differents types d'automates (deterministe...) et comment passer d'un type d'automate a un autre.

    Le tout pourrait etre conclu par l'etude des machines de turing.

    En tout cas, c'est ce genre de choses qui sont enseignés en general aux L2 a la fac.

  8. #8
    alex_pi
    Invité(e)
    Par défaut
    Aaaaaaaah !!
    Là on mélange deux trucs qui n'ont *rien* à voir !

    1) les "langages" qui sont sont des ensembles de mot (autrement dit, des sous parties d'un monoïde libre, mais là, on vire pédant ), qu'on va souvent tenter de décrire par des grammaires. Et dans le cas des langages dit "régulier" (ou "rationnels") dans une mauvaise traduction de l'anglais), effectivement, ils sont reconnaissables par des automates.

    2) les "langages de programmation" qui permettent de... programmer. Alors effectivement, leur syntaxe est généralement décrite par une grammaire et l'ensemble des programmes acceptable forme donc un langage au sens du 1), mais c'est quand même globalement là que s'arrête la comparaison... Ici, les sujets d'études seront le typage, la sémantique, la compilation, etc.

    Avant de chercher des ressources, il faudrait déjà savoir dans quel cas tu te trouves

  9. #9
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 377
    Points : 23 663
    Points
    23 663
    Par défaut
    Cherche avec « langages formels » et « classification de Chomsky ». Ça devrait couvrir la majorité de ce que tu vas voir.

    Les automates d'états finis, à la base, c'est quelque chose de complètement distinct, mais il a été établi que le langage des expressions régulières est exactement celui des expressions régulières, et réciproquement, ce qui est quand même assez fort.

Discussions similaires

  1. [Éditeur Web] Outil de théorie des langages
    Par Agoudard dans le forum Qt
    Réponses: 3
    Dernier message: 31/03/2011, 12h05
  2. Théorie des langages / Compilation
    Par Identifiant dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 28/01/2010, 18h10
  3. exercice théorie des langages
    Par abdellah 1 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 18/04/2009, 00h14
  4. [Etat-Transition] Relation avec les automates d'état finis vu en théorie des langages ?
    Par isma44 dans le forum Autres Diagrammes
    Réponses: 3
    Dernier message: 15/03/2007, 00h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo