англійськафранцузькаіспанська

Ad


Значок OnWorks

c++decl - Інтернет у хмарі

Запустіть c++decl у постачальнику безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда c++decl, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS

ПРОГРАМА:

ІМ'Я


cdecl, c++decl - Скласти оголошення типів C і C++

СИНТАКСИС


cdecl [-a | -+ | -p | -r] [-ciqdDV]
[[ файли ...] | пояснювати ... | декларувати ... | кинути ... | комплект ... | допомога | ? ]
c++ decl [-a | -+ | -p | -r] [-ciqdDV]
[[ файли ...] | пояснювати ... | декларувати ... | кинути ... | комплект ... | допомога | ? ]
пояснювати ...
декларувати ...
кинути ...

ОПИС


Cdeclc++ decl) — це програма для кодування та декодування декларацій типу C (або C++).
Мова C заснована на (запропонованому проекті) стандарту X3J11 ANSI; за бажанням, C
Мова може бути заснована на визначенні до ANSI, визначеному Керніганом і Рітчі Команда C
Програмування Language book, або мова C, визначена компілятором C Ritchie PDP-11.
Мова C++ заснована на мові Б'ярна Страуструпа Команда C + + Програмування Language, плюс
Версія 2.0 доповнення до мови.

ВАРІАНТИ


-a Використовуйте діалект ANSI C мови C.

-p Використовуйте діалект до ANSI, визначений у книзі Кернігана та Річі.

-r Використовуйте діалект, визначений компілятором Ritchie PDP-11 C.

-+ Використовуйте мову C++, а не C.

-i Запустити в інтерактивному режимі (за замовчуванням під час читання з терміналу). Це також
вмикає підказки, редагування рядків і історію рядків.

-q Вимкнути підказку. Вимикає підказку в інтерактивному режимі.

-c Створити компільований код C або C++ як вихід. Cdecl додасть крапку з комою в кінці
оголошення та пари фігурних дужок до кінця визначення функції.

-d Увімкнути інформацію про налагодження (якщо вона скомпільована).

-D Увімкнути інформацію про налагодження YACC (якщо вона скомпільована).

-V Відобразити інформацію про версію та вийти.

ЗАКЛЮЧЕННЯ


Cdecl може бути викликаний під різними іменами (перейменувавши виконуваний файл,
або створення символічного або жорсткого посилання на нього). Якщо його викликають як cdecl тоді ANSI C є
мова за замовчуванням. Якщо його викликають як c++ decl тоді C++ за замовчуванням. Якщо його викликають
як пояснювати, кинутиабо декларувати тоді він інтерпретує решту командного рядка
параметри як параметри цієї команди, виконайте команду та вийдіть. Це також підійде
це якщо перший аргумент без перемикання в командному рядку є однією з цих трьох команд.
Вхідні дані також можуть надходити з файлу.

Cdecl читає названі файли для операторів мовою, описаною нижче. А
перетворення здійснюється з цієї мови на C (C++) або псевдоанглійську. Результати
це перетворення записується на стандартний вихід. Якщо файли не названі, або ім’я файлу
``-'' зустрічається, буде прочитано стандартний вхід. Якщо стандартний вхід надходить від a
термінал (або -i використовується параметр), перед кожним з них на термінал буде записане підказка
лінія. Підказку можна вимкнути за допомогою -q варіант (або комплект noprompt команда). Якщо
cdecl викликається як пояснювати, декларувати or кинути, або перший аргумент є однією з команд
розглянутий нижче, список аргументів буде інтерпретований відповідно до наведеної граматики
нижче замість імен файлів.

Коли він запускається в інтерактивному режимі, cdecl використовує бібліотеку readline GNU для надання ключового слова
завершення та історія командного рядка, дуже подобається бити(1) (кв.). Натискання TAB призведе до
заповніть часткове ключове слово перед курсором, якщо можливих більше одного
завершення, у цьому випадку друга TAB покаже список можливих завершень і
повторно відобразити командний рядок. Для цього можна використовувати клавіші зі стрілками вліво та вправо та клавішу Backspace
редагування природним способом, а клавіші зі стрілками вгору та вниз отримують попередні командні рядки
з історії. Більшість інших знайомих клавіш, таких як Ctrl-U, щоб видалити весь текст з
повернути курсор на початок рядка, працювати, як очікувалося. Між ними є двозначність
Int та в ключові слова, але cdecl здогадається, яку з них ви мали на увазі, і завжди вгадає
правильно

Ви можете використовувати cdecl як ви створюєте програму C за допомогою редактора, як vi(1) або emacs(1). ти
просто введіть псевдоанглійську версію декларації та застосуйте cdecl як фільтр
до лінії. (В vi(1), введіть ``!!cdecl''.)

Якщо створювати програма варіант -c використовується, у виводі буде включатися крапка з комою після
оголошення змінних і пари фігурних дужок після оголошення функцій.

Команда -V Опція роздрукує номери версій файлів, використаних для створення процесу.
Якщо джерело скомпільовано з увімкненою налагоджувальною інформацією, файл -d опція ввімкне
його потрібно вивести. Якщо джерело скомпільовано з увімкненою налагоджувальною інформацією YACC, файл
-D параметр дозволить його вивести.

КОМАНДА МОВА


У мові є шість висловлювань. The декларувати оператор складає тип C
декларація з багатослівного опису. The кинути інструкція створює тип C, приведений як
може з’явитися у виразі. The пояснювати оператор декодує оголошення типу C або
cast, створюючи багатослівний опис. The допомога (Або ?) оператор надає допомогу
повідомлення. The вихід (Або вихід) (або кінець файлу) виходить з програми. The комплект
оператор дозволяє інтерактивно встановлювати параметри командного рядка. Кожне твердження є
розділені крапкою з комою або новим рядком.

СИНОНІМИ


Деякі синоніми дозволені під час декларації:

символ є синонімом до char
константа є синонімом const
enumeration є синонімом enum
func є синонімом функції
ціле число є синонімом для int
ptr є синонімом покажчика
ref є синонімом посилання
ret є синонімом повернення
структура є синонімом до struct
вектор є синонімом масиву

Функція заповнення TAB знає лише ключові слова в правому стовпці
структуру, а не ті, що в лівій колонці. Завершення TAB набагато менш корисне, коли
провідні символи різних ключових слів однакові (ключові слова суперечать одному
інший), і розміщення обох стовпців спричинить чимало конфліктів.

ГРАМАТИКА


Наступна граматика описує мову. У граматиці слова в «<>» не є
термінали, голі слова в нижньому регістрі є терміналами, які стоять самі за себе. Голі великі літери
слова — це інші лексичні лексеми: НІЩО означає порожній рядок; NAME означає ідентифікатор C;
NUMBER означає рядок десяткових цифр; і NL означає новий рядок або крапку з комою
символів.

::= НІЧОГО
| NL
::= НІЧОГО
| оголосити NAME як
| оголосити
| введіть NAME
| акторський
| пояснити
| пояснити
| пояснити ( ) необов'язковий-NAME
| набір
| допомога | ?
| кинути
| вихід
::= масив
| масив NUMBER з
| повернення функції
| функція ( ) повертається
| вказівник на
| покажчик на члена класу NAME
| посилання на
|
::=
| *
| НАЗВА :: *
| &
::= ( )
| ( )
| [ ]
| [ НОМЕР ]
| ( )
| ІМ'Я
::= НІЧОГО
| ( )
| ( ) ( )
| ( ) ( )
| ( )
| НАЗВА :: *
| *
| &
| [ ]
| [ НОМЕР ]
::= |
|
| структура НАЗВА | профспілка НАЗВА | enum НАЗВА | клас NAME
::= ,
|
|
::= ,
| НІЧОГО
|
|
| як
::= int | char | подвійний | плавати | недійсний
::= |
::= короткий | довгий | без підпису | підписано |
::= | НІЧОГО
::= const | непостійний | ноалія
::= авто | зовнішній | зареєструвати | статичний
::= НІЧОГО |
::= НІЧОГО |
| створити | nocreate
| підкажіть | noprompt
| Річі | preansi | ansi | cplusplus
| налагодити | nodebug | yydebug | noyydebug

УСТАНОВКА ВАРІАНТИ


Команда комплект команда має кілька варіантів. Ви можете ввести комплект or комплект опції щоб побачити
вибрані на даний момент параметри та короткий огляд доступних параметрів. Перший
чотири відповідають -a, -p, -r та -+ параметри командного рядка, відповідно.

ansi Використовуйте діалект ANSI C мови C.

preansi
Використовуйте діалект до ANSI, визначений у книзі Кернігана та Річі.

Річі
Використовуйте діалект, визначений компілятором Ritchie PDP-11 C.

cplusplus
Використовуйте мову C++, а не C.

[ні] підказки
Увімкніть або вимкніть підказку в інтерактивному режимі.

[ні] створювати
Увімкнути або вимкнути додавання крапки з комою або фігурних дужок до декларацій
вихід за допомогою cdecl. Це відповідає -c параметр командного рядка.

[ні]налагодження
Увімкніть або вимкніть інформацію про налагодження.

[ні]yydebug
Увімкніть або вимкніть інформацію про налагодження YACC.

Примітка: інформація про налагодження та інформація про налагодження YACC доступні лише за наявності
був складений у cdecl. Останні два варіанти відповідають -d та -D командного рядка
варіанти, відповідно. Налагоджуюча інформація зазвичай використовується при розробці програм і
зазвичай не компілюється в розподілені виконувані файли.

ПРИКЛАДИ


Щоб оголосити масив покажчиків на функції, подібні до Танос(3), робити

оголосити fptab як масив вказівника на функцію, повертаючи покажчик на char

Результатом цієї команди є

char *(*fptab[])()

Коли ви бачите цю декларацію в чужому коді, ви можете зрозуміти це, використовуючи
справи

пояснити char *(*fptab[])()

Відповідна декларація для сигналізувати(2), ігноруючи прототипи функцій, легко описується в
cdeclмова користувача:

оголосити сигнал як функцію, яка повертає покажчик на функцію, яка повертає void

який виробляє

недійсний (*сигнал())()

Оголошення функції, що отримує результати, має два набори порожніх дужок. Автор
така функція може задатися питанням, куди помістити параметри:

оголосити сигнал як функцію (arg1,arg2), що повертає покажчик на функцію, яка повертає значення void

надає наступне рішення (при запуску з -c варіант):

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

Якщо ми хочемо додати до функції прототипи, прототип функції для такої функції
as _вихід(2) буде оголошено з:

оголосити _exit як функцію (revalue як int), що повертає void

дає

void _exit(int revalue) { }

Як більш складний приклад використання прототипів функцій, сигналізувати(2) можна повністю визначити як:

оголосити сигнал як функцію (x як int, y як вказівник на функцію (int), що повертає void)
покажчик повернення на функцію (int) повертає void

надання (з -c)

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

Cdecl може допомогти зрозуміти, куди помістити модифікатори "const" і "volatile".
декларації, таким чином

оголосити foo вказівником на const int

дає

const int *foo

в той час як

оголосити foo як константний покажчик на int

дає

int * const foo

C++ decl може допомогти з оголошенням посилань, таким чином

оголосити x як посилання на вказівник на символ

дає

char *&x

C++ decl може допомогти з вказівниками на член класів, таким чином оголошуючи вказівник на an
цілочисельний член класу X з

оголосити foo як вказівник на член класу X int

дає

int X::*foo

та

оголосити foo вказівником на член функції класу X (arg1, arg2), що повертає покажчик
до класу Y

дає

клас Y *(X::*foo)(arg1, arg2)

ДІАГНОСТИКА


Операції declare, cast іexplore намагаються вказати на конструкції, які не є такими
підтримується в C. У деяких випадках робиться припущення щодо того, що насправді було задумано. У цих
У випадках результатом C є оголошення іграшки, семантика якої працюватиме лише в Algol-68. The
Список непідтримуваних конструкцій C залежить від версії мови C
використовується (див. параметри ANSI, pre-ANSI і Ritchie). Набір підтримуваних конструкцій C++
є надмножиною набору ANSI, за винятком ноалія keyword.

Посилання


Стандарт ANSI X3.159-1989 (ANSI C)

ISO/IEC 9899:1990 (стандарт ISO)

Поширені запитання про comp.lang.c
http://www.eskimo.com/~scs/C-faq.top.html

Розділ 8.4 Довідкового посібника C усередині Команда C Програмування Language Б. Керніган і
Д. Річі.

Розділ 8 Довідкового посібника C++ в Команда C + + Програмування Language від Б.
Страуструп.

ПЕРЕКЛАДИ


Псевдоанглійський синтаксис є надмірно багатослівним.

Існує безліч семантичних перевірок, які не виконуються.

Cdecl був написаний до того, як стандарт ANSI C був завершений, і жодних спроб не було зроблено
щоб оновити його. Тим не менш, це дуже близько до стандарту, з очевидним
виняток ноалія.

CdeclОбласть застосування навмисно мала. Це не допоможе вам зрозуміти ініціалізації. Це
очікує, що класи зберігання будуть на початку оголошення, за якими слідує the
модифікатори const, volatile і noalias, а потім тип змінної. Cdecl
нічого не знає про списки аргументів змінної довжини. (Це включає ``, ...''
синтаксис.)

Cdecl вважає, що всі декларації, які ви вимовляєте, будуть використовуватися як зовнішні визначення.
Деякі контексти декларації в C надають більшу гнучкість, ніж це. Прикладом цього є:

оголосити argv як масив масиву char

де cdecl відповідає з

Попередження: не підтримується в C -- "Внутрішній масив невизначеного розміру"
(можливо, ви маєте на увазі "масив покажчика")
char argv[][]

Орієнтовна підтримка для ноалія ключове слово було введено, оскільки воно було в чернетці ANSI
технічні умови.

AUTHORS


Спочатку написаний Гремом Россом, покращений і розширений Девідом Вулвертоном, Тоні Хансеном,
і Мерлін Лерой.

Підтримка GNU readline та порт Linux, Девід Р. Конрад,[захищено електронною поштою]>

Використовуйте c++decl онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

Команди Linux

  • 1
    aarch64-linux-gnu-gnatbind
    aarch64-linux-gnu-gnatbind
    gnat, gnatbind, gnatbl, gnatchop,
    gnatfind, gnathtml, gnatkr, gnatlink,
    gnatls, gnatmake, gnatprep, gnatpsta,
    gnatpsys, gnatxref - інструментарій GNAT
    ОПИС: Th...
    Запустіть aarch64-linux-gnu-gnatbind
  • 2
    aarch64-linux-gnu-gnatchop-5
    aarch64-linux-gnu-gnatchop-5
    gnat, gnatbind, gnatbl, gnatchop,
    gnatfind, gnathtml, gnatkr, gnatlink,
    gnatls, gnatmake, gnatprep, gnatpsta,
    gnatpsys, gnatxref - інструментарій GNAT
    ОПИС: Th...
    Запустіть aarch64-linux-gnu-gnatchop-5
  • 3
    cpupower-idle-info
    cpupower-idle-info
    cpupower idle-info - утиліта для
    отримати інформацію про неактивне ядро ​​ЦП
    СИНТАКСИС: cpupower [ -c cpulist ]
    idle-info [параметри] ОПИС: інструмент
    який друкує п...
    Запустіть cpupower-idle-info
  • 4
    cpupower-idle-set
    cpupower-idle-set
    cpupower idle-set - утиліта для налаштування ЦП
    спеціальні параметри ядра для стану простою
    СИНТАКСИС: cpupower [ -c cpulist ]
    idle-info [параметри] ОПИС: The
    cpupower idle-se...
    Запустіть cpupower-idle-set
  • 5
    g.mapsetsgrass
    g.mapsetsgrass
    g.mapsets - змінює/друкує дані користувача
    поточний шлях пошуку набору карт. Впливає на
    доступ користувача до даних, що існують під
    інші набори карт у поточному місці. ...
    Запустіть g.mapsetsgrass
  • 6
    g.messagegrass
    g.messagegrass
    g.message - друкує повідомлення, попередження,
    інформацію про прогрес або фатальну помилку в
    ТРАВ'ЯНИЙ шлях. Цей модуль слід використовувати в
    сценарії для повідомлень, які надаються користувачеві.
    KEYWO...
    Запустіть g.messagegrass
  • Детальніше »

Ad