| [] means optional; {} means 1 or more; <> means defined elsewhere | |
| commands are separated by ';' and newlines | |
| command: | |
| declare <name> as <english> | |
| cast <name> into <english> | |
| explain <gibberish> | |
| set or set options | |
| help, ? | |
| quit or exit | |
| english: | |
| function [( <decl-list> )] returning <english> | |
| array [<number>] of <english> | |
| [{ const | volatile | noalias }] pointer to <english> | |
| <type> | |
| type: | |
| {[<storage-class>] [{<modifier>}] [<C-type>]} | |
| { struct | union | enum } <name> | |
| decllist: a comma separated list of <name>, <english> or <name> as <english> | |
| name: a C identifier | |
| gibberish: a C declaration, like 'int *x', or cast, like '(int *)x' | |
| storage-class: extern, static, auto, register | |
| C-type: int, char, float, double, or void | |
| modifier: short, long, signed, unsigned, const, volatile, or noalias | |
| Valid set options (and command line equivalents) are: | |
| options | |
| create (-c), nocreate | |
| interactive (-i), nointeractive | |
| ritchie (-r), preansi (-p), ansi (-a) or cplusplus (-+) | |
| Current set values are: | |
| nocreate | |
| nointeractive | |
| (noritchie) | |
| (nopreansi) | |
| ansi | |
| (nocplusplus) | |
| char *x | |
| int *x(char *w, int y) | |
| int *x(char *) | |
| int *x(int ) | |
| int *x(char *, int ) | |
| int *x(args) | |
| declare x as pointer to char | |
| declare x as function returning pointer to int | |
| declare x as function (args) returning pointer to int | |
| declare x as function (pointer to char) returning pointer to int | |
| declare x as function (pointer to char, int) returning pointer to int | |
| declare x as function (pointer to char, int, float) returning pointer to int | |
| declare x as function (int) returning pointer to int | |
| (char *)x | |
| (int (*)())x | |
| (int (*)())x | |
| (int (*)(args))x | |
| (int (*)(char *x, int y))x | |
| (int (*)(char *))x | |
| (int (*)(char *, int ))x | |
| (int (*)(char *, int , float ))x | |
| cast x into pointer to char | |
| cast x into pointer to function returning int | |
| cast x into pointer to function (pointer to char) returning int | |
| cast x into pointer to function (pointer to char, int) returning int | |
| cast x into pointer to function (pointer to char, int, float) returning int | |
| [] means optional; {} means 1 or more; <> means defined elsewhere | |
| commands are separated by ';' and newlines | |
| command: | |
| declare <name> as <english> | |
| cast <name> into <english> | |
| explain <gibberish> | |
| set or set options | |
| help, ? | |
| quit or exit | |
| english: | |
| function [( <decl-list> )] returning <english> | |
| array [<number>] of <english> | |
| [{ const | volatile | noalias }] pointer to <english> | |
| <type> | |
| type: | |
| {[<storage-class>] [{<modifier>}] [<C-type>]} | |
| { struct | union | enum } <name> | |
| decllist: a comma separated list of <name>, <english> or <name> as <english> | |
| name: a C identifier | |
| gibberish: a C declaration, like 'int *x', or cast, like '(int *)x' | |
| storage-class: extern, static, auto, register | |
| C-type: int, char, float, double, or void | |
| modifier: short, long, signed, unsigned, const, volatile, or noalias | |
| Valid set options (and command line equivalents) are: | |
| options | |
| create (-c), nocreate | |
| interactive (-i), nointeractive | |
| ritchie (-r), preansi (-p), ansi (-a) or cplusplus (-+) | |
| Current set values are: | |
| nocreate | |
| nointeractive | |
| (noritchie) | |
| (nopreansi) | |
| ansi | |
| (nocplusplus) | |
| char *x | |
| Warning: Unsupported in C -- 'reference' | |
| char &x | |
| Warning: Unsupported in C -- 'pointer to member of class' | |
| int X::*foo | |
| Warning: Unsupported in C -- 'pointer to member of class' | |
| class Y *(X::*foo)(arg1, arg2) | |
| int *x(char *w, int y) | |
| int *x(char *) | |
| int *x(int ) | |
| int *x(char *, int ) | |
| int *x(args) | |
| declare x as pointer to char | |
| Warning: Unsupported in C -- 'pointer to member of class' | |
| declare foo as pointer to member of class X int | |
| Warning: Unsupported in C -- 'pointer to member of class' | |
| declare foo as pointer to member of class X function (arg1, arg2) returning pointer to class Y | |
| declare x as function returning pointer to int | |
| declare x as function (args) returning pointer to int | |
| declare x as function (pointer to char) returning pointer to int | |
| declare x as function (pointer to char, int) returning pointer to int | |
| declare x as function (pointer to char, int, float) returning pointer to int | |
| declare x as function (int) returning pointer to int | |
| (char *)x | |
| Warning: Unsupported in C -- 'pointer to member of class' | |
| (int X::*)x | |
| (int (*)())x | |
| (int (*)())x | |
| (int (*)(args))x | |
| (int (*)(char *x, int y))x | |
| (int (*)(char *))x | |
| (int (*)(char *, int ))x | |
| (int (*)(char *, int , float ))x | |
| cast x into pointer to char | |
| Warning: Unsupported in C -- 'pointer to member of class' | |
| cast x into pointer to member of class X int | |
| cast x into pointer to function returning int | |
| cast x into pointer to function (pointer to char) returning int | |
| cast x into pointer to function (pointer to char, int) returning int | |
| cast x into pointer to function (pointer to char, int, float) returning int | |
| exit 0 |