parrotcode: Parrot IO | |
Contents | PMCs |
src/pmc/parrotio.pmc - Parrot IO
These are the vtable functions for Parrot IO.
METHOD INTVAL say(STRING *s)
METHOD PMC *open(STRING *file, STRING *mode, STRING *layer)
METHOD INTVAL isatty()
METHOD INTVAL set_readline_interactive(INTVAL)
readline isn't configured
The file is not open/not input or not a tty, if turning on interactive.
old interactive setting
METHOD PMC *readline(STRING *prompt)
readline
opcode (which will be removed anyway).
Interactive mode adds non-empty lines to the readline history. pio = getstdin
$I0 = pio.'set_readline_interactive'(1)
if $I0 >= 0 goto loop
printerr "set_readline_interactive failed: "
...
loop:
$P1 = pio.'readline'('hello polly> ')
if null $P1 goto ex
..
goto loop
ex:
.local pmc cl
cl = get_class 'ParrotIO'
$S0 = cl.'slurp'('the_file')
pio = open 'the_file', '<'
$S0 = pio.'slurp'('')
void class_init()
METHOD INTVAL eof()
METHOD void flush()
METHOD INTVAL setbuf(INTVAL)
METHOD INTVAL setlinebuf()
void init()
void destroy()
PMC *clone()
ParrotIO
object. If we have different IO layers, we might copy data
and struct_val
.INTVAL get_bool()
EOF
or not.STRING *get_string_keyed_int(INTVAL n)
void push_string(STRING *value)
value
onto the PIO's layer stack.STRING *pop_string()
|