Question

Duplicate of:

et d’autres, je suis trop paresseux pour le trouver en ce moment.

Je ne demande pas comment créer un langage incroyablement complexe. Je voulais juste comprendre les bases. J'utiliserais c # comme langage sous-jacent. Je sais que c'est vague. J'espérais quelque chose de très fondamental pour me diriger.

Je pense que je suis principalement intéressé par la création de langages de script. Par exemple, je vois des personnes qui écrivent des programmes mais qui ont ensuite un langage de script pour leur application. Je ne veux pas réécrire un langage de script Windows. Supposons que j'ai un lecteur de fichier texte et que, pour une raison quelconque, je souhaite un langage de script pour automatiser quelque chose. Je ne sais pas comment demander.

Merci.

EDIT - Merci pour les réponses. Je le regardais plus pour l'apprentissage que pour le moment. J'utiliserais probablement LUA, mais j'essaie d'en apprendre davantage sur le concept en général.

Était-ce utile?

La solution

Vous pouvez consulter LUA - je les ai utilisées avec grand succès Je me suis posé la question "Comment puis-je automatiser insérer la tâche ici dans insérer une de mes applications ici ?"

Modifier: voici quelques exemples (tirés de la page de liens , certes, peu commode < un href = "http://lua-users.org/wiki/" rel = "nofollow noreferrer"> Lua Wiki ) sur la manière d'intégrer Lua dans votre application:

  

Autres conseils

Vous pouvez utiliser un langage existant tel que Python ou Javascript. Par exemple, pour Javascript, il existe http://www.mozilla.org/rhino/ pour Applications Java. Donc, en règle générale, vous n'avez pas besoin d'inventer un nouveau langage, vous devez simplement fournir une API personnalisée pour un langage qui existe déjà.

Certaines terminologies sont en ordre. Vous parlez peut-être d'un langage spécifique à un domaine . Les deux méthodes de base pour transformer un fichier texte en un "fichier exécutable": un compilateur ou < a href = "http://en.wikipedia.org/wiki/Interpreter_(computing)" rel = "nofollow noreferrer"> un interprète . Un interprète correspond mieux au concept de script, car il est plus facile de construire et d’exécuter des lignes une par une. Notez qu'au-delà d'un langage très simple, l'écriture d'un analyseur syntaxique ou d'un interprète décent n'est pas triviale. Le travail classique sur les interprètes est SICP , mais c'est un livre assez dur pour les débutants.

Scott Hanselman a mentionné dans son le dernier podcast intégrant IronPython pour autoriser le script d'une application existante était très facile à faire.

Si vous souhaitez que votre application devienne scriptable, vous devez absolument envisager d'utiliser un langage existant plutôt que de tenter d'écrire le vôtre.

Si l'expérience éducative liée à l'écriture de votre propre langage de script vous intéresse davantage, vous devriez vous lancer!

vous avez d’abord besoin d’un analyseur lexical tel que lex, puis d’un analyseur syntaxique tel que bison.

Ensuite, vous pouvez utiliser l'analyseur syntaxique pour créer un interpréteur permettant d'exécuter les résultats de la syntaxe.

c'est ce que font la plupart des langages de script.

p.s: vous pouvez également vous entraîner en écrivant des shells - les scripts shell (bash, csh ou sh) sont des langages de script très simplifiés.

Il n’est pas nécessaire de créer un nouveau langage de script, il y en a plusieurs, par exemple. Rhino, qui est un code javascript intégrable largement utilisé ( http://www.mozilla.org/rhino/ ). ) ou Jscript de MS, que vous pouvez utiliser directement dans votre produit.

Je suis allé comme vous le demandez - j'ai déjà créé mon propre interprète de schémas. Cela a très bien fonctionné, mais nous avons réinventé de nombreuses technologies et n’avons vraiment pas obtenu d’avantages supplémentaires. Nous aurions mieux fait de simplement utiliser l'un des systèmes disponibles. Je ne referais pas cette décision alors que c'était amusant et réussi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top