Annotation of researchv10dc/man/adm/man1/cin.1, revision 1.1.1.1

1.1       root        1: .TH CIN 1
                      2: .CT 1 prog_c
                      3: .SH NAME
                      4: cin \- C interpreter
                      5: .SH SYNOPSIS
                      6: .B cin
                      7: [
                      8: .I option ...
                      9: ]
                     10: [
                     11: .I file ...
                     12: ]
                     13: [
                     14: .B --
                     15: .I arg ...
                     16: ]
                     17: .SH DESCRIPTION
                     18: .I Cin
                     19: interprets a C program made of the named
                     20: .I files.
                     21: A single minus
                     22: .RB ( - )
                     23: names the standard input.
                     24: Other
                     25: .I files
                     26: are as in
                     27: .IR cc (1).
                     28: Arguments
                     29: .I arg
                     30: are passed to the interpreted program as
                     31: .B cin_argv[1]
                     32: \&... 
                     33: .PP
                     34: Options
                     35: .BI -D name = def ,
                     36: .BI -D name ,
                     37: .BI -U name ,
                     38: .BI -I name ,
                     39: .BI -l x ,
                     40: and
                     41: .BI -u name
                     42: are as in
                     43: .IR cc .
                     44: Options
                     45: .B -O
                     46: and
                     47: .B -f
                     48: are ignored.
                     49: Other options are:
                     50: .TP \w'\f5-0\fIname\ \ 'u
                     51: .BI -0 name
                     52: Pass
                     53: .I name
                     54: to the interpreted program as
                     55: .BR cin_argv[0] .
                     56: .TP
                     57: .BI -V name : n
                     58: Function
                     59: .I name
                     60: has a variable number of arguments.
                     61: Check types of the first
                     62: .I n
                     63: arguments.
                     64: .TP
                     65: .B -c
                     66: Parse files but do not execute the program.
                     67: .TP
                     68: .B -d
                     69: Enable internal debugging output.
                     70: .TP
                     71: .B -i
                     72: Enter interactive mode; see below.
                     73: .TP
                     74: .BI -o name
                     75: Create
                     76: object code in file
                     77: .I name
                     78: before starting execution.
                     79: .TP
                     80: .B -r
                     81: Prohibit multiply-declared global variables.
                     82: .TP
                     83: .B -s
                     84: Do not catch signals.
                     85: .TP
                     86: .B -t
                     87: Print file name and line number of each C statement executed.
                     88: .TP
                     89: .B -v
                     90: Print the user and system times associated with loading files and executing
                     91: the program, as in
                     92: .IR time (1).
                     93: .PP
                     94: Under option
                     95: .BR -i ,
                     96: .I cin
                     97: evaluates C statements immediately using local and global variables.
                     98: Non-void values are printed.
                     99: Function, variable, and C pre-processor declarations are stored
                    100: in the current `view'.
                    101: A function definition must include its return type.
                    102: Declarations and statements may appear in any order and
                    103: variables may be redeclared.
                    104: The functions and variables listed below are predefined;
                    105: the types of their arguments follow these conventions:
                    106: .IP
                    107: .BI "char *" name ", *" string ,
                    108: .BI * file ;
                    109: .br
                    110: .BI "int " line ;
                    111: .br
                    112: .BI "long (*" func ")(), (*" func_mod ")(),
                    113: .BI (* func_ref )();
                    114: .PP
                    115: .HP
                    116: .BI "void cin_bind(" name , " func" );\ 
                    117: Set an alias of
                    118: .I name
                    119: for the function
                    120: .IR func .
                    121: .HP
                    122: .BI "int cin_break(" name , " line" );\ 
                    123: Set a breakpoint in function
                    124: .I name
                    125: at line number
                    126: .I line
                    127: in the current view.
                    128: Return 0 if breakpoint cannot be set.
                    129: .HP
                    130: .BI "int cin_dump(" name );\ 
                    131: Create an
                    132: .F a.out
                    133: and place it in the file
                    134: .IR name .
                    135: Return 0 if
                    136: .I name
                    137: cannot be created.
                    138: .HP
                    139: .BI "int cin_eval(" string );\ 
                    140: Execute the
                    141: C statement
                    142: .I string
                    143: as if it were present in the program where the
                    144: .B cin_eval
                    145: is executed.
                    146: Return 0 if
                    147: .I string
                    148: could not be parsed.
                    149: .HP
                    150: .BI "int cin_load(" file );\ 
                    151: Load
                    152: .I file
                    153: into a new view,
                    154: using the standard file-naming conventions for
                    155: .IR cc (1).
                    156: Return 0 if
                    157: .I file
                    158: can not be loaded.
                    159: .HP
                    160: .BI "int cin_log(" file );\ 
                    161: Record the interactive mode session in
                    162: .IR file .
                    163: Return 0 if
                    164: .I file
                    165: cannot be created.
                    166: .HP
                    167: .BI "void cin_mstats(" string );\ 
                    168: Print
                    169: .IR cin 's
                    170: memory usage with a banner of
                    171: .IR string .
                    172: .HP
                    173: .B void cin_return();\ 
                    174: Return from a breakpoint.
                    175: .HP
                    176: .BI "int cin_spy(" name , " func_mod" , " func_ref\f5\^);\ 
                    177: Call the function
                    178: .I func_mod
                    179: whenever the variable
                    180: .I name
                    181: is modified.
                    182: Call the function
                    183: .I func_ref
                    184: whenever the variable
                    185: .I name
                    186: is referenced.
                    187: Either
                    188: .I func_mod
                    189: or
                    190: .I func_ref
                    191: can be
                    192: .BR "(long (*)())0" .
                    193: Return 0 if there are no spies active.
                    194: .HP
                    195: .BI "void cin_system();\ 
                    196: Enter interactive mode.
                    197: .HP
                    198: .BI "int cin_unbreak(" name , " line" );\ 
                    199: Remove a breakpoint in function
                    200: .I name
                    201: at line number
                    202: .I line
                    203: in the current view.
                    204: Return 0 if the breakpoint was not set.
                    205: .HP
                    206: .BI "int cin_view(" name );\ 
                    207: Change the current view to
                    208: .IR name .
                    209: Return 0 if the name
                    210: is not found.
                    211: .HP
                    212: .B void cin_views();\ 
                    213: List the available views.
                    214: The current view
                    215: is starred
                    216: .RB ( * ).
                    217: .HP
                    218: .BI "void cin_whatis(" name );\ 
                    219: Print the type of the named variable.
                    220: .HP
                    221: .B void cin_where();\ 
                    222: Print a trace of subroutine calls.
                    223: .HP
                    224: .B void cin_quit();\ 
                    225: Exit
                    226: .IR cin .
                    227: .HP
                    228: .B extern int cin_argc;\ 
                    229: The number of elements passed to the interpreted program.
                    230: .HP
                    231: .B extern char **cin_argv;\ 
                    232: An array of arguments passed to the interpreted program.
                    233: .HP
                    234: .B extern char *cin_libpath;\ 
                    235: A colon-separated list of libraries to search for undefined routines
                    236: (by default the libraries specified on the command line plus
                    237: .BR -lc ).
                    238: .HP
                    239: .B extern char *cin_prompt;\ 
                    240: The interactive mode prompt (by default the string
                    241: .LR cin> ).
                    242: .PD
                    243: .SH EXAMPLES
                    244: .TP
                    245: `Hello world' in interactive mode.
                    246: .EX
                    247: cin> printf("Hello world\en");
                    248: Hello world
                    249: (int)12
                    250: .EE
                    251: .TP
                    252: Setting breakpoints and tracing subroutine calls.
                    253: .EX
                    254: cin> int f(x) { return x <= 1 ? 1 : x * f(x-1); }
                    255: cin> cin_break("f", 1);
                    256: breakpoint in function f at line 1
                    257: (int)1
                    258: cin> f(2);
                    259: breakpoint in function 'f' at line 1 of file 'interactive mode'
                    260: cin> cin_return();
                    261: breakpoint in function 'f' at line 1 of file 'interactive mode'
                    262: cin> (void)cin_where();
                    263: cin_system()   [interactive mode:4]
                    264: f(x = 1)   [interactive mode:1]
                    265: f(x = 2)   [interactive mode:1]
                    266: cin_system()   [interactive mode:3]
                    267: cin> x;
                    268: (int)1
                    269: cin> cin_return();
                    270: (int)2
                    271: .EE
                    272: .SH FILES
                    273: .TF $HOME/.cinit
                    274: .TP
                    275: .F /tmp/int*
                    276: temporary
                    277: .TP
                    278: .F $HOME/.cinit
                    279: interpreter startup file
                    280: .HP
                    281: other files as in;\ 
                    282: .IR cc (1)
                    283: .SH "SEE ALSO"
                    284: .IR cc (1),
                    285: .IR lint (1)
                    286: .br
                    287: T. J. Kowalski, H. H. Goguen, and J. J. Puttress,
                    288: `The C Interpreter:
                    289: A Tutorial for Cin Version 0.18',
                    290: this manual, Volume 2
                    291: .br
                    292: B. W. Kernighan and D. M. Ritchie,
                    293: .I The C Programming Language,
                    294: Prentice-Hall,
                    295: 1978

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.