73638 {
73641
73642
73644
73647 return;
73648 }
73649
73652#if 0
73656#endif
73658
73659
73660
73661
73662
73663
73664
73665#if 0
73668#endif
73669
73670
73671
73672
73673
73674
73675
73676
73677
73678
73679
73680
73681
73682
73683
73684
73685
73686
73687
73688
73689
73690
73691
73692 restart_lineupdate:
73694
73695 restart:
73697
73699
73700 switch (x) {
73704 goto restart;
73707 got_lineterm = 1;
73708 goto restart_lineupdate;
73711
73712
73713
73714
73715
73716
73717 for (;;) {
73720 break;
73721 }
73723 }
73724 goto restart;
73725 }
else if (
DUK__L1() ==
'*') {
73726
73727
73728
73729
73730
73731
73734 for (;;) {
73736 if (x < 0) {
73738 }
73740 if (last_asterisk && x == '/') {
73741 break;
73742 }
73744 got_lineterm = 1;
73745 }
73746 last_asterisk = (x == '*');
73747 }
73748 goto restart_lineupdate;
73749 } else if (regexp_mode) {
73750#if defined(DUK_USE_REGEXP_SUPPORT)
73751
73752
73753
73754
73755
73756
73757
73758
73759
73760
73761
73762
73763
73764
73765
73766
73767
73768
73769
73770
73771
73772
73773
73774
73775
73776
73777
73778
73779
73780
73781
73782
73783
73784
73785
73786
73787
73788
73789
73790
73791
73792
73793
73794
73795
73796
73797
73798
73799
73800
73801
73802
73803
73804
73805
73806
73807
73809
73811 for (;;) {
73816 }
73818 if (state == 0) {
73819 if (x == '/') {
73821 break;
73822 } else if (x == '\\') {
73823 state = 1;
73824 } else if (x == '[') {
73825 state = 2;
73826 }
73827 } else if (state == 1) {
73828 state = 0;
73829 } else if (state == 2) {
73830 if (x == ']') {
73831 state = 0;
73832 } else if (x == '\\') {
73833 state = 3;
73834 }
73835 } else {
73836 state = 2;
73837 }
73839 }
73842
73843
73844
73846 for (;;) {
73849 break;
73850 }
73854 }
73857
73859
73860
73861
73863#else
73865#endif
73866 }
else if (
DUK__L1() ==
'=') {
73867
73869 } else {
73870
73872 }
73873 break;
73876 break;
73879 break;
73882 break;
73885 break;
73888 break;
73891 break;
73894
73895
73896
73897
73898
73899 goto slow_path;
73900 }
73902 break;
73905 break;
73908 break;
73912 }
else if (
DUK__L1() ==
'=') {
73914 }
else if (
DUK__L1() ==
'<') {
73916 } else {
73918 }
73919 break;
73927 }
else if (
DUK__L1() ==
'=') {
73929 }
else if (
DUK__L1() ==
'>') {
73931 } else {
73933 }
73934 break;
73938 }
else if (
DUK__L1() ==
'=') {
73940 } else {
73942 }
73943 break;
73947 }
else if (
DUK__L1() ==
'=') {
73949 } else {
73951 }
73952 break;
73956 }
else if (
DUK__L1() ==
'=') {
73958 } else {
73960 }
73961 break;
73965 }
else if (
DUK__L1() ==
'=') {
73967 } else {
73969 }
73970 break;
73974 } else {
73976 }
73977 break;
73981 } else {
73983 }
73984 break;
73988 }
else if (
DUK__L1() ==
'=') {
73990 } else {
73992 }
73993 break;
73997 }
else if (
DUK__L1() ==
'=') {
73999 } else {
74001 }
74002 break;
74006 } else {
74008 }
74009 break;
74012 break;
74015 break;
74018 break;
74023
74025 for (;;) {
74030 }
74031 if (x == quote) {
74033 break;
74034 }
74035 if (x == '\\') {
74036
74037
74038
74039
74041
74042
74043
74044
74045
74046
74047 adv = 2 - 1;
74048
74049 if (x < 0) {
74051 }
74053
74054 if (x == 0x000d &&
DUK__L2() == 0x000a) {
74055
74056 adv = 3 - 1;
74057 }
74058 } else if (x == '\'') {
74060 } else if (x == '"') {
74062 } else if (x == '\\') {
74064 } else if (x == 'b') {
74066 } else if (x == 'f') {
74068 } else if (x == 'n') {
74070 } else if (x == 'r') {
74072 } else if (x == 't') {
74074 } else if (x == 'v') {
74076 } else if (x == 'x') {
74077 adv = 4 - 1;
74079 } else if (x == 'u') {
74080 adv = 6 - 1;
74084
74085
74086
74087
74088
74089
74090
74091
74092
74093
74094
74095
74096
74097
74099
74100 ch = 0;
74101
74102#if defined(DUK_USE_OCTAL_SUPPORT)
74103 } else if (strict_mode) {
74104
74107
74108 adv = 4 - 1;
74114
74115
74116
74117
74118
74119
74120
74121 adv = 3 - 1;
74125
74126
74128#else
74129
74130#endif
74131 } else {
74133 }
74134
74136 } else {
74137
74139 }
74141
74142
74143
74144
74145
74147 } else {
74148
74150 }
74151 }
74152
74155
74157
74159 break;
74160 }
74161 default:
74162 goto slow_path;
74163 }
74164
74165 goto skip_slow_path;
74166
74167 slow_path:
74169 if (x == 0x000d &&
DUK__L1() == 0x000a) {
74170
74171
74172
74173
74174
74176 } else {
74178 }
74179 got_lineterm = 1;
74180 goto restart_lineupdate;
74182
74183
74184
74185
74186
74187
74188
74189
74190
74191
74192
74193
74194
74195
74196
74197
74198
74199
74200
74201
74202
74203
74204
74205
74206
74207
74208
74209
74210
74211
74212
74216
74218 for (;;) {
74219
74224 }
74225
74227
74228
74229
74230
74233 }
74236
74237
74238
74239
74241 } else {
74242
74243
74244
74245
74246
74248 break;
74249 }
74252 }
74253 first = 0;
74254 }
74255
74258 str = out_token->
str1;
74261
74263
74264
74265
74266
74267
74268
74269
74270
74271
74272
74273
74274
74275
74276
74277
74278
74279
74280
74281
74282
74283
74285
74292 break;
74293 }
74294 }
74295 }
74297
74298
74299
74300
74301
74302
74303
74304
74305
74306
74307
74308
74309
74310
74311
74312
74313
74314
74315
74316
74317
74318
74319
74320
74325
74326
74327
74328
74331
74334 if (x == '0' && (y == 'x' || y == 'X')) {
74338 int_only = 1;
74339 allow_hex = 1;
74340#if defined(DUK_USE_OCTAL_SUPPORT)
74341 }
else if (!strict_mode && x ==
'0' &&
DUK__ISDIGIT(y)) {
74342
74343
74344
74345
74346
74347
74348
74351 int_only = 1;
74352#endif
74353 }
74354
74355 state = 0;
74356 for (;;) {
74359
74360
74361
74362 if (state == 2) {
74363 state = 3;
74364 }
74366
74367 ;
74368 } else if (x == '.') {
74369 if (state >= 1 || int_only) {
74370 break;
74371 } else {
74372 state = 1;
74373 }
74374 } else if (x == 'e' || x == 'E') {
74375 if (state >= 2 || int_only) {
74376 break;
74377 } else {
74378 state = 2;
74379 }
74380 } else if (x == '-' || x == '+') {
74381 if (state != 2) {
74382 break;
74383 } else {
74384 state = 3;
74385 }
74386 } else {
74387 break;
74388 }
74391 }
74392
74393
74395
74400#if defined(DUK_USE_OCTAL_SUPPORT)
74402#endif
74404
74410 }
74412
74414
74415
74416
74417
74418
74421 }
74422
74423 out_token->
num = val;
74427 goto restart;
74428 } else if (x < 0) {
74430 } else {
74432 }
74433 skip_slow_path:
74434
74435
74436
74437
74438
unsigned int duk_small_uint_t
duk_int_t duk_codepoint_t
duk_small_int_t duk_bool_t
#define DUK__ISHEXDIGIT(x)
DUK_INTERNAL_DECL duk_small_int_t duk_unicode_is_identifier_part(duk_codepoint_t cp)
#define DUK_TOK_ARSHIFT_EQ
#define DUK_ERROR_RANGE(thr, msg)
#define DUK_TOK_INCREMENT
#define DUK_ASC_DOUBLEQUOTE
#define DUK_S2N_FLAG_ALLOW_FRAC
#define DUK_TOK_EQUALSIGN
#define DUK_ASC_EXCLAMATION
#define DUK_TOK_IDENTIFIER
#define DUK__ADVTOK(advbytes, tok)
DUK_LOCAL duk_codepoint_t duk__hexval(duk_lexer_ctx *lex_ctx, duk_codepoint_t x)
#define DUK_HEAP_NUM_STRINGS
DUK_EXTERNAL void duk_to_undefined(duk_context *ctx, duk_idx_t index)
#define DUK__INITBUFFER(lex_ctx)
#define DUK_S2N_FLAG_ALLOW_EMPTY_FRAC
#define DUK_STRIDX_START_RESERVED
#define DUK__ISOCTDIGIT(x)
#define DUK_ERROR_SYNTAX(thr, msg)
DUK_INTERNAL_DECL duk_small_int_t duk_unicode_is_whitespace(duk_codepoint_t cp)
#define DUK_TOK_ALSHIFT_EQ
#define DUK__ADVANCECHARS(lex_ctx, count)
DUK_INTERNAL_DECL duk_small_int_t duk_unicode_is_identifier_start(duk_codepoint_t cp)
#define DUK_S2N_FLAG_ALLOW_NAKED_FRAC
DUK_EXTERNAL duk_double_t duk_to_number(duk_context *ctx, duk_idx_t index)
#define DUK_ASC_SEMICOLON
#define DUK_S2N_FLAG_ALLOW_AUTO_OCT_INT
#define DUK_TOK_SEMICOLON
#define DUK_S2N_FLAG_ALLOW_AUTO_HEX_INT
#define DUK_TOK_DECREMENT
#define DUK_ASC_SINGLEQUOTE
DUK_EXTERNAL void duk_dup(duk_context *ctx, duk_idx_t from_index)
DUK_LOCAL void duk__internbuffer(duk_lexer_ctx *lex_ctx, duk_idx_t valstack_idx)
#define DUK_STRIDX_START_STRICT_RESERVED
#define DUK_TOK_RSHIFT_EQ
#define DUK__ISDIGIT03(x)
#define DUK_HTHREAD_GET_STRING(thr, idx)
#define DUK__ISDIGIT47(x)
DUK_LOCAL duk_codepoint_t duk__decode_uniesc_from_window(duk_lexer_ctx *lex_ctx, duk_small_int_t lookup_offset)
#define DUK_STRIDX_TO_TOK(x)
DUK_INTERNAL_DECL duk_small_int_t duk_unicode_is_line_terminator(duk_codepoint_t cp)
#define DUK__LOOKUP(lex_ctx, index)
DUK_INTERNAL_DECL void duk_numconv_parse(duk_context *ctx, duk_small_int_t radix, duk_small_uint_t flags)
#define DUK_STRIDX_END_RESERVED
DUK_LOCAL duk_codepoint_t duk__decode_hexesc_from_window(duk_lexer_ctx *lex_ctx, duk_small_int_t lookup_offset)
DUK_INTERNAL_DECL duk_hstring * duk_get_hstring(duk_context *ctx, duk_idx_t index)
#define DUK_S2N_FLAG_ALLOW_EXP
#define DUK__APPENDBUFFER(lex_ctx, x)
duk_lexer_codepoint * window