C.C (Unix)
Cet article prévoit quelques exemples afin d'essayer de donner une saveur de la langue ; pour une liste complète de commandes et de syntaxe vous devriez consulter un page-manuel pour votre exécution.
À la différence du avant Jésus Christ , le C.C est basé sur la notation de polonais inversé (RPN), que le moyen il interprète des rapports mathématiques dans une pile - mode basée de .
Par exemple, pour multiplier quatre et cinq dans C.C (note qui la majeure partie du whitespace est facultative) :
4 5 * p
Ceci traduit en " ; la poussée quatre et cinq sur la pile, puis, avec l'opérateur de multiplication, sautent deux éléments de la pile, les multiplient et repoussent le résultat sur le stack." ; Alors la commande de « p » est utilisée comme moyen d'examiner (copie dehors à l'écran) le premier élément sur la pile.
Pour changer la précision, la commande est K. 2 3/p =0 5 k 2 3/p =.66666
Pour évaluer (12 + 3^4)/11-22 :
^ 12 3 4 + 11/22 - p
En plus de ces opérations de base arithmétiques et de pile, le C.C inclut le soutien des macros , des conditionals et du stock de résultats pour la récupération postérieure ; malheureusement la syntaxe est laconique et il tend à être très difficiles de lire des programmes complexes dans le C.
Les macros et les conditionals fondamentaux de mécanisme est le registre , qui dans le C.C est un endroit de stockage avec un nom simple de caractère au lequel peut être stocké et recherché de : le « Sc » saute le dessus de la pile et le stocke dans le registre c, et le « LC » pousse la valeur du registre c sur la pile. Par exemple :
3 Sc 4 LC * p
Des registres peuvent également être traités en tant que piles secondaires, ainsi des valeurs peuvent être poussées et sautées entre elles et la pile principale.
Des macros sont alors mis en application en permettant des registres et empilent des entrées pour être des cordes aussi bien que des nombres. Une corde peut être imprimée, mais elle peut également être exécutée (IE traité comme ordre des commandes de C. Ainsi par exemple nous pouvons stocker un macro pour additionner un et puis pour nous transformer par multiplication par 2 en le registre m :
+ 2 * SM
et alors (using la commande de « x » qui exécute le dessus de la pile) nous pouvons l'employer aimons ceci :
3 LM x p
En conclusion, nous pouvons employer ce macro mécanisme pour fournir des conditionals. La commande « =r » sautera deux valeurs de la pile, et exécute le macro stocké dans le registre r seulement si elles sont égales. Ainsi ceci imprimera la corde « égale » seulement si le dessus de la pile est égal à 5 :
=m du SM 5 de l'égale de de
Le bouclage est alors possible en définissant un macro qui (conditionnellement) des reinvokes lui-même.
Comme exemple d'un programme relativement simple dans le C.C, cette commande (dans 1 ligne) :
C.C - le de
convertira des distances des mètres en pieds et pouces ; la partie de elle est concernée par l'incitation pour l'entrée, rendement d'impression un format approprié et en faisant une boucle en rond de convertir un autre nombre.
Comme exemple de l'algorithme euclidien d'exécution pour le GCD de recherche :
C.C -
.
| Random links: | Galinthias | Burnin | Yip Kai Foon | Tahlequah, Washington | Steven Greenberg | C.C._(Unix) |