AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

c++decl - En ligne dans le Cloud

Exécutez c ++ decl dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande c++decl qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


cdecl, c++decl - Compose des déclarations de type C et C++

SYNOPSIS


cdecl [-un | -+ | -p | -r] [-ciqdDV]
[[ fichiers ...] | expliquer ... | déclarer ... | en fonte ... | set ... | aider | ? ]
décl c++ [-un | -+ | -p | -r] [-ciqdDV]
[[ fichiers ...] | expliquer ... | déclarer ... | en fonte ... | set ... | aider | ? ]
expliquer
déclarer
en fonte

DESCRIPTION


Cdecl (Et décl c++) est un programme d'encodage et de décodage des déclarations de type C (ou C++).
Le langage C est basé sur la norme ANSI X3J11 (projet proposé) ; éventuellement, le C
le langage peut être basé sur la définition pré-ANSI définie par Kernighan & Ritchie's La C
Programmation Langue livre, ou le langage C défini par le compilateur Ritchie PDP-11 C.
Le langage C++ est basé sur le langage de Bjarne Stroustrup La C + + Programmation Langue, plus le
ajouts de la version 2.0 à la langue.

OPTIONS


-a Utiliser le dialecte ANSI C du langage C.

-p Utilise le dialecte pré-ANSI défini par le livre de Kernighan & Ritchie.

-r Utilise le dialecte défini par le compilateur Ritchie PDP-11 C.

-+ Utilisez le langage C++ plutôt que C.

-i Exécuter en mode interactif (par défaut lors de la lecture depuis un terminal). Ça aussi
active l'invite, l'édition de ligne et l'historique de ligne.

-q Calme l'invite. Désactive l'invite en mode interactif.

-c Crée du code C ou C++ compilable en sortie. Cdecl ajoutera un point-virgule à la fin
d'une déclaration et une paire d'accolades à la fin d'une définition de fonction.

-d Activer les informations de débogage (si compilées).

-D Activer les informations de débogage YACC (si compilées).

-V Affiche les informations de version et quitte.

INVOQUER


Cdecl peut être invoqué sous plusieurs noms différents (soit en renommant l'exécutable,
ou en créant un lien symbolique ou un lien physique vers celui-ci). S'il est invoqué comme cdecl alors ANSI C est le
langage par défaut. S'il est invoqué comme décl c++ alors C++ est la valeur par défaut. S'il est invoqué
soit expliquer, en fonteou déclarer alors il interprétera le reste de la ligne de commande
options en tant que paramètres de cette commande, exécutez la commande et quittez. ça fera aussi
ceci si le premier argument non-switch sur la ligne de commande est l'une de ces trois commandes.
L'entrée peut également provenir d'un fichier.

Cdecl lit les fichiers nommés pour les instructions dans la langue décrite ci-dessous. UNE
la transformation est faite de ce langage en C (C++) ou en pseudo-anglais. Les résultats de
cette transformation sont écrites sur la sortie standard. Si aucun fichier n'est nommé, ou un nom de fichier
de ``-'' est rencontré, l'entrée standard sera lue. Si l'entrée standard provient d'un
terminal, (ou le -i est utilisée), une invite sera écrite sur le terminal avant chaque
ligne. L'invite peut être désactivée par le -q option (ou le set pas d'invite commander). Si
cdecl est invoqué comme expliquer, déclarer or en fonte, ou le premier argument est l'une des commandes
discuté ci-dessous, la liste d'arguments sera interprétée selon la grammaire montrée
ci-dessous au lieu de noms de fichiers.

Lorsqu'il est exécuté de manière interactive, cdecl utilise la bibliothèque readline GNU pour fournir le mot-clé
l'achèvement et l'historique de la ligne de commande, un peu comme bash(1) (qv). Appuyez sur TAB pour
compléter le mot-clé partiel avant le curseur, sauf s'il y a plus d'un possible
complétion, auquel cas un deuxième TAB affichera la liste des complétions possibles et
réafficher la ligne de commande. Les touches fléchées gauche et droite et le retour arrière peuvent être utilisés pour
édition de manière naturelle, et les touches fléchées haut et bas récupèrent les lignes de commande précédentes
de l'histoire. La plupart des autres touches familières, telles que Ctrl-U pour supprimer tout le texte du
curseur au début de la ligne, travaillez comme prévu. Il y a une ambiguïté entre
le int ainsi que développement mots-clés, mais cdecl devinera lequel vous vouliez dire, et il devine toujours
correctement.

Vous pouvez utiliser cdecl lorsque vous créez un programme C avec un éditeur comme vi(1) ou emacs(1). Tu
tapez simplement la version pseudo-anglaise de la déclaration et appliquez cdecl comme filtre
à la ligne. (Dans vi(1), tapez ``!!cdecl''.)

Si la engendrent Danse option -c est utilisé, la sortie inclura des points-virgules après
déclarations de variables et paires d'accolades après les déclarations de fonctions.

La -V L'option imprimera les numéros de version des fichiers utilisés pour créer le processus.
Si la source est compilée avec les informations de débogage activées, le -d l'option activera
il doit être sorti. Si la source est compilée avec les informations de débogage YACC activées, le
-D l'option permettra sa sortie.

COMMAND LANGUAGE


Il y a six déclarations dans la langue. Les déclarer l'instruction compose un type C
déclaration à partir d'une description verbeuse. Les en fonte L'instruction compose un transtypage de type C en tant que
peut apparaître dans une expression. Les expliquer l'instruction décode une déclaration de type C ou
cast, produisant une description verbeuse. Les aider (ou ?) l'instruction fournit une aide
un message. Le quitter (ou sortie) (ou la fin du fichier) quitte le programme. Les set
L'instruction permet de définir les options de la ligne de commande de manière interactive. Chaque déclaration est
séparés par un point-virgule ou une nouvelle ligne.

SYNONYMES


Certains synonymes sont autorisés lors d'une déclaration :

caractère est un synonyme de char
constante est un synonyme de const
énumération est un synonyme de enum
func est synonyme de fonction
entier est un synonyme de int
ptr est un synonyme de pointeur
ref est un synonyme de référence
ret est synonyme de retour
structure est un synonyme de struct
vecteur est synonyme de tableau

La fonction de complétion TAB ne connaît que les mots-clés dans la colonne de droite du
structure, pas ceux de la colonne de gauche. La complétion TAB est beaucoup moins utile lorsque le
les premiers caractères de différents mots-clés sont les mêmes (les mots-clés sont en conflit avec un
un autre), et mettre les deux colonnes provoquerait pas mal de conflits.

GRAMMAIRE


La grammaire suivante décrit la langue. Dans la grammaire, les mots dans "<>" ne sont pas
terminaux, les mots en minuscules nus sont des terminaux qui se suffisent à eux-mêmes. Majuscules nues
les mots sont d'autres tokens lexicaux : RIEN signifie la chaîne vide ; NOM signifie un identifiant C ;
NOMBRE signifie une chaîne de chiffres décimaux ; et NL signifie la nouvelle ligne ou le point-virgule
caractères.

::= RIEN
| Pays-Bas
::= RIEN
| déclarer NOM comme
| déclarer
| jeter NOM dans
| jeter
| Explique
| Explique
| Explique ( ) facultatif-NOM
| ensemble
| aide | ?
| quitter
| sortir
::= tableau de
| tableau NOMBRE de
| fonction retournant
| fonction ( ) de retour
| pointeur vers
| pointeur vers le membre de la classe NAME
| référence à
|
::=
| *
| NOM :: *
| &
::= ( )
| ( )
| [ ]
| [ NUMÉRO ]
| ( )
| NOM
::= RIEN
| ( )
| ( ) ( )
| ( ) ( )
| ( )
| NOM :: *
| *
| &
| [ ]
| [ NUMÉRO ]
::= |
|
| struct NOM | syndicat NOM | enum NOM | nom du cours
::= ,
|
|
::= ,
| RIEN
|
|
| comme
::= entier | char | double | flotteur | annuler
::= |
::= court | longue | non signé | signé |
::= | RIEN
::= const | volatile | noalias
::= automatique | externe | s'inscrire | statique
::= RIEN |
::= RIEN |
| créer | ne pas créer
| invite | pas d'invite
| ritchie | préansi | ansi | cplusplus
| déboguer | bogue de nœud | yydebug | noyydebug

SET OPTIONS


La set commande prend plusieurs options. Vous pouvez taper set or set Options pour voir la
les options actuellement sélectionnées et un résumé des options disponibles. La première
quatre correspondent au -a, -p, -ret -+ options de ligne de commande, respectivement.

ansi Utilise le dialecte ANSI C du langage C.

préansi
Utilisez le dialecte pré-ANSI défini par le livre de Kernighan & Ritchie.

ritchie
Utilisez le dialecte défini par le compilateur Ritchie PDP-11 C.

cplusplus
Utilisez le langage C++ plutôt que C.

[pas] d'invite
Activez ou désactivez l'invite en mode interactif.

[non] créer
Activer ou désactiver l'ajout de points-virgules ou d'accolades aux déclarations
sortie par cdecl. Cela correspond au -c commande option de ligne.

[pas] de débogage
Activez ou désactivez les informations de débogage.

[non] yydebug
Activez ou désactivez les informations de débogage YACC.

Remarque : les informations de débogage et les informations de débogage YACC ne sont disponibles que si elles ont
été compilé dans cdecl. Les deux dernières options correspondent au -d ainsi que -D ligne de commande
options, respectivement. Les informations de débogage sont normalement utilisées dans le développement de programmes, et
n'est généralement pas compilé dans des exécutables distribués.

EXEMPLES


Pour déclarer un tableau de pointeurs vers des fonctions qui sont comme malloc(3), faire

déclarer fptab en tant que tableau de pointeur vers une fonction renvoyant un pointeur vers char

Le résultat de cette commande est

caractère *(*fptab[])()

Lorsque vous voyez cette déclaration dans le code de quelqu'un d'autre, vous pouvez lui donner un sens en
faire

expliquer le caractère *(*fptab[])()

La déclaration appropriée pour signal(2), ignorant les prototypes de fonction, est facilement décrit dans
cdeclla langue de :

déclarer le signal comme fonction renvoyant un pointeur vers la fonction renvoyant void

qui produit

vide (*signal())()

La déclaration de fonction qui en résulte a deux ensembles de parenthèses vides. L'auteur de
une telle fonction peut se demander où mettre les paramètres :

déclarer le signal en tant que fonction (arg1,arg2) renvoyant un pointeur vers la fonction renvoyant void

fournit la solution suivante (lorsqu'il est exécuté avec le -c option):

vide (*signal(arg1,arg2))() { }

Si nous voulons ajouter dans les prototypes de fonction, le prototype de fonction pour une fonction telle
as _sortir(2) serait déclaré avec :

déclarer _exit comme fonction (retvalue comme int) retournant void

donnant

void _exit (valeur int) { }

Comme exemple plus complexe utilisant des prototypes de fonction, signal(2) pourrait être entièrement défini comme :

déclarer le signal en tant que fonction (x comme int, y comme pointeur vers la fonction (int) retournant void)
retournant le pointeur vers la fonction (int) retournant void

donner (avec -c)

void (*signal(int x, void (*y)(int )))(int ) { }

Cdecl peut aider à comprendre où mettre les modificateurs "const" et "volatile" dans
déclarations, ainsi

déclarer foo comme pointeur vers const int

donne

const entier *foo

tout en

déclarer foo comme pointeur const vers int

donne

int * const foo

Décl C++ peut aider à déclarer des références, ainsi

déclarer x comme référence au pointeur vers le caractère

donne

caractère *&x

Décl C++ peut aider avec les pointeurs vers les membres des classes, déclarant ainsi un pointeur vers un
membre entier d'une classe X avec

déclarer foo comme pointeur vers le membre de la classe X int

donne

entier X ::*foo

ainsi que

déclarer foo comme pointeur vers le membre de la fonction de classe X (arg1, arg2) renvoyant un pointeur
à la classe Y

donne

classe Y *(X::*foo)(arg1, arg2)

DIAGNOSTIC


Les instructions declare, cast et Explain essaient de signaler des constructions qui ne sont pas
pris en charge dans C. Dans certains cas, une supposition est faite quant à ce qui était vraiment prévu. Dans ces
cas, le résultat C est une déclaration jouet dont la sémantique ne fonctionnera qu'en Algol-68. Les
la liste des constructions C non prises en charge dépend de la version du langage C utilisée
utilisé (voir les options ANSI, pré-ANSI et Ritchie). L'ensemble des constructions C++ prises en charge
est un sur-ensemble de l'ensemble ANSI, à l'exception du noalias mot-clé.

Références


Norme ANSI X3.159-1989 (ANSI C)

ISO/IEC 9899:1990 (la norme ISO)

La FAQ comp.lang.c
http://www.eskimo.com/~scs/C-faq.top.html

Section 8.4 du Manuel de référence C dans La C Programmation Langue par B. Kernighan &
D.Ritchie.

Section 8 du manuel de référence C++ dans La C + + Programmation Langue par B.
Stroustrup.

MISES EN GARDE


La syntaxe pseudo-anglaise est excessivement verbeuse.

Il existe une multitude de vérifications sémantiques qui ne sont pas effectuées.

Cdecl a été écrit avant l'achèvement de la norme ANSI C, et aucune tentative n'a été faite
pour le mettre à jour. Néanmoins, il est très proche du standard, avec l'évidence
sauf noalias.

CdeclLa portée de est intentionnellement petite. Cela ne vous aide pas à comprendre les initialisations. Ce
s'attend à ce que les classes de stockage soient au début d'une déclaration, suivies du
les modificateurs const, volatile et noalias, suivis du type de la variable. Cdecl
ne connaît rien aux listes d'arguments de longueur variable. (Cela inclut le ``...''
syntaxe.)

Cdecl pense que toutes les déclarations que vous prononcez seront utilisées comme définitions externes.
Certains contextes de déclaration en C permettent plus de flexibilité que cela. Voici un exemple :

déclarer argv comme tableau de tableau de caractères

De cdecl répond avec

Avertissement : non pris en charge en C - « tableau interne de taille non spécifiée »
(peut-être voulez-vous dire "tableau de pointeur")
char argv[][]

Un soutien provisoire pour le noalias le mot clé a été inséré car il figurait dans le projet ANSI
cahier des charges.

AUTEURS


Écrit à l'origine par Graham Ross, amélioré et développé par David Wolverton, Tony Hansen,
et Merlyn LeRoy.

Prise en charge de GNU readline et portage Linux par David R. Conrad,[email protected]>

Utiliser c++decl en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

  • 1
    aarch64-linux-gnu-gnatbind
    aarch64-linux-gnu-gnatbind
    moucheron, moucheron, gnatbl, moucheron,
    gnatfind, gnathtml, gnatkr, gnatlink,
    moucherons, gnatmake, gnatprep, gnatpsta,
    gnatpsys, gnatxref - Boîte à outils GNAT
    DESCRIPTIF : Le...
    Exécutez aarch64-linux-gnu-gnatbind
  • 2
    aarch64-linux-gnu-gnatcho-5
    aarch64-linux-gnu-gnatcho-5
    moucheron, moucheron, gnatbl, moucheron,
    gnatfind, gnathtml, gnatkr, gnatlink,
    moucherons, gnatmake, gnatprep, gnatpsta,
    gnatpsys, gnatxref - Boîte à outils GNAT
    DESCRIPTIF : Le...
    Exécutez aarch64-linux-gnu-gnatcho-5
  • 3
    cpupower-idle-infos
    cpupower-idle-infos
    cpupower idle-info - Utilitaire pour
    récupérer les informations du noyau inactif du processeur
    SYNTAXE : cpupower [ -c cpulist ]
    idle-info [options] DESCRIPTION : Un outil
    qui imprime p...
    Exécutez cpupower-idle-info
  • 4
    cpupower-idle-set
    cpupower-idle-set
    cpupower idle-set - Utilitaire pour définir le processeur
    options de noyau spécifiques à l'état d'inactivité
    SYNTAXE : cpupower [ -c cpulist ]
    info-inactive [options] DESCRIPTION : Le
    cpupower inactif-se...
    Exécutez cpupower-idle-set
  • 5
    g.mapsetsgrass
    g.mapsetsgrass
    g.mapsets - Modifie/imprime l'utilisateur
    chemin de recherche du jeu de cartes actuel. Affecte la
    l'accès de l'utilisateur aux données existant sous le
    autres ensembles de cartes à l'emplacement actuel. ...
    Exécutez g.mapsetsgrass
  • 6
    g. messagegrass
    g. messagegrass
    g.message - Affiche un message, un avertissement,
    informations de progression ou erreur fatale dans le
    Chemin de l'HERBE. Ce module doit être utilisé dans
    scripts pour les messages servis à l'utilisateur.
    KEYW...
    Exécutez g.messagegrass
  • Plus "

Ad