Vous devez donc créer votre propre langage de script construit en .NET C#. Quoi de mieux maintenant pour les bibliothèques? (pensez SDL/OPENGL), générez des wrappers avec Swig ou faites-le à la main? Un autre choix?Comment ajouter des liaisons à une nouvelle langue?
Répondre
Je recommanderais d'utiliser le CLR. De cette façon, vous obtenez l'ensemble du FCL, et toutes les bibliothèques tierces que les gens écrivent en .Net, sans avoir à faire de travail supplémentaire.
Puisque vous construisez la langue dans C# /. NET (que je commenterai plus tard), vous devriez avoir un accès facile à l'ensemble du système de bibliothèque .NET. Cela devrait faciliter l'utilisation des bibliothèques existantes pour créer des assemblys .NET et les exposer à vos scripts.
Cependant, je me poserais la question de faire un langage de script en C# - Il existe de très bonnes options, surtout si vous prenez en compte le DLR (Dynamic Language Runtime). Vous pouvez fournir des scripts à une application C# existante très facilement sans créer de langage personnalisé.
Salut. Je n'utilise pas le DLR. (Je l'aime mais il ne supporte pas la récursivité de la queue et d'autres fonctionnalités que j'ai besoin d'environnements de première classe facilement). "Cela devrait faciliter l'utilisation des bibliothèques existantes pour créer des assemblys .NET et les exposer à vos scripts." Oui, ce serait l'itinéraire si je l'ai fait à la main. Générez un assembly, puis faites un wrapper. – thatotherguy
- 1. Comment ajouter une entrée de langue supplémentaire à Android?
- 2. Modifier master.dbo.syslanguages ou insérer une nouvelle langue
- 3. Ajouter une nouvelle colonne dans Infragistics Wingrid
- 4. Ajouter une nouvelle ligne à GridView sans DataBind
- 5. Comment ajouter une nouvelle alerte SharePoint via les services Web
- 6. CoreDataBooks Ajouter nouvelle cellule à tableview
- 7. Comment ajouter des projecteurs à une image
- 8. Dans Dashcode, avec iPhone webkit, comment ajouter une nouvelle page?
- 9. comment ajouter une nouvelle position modulo sur un template joomla?
- 10. Comment ajouter une nouvelle ligne à une table spécifiée avec jQuery?
- 11. Comment ajouter des données exif à une image?
- 12. Ajouter une nouvelle colonne dans une grande table mysql
- 13. Page de l'onglet ajouter une nouvelle propriété en C# (winform)
- 14. Comment envoyer des sms dans une langue autre que l'anglais
- 15. Comment puis-je ajouter une nouvelle ligne à un texte dynamique dans Flash en utilisant AS3
- 16. Comment ajouter une nouvelle zone DNS sur Windows Server 2008 à l'aide d'API ou de PowerShell?
- 17. Comment ajouter une nouvelle colonne à gridview asp.net où les colonnes sont générées automatiquement?
- 18. Comment ajouter une marque à une étiquette
- 19. asp: RadioButtonList ajouter RadioButton à la nouvelle ligne
- 20. Lancements d'insertion LINQ to SQL Basic: Attacher ou Ajouter une nouvelle exception liée à une entité
- 21. Comment rechercher l'ID de langue des messages?
- 22. Android, ajouter une nouvelle vue sans XML Mise en page
- 23. Comment faites-vous une liaison de langue?
- 24. ajouter des métadonnées à une définition XSD
- 25. Comment ajouter dynamiquement des contrôles .Net à une application vb6
- 26. Comment ajouter des clauses dynamiques 'where' à une requête linq?
- 27. Comment ajouter une nouvelle table répliquée à une base de données SQL Server 2005 dans une réplication de fusion?
- 28. Réduire une ArrayList à une nouvelle taille
- 29. NSNotification/Liaisons?
- 30. Mise à niveau d'une table de base de données pour ajouter une nouvelle colonne
Le problème est que mon langage est très différent pour mapper ses types aux types CLR: fermetures, types récursifs, nombres arbitraires et autres. Il n'y a pas de chaîne de construction par exemple mais une classe unicode.string. Je ne veux pas vraiment l'intégrer avec le .NET Runtime et me battre pour chausse tout ce dont il a besoin mais je trouve qu'il est capable d'utiliser SDL/OpenGL. – thatotherguy
Je dirais que ça en vaut la peine. Vous pouvez écrire votre propre ensemble de types pour la langue et demander au compilateur de les convertir automatiquement en types natifs .Net lorsque vous les passez à une fonction externe. Le – SLaks