summaryrefslogtreecommitdiffstats
path: root/src/lex.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lex.cpp')
-rw-r--r--src/lex.cpp35
1 files changed, 18 insertions, 17 deletions
diff --git a/src/lex.cpp b/src/lex.cpp
index 63549c9..c5ae330 100644
--- a/src/lex.cpp
+++ b/src/lex.cpp
@@ -101,20 +101,21 @@ void lex_t::consume(bool consume_needspace) {
needspace = consume_needspace;
}
-int lex_t::io_error(parser_value_t *value) {
- value->error = "I/O error";
+int lex_t::io_error(parse_token_value_t *value) {
+ //value->error = "I/O error";
+ (void)value;
return -1;
}
-int lex_t::syntax_error(parser_value_t *value) {
+int lex_t::syntax_error(parse_token_value_t *value) {
if (std::ferror(file))
return io_error(value);
- value->error = "syntax error";
+ //value->error = "syntax error";
return -1;
}
-int lex_t::consume_comment(parser_value_t *value) {
+int lex_t::consume_comment(parse_token_value_t *value) {
char prev = 0;
while (next(true)) {
@@ -130,20 +131,20 @@ int lex_t::consume_comment(parser_value_t *value) {
if (std::ferror(file))
return io_error(value);
- value->error = "unterminated block comment";
+ //value->error = "unterminated block comment";
return -1;
}
/*
-int lex_t::unterminated_string(parser_value_t *value) {
+int lex_t::unterminated_string(parse_token_value_t *value) {
if (ferror(file))
return io_error(value);
- value->error = "unterminated string";
+ //value->error = "unterminated string";
return -1;
}
-int lex_t::lex_string(parser_value_t *value) {
+int lex_t::lex_string(parse_token_value_t *value) {
char *buf = NULL;
size_t len = 1024;
size_t pos = 0;
@@ -193,7 +194,7 @@ int lex_t::lex_string(parser_value_t *value) {
return TOK_STRING;
}
-int lex_t::lex_number(parser_value_t *value) {
+int lex_t::lex_number(parse_token_value_t *value) {
if (needspace)
return syntax_error(value);
@@ -223,7 +224,7 @@ int lex_t::lex_number(parser_value_t *value) {
return TOK_UINT;
}*/
-int lex_t::lex_keyword(parser_value_t *value) {
+int lex_t::lex_keyword(parse_token_value_t *value) {
if (needspace)
return syntax_error(value);
@@ -247,15 +248,15 @@ int lex_t::lex_keyword(parser_value_t *value) {
return ret->token;
}
-int lex_t::unterminated_block(parser_value_t *value) {
+int lex_t::unterminated_block(parse_token_value_t *value) {
if (ferror(file))
return io_error(value);
- value->error = "unterminated code block";
+ //value->error = "unterminated code block";
return -1;
}
-int lex_t::lex_block(parser_value_t *value) {
+int lex_t::lex_block(parse_token_value_t *value) {
size_t parens = 0;
bool line_comment = false;
bool block_comment = false;
@@ -326,7 +327,7 @@ int lex_t::lex_block(parser_value_t *value) {
return TOK_BLOCK;
}
-int lex_t::lex_symbol(parser_value_t *value) {
+int lex_t::lex_symbol(parse_token_value_t *value) {
if (needspace)
return syntax_error(value);
@@ -361,7 +362,7 @@ int lex_t::lex_symbol(parser_value_t *value) {
return TOK_SYMBOL;
}
-int lex_t::lex(parser_value_t *value) {
+int lex_t::lex(parse_token_value_t *value) {
int token;
while (end > start) {
@@ -416,7 +417,7 @@ int lex_t::lex(parser_value_t *value) {
if (!next(true))
return syntax_error(value);
- value->number = current();
+ value->c = current();
if (!next(true) || current() != '\'')
return syntax_error(value);