Created
April 30, 2009 21:48
-
-
Save methodmissing/104715 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| macbook-pros-computer:mri_instrumentation lourens$ ruby bin/parse /Users/lourens/projects/matzruby/compar.c | |
| TranslationUnit | |
| entities: | |
| - Declaration | |
| type: CustomType | |
| name: "VALUE" | |
| declarators: | |
| - Declarator | |
| name: "rb_mComparable" | |
| - Declaration | |
| storage: static | |
| type: CustomType | |
| name: "ID" | |
| declarators: | |
| - Declarator | |
| name: "cmp" | |
| - FunctionDef (no_prototype) | |
| type: Function | |
| type: Int | |
| params: | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "val" | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "a" | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "b" | |
| name: "rb_cmpint" | |
| def: Block | |
| stmts: | |
| - If | |
| cond: Call | |
| expr: Variable | |
| name: "NIL_P" | |
| args: | |
| - Variable | |
| name: "val" | |
| then: Block | |
| stmts: | |
| - ExpressionStatement | |
| expr: Call | |
| expr: Variable | |
| name: "rb_cmperr" | |
| args: | |
| - Variable | |
| name: "a" | |
| - Variable | |
| name: "b" | |
| - If | |
| cond: Call | |
| expr: Variable | |
| name: "FIXNUM_P" | |
| args: | |
| - Variable | |
| name: "val" | |
| then: Return | |
| expr: Call | |
| expr: Variable | |
| name: "FIX2INT" | |
| args: | |
| - Variable | |
| name: "val" | |
| - If | |
| cond: Equal | |
| expr1: Call | |
| expr: Variable | |
| name: "TYPE" | |
| args: | |
| - Variable | |
| name: "val" | |
| expr2: Variable | |
| name: "T_BIGNUM" | |
| then: Block | |
| stmts: | |
| - If | |
| cond: Arrow | |
| expr: Call | |
| expr: Variable | |
| name: "RBIGNUM" | |
| args: | |
| - Variable | |
| name: "val" | |
| member: Member | |
| name: "sign" | |
| then: Return | |
| expr: IntLiteral | |
| val: 1 | |
| - Return | |
| expr: Negative | |
| expr: IntLiteral | |
| val: 1 | |
| - If | |
| cond: Call | |
| expr: Variable | |
| name: "RTEST" | |
| args: | |
| - Call | |
| expr: Variable | |
| name: "rb_funcall" | |
| args: | |
| - Variable | |
| name: "val" | |
| - CharLiteral | |
| val: ">" | |
| - IntLiteral | |
| val: 1 | |
| - Call | |
| expr: Variable | |
| name: "INT2FIX" | |
| args: | |
| - IntLiteral | |
| val: 0 | |
| then: Return | |
| expr: IntLiteral | |
| val: 1 | |
| - If | |
| cond: Call | |
| expr: Variable | |
| name: "RTEST" | |
| args: | |
| - Call | |
| expr: Variable | |
| name: "rb_funcall" | |
| args: | |
| - Variable | |
| name: "val" | |
| - CharLiteral | |
| val: "<" | |
| - IntLiteral | |
| val: 1 | |
| - Call | |
| expr: Variable | |
| name: "INT2FIX" | |
| args: | |
| - IntLiteral | |
| val: 0 | |
| then: Return | |
| expr: Negative | |
| expr: IntLiteral | |
| val: 1 | |
| - Return | |
| expr: IntLiteral | |
| val: 0 | |
| - FunctionDef (no_prototype) | |
| type: Function | |
| type: Void | |
| params: | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "x" | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "y" | |
| name: "rb_cmperr" | |
| def: Block | |
| stmts: | |
| - Declaration | |
| type: Char (const) | |
| declarators: | |
| - Declarator | |
| indirect_type: Pointer | |
| name: "classname" | |
| - If | |
| cond: Call | |
| expr: Variable | |
| name: "SPECIAL_CONST_P" | |
| args: | |
| - Variable | |
| name: "y" | |
| then: Block | |
| stmts: | |
| - ExpressionStatement | |
| expr: Assign | |
| lval: Variable | |
| name: "y" | |
| rval: Call | |
| expr: Variable | |
| name: "rb_inspect" | |
| args: | |
| - Variable | |
| name: "y" | |
| - ExpressionStatement | |
| expr: Assign | |
| lval: Variable | |
| name: "classname" | |
| rval: Call | |
| expr: Variable | |
| name: "StringValuePtr" | |
| args: | |
| - Variable | |
| name: "y" | |
| else: Block | |
| stmts: | |
| - ExpressionStatement | |
| expr: Assign | |
| lval: Variable | |
| name: "classname" | |
| rval: Call | |
| expr: Variable | |
| name: "rb_obj_classname" | |
| args: | |
| - Variable | |
| name: "y" | |
| - ExpressionStatement | |
| expr: Call | |
| expr: Variable | |
| name: "rb_raise" | |
| args: | |
| - Variable | |
| name: "rb_eArgError" | |
| - StringLiteral | |
| val: "comparison of %s with %s failed" | |
| - Call | |
| expr: Variable | |
| name: "rb_obj_classname" | |
| args: | |
| - Variable | |
| name: "x" | |
| - Variable | |
| name: "classname" | |
| - FunctionDef (no_prototype) | |
| storage: static | |
| type: Function | |
| type: CustomType | |
| name: "VALUE" | |
| params: | |
| - Parameter | |
| type: Pointer | |
| type: CustomType | |
| name: "VALUE" | |
| name: "a" | |
| name: "cmp_eq" | |
| def: Block | |
| stmts: | |
| - Declaration | |
| type: CustomType | |
| name: "VALUE" | |
| declarators: | |
| - Declarator | |
| name: "c" | |
| init: Call | |
| expr: Variable | |
| name: "rb_funcall" | |
| args: | |
| - Index | |
| expr: Variable | |
| name: "a" | |
| index: IntLiteral | |
| val: 0 | |
| - Variable | |
| name: "cmp" | |
| - IntLiteral | |
| val: 1 | |
| - Index | |
| expr: Variable | |
| name: "a" | |
| index: IntLiteral | |
| val: 1 | |
| - If | |
| cond: Call | |
| expr: Variable | |
| name: "NIL_P" | |
| args: | |
| - Variable | |
| name: "c" | |
| then: Return | |
| expr: Variable | |
| name: "Qnil" | |
| - If | |
| cond: Equal | |
| expr1: Call | |
| expr: Variable | |
| name: "rb_cmpint" | |
| args: | |
| - Variable | |
| name: "c" | |
| - Index | |
| expr: Variable | |
| name: "a" | |
| index: IntLiteral | |
| val: 0 | |
| - Index | |
| expr: Variable | |
| name: "a" | |
| index: IntLiteral | |
| val: 1 | |
| expr2: IntLiteral | |
| val: 0 | |
| then: Return | |
| expr: Variable | |
| name: "Qtrue" | |
| - Return | |
| expr: Variable | |
| name: "Qfalse" | |
| - FunctionDef | |
| storage: static | |
| type: Function | |
| type: CustomType | |
| name: "VALUE" | |
| name: "cmp_failed" | |
| def: Block | |
| stmts: | |
| - Return | |
| expr: Variable | |
| name: "Qnil" | |
| - FunctionDef (no_prototype) | |
| storage: static | |
| type: Function | |
| type: CustomType | |
| name: "VALUE" | |
| params: | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "x" | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "y" | |
| name: "cmp_equal" | |
| def: Block | |
| stmts: | |
| - Declaration | |
| type: CustomType | |
| name: "VALUE" | |
| declarators: | |
| - Declarator | |
| indirect_type: Array | |
| length: IntLiteral | |
| val: 2 | |
| name: "a" | |
| - If | |
| cond: Equal | |
| expr1: Variable | |
| name: "x" | |
| expr2: Variable | |
| name: "y" | |
| then: Return | |
| expr: Variable | |
| name: "Qtrue" | |
| - ExpressionStatement | |
| expr: Assign | |
| lval: Index | |
| expr: Variable | |
| name: "a" | |
| index: IntLiteral | |
| val: 0 | |
| rval: Variable | |
| name: "x" | |
| - ExpressionStatement | |
| expr: Assign | |
| lval: Index | |
| expr: Variable | |
| name: "a" | |
| index: IntLiteral | |
| val: 1 | |
| rval: Variable | |
| name: "y" | |
| - Return | |
| expr: Call | |
| expr: Variable | |
| name: "rb_rescue" | |
| args: | |
| - Variable | |
| name: "cmp_eq" | |
| - Cast | |
| type: CustomType | |
| name: "VALUE" | |
| expr: Variable | |
| name: "a" | |
| - Variable | |
| name: "cmp_failed" | |
| - IntLiteral | |
| val: 0 | |
| - FunctionDef (no_prototype) | |
| storage: static | |
| type: Function | |
| type: CustomType | |
| name: "VALUE" | |
| params: | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "x" | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "y" | |
| name: "cmp_gt" | |
| def: Block | |
| stmts: | |
| - Declaration | |
| type: CustomType | |
| name: "VALUE" | |
| declarators: | |
| - Declarator | |
| name: "c" | |
| init: Call | |
| expr: Variable | |
| name: "rb_funcall" | |
| args: | |
| - Variable | |
| name: "x" | |
| - Variable | |
| name: "cmp" | |
| - IntLiteral | |
| val: 1 | |
| - Variable | |
| name: "y" | |
| - If | |
| cond: Call | |
| expr: Variable | |
| name: "NIL_P" | |
| args: | |
| - Variable | |
| name: "c" | |
| then: Return | |
| expr: Call | |
| expr: Variable | |
| name: "cmperr" | |
| - If | |
| cond: More | |
| expr1: Call | |
| expr: Variable | |
| name: "rb_cmpint" | |
| args: | |
| - Variable | |
| name: "c" | |
| - Variable | |
| name: "x" | |
| - Variable | |
| name: "y" | |
| expr2: IntLiteral | |
| val: 0 | |
| then: Return | |
| expr: Variable | |
| name: "Qtrue" | |
| - Return | |
| expr: Variable | |
| name: "Qfalse" | |
| - FunctionDef (no_prototype) | |
| storage: static | |
| type: Function | |
| type: CustomType | |
| name: "VALUE" | |
| params: | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "x" | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "y" | |
| name: "cmp_ge" | |
| def: Block | |
| stmts: | |
| - Declaration | |
| type: CustomType | |
| name: "VALUE" | |
| declarators: | |
| - Declarator | |
| name: "c" | |
| init: Call | |
| expr: Variable | |
| name: "rb_funcall" | |
| args: | |
| - Variable | |
| name: "x" | |
| - Variable | |
| name: "cmp" | |
| - IntLiteral | |
| val: 1 | |
| - Variable | |
| name: "y" | |
| - If | |
| cond: Call | |
| expr: Variable | |
| name: "NIL_P" | |
| args: | |
| - Variable | |
| name: "c" | |
| then: Return | |
| expr: Call | |
| expr: Variable | |
| name: "cmperr" | |
| - If | |
| cond: MoreOrEqual | |
| expr1: Call | |
| expr: Variable | |
| name: "rb_cmpint" | |
| args: | |
| - Variable | |
| name: "c" | |
| - Variable | |
| name: "x" | |
| - Variable | |
| name: "y" | |
| expr2: IntLiteral | |
| val: 0 | |
| then: Return | |
| expr: Variable | |
| name: "Qtrue" | |
| - Return | |
| expr: Variable | |
| name: "Qfalse" | |
| - FunctionDef (no_prototype) | |
| storage: static | |
| type: Function | |
| type: CustomType | |
| name: "VALUE" | |
| params: | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "x" | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "y" | |
| name: "cmp_lt" | |
| def: Block | |
| stmts: | |
| - Declaration | |
| type: CustomType | |
| name: "VALUE" | |
| declarators: | |
| - Declarator | |
| name: "c" | |
| init: Call | |
| expr: Variable | |
| name: "rb_funcall" | |
| args: | |
| - Variable | |
| name: "x" | |
| - Variable | |
| name: "cmp" | |
| - IntLiteral | |
| val: 1 | |
| - Variable | |
| name: "y" | |
| - If | |
| cond: Call | |
| expr: Variable | |
| name: "NIL_P" | |
| args: | |
| - Variable | |
| name: "c" | |
| then: Return | |
| expr: Call | |
| expr: Variable | |
| name: "cmperr" | |
| - If | |
| cond: Less | |
| expr1: Call | |
| expr: Variable | |
| name: "rb_cmpint" | |
| args: | |
| - Variable | |
| name: "c" | |
| - Variable | |
| name: "x" | |
| - Variable | |
| name: "y" | |
| expr2: IntLiteral | |
| val: 0 | |
| then: Return | |
| expr: Variable | |
| name: "Qtrue" | |
| - Return | |
| expr: Variable | |
| name: "Qfalse" | |
| - FunctionDef (no_prototype) | |
| storage: static | |
| type: Function | |
| type: CustomType | |
| name: "VALUE" | |
| params: | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "x" | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "y" | |
| name: "cmp_le" | |
| def: Block | |
| stmts: | |
| - Declaration | |
| type: CustomType | |
| name: "VALUE" | |
| declarators: | |
| - Declarator | |
| name: "c" | |
| init: Call | |
| expr: Variable | |
| name: "rb_funcall" | |
| args: | |
| - Variable | |
| name: "x" | |
| - Variable | |
| name: "cmp" | |
| - IntLiteral | |
| val: 1 | |
| - Variable | |
| name: "y" | |
| - If | |
| cond: Call | |
| expr: Variable | |
| name: "NIL_P" | |
| args: | |
| - Variable | |
| name: "c" | |
| then: Return | |
| expr: Call | |
| expr: Variable | |
| name: "cmperr" | |
| - If | |
| cond: LessOrEqual | |
| expr1: Call | |
| expr: Variable | |
| name: "rb_cmpint" | |
| args: | |
| - Variable | |
| name: "c" | |
| - Variable | |
| name: "x" | |
| - Variable | |
| name: "y" | |
| expr2: IntLiteral | |
| val: 0 | |
| then: Return | |
| expr: Variable | |
| name: "Qtrue" | |
| - Return | |
| expr: Variable | |
| name: "Qfalse" | |
| - FunctionDef (no_prototype) | |
| storage: static | |
| type: Function | |
| type: CustomType | |
| name: "VALUE" | |
| params: | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "x" | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "min" | |
| - Parameter | |
| type: CustomType | |
| name: "VALUE" | |
| name: "max" | |
| name: "cmp_between" | |
| def: Block | |
| stmts: | |
| - If | |
| cond: Call | |
| expr: Variable | |
| name: "RTEST" | |
| args: | |
| - Call | |
| expr: Variable | |
| name: "cmp_lt" | |
| args: | |
| - Variable | |
| name: "x" | |
| - Variable | |
| name: "min" | |
| then: Return | |
| expr: Variable | |
| name: "Qfalse" | |
| - If | |
| cond: Call | |
| expr: Variable | |
| name: "RTEST" | |
| args: | |
| - Call | |
| expr: Variable | |
| name: "cmp_gt" | |
| args: | |
| - Variable | |
| name: "x" | |
| - Variable | |
| name: "max" | |
| then: Return | |
| expr: Variable | |
| name: "Qfalse" | |
| - Return | |
| expr: Variable | |
| name: "Qtrue" | |
| - FunctionDef | |
| type: Function | |
| type: Void | |
| name: "Init_Comparable" | |
| def: Block | |
| stmts: | |
| - ExpressionStatement | |
| expr: Assign | |
| lval: Variable | |
| name: "rb_mComparable" | |
| rval: Call | |
| expr: Variable | |
| name: "rb_define_module" | |
| args: | |
| - StringLiteral | |
| val: "Comparable" | |
| - ExpressionStatement | |
| expr: Call | |
| expr: Variable | |
| name: "rb_define_method" | |
| args: | |
| - Variable | |
| name: "rb_mComparable" | |
| - StringLiteral | |
| val: "==" | |
| - Variable | |
| name: "cmp_equal" | |
| - IntLiteral | |
| val: 1 | |
| - ExpressionStatement | |
| expr: Call | |
| expr: Variable | |
| name: "rb_define_method" | |
| args: | |
| - Variable | |
| name: "rb_mComparable" | |
| - StringLiteral | |
| val: ">" | |
| - Variable | |
| name: "cmp_gt" | |
| - IntLiteral | |
| val: 1 | |
| - ExpressionStatement | |
| expr: Call | |
| expr: Variable | |
| name: "rb_define_method" | |
| args: | |
| - Variable | |
| name: "rb_mComparable" | |
| - StringLiteral | |
| val: ">=" | |
| - Variable | |
| name: "cmp_ge" | |
| - IntLiteral | |
| val: 1 | |
| - ExpressionStatement | |
| expr: Call | |
| expr: Variable | |
| name: "rb_define_method" | |
| args: | |
| - Variable | |
| name: "rb_mComparable" | |
| - StringLiteral | |
| val: "<" | |
| - Variable | |
| name: "cmp_lt" | |
| - IntLiteral | |
| val: 1 | |
| - ExpressionStatement | |
| expr: Call | |
| expr: Variable | |
| name: "rb_define_method" | |
| args: | |
| - Variable | |
| name: "rb_mComparable" | |
| - StringLiteral | |
| val: "<=" | |
| - Variable | |
| name: "cmp_le" | |
| - IntLiteral | |
| val: 1 | |
| - ExpressionStatement | |
| expr: Call | |
| expr: Variable | |
| name: "rb_define_method" | |
| args: | |
| - Variable | |
| name: "rb_mComparable" | |
| - StringLiteral | |
| val: "between?" | |
| - Variable | |
| name: "cmp_between" | |
| - IntLiteral | |
| val: 2 | |
| - ExpressionStatement | |
| expr: Assign | |
| lval: Variable | |
| name: "cmp" | |
| rval: Call | |
| expr: Variable | |
| name: "rb_intern" | |
| args: | |
| - StringLiteral | |
| val: "<=>" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment