Class: Ripper
Constant Summary
- Version =
rb_usascii_str_new2(RIPPER_VERSION)
Instance Method Summary (collapse)
-
- (Integer) column
Return column number of current parsing line.
-
- (Encoding) encoding
Return encoding of the source.
-
- (Boolean) end_seen?
Return true if parsed source ended by __END__.
-
- (String) filename
Return current parsing filename.
-
- (Object) new(src, filename = "(ripper)", lineno = 1)
constructor
Create a new Ripper object.
-
- (Integer) lineno
Return line number of current parsing line.
-
- (Object) parse
Start parsing and returns the value of the root action.
-
- (Boolean) yydebug
Get yydebug.
-
- (Object) yydebug=(flag)
Set yydebug.
Constructor Details
- (Object) new(src, filename = "(ripper)", lineno = 1)
Create a new Ripper object. src must be a String, an IO, or an Object which has #gets method.
This method does not starts parsing. See also Ripper#parse and Ripper.parse.
|
|
# File 'parse.c'
static VALUE
ripper_initialize(int argc, VALUE *argv, VALUE self)
{
struct parser_params *parser;
VALUE src, fname, lineno;
TypedData_Get_Struct(self, struct parser_params, &parser_data_type, parser);
rb_scan_args(argc, argv, "12", &src, &fname, &lineno);
if (rb_obj_respond_to(src, ripper_id_gets, 0)) {
parser->parser_lex_gets = ripper_lex_get_generic;
}
|
Instance Method Details
- (Integer) column
Return column number of current parsing line. This number starts from 0.
|
|
# File 'parse.c'
static VALUE
ripper_column(VALUE self)
{
struct parser_params *parser;
long col;
TypedData_Get_Struct(self, struct parser_params, &parser_data_type, parser);
if (!ripper_initialized_p(parser)) {
rb_raise(rb_eArgError, "method called for uninitialized object");
}
|
- (Encoding) encoding
Return encoding of the source.
|
|
# File 'parse.c'
VALUE
rb_parser_encoding(VALUE vparser)
{
struct parser_params *parser;
TypedData_Get_Struct(vparser, struct parser_params, &parser_data_type, parser);
return rb_enc_from_encoding(parser->enc);
}
|
- (Boolean) end_seen?
Return true if parsed source ended by __END__.
|
|
# File 'parse.c'
VALUE
rb_parser_end_seen_p(VALUE vparser)
{
struct parser_params *parser;
TypedData_Get_Struct(vparser, struct parser_params, &parser_data_type, parser);
return ruby__end__seen ? Qtrue : Qfalse;
}
|
- (String) filename
Return current parsing filename.
|
|
# File 'parse.c'
static VALUE
ripper_filename(VALUE self)
{
struct parser_params *parser;
TypedData_Get_Struct(self, struct parser_params, &parser_data_type, parser);
if (!ripper_initialized_p(parser)) {
rb_raise(rb_eArgError, "method called for uninitialized object");
}
|
- (Integer) lineno
Return line number of current parsing line. This number starts from 1.
|
|
# File 'parse.c'
static VALUE
ripper_lineno(VALUE self)
{
struct parser_params *parser;
TypedData_Get_Struct(self, struct parser_params, &parser_data_type, parser);
if (!ripper_initialized_p(parser)) {
rb_raise(rb_eArgError, "method called for uninitialized object");
}
|
- (Object) parse
Start parsing and returns the value of the root action.
|
|
# File 'parse.c'
static VALUE
ripper_parse(VALUE self)
{
struct parser_params *parser;
TypedData_Get_Struct(self, struct parser_params, &parser_data_type, parser);
if (!ripper_initialized_p(parser)) {
rb_raise(rb_eArgError, "method called for uninitialized object");
}
|
- (Boolean) yydebug
Get yydebug.
|
|
# File 'parse.c'
VALUE
rb_parser_get_yydebug(VALUE self)
{
struct parser_params *parser;
TypedData_Get_Struct(self, struct parser_params, &parser_data_type, parser);
return yydebug ? Qtrue : Qfalse;
}
|
- (Object) yydebug=(flag)
Set yydebug.
|
|
# File 'parse.c'
VALUE
rb_parser_set_yydebug(VALUE self, VALUE flag)
{
struct parser_params *parser;
TypedData_Get_Struct(self, struct parser_params, &parser_data_type, parser);
yydebug = RTEST(flag);
return flag;
}
|