/* generated by Id 1.1 at ,$ */ /* with the command: -I../stage1/ -I../st80 -c Scanner.st -o ../stage2/Scanner.o.c */ #include static struct __libid *_libid= 0; #ifdef ID_DEBUG # define _enter(info) void *__id_debug= _libid->enter(info) # define _line(lno) _libid->line(lno) # define _leave() _libid->leave(__id_debug) # define _backtrace() _libid->backtrace() #else # define _enter(info) (void)info # define _line(lno) # define _leave() # define _backtrace() "(no debugging information)\n" #endif #define _return _leave(); return #define _sendv(MSG, N, RCV, ARG...) ({ \ struct __send _s= { (MSG), (N), (RCV) }; \ ((_imp_t)(_libid->bindv(&_s)))(&_s, _s.receiver, _s.receiver, ##ARG); \ }) #define _superv(TYP, MSG, N, RCV, ARG...) ({ \ struct __send _s= { (MSG), (N), (TYP) }; \ _imp_t _imp= _libid->bindv(&_s); \ _s.receiver= (RCV); \ _imp(&_s, _s.receiver, _s.receiver, ##ARG); \ }) static oop s_line= 0; static oop s_on_= 0; static oop s_xComment= 0; static oop s_xColon= 0; static oop s_atAllPut_= 0; static oop s_nextPut_= 0; static oop s_asString= 0; static oop s_writeStream= 0; static oop s__5fdebugName= 0; static oop s_size_5f_value_5f_= 0; static oop s_new= 0; static oop s_asByteArray= 0; static oop s_withFile_line_= 0; static oop s_resetToStart= 0; static oop s_file= 0; static oop s_notNil= 0; static oop s_ifTrue_ifFalse_= 0; static oop s_context= 0; static oop s_peek= 0; static oop s_xPunctuator= 0; static oop s_scanKeywords= 0; static oop s_whileTrue_= 0; static oop s_xBinary= 0; static oop s_nextPutAll_= 0; static oop s_scanCharacter= 0; static oop s_at_ifAbsent_= 0; static oop s_between_and_= 0; static oop s_error_= 0; static oop s_asciiValue= 0; static oop s__5fsizeof= 0; static oop s__7e_7e= 0; static oop s_atAll_put_= 0; static oop s_function_5f_arity_5f_outer_state_nlr_5f_= 0; static oop s_next= 0; static oop s_new_= 0; static oop s_xCharacter= 0; static oop s_new_5f_= 0; static oop s_timesRepeat_= 0; static oop s__2a= 0; static oop s_printString= 0; static oop s_value_5f_= 0; static oop s__5fimport_= 0; static oop s_xBrace= 0; static oop s_atEnd= 0; static oop s_ifFalse_= 0; static oop s_scanOctal= 0; static oop s_initialize= 0; static oop s_xIllegal= 0; static oop s__5fslots= 0; static oop s_ifTrue_= 0; static oop s__2b= 0; static oop s_isNil= 0; static oop s__2c= 0; static oop s__2d= 0; static oop s_isDigit= 0; static oop s__3d_3d= 0; static oop s_asSymbol= 0; static oop s_digitValue= 0; static oop s_perform_= 0; static oop s_xDot= 0; static oop s__3d= 0; static oop s_position= 0; static oop s_xString= 0; static oop s_and_= 0; static oop s__3e= 0; static oop s_scanEscape= 0; static oop s_or_= 0; static oop s_value_= 0; static oop s_at_= 0; static oop s_scan= 0; static oop s_xLetter= 0; static oop s_xDigit= 0; static oop s_value= 0; static oop s_xSign= 0; static oop s_at_put_= 0; static oop s_contents= 0; static struct _Selector { const char *name; oop *addr; } _Selectors[]= { { "line", &s_line }, { "on:", &s_on_ }, { "xComment", &s_xComment }, { "xColon", &s_xColon }, { "atAllPut:", &s_atAllPut_ }, { "nextPut:", &s_nextPut_ }, { "asString", &s_asString }, { "writeStream", &s_writeStream }, { "_debugName", &s__5fdebugName }, { "size_:value_:", &s_size_5f_value_5f_ }, { "new", &s_new }, { "asByteArray", &s_asByteArray }, { "withFile:line:", &s_withFile_line_ }, { "resetToStart", &s_resetToStart }, { "file", &s_file }, { "notNil", &s_notNil }, { "ifTrue:ifFalse:", &s_ifTrue_ifFalse_ }, { "context", &s_context }, { "peek", &s_peek }, { "xPunctuator", &s_xPunctuator }, { "scanKeywords", &s_scanKeywords }, { "whileTrue:", &s_whileTrue_ }, { "xBinary", &s_xBinary }, { "nextPutAll:", &s_nextPutAll_ }, { "scanCharacter", &s_scanCharacter }, { "at:ifAbsent:", &s_at_ifAbsent_ }, { "between:and:", &s_between_and_ }, { "error:", &s_error_ }, { "asciiValue", &s_asciiValue }, { "_sizeof", &s__5fsizeof }, { "~~", &s__7e_7e }, { "atAll:put:", &s_atAll_put_ }, { "function_:arity_:outer:state:nlr_:", &s_function_5f_arity_5f_outer_state_nlr_5f_ }, { "next", &s_next }, { "new:", &s_new_ }, { "xCharacter", &s_xCharacter }, { "new_:", &s_new_5f_ }, { "timesRepeat:", &s_timesRepeat_ }, { "*", &s__2a }, { "printString", &s_printString }, { "value_:", &s_value_5f_ }, { "_import:", &s__5fimport_ }, { "xBrace", &s_xBrace }, { "atEnd", &s_atEnd }, { "ifFalse:", &s_ifFalse_ }, { "scanOctal", &s_scanOctal }, { "initialize", &s_initialize }, { "xIllegal", &s_xIllegal }, { "_slots", &s__5fslots }, { "ifTrue:", &s_ifTrue_ }, { "+", &s__2b }, { "isNil", &s_isNil }, { ",", &s__2c }, { "-", &s__2d }, { "isDigit", &s_isDigit }, { "==", &s__3d_3d }, { "asSymbol", &s_asSymbol }, { "digitValue", &s_digitValue }, { "perform:", &s_perform_ }, { "xDot", &s_xDot }, { "=", &s__3d }, { "position", &s_position }, { "xString", &s_xString }, { "and:", &s_and_ }, { ">", &s__3e }, { "scanEscape", &s_scanEscape }, { "or:", &s_or_ }, { "value:", &s_value_ }, { "at:", &s_at_ }, { "scan", &s_scan }, { "xLetter", &s_xLetter }, { "xDigit", &s_xDigit }, { "value", &s_value }, { "xSign", &s_xSign }, { "at:put:", &s_at_put_ }, { "contents", &s_contents }, { 0, 0 } }; struct t__object { struct _vtable *_vtable[0]; }; struct t__selector { struct _vtable *_vtable[0]; oop v__size; oop v__elements; }; struct t__assoc { struct _vtable *_vtable[0]; oop v_key; oop v_value; }; struct t__closure { struct _vtable *_vtable[0]; oop v__method; oop v_data; }; struct t__vector { struct _vtable *_vtable[0]; oop v__size; }; struct t__vtable { struct _vtable *_vtable[0]; oop v__tally; oop v_bindings; oop v_delegate; }; struct t_Object { struct _vtable *_vtable[0]; }; struct t_UndefinedObject { struct _vtable *_vtable[0]; }; struct t_StaticBlockClosure { struct _vtable *_vtable[0]; oop v__function; oop v__arity; }; struct t_BlockClosure { struct _vtable *_vtable[0]; oop v__function; oop v__arity; oop v_outer; oop v_state; oop v__nlr; }; struct t_Magnitude { struct _vtable *_vtable[0]; }; struct t_Character { struct _vtable *_vtable[0]; oop v_value; }; struct t_Number { struct _vtable *_vtable[0]; }; struct t_Fraction { struct _vtable *_vtable[0]; oop v_numerator; oop v_denominator; }; struct t_Float { struct _vtable *_vtable[0]; }; struct t_Integer { struct _vtable *_vtable[0]; }; struct t_SmallInteger { struct _vtable *_vtable[0]; }; struct t_LargePositiveInteger { struct _vtable *_vtable[0]; oop v_bytes; }; struct t_LargeNegativeInteger { struct _vtable *_vtable[0]; oop v_bytes; }; struct t_Collection { struct _vtable *_vtable[0]; }; struct t_SequenceableCollection { struct _vtable *_vtable[0]; }; struct t_ArrayedCollection { struct _vtable *_vtable[0]; oop v_size; }; struct t_Array { struct _vtable *_vtable[0]; oop v_size; oop v__pointers; }; struct t_ImmutableArray { struct _vtable *_vtable[0]; oop v_size; oop v__pointers; }; struct t_WordArray { struct _vtable *_vtable[0]; oop v_size; oop v__words; }; struct t_ImmutableWordArray { struct _vtable *_vtable[0]; oop v_size; oop v__words; }; struct t_ByteArray { struct _vtable *_vtable[0]; oop v_size; oop v__bytes; }; struct t_ImmutableByteArray { struct _vtable *_vtable[0]; oop v_size; oop v__bytes; }; struct t_String { struct _vtable *_vtable[0]; oop v_size; oop v__bytes; }; struct t_ImmutableString { struct _vtable *_vtable[0]; oop v_size; oop v__bytes; }; struct t_Symbol { struct _vtable *_vtable[0]; oop v_size; oop v__bytes; }; struct t_nil { struct _vtable *_vtable[0]; }; struct t_true { struct _vtable *_vtable[0]; }; struct t_false { struct _vtable *_vtable[0]; }; struct t_CharacterTable { struct _vtable *_vtable[0]; oop v_size; oop v__pointers; }; struct t_Set { struct _vtable *_vtable[0]; oop v_tally; oop v_array; }; struct t_LookupKey { struct _vtable *_vtable[0]; oop v_key; }; struct t_Association { struct _vtable *_vtable[0]; oop v_key; oop v_value; }; struct t_OrderedCollection { struct _vtable *_vtable[0]; oop v_array; oop v_firstIndex; oop v_lastIndex; }; struct t_Dictionary { struct _vtable *_vtable[0]; oop v_tally; oop v_array; }; struct t_IdentitySet { struct _vtable *_vtable[0]; oop v_tally; oop v_array; }; struct t_IdentityDictionary { struct _vtable *_vtable[0]; oop v_tally; oop v_array; }; struct t_Stream { struct _vtable *_vtable[0]; }; struct t_PositionableStream { struct _vtable *_vtable[0]; oop v_collection; oop v_position; oop v_readLimit; }; struct t_WriteStream { struct _vtable *_vtable[0]; oop v_collection; oop v_position; oop v_readLimit; oop v_writeLimit; }; struct t_ScannerPosition { struct _vtable *_vtable[0]; oop v_file; oop v_line; }; struct t_SymbolTable { struct _vtable *_vtable[0]; oop v_tally; oop v_array; }; struct t_Scanner { struct _vtable *_vtable[0]; oop v_charTable; oop v_charEscapes; oop v_context; oop v_c; oop v_token; oop v_type; oop v_prevHash; oop v_line; }; static oop l_2= 0; static oop l_4= 0; static oop l_5= 0; static oop l_6= 0; static oop l_7= 0; static oop l_8= 0; static oop l_9= 0; static oop l_10= 0; static oop l_11= 0; static oop l_12= 0; static oop l_13= 0; static oop l_14= 0; static oop l_15= 0; static oop l_16= 0; static oop l_17= 0; static oop l_18= 0; static oop l_19= 0; static oop l_20= 0; static oop l_21= 0; static oop l_22= 0; static oop l_23= 0; static oop l_24= 0; static oop l_25= 0; static oop l_26= 0; static oop l_27= 0; static oop l_28= 0; static oop l_29= 0; static oop l_30= 0; static oop l_31= 0; static oop l_32= 0; static oop l_33= 0; static oop l_34= 0; static oop l_35= 0; static oop l_36= 0; static oop l_37= 0; static oop l_38= 0; static oop l_39= 0; static oop l_40= 0; static oop l_41= 0; static oop l_42= 0; static oop l_43= 0; static oop l_44= 0; static oop l_45= 0; static oop l_46= 0; static oop l_47= 0; static oop l_53= 0; static oop l_54= 0; static oop l_57= 0; static oop l_58= 0; static oop l_59= 0; static oop l_61= 0; static oop l_62= 0; static oop l_65= 0; static oop l_66= 0; static oop l_67= 0; static oop l_69= 0; static oop l_70= 0; static oop l_71= 0; static oop l_72= 0; static oop l_73= 0; static oop l_75= 0; static oop l_76= 0; static oop l_77= 0; static oop l_79= 0; static oop l_80= 0; static oop l_81= 0; static oop l_82= 0; static oop l_83= 0; static oop l_84= 0; static oop l_85= 0; static oop l_86= 0; static oop l_87= 0; static oop l_89= 0; static oop l_90= 0; static oop l_92= 0; static oop l_93= 0; static oop l_94= 0; static oop l_96= 0; static oop l_98= 0; static oop l_99= 0; static oop l_101= 0; static oop l_102= 0; static oop l_104= 0; static oop l_106= 0; static oop l_107= 0; static oop l_108= 0; static oop l_109= 0; static oop l_110= 0; static oop l_112= 0; static oop l_114= 0; static oop l_116= 0; static oop l_117= 0; static oop l_118= 0; static oop l_119= 0; static oop l_120= 0; static oop l_121= 0; static oop l_122= 0; static oop v__object= 0; static oop v__vector= 0; static oop v_Object= 0; static oop v_UndefinedObject= 0; static oop v_StaticBlockClosure= 0; static oop v_BlockClosure= 0; static oop v_Magnitude= 0; static oop v_Character= 0; static oop v_Number= 0; static oop v_Integer= 0; static oop v_SmallInteger= 0; static oop v_LargePositiveInteger= 0; static oop v_Collection= 0; static oop v_SequenceableCollection= 0; static oop v_ArrayedCollection= 0; static oop v_Array= 0; static oop v_WordArray= 0; static oop v_ByteArray= 0; static oop v_String= 0; static oop v_ImmutableString= 0; static oop v_Symbol= 0; static oop v_nil= 0; static oop v_true= 0; static oop v_false= 0; static oop v_Set= 0; static oop v_LookupKey= 0; static oop v_Dictionary= 0; static oop v_IdentityDictionary= 0; static oop v_Stream= 0; static oop v_PositionableStream= 0; static oop v_ScannerPosition= 0; static oop v_Scanner= 0; static size_t Scanner___5fsizeof(oop _closure, oop v_self) { return sizeof(struct t_Scanner); } static char *Scanner___5fdebugName(oop _closure, oop v_self) { return "Scanner"; } static struct __slotinfo *Scanner___5fslots(oop _closure, oop v_self) { static struct __slotinfo info[]= { { "charTable", 0, 4 }, { "charEscapes", 4, 4 }, { "context", 8, 4 }, { "c", 12, 4 }, { "token", 16, 4 }, { "type", 20, 4 }, { "prevHash", 24, 4 }, { "line", 28, 4 }, { 0, 0, 0 } }; return &info[0]; } static struct __methodinfo __info1= { "on:", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 39, 48, 0 }; static oop Scanner__on_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aScannerContext) { _enter(&__info1); oop _1= 0; _line(39); _1= v_self; _line(41); _1=_sendv(s_new, 1, _1); v_self= _1; v_stateful_self= _1; _1= v_aScannerContext; ((struct t_Scanner *)v_stateful_self)->v_context= _1; _1= v_self; _line(43); _1=_sendv(s_next, 1, _1); _1= v_String; _line(44); _1=_sendv(s_new, 1, _1); _line(44); _1=_sendv(s_writeStream, 1, _1); ((struct t_Scanner *)v_stateful_self)->v_token= _1; _1= l_2; ((struct t_Scanner *)v_stateful_self)->v_line= _1; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info3= { "initialize", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 48, 79, &__info1 }; static oop Scanner__initialize(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info3); oop _1= 0; oop _2= 0; oop _3= 0; _line(48); _1= v_self; _line(50); _1=_superv(v_Object, s_initialize, 1, _1); _1= v_Array; _2= l_4; _line(51); _1=_sendv(s_new_, 2, _1, _2); ((struct t_Scanner *)v_stateful_self)->v_charTable= _1; _2= l_5; _line(52); _sendv(s_atAllPut_, 2, _1, _2); _2= l_6; _line(53); _2=_sendv(s_asByteArray, 1, _2); _3= l_7; _sendv(s_atAll_put_, 3, _1, _2, _3); _2= l_8; _line(54); _2=_sendv(s_asByteArray, 1, _2); _3= l_9; _sendv(s_atAll_put_, 3, _1, _2, _3); _2= l_10; _line(55); _2=_sendv(s_asByteArray, 1, _2); _3= l_9; _sendv(s_atAll_put_, 3, _1, _2, _3); _2= l_11; _line(56); _2=_sendv(s_asByteArray, 1, _2); _3= l_9; _sendv(s_atAll_put_, 3, _1, _2, _3); _2= l_12; _line(57); _2=_sendv(s_asByteArray, 1, _2); _3= l_13; _sendv(s_atAll_put_, 3, _1, _2, _3); _2= l_14; _line(58); _2=_sendv(s_asByteArray, 1, _2); _3= l_15; _sendv(s_atAll_put_, 3, _1, _2, _3); _2= l_16; _line(59); _2=_sendv(s_asByteArray, 1, _2); _3= l_17; _sendv(s_atAll_put_, 3, _1, _2, _3); _2= l_18; _line(60); _2=_sendv(s_asByteArray, 1, _2); _3= l_19; _sendv(s_atAll_put_, 3, _1, _2, _3); _2= l_20; _line(61); _2=_sendv(s_asciiValue, 1, _2); _3= l_21; _sendv(s_at_put_, 3, _1, _2, _3); _2= l_22; _line(62); _2=_sendv(s_asciiValue, 1, _2); _3= l_23; _sendv(s_at_put_, 3, _1, _2, _3); _2= l_24; _line(63); _2=_sendv(s_asciiValue, 1, _2); _3= l_25; _sendv(s_at_put_, 3, _1, _2, _3); _2= l_26; _line(64); _2=_sendv(s_asciiValue, 1, _2); _3= l_27; _sendv(s_at_put_, 3, _1, _2, _3); _2= l_28; _line(65); _2=_sendv(s_asciiValue, 1, _2); _3= l_29; _sendv(s_at_put_, 3, _1, _2, _3); _2= l_30; _line(66); _2=_sendv(s_asciiValue, 1, _2); _3= l_31; _1=_sendv(s_at_put_, 3, _1, _2, _3); _1= v_IdentityDictionary; _line(67); _1=_sendv(s_new, 1, _1); ((struct t_Scanner *)v_stateful_self)->v_charEscapes= _1; _2= l_32; _3= l_33; _line(68); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_34; _3= l_35; _sendv(s_at_put_, 3, _1, _2, _3); _2= l_36; _3= l_37; _sendv(s_at_put_, 3, _1, _2, _3); _2= l_38; _3= l_39; _sendv(s_at_put_, 3, _1, _2, _3); _2= l_40; _3= l_41; _sendv(s_at_put_, 3, _1, _2, _3); _2= l_42; _3= l_43; _sendv(s_at_put_, 3, _1, _2, _3); _2= l_44; _3= l_45; _sendv(s_at_put_, 3, _1, _2, _3); _2= l_46; _3= l_47; _1=_sendv(s_at_put_, 3, _1, _2, _3); _1= v_false; ((struct t_Scanner *)v_stateful_self)->v_prevHash= _1; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info48= { "position", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 79, 84, &__info3 }; static oop Scanner__position(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info48); oop _1= 0; oop _2= 0; oop _3= 0; _line(79); _1= v_ScannerPosition; _2= ((struct t_Scanner *)v_stateful_self)->v_context; _line(81); _2=_sendv(s_file, 1, _2); _3= ((struct t_Scanner *)v_stateful_self)->v_line; _line(81); _1=_sendv(s_withFile_line_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info49= { "context", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 84, 85, &__info48 }; static oop Scanner__context(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info49); oop _1= 0; _line(84); _1= ((struct t_Scanner *)v_stateful_self)->v_context; _leave(); return _1; _leave(); } static struct __methodinfo __info50= { "atEnd", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 85, 86, &__info49 }; static oop Scanner__atEnd(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info50); oop _1= 0; _line(85); _1= ((struct t_Scanner *)v_stateful_self)->v_context; _line(85); _1=_sendv(s_atEnd, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info51= { "next", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 86, 88, &__info50 }; static oop Scanner__next(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info51); oop _1= 0; _line(86); _1= ((struct t_Scanner *)v_stateful_self)->v_context; _line(86); _1=_sendv(s_next, 1, _1); ((struct t_Scanner *)v_stateful_self)->v_c= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info52= { "scan", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 88, 102, &__info51 }; static oop Scanner__scan(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info52); oop _1= 0; oop _2= 0; oop _3= 0; _line(88); _1= v_nil; ((struct t_Scanner *)v_stateful_self)->v_type= _1; /* whileTrue: */ goto _l2; _l1:; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _line(94); _1=_sendv(s_resetToStart, 1, _1); /* whileTrue: */ goto _l4; _l3:; { _1= v_self; _line(95); _1=_sendv(s_next, 1, _1); } _l4:; { /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(95); _1=_sendv(s_notNil, 1, _1); if (!_1) goto _l5; { _1= ((struct t_Scanner *)v_stateful_self)->v_charTable; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(95); _2=_sendv(s_value, 1, _2); _line(95); _1=_sendv(s_at_, 2, _1, _2); _2= l_53; _1= (_1 == _2) ? v_true : v_false; } _l5:; } if (_1) goto _l3; _1= 0; _1= ((struct t_Scanner *)v_stateful_self)->v_context; _line(96); _1=_sendv(s_line, 1, _1); ((struct t_Scanner *)v_stateful_self)->v_line= _1; /* ifTrue: */ _1= 0; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(97); _2=_sendv(s_notNil, 1, _2); if (!_2) goto _l6; { _1= v_self; _2= ((struct t_Scanner *)v_stateful_self)->v_charTable; _3= ((struct t_Scanner *)v_stateful_self)->v_c; _line(97); _3=_sendv(s_value, 1, _3); _line(97); _2=_sendv(s_at_, 2, _2, _3); _line(97); _1=_sendv(s_perform_, 2, _1, _2); } _l6:; } _l2:; { /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(92); _1=_sendv(s_notNil, 1, _1); if (!_1) goto _l7; { _1= ((struct t_Scanner *)v_stateful_self)->v_type; _line(92); _1=_sendv(s_isNil, 1, _1); } _l7:; } if (_1) goto _l1; _1= 0; _1= l_54; _2= ((struct t_Scanner *)v_stateful_self)->v_type; _1= (_1 == _2) ? v_true : v_false; ((struct t_Scanner *)v_stateful_self)->v_prevHash= _1; _1= ((struct t_Scanner *)v_stateful_self)->v_type; _leave(); return _1; _leave(); } static struct __methodinfo __info55= { "xSign", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 102, 109, &__info52 }; static oop Scanner__xSign(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info55); oop _1= 0; _line(102); /* ifTrue:ifFalse: */ _1= ((struct t_Scanner *)v_stateful_self)->v_context; _line(104); _1=_sendv(s_peek, 1, _1); _line(104); _1=_sendv(s_isDigit, 1, _1); if (!_1) goto _l8; { _1= v_self; _line(105); _1=_sendv(s_xDigit, 1, _1); } goto _l9; _l8:; { _1= v_self; _line(106); _1=_sendv(s_xBinary, 1, _1); } _l9:; _leave(); return _1; _leave(); } static struct __methodinfo __info56= { "xDot", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 109, 122, &__info55 }; static oop Scanner__xDot(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info56); oop _1= 0; oop _2= 0; _line(109); _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(111); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(112); _1=_sendv(s_next, 1, _1); /* ifTrue:ifFalse: */ /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _2= l_57; if (1 & (long)_1 & (long)_2) { _1= (((long)_1 == (long)_2) ? v_true : v_false); } else _1= _sendv(s__3d, 2, _1, _2); if (!_1) goto _l12; { _1= ((struct t_Scanner *)v_stateful_self)->v_context; _line(113); _1=_sendv(s_peek, 1, _1); _2= l_57; if (1 & (long)_1 & (long)_2) { _1= (((long)_1 == (long)_2) ? v_true : v_false); } else _1= _sendv(s__3d, 2, _1, _2); } _l12:; if (!_1) goto _l10; { _1= v_self; _line(115); _sendv(s_next, 1, _1); _1=_sendv(s_next, 1, _1); _1= l_58; ((struct t_Scanner *)v_stateful_self)->v_type= _1; } goto _l11; _l10:; { _1= l_59; ((struct t_Scanner *)v_stateful_self)->v_type= _1; } _l11:; _1= ((struct t_Scanner *)v_stateful_self)->v_type; _leave(); return _1; _leave(); } static struct __methodinfo __info60= { "xColon", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 122, 132, &__info56 }; static oop Scanner__xColon(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info60); oop _1= 0; oop _2= 0; oop _3= 0; _line(122); _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(124); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(125); _1=_sendv(s_next, 1, _1); /* ifFalse: */ _1= 0; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _3= l_61; _2= (_2 == _3) ? v_true : v_false; if (_2) goto _l13; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _line(126); _1=_sendv(s_contents, 1, _1); _line(126); _1=_sendv(s_asSymbol, 1, _1); ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; } _l13:; _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(127); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(128); _1=_sendv(s_next, 1, _1); _1= l_62; ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info63= { "xPunctuator", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 132, 140, &__info60 }; static oop Scanner__xPunctuator(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info63); oop _1= 0; oop _2= 0; _line(132); _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(134); _1=_sendv(s_nextPut_, 2, _1, _2); _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(135); _1=_sendv(s_asString, 1, _1); _line(135); _1=_sendv(s_asSymbol, 1, _1); ((struct t_Scanner *)v_stateful_self)->v_type= _1; _1= v_self; _line(136); _1=_sendv(s_next, 1, _1); _1= ((struct t_Scanner *)v_stateful_self)->v_type; _leave(); return _1; _leave(); } static struct __methodinfo __info64= { "xBinary", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 140, 152, &__info63 }; static oop Scanner__xBinary(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info64); oop v_t= 0; oop _1= 0; oop _2= 0; (void)v_t; _line(140); _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(143); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(144); _1=_sendv(s_next, 1, _1); /* whileTrue: */ goto _l15; _l14:; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(147); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(148); _1=_sendv(s_next, 1, _1); } _l15:; { /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(145); _1=_sendv(s_notNil, 1, _1); if (!_1) goto _l16; { /* or: */ _1= ((struct t_Scanner *)v_stateful_self)->v_charTable; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(145); _2=_sendv(s_value, 1, _2); _line(145); _1=_sendv(s_at_, 2, _1, _2); v_t= _1; _2= l_65; _1= (_1 == _2) ? v_true : v_false; if (_1) goto _l17; { _1= v_t; _2= l_66; _1= (_1 == _2) ? v_true : v_false; } _l17:; } _l16:; } if (_1) goto _l14; _1= 0; _1= l_67; ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info68= { "xLetter", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 152, 167, &__info64 }; static oop Scanner__xLetter(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info68); oop _1= 0; oop _2= 0; oop _3= 0; _line(152); _1= l_69; ((struct t_Scanner *)v_stateful_self)->v_type= _1; /* whileTrue: */ goto _l19; _l18:; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(157); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(158); _1=_sendv(s_next, 1, _1); } _l19:; { /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(155); _1=_sendv(s_notNil, 1, _1); if (!_1) goto _l20; { /* or: */ _1= ((struct t_Scanner *)v_stateful_self)->v_charTable; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(155); _2=_sendv(s_value, 1, _2); _line(155); _1=_sendv(s_at_, 2, _1, _2); _2= l_70; _1= (_1 == _2) ? v_true : v_false; if (_1) goto _l21; { _1= ((struct t_Scanner *)v_stateful_self)->v_charTable; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(155); _2=_sendv(s_value, 1, _2); _line(155); _1=_sendv(s_at_, 2, _1, _2); _2= l_71; _1= (_1 == _2) ? v_true : v_false; } _l21:; } _l20:; } if (_1) goto _l18; _1= 0; /* ifTrue: */ _1= 0; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _3= l_72; _2= (_2 == _3) ? v_true : v_false; if (!_2) goto _l22; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(161); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(162); _1=_sendv(s_next, 1, _1); _1= l_73; ((struct t_Scanner *)v_stateful_self)->v_type= _1; } _l22:; _1= ((struct t_Scanner *)v_stateful_self)->v_type; _leave(); return _1; _leave(); } static struct __methodinfo __info74= { "scanKeywords", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 167, 179, &__info68 }; static oop Scanner__scanKeywords(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info74); oop v_keywords= 0; oop _1= 0; oop _2= 0; oop _3= 0; (void)v_keywords; _line(167); _1= ((struct t_Scanner *)v_stateful_self)->v_token; _line(170); _1=_sendv(s_contents, 1, _1); v_keywords= _1; /* whileTrue: */ goto _l24; _l23:; { _1= v_self; _line(173); _1=_sendv(s_scan, 1, _1); /* ifFalse: */ _1= 0; _2= ((struct t_Scanner *)v_stateful_self)->v_type; _3= l_76; _2= (_2 == _3) ? v_true : v_false; if (_2) goto _l25; { _1= v_self; _2= l_77; _line(174); _1=_sendv(s_error_, 2, _1, _2); } _l25:; _1= v_keywords; _2= ((struct t_Scanner *)v_stateful_self)->v_token; _line(175); _2=_sendv(s_contents, 1, _2); _line(175); _1=_sendv(s__2c, 2, _1, _2); v_keywords= _1; } _l24:; { /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(171); _1=_sendv(s_notNil, 1, _1); if (!_1) goto _l26; { _1= ((struct t_Scanner *)v_stateful_self)->v_charTable; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(171); _2=_sendv(s_value, 1, _2); _line(171); _1=_sendv(s_at_, 2, _1, _2); _2= l_75; _1= (_1 == _2) ? v_true : v_false; } _l26:; } if (_1) goto _l23; _1= 0; _1= ((struct t_Scanner *)v_stateful_self)->v_token; _line(176); _sendv(s_resetToStart, 1, _1); _2= v_keywords; _1=_sendv(s_nextPutAll_, 2, _1, _2); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info78= { "xDigit", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 179, 216, &__info74 }; static oop Scanner__xDigit(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info78); oop v_d= 0; oop _1= 0; oop _2= 0; oop _3= 0; (void)v_d; _line(179); _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(182); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(183); _1=_sendv(s_next, 1, _1); /* whileTrue: */ goto _l28; _l27:; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(187); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(188); _1=_sendv(s_next, 1, _1); } _l28:; { /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(185); _1=_sendv(s_notNil, 1, _1); if (!_1) goto _l29; { /* or: */ _1= ((struct t_Scanner *)v_stateful_self)->v_charTable; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(185); _2=_sendv(s_value, 1, _2); _line(185); _1=_sendv(s_at_, 2, _1, _2); _2= l_79; _1= (_1 == _2) ? v_true : v_false; if (_1) goto _l30; { _1= ((struct t_Scanner *)v_stateful_self)->v_charTable; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(185); _2=_sendv(s_value, 1, _2); _line(185); _1=_sendv(s_at_, 2, _1, _2); _2= l_80; _1= (_1 == _2) ? v_true : v_false; } _l30:; } _l29:; } if (_1) goto _l27; _1= 0; /* ifTrue: */ _1= 0; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _3= l_81; _2= (_2 != _3) ? v_true : v_false; if (!_2) goto _l31; { _1= l_82; ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; } _l31:; /* ifTrue: */ _1= 0; _2= ((struct t_Scanner *)v_stateful_self)->v_context; _line(190); _2=_sendv(s_peek, 1, _2); v_d= _2; _line(190); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l32; { _1= l_82; ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; } _l32:; /* ifFalse: */ _1= 0; /* or: */ _2= v_d; _line(191); _2=_sendv(s_isDigit, 1, _2); if (_2) goto _l34; { _2= v_d; _3= l_83; _2= (_2 == _3) ? v_true : v_false; } _l34:; if (_2) goto _l33; { _1= l_82; ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; } _l33:; _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(192); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(193); _1=_sendv(s_next, 1, _1); /* whileTrue: */ goto _l36; _l35:; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(197); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(198); _1=_sendv(s_next, 1, _1); } _l36:; { /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(195); _1=_sendv(s_notNil, 1, _1); if (!_1) goto _l37; { _1= ((struct t_Scanner *)v_stateful_self)->v_charTable; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(195); _2=_sendv(s_value, 1, _2); _line(195); _1=_sendv(s_at_, 2, _1, _2); _2= l_80; _1= (_1 == _2) ? v_true : v_false; } _l37:; } if (_1) goto _l35; _1= 0; /* ifFalse: */ _1= 0; /* or: */ _2= ((struct t_Scanner *)v_stateful_self)->v_c; _3= l_83; _2= (_2 == _3) ? v_true : v_false; if (_2) goto _l39; { _2= ((struct t_Scanner *)v_stateful_self)->v_c; _3= l_84; _2= (_2 == _3) ? v_true : v_false; } _l39:; if (_2) goto _l38; { _1= l_85; ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; } _l38:; _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(200); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(201); _1=_sendv(s_next, 1, _1); /* whileTrue: */ goto _l41; _l40:; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(205); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(206); _1=_sendv(s_next, 1, _1); } _l41:; { /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(203); _1=_sendv(s_notNil, 1, _1); if (!_1) goto _l42; { _1= ((struct t_Scanner *)v_stateful_self)->v_charTable; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(203); _2=_sendv(s_value, 1, _2); _line(203); _1=_sendv(s_at_, 2, _1, _2); _2= l_86; _1= (_1 == _2) ? v_true : v_false; } _l42:; } if (_1) goto _l40; _1= 0; /* ifFalse: */ _1= 0; /* and: */ _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(207); _2=_sendv(s_notNil, 1, _2); if (!_2) goto _l44; { _2= ((struct t_Scanner *)v_stateful_self)->v_charTable; _3= ((struct t_Scanner *)v_stateful_self)->v_c; _line(207); _3=_sendv(s_value, 1, _3); _line(207); _2=_sendv(s_at_, 2, _2, _3); _3= l_80; _2= (_2 == _3) ? v_true : v_false; } _l44:; if (_2) goto _l43; { _1= v_self; _2= l_87; _line(208); _1=_sendv(s_error_, 2, _1, _2); } _l43:; /* whileTrue: */ goto _l46; _l45:; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(211); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _line(212); _1=_sendv(s_next, 1, _1); } _l46:; { /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(209); _1=_sendv(s_notNil, 1, _1); if (!_1) goto _l47; { _1= ((struct t_Scanner *)v_stateful_self)->v_charTable; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(209); _2=_sendv(s_value, 1, _2); _line(209); _1=_sendv(s_at_, 2, _1, _2); _2= l_80; _1= (_1 == _2) ? v_true : v_false; } _l47:; } if (_1) goto _l45; _1= 0; _1= l_85; ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info88= { "xCharacter", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 216, 224, &__info78 }; static oop Scanner__xCharacter(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info88); oop _1= 0; oop _2= 0; _line(216); _1= v_self; _line(218); _1=_sendv(s_next, 1, _1); /* ifTrue: */ _1= 0; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(219); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l48; { _1= v_self; _2= l_89; _line(219); _1=_sendv(s_error_, 2, _1, _2); } _l48:; _1= v_self; _line(220); _1=_sendv(s_scanCharacter, 1, _1); _1= l_90; ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info91= { "xString", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 224, 235, &__info88 }; static oop Scanner__xString(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info91); oop _1= 0; oop _2= 0; oop _3= 0; _line(224); /* whileTrue: */ goto _l50; _l49:; { _1= v_self; _line(228); _1=_sendv(s_next, 1, _1); /* whileTrue: */ goto _l52; _l51:; { _1= v_self; _line(229); _1=_sendv(s_scanCharacter, 1, _1); } _l52:; { /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(229); _1=_sendv(s_notNil, 1, _1); if (!_1) goto _l53; { _1= ((struct t_Scanner *)v_stateful_self)->v_c; _2= l_92; _1= (_1 != _2) ? v_true : v_false; } _l53:; } if (_1) goto _l51; _1= 0; /* ifTrue: */ _1= 0; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(230); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l54; { _1= v_self; _2= l_93; _line(230); _1=_sendv(s_error_, 2, _1, _2); } _l54:; /* ifTrue: */ _1= 0; _2= v_self; _line(231); _2=_sendv(s_next, 1, _2); _3= l_92; _2= (_2 == _3) ? v_true : v_false; if (!_2) goto _l55; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(231); _1=_sendv(s_nextPut_, 2, _1, _2); } _l55:; } _l50:; { _1= ((struct t_Scanner *)v_stateful_self)->v_c; _2= l_92; _1= (_1 == _2) ? v_true : v_false; } if (_1) goto _l49; _1= 0; _1= l_94; ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info95= { "scanCharacter", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 235, 243, &__info91 }; static oop Scanner__scanCharacter(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info95); oop v_d= 0; oop _1= 0; oop _2= 0; (void)v_d; _line(235); _1= ((struct t_Scanner *)v_stateful_self)->v_c; v_d= _1; _1= v_self; _line(239); _1=_sendv(s_next, 1, _1); /* ifTrue:ifFalse: */ _1= v_d; _2= l_96; _1= (_1 == _2) ? v_true : v_false; if (!_1) goto _l56; { _1= v_self; _line(240); _1=_sendv(s_scanEscape, 1, _1); } goto _l57; _l56:; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= v_d; _line(240); _1=_sendv(s_nextPut_, 2, _1, _2); } _l57:; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info100= { "[] scanEscape", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 243, 253, &__info95 }; static oop b_100(oop v__closure, oop v__self) { _enter(&__info100); oop _1= 0; oop _2= 0; oop _3= 0; _line(248); /* ifTrue:ifFalse: */ _1= ((struct t_Scanner *)((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1])->v_c; /* c */ _2= l_101; _3= l_102; _line(248); _1=_sendv(s_between_and_, 3, _1, _2, _3); if (!_1) goto _l58; { _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[2]; /* self */ _line(248); _1=_sendv(s_scanOctal, 1, _1); } goto _l59; _l58:; { _1= ((struct t_Scanner *)((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1])->v_c; /* c */ } _l59:; _leave(); return _1; _leave(); } static struct __methodinfo __info97= { "scanEscape", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 243, 253, &__info100 }; static oop Scanner__scanEscape(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info97); oop _state1= _sendv(s_new_5f_, 2, v__vector, 11); oop v_char= 0; oop _1= 0; oop _2= 0; oop _3= 0; (void)v_char; ((oop *)_state1)[1]= v_stateful_self; ((oop *)_state1)[2]= v_self; _line(243); /* ifTrue: */ _1= 0; _2= ((struct t_Scanner *)((oop *)_state1)[1])->v_c; /* c */ _line(246); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l60; { _1= ((oop *)_state1)[2]; /* self */ _2= l_98; _line(246); _1=_sendv(s_error_, 2, _1, _2); } _l60:; /* ifTrue: */ _1= 0; _2= ((struct t_Scanner *)((oop *)_state1)[1])->v_c; /* c */ _3= l_99; _2= (_2 == _3) ? v_true : v_false; if (!_2) goto _l61; { _1= ((oop *)_state1)[2]; /* self */ _line(247); _1=_sendv(s_next, 1, _1); _leave(); return _1; } _l61:; _1= ((struct t_Scanner *)((oop *)_state1)[1])->v_charEscapes; /* charEscapes */ _2= ((struct t_Scanner *)((oop *)_state1)[1])->v_c; /* c */ /* Scope() */ /* Scope('context'->SlotVariableNode 'token'->SlotVariableNode 'prevHash'->SlotVariableNode 'type'->SlotVariableNode 'stateful_self'->ArgumentVariableNode 'charEscapes'->SlotVariableNode 'char'->TemporaryVariableNode 'charTable'->SlotVariableNode 'self'->ArgumentVariableNode 'line'->SlotVariableNode 'c'->SlotVariableNode) */ /* nil */ /* 2 */ /* 1 */ _3= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_100, 0, 0, ((oop *)_state1), 0); _line(248); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); v_char= _1; _1= ((oop *)_state1)[2]; /* self */ _line(249); _1=_sendv(s_next, 1, _1); _1= ((struct t_Scanner *)((oop *)_state1)[1])->v_token; /* token */ _2= v_char; _line(250); _1=_sendv(s_nextPut_, 2, _1, _2); _1= ((oop *)_state1)[2]; /* self */ _leave(); return _1; _leave(); } static struct __methodinfo __info105= { "[] scanOctal", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 253, 265, &__info97 }; static oop b_105(oop v__closure, oop v__self) { _enter(&__info105); oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; _line(258); _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _line(258); _1=_sendv(s_next, 1, _1); /* ifTrue: */ _1= 0; _2= ((struct t_Scanner *)((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[2])->v_c; /* c */ _line(259); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l62; { _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _2= l_106; _line(259); _1=_sendv(s_error_, 2, _1, _2); } _l62:; /* ifFalse: */ _1= 0; _2= ((struct t_Scanner *)((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[2])->v_c; /* c */ _3= l_107; _4= l_108; _line(260); _2=_sendv(s_between_and_, 3, _2, _3, _4); if (_2) goto _l63; { _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _2= l_109; _line(260); _1=_sendv(s_error_, 2, _1, _2); } _l63:; _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]; /* char */ _2= l_110; { int _l= (long)_1 >> 1; int _r= (long)_2 >> 1; int _s= (_l * _r); if ((1 & (long)_1) && ((_r == 0) || (_s / _r == _l)) && ((_s ^ (_s << 1)) >= 0)) _1= (oop)(long)(_s << 1 | 1); else _1= _sendv(s__2a, 2, _1, _2); } _2= ((struct t_Scanner *)((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[2])->v_c; /* c */ _line(261); _2=_sendv(s_digitValue, 1, _2); { int _l= (long)_1 >> 1; int _r= (long)_2 >> 1; int _s= _l + _r; if ((1 & (long)_1 & (long)_2) && ((_s ^ (_s << 1)) >= 0)) _1= (oop)(long)(_s << 1 | 1); else _1= _sendv(s__2b, 2, _1, _2); } ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]= _1; /* char */ _leave(); return _1; _leave(); } static struct __methodinfo __info103= { "scanOctal", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 253, 265, &__info105 }; static oop Scanner__scanOctal(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info103); oop _state1= _sendv(s_new_5f_, 2, v__vector, 12); oop _1= 0; oop _2= 0; ((oop *)_state1)[2]= v_stateful_self; ((oop *)_state1)[1]= v_self; _line(253); _1= ((struct t_Scanner *)((oop *)_state1)[2])->v_c; /* c */ _line(256); _1=_sendv(s_digitValue, 1, _1); ((oop *)_state1)[3]= _1; /* char */ _1= l_104; /* Scope() */ /* Scope('context'->SlotVariableNode 'token'->SlotVariableNode 'prevHash'->SlotVariableNode 'type'->SlotVariableNode 'stateful_self'->ArgumentVariableNode 'charEscapes'->SlotVariableNode 'char'->TemporaryVariableNode 'charTable'->SlotVariableNode 'self'->ArgumentVariableNode 'line'->SlotVariableNode 'c'->SlotVariableNode) */ /* nil */ /* 2 */ /* 1 */ _2= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_105, 0, 0, ((oop *)_state1), 0); _line(257); _1=_sendv(s_timesRepeat_, 2, _1, _2); _1= v_Character; _2= ((oop *)_state1)[3]; /* char */ _line(262); _1=_sendv(s_value_, 2, _1, _2); _leave(); return _1; _leave(); } static struct __methodinfo __info111= { "xIllegal", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 265, 270, &__info103 }; static oop Scanner__xIllegal(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info111); oop _1= 0; oop _2= 0; oop _3= 0; _line(265); _1= v_self; _2= l_112; _3= ((struct t_Scanner *)v_stateful_self)->v_c; _line(267); _3=_sendv(s_printString, 1, _3); _line(267); _2=_sendv(s__2c, 2, _2, _3); _line(267); _1=_sendv(s_error_, 2, _1, _2); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info113= { "xComment", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 270, 278, &__info111 }; static oop Scanner__xComment(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info113); oop _1= 0; oop _2= 0; _line(270); _1= v_self; _line(272); _1=_sendv(s_next, 1, _1); /* whileTrue: */ goto _l65; _l64:; { _1= v_self; _line(273); _1=_sendv(s_next, 1, _1); } _l65:; { /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(273); _1=_sendv(s_notNil, 1, _1); if (!_1) goto _l66; { _1= ((struct t_Scanner *)v_stateful_self)->v_c; _2= l_114; _1= (_1 != _2) ? v_true : v_false; } _l66:; } if (_1) goto _l64; _1= 0; _1= v_self; _line(274); _1=_sendv(s_next, 1, _1); _1= v_nil; ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info115= { "xBrace", "Scanner", "/Users/piumarta/src/idst/object/idc/Scanner.st", 0, 278, 300, &__info113 }; static oop Scanner__xBrace(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info115); oop v_nest= 0; oop _1= 0; oop _2= 0; oop _3= 0; (void)v_nest; _line(278); /* ifTrue: */ _1= 0; _2= ((struct t_Scanner *)v_stateful_self)->v_prevHash; if (!_2) goto _l67; { _1= v_self; _line(283); _1=_sendv(s_next, 1, _1); _1= l_116; ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; } _l67:; _1= l_117; v_nest= _1; /* whileTrue: */ goto _l69; _l68:; { _1= v_self; _line(289); _1=_sendv(s_next, 1, _1); /* whileTrue: */ goto _l71; _l70:; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(292); _1=_sendv(s_nextPut_, 2, _1, _2); /* ifTrue: */ _1= 0; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _3= l_120; _2= (_2 == _3) ? v_true : v_false; if (!_2) goto _l72; { _1= v_nest; _2= l_117; { int _l= (long)_1 >> 1; int _r= (long)_2 >> 1; int _s= _l + _r; if ((1 & (long)_1) && ((_s ^ (_s << 1)) >= 0)) _1= (oop)(long)(_s << 1 | 1); else _1= _sendv(s__2b, 2, _1, _2); } v_nest= _1; } _l72:; _1= v_self; _line(294); _1=_sendv(s_next, 1, _1); } _l71:; { /* and: */ _1= ((struct t_Scanner *)v_stateful_self)->v_c; _line(290); _1=_sendv(s_notNil, 1, _1); if (!_1) goto _l73; { _1= ((struct t_Scanner *)v_stateful_self)->v_c; _2= l_119; _1= (_1 != _2) ? v_true : v_false; } _l73:; } if (_1) goto _l70; _1= 0; /* ifTrue: */ _1= 0; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(295); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l74; { _1= v_self; _2= l_121; _line(295); _1=_sendv(s_error_, 2, _1, _2); } _l74:; /* ifTrue: */ _1= 0; _2= v_nest; _3= l_117; { int _l= (long)_2 >> 1; int _r= (long)_3 >> 1; int _s= (_l - _r); if ((1 & (long)_2) && ((_s ^ (_s << 1)) >= 0)) _2= (oop)(long)(_s << 1 | 1); else _2= _sendv(s__2d, 2, _2, _3); } v_nest= _2; _3= l_118; if (1 & (long)_2) { _2= (((long)_2 > (long)_3) ? v_true : v_false); } else _2= _sendv(s__3e, 2, _2, _3); if (!_2) goto _l75; { _1= ((struct t_Scanner *)v_stateful_self)->v_token; _2= ((struct t_Scanner *)v_stateful_self)->v_c; _line(296); _1=_sendv(s_nextPut_, 2, _1, _2); } _l75:; } _l69:; { _1= v_nest; _2= l_118; if (1 & (long)_1) { _1= (((long)_1 > (long)_2) ? v_true : v_false); } else _1= _sendv(s__3e, 2, _1, _2); } if (_1) goto _l68; _1= 0; _1= v_self; _line(297); _1=_sendv(s_next, 1, _1); _1= l_122; ((struct t_Scanner *)v_stateful_self)->v_type= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info= { "__id__init__", "", "Scanner.st", 0, 0, 0, &__info115 }; void __id__init__Scanner(struct __libid *__libid) { if (_libid) return; if (!(_libid= __libid)) { fprintf(stderr, "init _libid %p\n", __libid); abort(); } # define GC_add_roots _libid->gc_addRoots GC_INIT(); { struct _Selector *s= 0; for (s= _Selectors; s->name; ++s) *s->addr= _libid->intern(s->name); } _enter(&__info); _libid->infos(&__info, &__info1); _sendv(s__5fimport_, 3, _libid->_object, "Object", "__id__init__Object"); v__object= _libid->import("_object"); v__vector= _libid->import("_vector"); v_Object= _libid->import("Object"); v_UndefinedObject= _libid->import("UndefinedObject"); v_StaticBlockClosure= _libid->import("StaticBlockClosure"); v_BlockClosure= _libid->import("BlockClosure"); v_Magnitude= _libid->import("Magnitude"); v_Character= _libid->import("Character"); v_Number= _libid->import("Number"); v_Integer= _libid->import("Integer"); v_SmallInteger= _libid->import("SmallInteger"); v_LargePositiveInteger= _libid->import("LargePositiveInteger"); v_Collection= _libid->import("Collection"); v_SequenceableCollection= _libid->import("SequenceableCollection"); v_ArrayedCollection= _libid->import("ArrayedCollection"); v_Array= _libid->import("Array"); v_WordArray= _libid->import("WordArray"); v_ByteArray= _libid->import("ByteArray"); v_String= _libid->import("String"); v_ImmutableString= _libid->import("ImmutableString"); v_Symbol= _libid->import("Symbol"); v_nil= _libid->import("nil"); v_true= _libid->import("true"); v_false= _libid->import("false"); _sendv(s__5fimport_, 3, _libid->_object, "IdentityDictionary", "__id__init__IdentityDictionary"); v_Set= _libid->import("Set"); v_LookupKey= _libid->import("LookupKey"); v_Dictionary= _libid->import("Dictionary"); v_IdentityDictionary= _libid->import("IdentityDictionary"); _sendv(s__5fimport_, 3, _libid->_object, "WriteStream", "__id__init__WriteStream"); v_Stream= _libid->import("Stream"); v_PositionableStream= _libid->import("PositionableStream"); _sendv(s__5fimport_, 3, _libid->_object, "ScannerPosition", "__id__init__ScannerPosition"); v_ScannerPosition= _libid->import("ScannerPosition"); _sendv(s__5fimport_, 3, _libid->_object, "Symbol", "__id__init__Symbol"); v_Scanner= _libid->proto2(v_Object, Scanner___5fsizeof(0, 0)); _libid->method(v_Scanner, s__5fsizeof, (_imp_t)Scanner___5fsizeof); _libid->method(v_Scanner, s__5fdebugName, (_imp_t)Scanner___5fdebugName); _libid->method(v_Scanner, s__5fslots, (_imp_t)Scanner___5fslots); _libid->export("Scanner", v_Scanner); l_2= _sendv(s_value_5f_, 2, v_SmallInteger, 0); _libid->method(v_Scanner, s_on_, (_imp_t)Scanner__on_); l_4= _sendv(s_value_5f_, 2, v_SmallInteger, 256); l_5= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 8, "xIllegal"); l_6= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 10, "0123456789"); l_7= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 6, "xDigit"); l_8= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 26, "abcdefghijklmnopqrstuvwxyz"); l_9= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 7, "xLetter"); l_10= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 26, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); l_11= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 1, "_"); l_12= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 15, "~!@%&*=\134?/><,|^"); l_13= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 7, "xBinary"); l_14= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 2, "+-"); l_15= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 5, "xSign"); l_16= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 7, "#[];()}"); l_17= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 11, "xPunctuator"); l_18= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 6, " \011\012\015\013\014"); l_19= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 6, "xSpace"); l_20= _sendv(s_value_5f_, 2, v_Character, 46); l_21= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 4, "xDot"); l_22= _sendv(s_value_5f_, 2, v_Character, 58); l_23= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 6, "xColon"); l_24= _sendv(s_value_5f_, 2, v_Character, 123); l_25= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 6, "xBrace"); l_26= _sendv(s_value_5f_, 2, v_Character, 36); l_27= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 10, "xCharacter"); l_28= _sendv(s_value_5f_, 2, v_Character, 39); l_29= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 7, "xString"); l_30= _sendv(s_value_5f_, 2, v_Character, 34); l_31= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 8, "xComment"); l_32= _sendv(s_value_5f_, 2, v_Character, 97); l_33= _sendv(s_value_5f_, 2, v_Character, 7); l_34= _sendv(s_value_5f_, 2, v_Character, 98); l_35= _sendv(s_value_5f_, 2, v_Character, 8); l_36= _sendv(s_value_5f_, 2, v_Character, 101); l_37= _sendv(s_value_5f_, 2, v_Character, 27); l_38= _sendv(s_value_5f_, 2, v_Character, 102); l_39= _sendv(s_value_5f_, 2, v_Character, 12); l_40= _sendv(s_value_5f_, 2, v_Character, 110); l_41= _sendv(s_value_5f_, 2, v_Character, 10); l_42= _sendv(s_value_5f_, 2, v_Character, 114); l_43= _sendv(s_value_5f_, 2, v_Character, 13); l_44= _sendv(s_value_5f_, 2, v_Character, 116); l_45= _sendv(s_value_5f_, 2, v_Character, 9); l_46= _sendv(s_value_5f_, 2, v_Character, 118); l_47= _sendv(s_value_5f_, 2, v_Character, 11); _libid->method(v_Scanner, s_initialize, (_imp_t)Scanner__initialize); _libid->method(v_Scanner, s_position, (_imp_t)Scanner__position); _libid->method(v_Scanner, s_context, (_imp_t)Scanner__context); _libid->method(v_Scanner, s_atEnd, (_imp_t)Scanner__atEnd); _libid->method(v_Scanner, s_next, (_imp_t)Scanner__next); l_53= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 6, "xSpace"); l_54= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 1, "#"); _libid->method(v_Scanner, s_scan, (_imp_t)Scanner__scan); _libid->method(v_Scanner, s_xSign, (_imp_t)Scanner__xSign); l_57= _sendv(s_value_5f_, 2, v_Character, 46); l_58= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 8, "ellipsis"); l_59= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 1, "."); _libid->method(v_Scanner, s_xDot, (_imp_t)Scanner__xDot); l_61= _sendv(s_value_5f_, 2, v_Character, 61); l_62= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 6, "assign"); _libid->method(v_Scanner, s_xColon, (_imp_t)Scanner__xColon); _libid->method(v_Scanner, s_xPunctuator, (_imp_t)Scanner__xPunctuator); l_65= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 7, "xBinary"); l_66= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 5, "xSign"); l_67= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 6, "binary"); _libid->method(v_Scanner, s_xBinary, (_imp_t)Scanner__xBinary); l_69= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 10, "identifier"); l_70= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 7, "xLetter"); l_71= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 6, "xDigit"); l_72= _sendv(s_value_5f_, 2, v_Character, 58); l_73= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 7, "keyword"); _libid->method(v_Scanner, s_xLetter, (_imp_t)Scanner__xLetter); l_75= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 7, "xLetter"); l_76= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 7, "keyword"); l_77= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 37, "composite keyword does not end in ':'"); _libid->method(v_Scanner, s_scanKeywords, (_imp_t)Scanner__scanKeywords); l_79= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 7, "xLetter"); l_80= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 6, "xDigit"); l_81= _sendv(s_value_5f_, 2, v_Character, 46); l_82= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 7, "integer"); l_83= _sendv(s_value_5f_, 2, v_Character, 101); l_84= _sendv(s_value_5f_, 2, v_Character, 69); l_85= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 5, "float"); l_86= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 5, "xSign"); l_87= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 37, "missing exponent in floating constant"); _libid->method(v_Scanner, s_xDigit, (_imp_t)Scanner__xDigit); l_89= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 24, "EOF in character literal"); l_90= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 9, "character"); _libid->method(v_Scanner, s_xCharacter, (_imp_t)Scanner__xCharacter); l_92= _sendv(s_value_5f_, 2, v_Character, 39); l_93= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 21, "EOF in string literal"); l_94= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 6, "string"); _libid->method(v_Scanner, s_xString, (_imp_t)Scanner__xString); l_96= _sendv(s_value_5f_, 2, v_Character, 92); _libid->method(v_Scanner, s_scanCharacter, (_imp_t)Scanner__scanCharacter); l_98= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 36, "EOF while scanning escaped character"); l_99= _sendv(s_value_5f_, 2, v_Character, 10); l_101= _sendv(s_value_5f_, 2, v_Character, 48); l_102= _sendv(s_value_5f_, 2, v_Character, 55); _libid->method(v_Scanner, s_scanEscape, (_imp_t)Scanner__scanEscape); l_104= _sendv(s_value_5f_, 2, v_SmallInteger, 2); l_106= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 41, "EOF while scanning octal character escape"); l_107= _sendv(s_value_5f_, 2, v_Character, 48); l_108= _sendv(s_value_5f_, 2, v_Character, 55); l_109= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 39, "illegal digit in octal character escape"); l_110= _sendv(s_value_5f_, 2, v_SmallInteger, 8); _libid->method(v_Scanner, s_scanOctal, (_imp_t)Scanner__scanOctal); l_112= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 19, "illegal character: "); _libid->method(v_Scanner, s_xIllegal, (_imp_t)Scanner__xIllegal); l_114= _sendv(s_value_5f_, 2, v_Character, 34); _libid->method(v_Scanner, s_xComment, (_imp_t)Scanner__xComment); l_116= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 1, "{"); l_117= _sendv(s_value_5f_, 2, v_SmallInteger, 1); l_118= _sendv(s_value_5f_, 2, v_SmallInteger, 0); l_119= _sendv(s_value_5f_, 2, v_Character, 125); l_120= _sendv(s_value_5f_, 2, v_Character, 123); l_121= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 20, "EOF in external code"); l_122= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 6, "extern"); _libid->method(v_Scanner, s_xBrace, (_imp_t)Scanner__xBrace); _leave(); }