Added an import for 'debugger_socket'.
[nit.git] / src / parser / lexer_work.nit
index 26fb52c..0b2258b 100644 (file)
@@ -127,13 +127,17 @@ class Lexer
                t = get_token
                while t == null do t = get_token
 
-               var l = last_token
-               if l != null then
-                       l.next_token = t
-                       t.prev_token = l
+               if t._location != null then
+                       var l = last_token
+                       if l != null then
+                               l.next_token = t
+                               t.prev_token = l
+                       else
+                               _file.first_token = t
+                       end
+                       last_token = t
                end
 
-               last_token = t
                _token = t
                return t
        end
@@ -253,9 +257,11 @@ class Lexer
                                        if sp > start_stream_pos then
                                                var text = string.substring(start_stream_pos, sp-start_stream_pos)
                                                var token = new ALexerError.init_lexer_error("Syntax error: unknown token {text}.", location, text)
+                                               _file.last_token = token
                                                return token
                                        else
                                                var token = new EOF.init_tk(location)
+                                               _file.last_token = token
                                                return token
                                        end
                                end