Use libFirm's obst.h instead of obstack.h
[libfirm] / ir / debug / debugger.c
index 04bd0a0..9d454fe 100644 (file)
@@ -979,12 +979,19 @@ static unsigned get_token(void) {
 
                do {
                        c = next_char();
-               } while (c == '_' || isalnum(c));
+               } while (isgraph(c));
                unput();
                lexer.len = lexer.curr_pos - lexer.s;
                return tok_identifier;
-       } else if (isdigit(c)) {
+       } else if (isdigit(c) || c == '-') {
                unsigned number = 0;
+               unsigned sign   = 0;
+
+               /* we support negative numbers as well, so one can easily set all bits with -1 */
+               if (c == '-') {
+                       sign = 1;
+                       c    = next_char();
+               }
 
                if (c == '0') {
                        c = next_char();
@@ -1012,7 +1019,7 @@ static unsigned get_token(void) {
                        c = next_char();
                }
                unput();
-               lexer.number = number;
+               lexer.number = sign ? 0 - number : number;
                return tok_number;
        }
        else if (c == '\0')
@@ -1020,19 +1027,6 @@ static unsigned get_token(void) {
        return c;
 }  /* get_token */
 
-/**
- * returns the next token.
- */
-static unsigned next_token(void) {
-       if (! lexer.has_token) {
-               lexer.cur_token = get_token();
-               lexer.has_token = 1;
-       }
-       return lexer.cur_token;
-}  /* next_token */
-
-#define drop_token()  lexer.has_token = 0
-
 /**
  * High level function to use from debugger interface
  *