78 #define WS_IS_DECIMAL_DIGIT(ch) ('0' <= (ch) && (ch) <= '9')    81 #define WS_DECIMAL_TO_INT(ch) ((ch) - '0')    85 #define WS_IS_NON_ZERO_DIGIT(ch) ('1' <= (ch) && (ch) <= '9')    88 #define WS_IS_OCTAL_DIGIT(ch) ('0' <= (ch) && (ch) <= '7')    91 #define WS_OCTAL_TO_INT(ch) ((ch) - '0')    94 #define WS_IS_HEX_DIGIT(ch) (('0' <= (ch) && (ch) <= '9')   \    95                              || ('a' <= (ch) && (ch) <= 'f')    \    96                              || ('A' <= (ch) && (ch) <= 'F'))    99 #define WS_HEX_TO_INT(ch)       \   100     ('0' <= (ch) && (ch) <= '9'     \   102      : ('a' <= (ch) && (ch) <= 'f'  \   103        ? ((ch) - 'a' + 10)      \   108 #define WS_IS_IDENTIFIER_LETTER(ch) \   109     (('a' <= (ch) && (ch) <= 'z')       \   110      || ('A' <= (ch) && (ch) <= 'Z')    \   151 #define N(n) n, sizeof(n) - 1   326                     p[1] = (
unsigned char) ch2;
   352                         if (ch == 
'\n' || ch == 
'\r') {
   383                         if (ch == 
'\n' || ch == 
'\r') {
   505 eof_in_string_literal:
   510                     if (ch == string_end_ch)
   517                             goto eof_in_string_literal;
   559                                 for (i = 0; i < len; i++) {
   561                                         goto eof_in_string_literal;
   564                                                      "malformed `\\%c' escape in "   565                                                      "string literal", (
char) 
type);
   584                                 for (i = 1; i < limit; i++) {
   586                                         goto eof_in_string_literal;
   597                                              "unknown escape sequence `\\%c' in "   598                                              "string literal", (
char) ch);
   661                     p[len++] = (
unsigned char) ch;
   722                             goto number_error_memory;
   724                     } 
else if (ch == 
'.' || ch == 
'e' || ch == 
'E') {
   728                                 goto number_error_memory;
   764                     if (ch2 == 
'x' || ch2 == 
'X') {
   769                             goto number_error_memory;
   777                                     goto number_error_memory;
   788                                          "numeric constant with no digits");
   807                             goto number_error_memory;
   815                                     goto number_error_memory;
   830                     if (ch2 == 
'.' || ch2 == 
'e' || ch2 == 
'E') {
   836                                 goto number_error_memory;
   865                          "garbage found from the input stream: character=0x%x",
   881     while (left < right) {
   885         center = left + (right - left) / 2;
   900             *token_return = 
keywords[center].token;
   949             p[0] = (
unsigned char) ch;
   966     unsigned char buf[4];
   971     if (ch != 
'e' && ch != 
'E') {
   996         ws_src_error(compiler, 0, 
"no decimal digits in exponent part");
  1014         p[0] = (
unsigned char) ch;
  1038     if (*result == HUGE_VAL || *result == -HUGE_VAL
  1040         ws_src_error(compiler, 0, 
"floating point literal too large");
 
static WsBool lookup_keyword(char *id, size_t len, int *token_return)
 
gw_assert(wtls_machine->packet_to_send !=NULL)
 
#define WS_IS_HEX_DIGIT(ch)
 
WsBool ws_stream_getc(WsStream *stream, WsUInt32 *ch_return)
 
size_t ws_buffer_len(WsBuffer *buffer)
 
void * ws_realloc(void *ptr, size_t size)
 
WsIeee754Result ws_ieee754_encode_single(double value, unsigned char *buf)
 
void ws_utf8_free(WsUtf8String *string)
 
static WsBool read_float_from_point(WsCompiler *compiler, WsBuffer *buffer, WsFloat *result)
 
static struct @117 keywords[]
 
WsBool ws_lexer_register_utf8(WsCompiler *compiler, WsUtf8String *string)
 
int ws_utf8_append_char(WsUtf8String *string, unsigned long ch)
 
WsUtf8String * ws_utf8_alloc()
 
void ws_stream_ungetc(WsStream *stream, WsUInt32 ch)
 
#define WS_OCTAL_TO_INT(ch)
 
#define WS_IS_DECIMAL_DIGIT(ch)
 
void ws_buffer_init(WsBuffer *buffer)
 
#define WS_IS_OCTAL_DIGIT(ch)
 
#define WS_HEX_TO_INT(ch)
 
void ws_buffer_uninit(WsBuffer *buffer)
 
WsBool ws_lexer_register_block(WsCompiler *compiler, void *ptr)
 
WsBool ws_buffer_append_space(WsBuffer *buffer, unsigned char **p, size_t size)
 
static WsBool read_float_from_exp(WsCompiler *compiler, WsBuffer *buffer, WsFloat *result)
 
#define WS_IS_IDENTIFIER_LETTER(ch)
 
static WsUInt32 buffer_to_int(WsCompilerPtr compiler, WsBuffer *buffer)
 
int ws_yy_lex(YYSTYPE *yylval, YYLTYPE *yylloc, WsCompiler *compiler)
 
#define WS_IS_NON_ZERO_DIGIT(ch)
 
void * ws_malloc(size_t size)
 
void ws_src_error(WsCompilerPtr compiler, WsUInt32 line, char *message,...)
 
void ws_error_memory(WsCompilerPtr compiler)
 
unsigned char * ws_buffer_ptr(WsBuffer *buffer)