Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C++] Pseudo language

Implémentaion ? Le "meilleur" ?

    2 janvier 2008 à 17:19:44

    Bonjour, je devellope actuellement un jeu en C++ et je me posait une question ; et si, pour aider le developement, je créeais une "console", avec comme dans oblivion des commandes comme "afficherstats()"...
    J'ai entendu parler de LUA et cru comprendre qu'un tel language était apellé "Pseudo Language",
    donc j'ai quelques questions :

    Qu'estce exactement que LUA ?

    Un pseudo language est il facile à créer ? Si oui, comment ? (tutos, aide...)

    Quels sont les pseudo languages compétents sur le marché du libre actuellement ?


    Voila, merci beaucoup.

    PS : et est-ce le même language que celui executé par des script inclus dans des fichiers ?
    • Partager sur Facebook
    • Partager sur Twitter
      2 janvier 2008 à 18:36:15

      LUA est un language interprété (je ne vois pas ce que tu entends pas pseudo).
      Il y a sur wikipedia un article détaillé.

      Pour ce qui est de ton projet je te conseille de regarder du coté de ruby, python perl et lua et de choisir celui qui te parle le plus.

      Tu peux aussi coder ton propre interpreteur (si les fonction de la console sont aussi simples que afficherstats ou kill)

      Je met ici des liens qui te serons utils

      l'article wikipedia de LUA
      langage interprété
      programmation en lua
      utiliser ruby en C++
      utiliser python en C++
      idem
      site officiel de LUA
      utiliser Perl en C++

      Si tu as des question n'hésites pas

      pour d'autres informations tappes dans google

      1. embedding+<langage>+C++
      • Partager sur Facebook
      • Partager sur Twitter
        2 janvier 2008 à 18:50:53

        C'est pas un pseudo langage (note : pas de 'u' en français), mais un vrai langage de programmation interprété.

        Pour créer ton propre langage de programmation, il faut que tu définisses une grammaire de ton langage, c'est la syntaxe.

        Cherche sur Internet (Wikipédia suffira) : Analyse lexicale, analyse syntaxique, analyse sémantique.

        Pour un débutant, l'analyse lexicale assez chiante à faire à la main, surtout dans des langages type C/C++(*)/Java/C# etc.

        C'est pour ça qu'en C on utilise les outils lex et yacc, qui servent à générer du code C pour reconnaître le langage que tu auras créé.

        Par contre, c'est clairement une des spécialités des langages fonctionnels comme OCaml.

        (*) En C++, il y a la bibliothèque boost::spirit qui est vraiment pas mal pour créer son propre langage de programmation directement en C++. C'est rapide à faire, mais quand tu veux pousser certaines choses, il faut regarder en profondeur. Par contre, ça pousse ton compilateur au bout de ses limites.

        Je pourrais moi aussi te conseiller si tu ne veux pas te prendre le chou de simplement intégrer l'interpréteur lua. En C++, il y a LuaBind qui permet de simplifier l'intégration, ou Boost.Python.
        • Partager sur Facebook
        • Partager sur Twitter
          2 janvier 2008 à 18:58:05

          en fait, je me demandais s'il était aussi possile d'utiliser ce language pour créer ds scripts, comme pas exemple quands tu ramasse un objet un démon apparait...

          est ce possible avec lua ou en créant mon propre language ?

          et LUA put être utilisé dans la pseudo console que j'ai créé ? (je recupere une chaine de caractere propre à IrrLicht)

          EDIT : bon, au vu de la seconde réponse : quel est le plus réputé, le plus diactique et le plus "simple" ? (en fait celui pour lequel je pourrait trouver de l'aide facilement :p)
          • Partager sur Facebook
          • Partager sur Twitter
            2 janvier 2008 à 20:04:18

            Ben, les deux langages sont aussi simples à apprendre si on ne considère pas l'aspect orienté objet (Lua ne supporte pas directement la POO).

            Ils sont justement parmi les langages les plus réputés pour le scripting, donc après je saurais pas les départager. Je pense par contre que tu pourras trouver plus de documentation sur Python que sur Lua, mais en même temps, le Wiki de Lua est largement suffisant pour la plupart des cas.

            Pour un jeu, je pense que tu ne regretteras pas de prendre lua. Je crois comprendre qu'il est un peu plus facile à intégrer que Python, avec moins de dépendances et tout.

            Ah oui, tolua++ existe aussi et LuaBind dépend de boost.
            • Partager sur Facebook
            • Partager sur Twitter
              5 janvier 2008 à 9:57:24

              Citation : HanLee

              Pour créer ton propre langage de programmation, il faut que tu définisses une grammaire de ton langage, c'est la syntaxe.

              Cherche sur Internet (Wikipédia suffira) : Analyse lexicale, analyse syntaxique, analyse sémantique.

              Pour un débutant, l'analyse lexicale assez chiante à faire à la main, surtout dans des langages type C/C++(*)/Java/C# etc.

              C'est pour ça qu'en C on utilise les outils lex et yacc, qui servent à générer du code C pour reconnaître le langage que tu auras créé.

              Par contre, c'est clairement une des spécialités des langages fonctionnels comme OCaml.

              (*) En C++, il y a la bibliothèque boost::spirit qui est vraiment pas mal pour créer son propre langage de programmation directement en C++. C'est rapide à faire, mais quand tu veux pousser certaines choses, il faut regarder en profondeur. Par contre, ça pousse ton compilateur au bout de ses limites.



              Saurait tu m'expliquer l'utilisation de lex et yacc, voir boost::spirit ?
              Est il possible que tu m'explique comment réaliser le mien, genre juste pour me faire faire un printf en console et une condition ?
              • Partager sur Facebook
              • Partager sur Twitter

              [C++] Pseudo language

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown