Ils ont inventé un langage de programmation, appelé: Rockstar Rock Star

Traducteur | la vie de la lampe Xue

Rockstar est un langage de programmation dynamique Turing-complet. Le but de cette langue est conçu pour être en mesure de développer le même programme informatique écrit les paroles. Son style de paroles est principalement influencée par les années 1980, des ballades rock et hard power.

Pourquoi Rockstar?

Si nous permettons de devenir une rockstar vrai (mais sans signification) langage de programmation, les recruteurs ne pas avoir à « développeur rock » très critique au moment du recrutement.

De plus, il est très intéressant, l'une basée sur les paroles compilé langage de programmation est la peine d'essayer.

Nous pouvons également l'utiliser pour faire des autocollants, qui ne veulent pas être étiquetés « développeur certifié Rockstar » cet autocollant sur votre ordinateur portable?

Rockstar Language Specification

note

Nous ne recommandons pas l'utilisation de commentaires dans le programme Rockstar. C'est rockstar, alors laissez les gens qui lisent le code et trouver le sens de leur propre. Mais si vous insistez sur l'utilisation de commentaires, s'il vous plaît mettre les commentaires entre parenthèses. Oui, cela signifie que vous ne pouvez pas utiliser des parenthèses dans les expressions arithmétiques, s'il y a des expressions complexes, de les décomposer en plusieurs clauses.

Tommy était une machine à Wrecking moyenne maigre. (Initialise Tommy avec la valeur 14487)

variable

Dans rockstar, il y a deux façons de déclarer et l'utilisation de variables.

Une variable commune par un mot-clé (un, une, le, mon ou votre) et composé du nom de la variable après le mot-clé, le nom de variable ne peuvent contenir que des lettres minuscules ASCII a-z.

variables spécifiques composées des noms propres, nom propre fait référence à tout ce qui est pas un mot-clé réservé et commencer par un mot de lettre majuscule. nom de variable spécifique peut contenir des espaces, tant que chaque espace suivi par une lettre majuscule. Il peut y avoir certains développeurs vont créer un même ID client, taux d'imposition, distance en km nom variable comme celui-ci, mais nous recommandons un nom de variable que vous utilisez l'habituel, comme Tommy, Gina, Docteur Feelgood, Monsieur Crowley, Kayleigh, Tom Sawyer, Billie Jean et Janie.

Eleanor Rigby, Peggy Sue, Black Betty, Layla et Johnny B Goode dans rockstar aussi sont des noms de variables valides, bien que strictement parlant, ils ne sont pas vraiment d'habitude.

Et Ruby, Python et VBScript, comme, les variables sont dynamiquement typés Rockstar, donc ne doivent pas être déclarés avant l'utilisation.

pronoms

Mots-clés, il, elle, lui, elle, eux, ils pointent toujours vers une variable nommée récemment.

type

Rockstar a joué avec le ECMAScript type de système très similaire, mais undefined ne son très rock and roll, nous utilisons donc le mystérieux remplacer.

  • Mysterious-- toutes les variables non, utilisez la représentation mystérieuse mot-clé.

  • - le type null, false ou égale à zéro dans le calcul. rien mot-clé, nulle part et personne est un alias.

  • entité Boolean-- logique ayant des valeurs vraies et fausses. (Mots-clés et certainement peut-être retenu peut-être, il peut être utile à l'avenir).

  • à droite, oui ok et est alias valide true.

  • mal, pas de mensonges et de faux noms d'emprunt sont efficaces.

  • Number - Rockstar utilisé dans DEC64 de stockage numérique types numériques.

  • - Chaîne séquence Rockstar sont des valeurs entières non signés de 16 bits.

  • ensemble Object-- d'attributs de données et ECMAScript.

Littérales et cession

littéral chaîne rockstar entre guillemets.

  • « Bonjour tout le monde »

Rockstar entre guillemets simples sont considérés comme des lettres normales. Il semble un peu inhabituel, jusqu'à ce que vous pensez que ce ne soit pas talkin « » bout amour dans la roche est en fait une chanson parfaitement valide.

Rockstar numérique est un nombre décimal littéral.

  • 123

  • 3,141592654

l'utilisation des affectations PUT / en combinaisons de mots clés:

  • Mettre en 123 X 123 représente la assignée à la variable X.

  • Mettez « Bonjour tout le monde » dans le message dit qu'il serait « Bonjour tout le monde » est attribué aux variables de message.

Incrémenter et décrémenter

Nous utilisons la construction {variable} et {variable} Frappez vers le bas incrémentation et décrémentation.

  • Construire ma place mondiale permettra une augmentation de la valeur de mon monde 1.

  • Frapper les murs vers le bas fera la valeur des murs de moins 1

arithmétique

opérations arithmétiques de base en utilisant le plus, moins, fois, plus et par mot-clé.

Les expressions arithmétiques:

  • ainsi que {b} - De plus, alias avec.

  • moins {b} - soustraction, alias sans.

  • fois {b} - multiplication, alias.

  • sur {b} - division, alias par.

Exemples:

  • Mettez l'ensemble de votre coeur dans mon hands-- mettre votre coeur et l'ensemble est multiplié, et affecter le résultat à mes mains.

  • Mon monde est rien sans votre zéro love-- moins votre amour, et affecte le résultat à mon monde.

  • Si les larmes d'un enfant est nothing-- vérifier les larmes est égal à zéro multiplié par un enfant.

  • Mon amour par votre eyes-- votre retour divisé par la valeur de mon amour des yeux.

littéral Poetic

Rockstar prend également en charge une fonctionnalité de langage unique appelé littérale poétique (littérale de poétique). Inspiré par la syntaxe ici-document littéral poétique permet aux programmeurs d'exprimer leur anxiété profonde en même temps à des variables initialize.

littéral de type Poetic

Lorsque vous utilisez le mot-clé vrai, faux, rien, personne et l'affectation rien, utilisez une seule ligne de code, y compris le nom de la variable, est des mots-clés et littéraux.

  • Mon coeur est l'utilisation true-- Boolean true pour initialiser mon cur.

  • Tommy est nobody-- utiliser nobody alias valeur Tommy initialisé.

littéral chaîne Poetic

Lorsque l'affectation littérale de chaîne poétique peut être faite au nom de la variable comme le début, suivi d'un mot-clé (par exemple, dit), puis parlez sur un espace. La partie restante (jusqu'à ce qu'elle touche \ terminaison n) est considérée comme chaîne littérale sans guillemets.

  • Billy dit Bonjour tout le monde! \ N indication littérale chaîne Bonjour tout le monde! Initialisé Billy.

  • Le monde dit bonjour retour \ n indication littérale chaîne bonjour retour pour initialiser le monde.

poésie littérale numérique

Quand les figures poétiques d'affectation littérale peuvent être faites au nom de la variable en début, en arrière pour garder le mot-clé est, ou était un alias ou étaient. Tant que le symbole suivant n'est pas réservé des mots-clés reste de la ligne sera considérée comme un nombre décimal, ce nombre correspondant aux longueurs de chaîne de nombre de composition consécutive. Afin de représenter un zéro numérique, afin de compenser le manque de roche dans les mots et les mots de deux lettres d'une lettre, longueur de mot requis pour modulo 10. Un point (.) Représente la décimale. En plus de la première période, les caractères non-alphanumériques sont ignorés.

  • Tommy était une indication de ladykiller de lovestruck 100 pour initialiser Tommy.

  • Douce Lucy était une indication de danseuse 16 Initialise douce Lucy.

  • Un tueur est l'indication en vrac 235 pour initialiser un tueur.

  • Mes rêves étaient la glace Une vie non tenues tout le monde ;. « Wakin up, prendre des pilules et alcool indication 3,1415926535 initialize mes rêves.

  • S'il vous plaît noter que littérale poétique peut contenir des mots clés réservés, comme dans cette prise exemple.

opération de comparaison

Et le langage de script Visual Basic et certains de l'opérateur de signe égal unique est similaire, Rockstar est le mot-clé apparaît dans la déclaration signifiait dans l'expression représentés ou il n'y a pas la même chose.

opération de comparaison rockstar ne peut se faire dans l'expression.

  • Tommy a personne l'utilisation de personne pour initialiser Tommy.

  • Si Tommy est personne derrière le bloc de code représenté dans l'égalité Tommy personne.

Modificateur ne renversera pas le résultat de l'opération de comparaison, similaire à l'IS / IS NOT SQL. Mot-clé n'est pas qui n'est pas un alias. Cet usage est contraire à l'anglais habituel, qui « Tommy a personne », « Tommy a personne » et « Tommy ne pas personne » signifie la même chose.

Rockstar prend également en charge la syntaxe suivante pour la comparaison:

  • est plus élevé / plus / plus / plus forte que signifie « supérieur à ».

  • est inférieure / moins / plus petit / plus faible que celle « moins ».

  • est aussi élevé / grande / grande / forte que signifie « supérieur ou égal. »

  • est aussi faible / petit / petit / faible en tant que moyen « inférieur ou égal. »

sortie entrée

Dans rockstar, nous utilisons mot-clé Écoutez lire une ligne d'entrée de STDIN, et utilise l'entrée coutez affectée à la variable.

  • Écoutez votre heart-- lit une ligne de STDIN, et l'assigner à votre cur.

Dites la valeur de la variable en utilisant le mot-clé écrit SDTOUT.

  • Dis Tommy-- valeur Tommy est émis vers STDOUT.

Rockstar crierons, chuchotement et cri alias Say.

Contrôle de processus et de grammaire

Les instructions conditionnelles

Si un mot-clé comme une expression conditionnelle au début, le dos pour garder les expressions. Si l'expression est évaluée à true, le bloc de code suivant est exécuté. Si, après le bloc peut avoir un bloc Else en option. Si les evalue d'expression IF false, le bloc de code est exécuté mot-clé Else plus tard.

circulation

Si l'instruction, le mot-clé Tant que le recyclage ou représente Alors que si l'expression est satisfaite, le dos du bloc sera effectuée de façon répétée:

Tommy était une danseuse Alors que Tommy est rien, Knock Tommy vers le bas

16 Tommy utilisé pour initialiser, puis le cycle, à chaque fois de moins 1 Tommy, Tommy jusqu'à zéro.

Utilisez break et continue comme la plupart des autres blocs de code basé sur la langue. Rockstar décomposera celui-ci est défini comme une rupture d'alias, et le prendre au sommet est défini comme un alias continue.

bloc

Rockstar blocs de code Si, Sinon, Alors, ou jusqu'au début et à la fin d'une ligne blanche ou EOF.

Tommy était une danseuse Alors que Tommy est rien Criez tapoter vers le bas

fonction

Fonction utilise les noms de variables et de prendre des mots-clés suivants et une liste de paramètres et mots-clés séparés par déclaration.

  • Multiplier prend X et Y

  • Recherche prend aiguille et Haystack

listes d'instructions du corps de la fonction n'est pas une ligne vide. ligne vierge pour indiquer la fin du corps de la fonction. Rockstar est toujours une fonction retourne une valeur, utilisez le mot-clé indique Redonner.

Utilisez le mot-clé prise appel de la fonction:

  • Multiplier la prise 3, 5 correspond au retour (probablement) 15

  • Recherche de prendre « mains », « mettre la main sur moi »

exemplifié

Utilisez minimaliste expression Rockstar FizzBuzz, pour plus de clarté, utilisez le tiret:

L'habitude rockstar, en utilisant littérale poétique, pas de retrait:

quelques idées

  • Si possible, essayez d'améliorer la langue. Je ne suis pas désireux de grammaire continue - Pour commencer, ne peut pas atteindre les blocs imbriqués.

  • Pensez à des façons d'atteindre le compilateur folk-rock Turing-complet. Peut-être quelque chose basé sur BF, nous utilisons la longueur des mots ou des initiales ou d'autres choses les paroles traduites en BF, ou une autre minimaliste mais langage complet Turing.

  • Production d'autocollant « développeur certifié Rockstar », et les envoyer tout le monde peut écrire un code rockstar.

  • Compositeur de la musique est utilisée pour générer le code.

la mise en uvre associée

  • rockstar-js - Rockstar-à-JavaScript compilateur

    https://github.com/wolfgang42/rockstar-js

  • rockstar-lexer-- dans Haskell analyseur lexical écrit rockstar

    https://github.com/aitorres/rockstar-lexer

  • rockstar-java - interpréteur Java Rockstar

    https://github.com/nbrevu/rockstar-java

  • rockstar-py - compilateur Rockstar à Python

    https://github.com/yanorestes/rockstar-py

texte anglais

https://github.com/dylanbeattie/rockstar

texte recommandé aujourd'hui

Cliquez ci-dessous pour lire l'image

Xu Shu dialogue linge exclusif CTO Werner Vogels

La technologie n'a pas de frontières, un facteur important dans le maintien de la sensibilité technologique et la capacité d'apprendre rapidement les programmeurs avancés « programmeurs Raiders avancés » Je crois que vous recevrez beaucoup de phase de croissance d'inspiration et d'orientation. La figure ci-dessous reconnaissance de code à deux dimensions, abonnez-vous instantanément!

3799 yuans, la gloire de débuts officiels Magic 2
Précédent
platine "As Long 6" Raiders
Prochain
Vous voulez connaître vos données de type de corps, ce long regard dans le miroir sur elle
Hindsight: Il y a plusieurs habitudes de cuisson et la santé vont lentement « réduit »
Peut-être le plus intéressant drame de chasse de 10 ans de quatre recommandation américaine TV
La technologie de pilote automatique Apollo 3.0 complète interprétation: de la R & D à la production de masse a connu quoi?
Ce bien-être Jinji, 11 le double de votre coup de contrat de l'argent | peut recevoir des coupons tous les jours
Maintenant, le cercle de drame a été « deux dominante » refresh, et c'est là une série TV Marvel
Une librairie a perdu 15 ans, pourquoi les gens sont tellement l'amour? | livres préférés
le rappeur Chine a apporté une arme à la boutique de prêteur sur gages, et l'argent jeté paradis gangsta!
Vous avez choisi de petits morceaux de la bande dessinée d'Halloween, regardiez changement belle volonté
« Neil mécanique Corps » expérience de démonstration: C'est le platine que nous connaissons!
Débarrassez-vous de la caméra avant, qui vient de sortir X Nubian
190328 Le Hua Qizi cérémonie d'ouverture NEXT de Hong Kong assister Disneyland a révélé Zhu Zhengting actuellement le tournage nouveau drame