- 1. Qu'est-ce que la personnalisation ?
- 2. Qu'est-ce qu'un langage virtuel ?
- 3. Qu'est-ce que la compilation directe ?
- 4. La programmation par aspect
- 5. Les méthodes de modélisation
- 6. Les fonctions escape et unescape
- 6.1. Par rapport aux autres langages
- 6.2. Les textes
- 6.3. Version DOS et Unix
- 7. La création de langages
- 8. Conclusion
- 9. Apprendre le langage Talenha
Qu'est-ce que la personnalisation ?
La personnalisation suppose un modèle de départ qui inclut des interactions qui fourniront le document final adapté à vos besoins. Par exemple, c'est la mise en place du mailing qui peut être très complexe et individualisée pour chaque destinataire. Cependant, ce n'est pas un langage de macros ni de scripts, je l'appelle un langage virtuel.Qu'est-ce qu'un langage virtuel ?
Un langage virtuel utilise un programme écrit dans un haut niveau, en l'occurrence le JavaScript. Talenha a été entièrement écrit en JavaScript pour l'analyse syntaxique, la colorisation syntaxique ainsi que pour les calculs. Exceptionnellement, un langage décrit dans Talenha sera compilé en par un programme écrit en PHP. Les calculs sont finalement réalisés par une machine virtuelle. L'entrée est un arbre syntaxique abstrait ce qui lui le nom de langage virtuel.Qu'est-ce que la compilation directe ?
En effet, il est possible d'effectuer des traitements sur plusieurs fichiers ou à partir d'un seul texte. La fonction ci-dessous traite tous les fichiers dans l'ordre.compile f1 f2 ...
La fonction ci-dessous traite une suite de textes.
compile(s1, s2, ...)
Ce sont des parenthèses qui permettent à l'analyse grammaticale de distinguer les traitements à effectuer.
La programmation par aspect
La machine virtuelle crée des fichiers texte. Les fonctions suivantes écrivent dans un fichier ; La fonction aspect insère du texte au moment du remplacement.write("chemin/fichier", liste)
aspect("chemin/fichier", #nom, option, liste)
[<<[ write("output.html", ["<html lang=\"fr\">...<body>", "</body></html>"]), aspect("output.html",#body,after,["Bonjour!"]) ]>>]Tous les fichiers sont stockés sur le serveur Web de la base de données MySQL. Exception, l'arbre syntaxique abstrait des fichiers de la machine est mis en cache dans le navigateur afin de réduire le temps de compilation.
Le langage de programmation Talenha fonctionne sur Chrome et cependant, comme il s'agit d'une importation dynamique dans un web worker, cela ne fonctionne pas sur Firefox et ses dérivés.
Les méthodes de modélisation
Un programme informatique peut être divisé en trois sous-ensembles :- Squelette
- Caractéristiques technologiques
- Algorithmes
Les fonctions escape et unescape
Ce sont deux fonctions du langage Talenha. La fonction escape remplace les caractères:- retours chariots par \n ,
- un guillemet par \",
- le caractère \ par \\.
Par rapport aux autres langages
En C, lorsque vous écrivez :printf("Une chaîne:\"Bonjour !\"")alors le résultat après compilation est
Une chaîne:"Bonjour !".Dans le langage Talenha, écrire
[<<[ print("Une chaîne:\"Bonjour !\"") ]>>]affiche dans la console
Une chaîne:\"Bonjour !\".
Les textes
Le langage de programmation Talenha génère des programmes informatiques. Aussi, pour générer un code en C, écrire tout simplement en C :printf("Une chaîne:\"Bonjour !\"");.
Pour écrire dans le langage Talenha, encadrez votre code entre les deux chevrons
[<<[ ]>>].
Tous les textes entre guillemets peuvent contenir des retours à la ligne.
[<<[ print("Une ligne Une seconde ligne") ]>>]donne
Une ligne Une seconde ligne.Avec la fonction escape :
[<<[ print(escape("Une ligne Une seconde ligne")) ]>>]donne
Une ligne\nUne seconde ligne.Tandis que
[<<[ print("Une ligne\nUne seconde ligne") ]>>]donne
Une ligne\nUne seconde ligne.Avec la fonction unescape :
[<<[ print(unescape("Une ligne\nUne seconde ligne")) ]>>]donne
Une ligne Une seconde ligne.Il est possible d'obtenir le texte entre guillemets.
[<<[ x = "Bonjour !", print(x.value) ]>>]donne
"Bonjour !".Aussi, les fonctions
escape(s, ...)et
unescape(s, ...)sont utiles pour les textes.
Pour une version future, les textes peuvent être aussi entre apostrophes ou entre arobase (@).
Version DOS et Unix
Le traitement du caractère\rest inclus dans ces fonctions.
La création de langages
Pour créer un nouveau langage, la commande est la suivante:[<<[ create transpiler nom { // ... } ]>>]
Vous créez le langage avec des jetons, puis vous définissez les règles de grammaire. Pour chaque règle, vous décrivez comment mettre en œuvre si la règle est valide à ce moment.Le langage Talenha comme de nombreux autres langages ont deux étapes (deux passes) :
- L'analyse syntaxique et grammaticale avec la colorisation syntaxique automatique,
- La compilation et la réalisation des opérations du programme.
- La colorisation n'est plus effectuée après l'erreur,
- Un fond en rouge est affiché à proximité de l'erreur mais l'analyse continue.
- Une variable inconnue,
- Un dépassement de la pile des appels.
[<<nom[ ]>>]avec le nom du langage.