#2046: Parse errors for mismatched brackets are awful
-------------------------------+--------------------------------------------
 Reporter:  NeilMitchell       |          Owner:           
     Type:  feature request    |         Status:  closed   
 Priority:  normal             |      Milestone:           
Component:  Compiler (Parser)  |        Version:  6.6.1    
 Severity:  minor              |     Resolution:  duplicate
 Keywords:                     |     Difficulty:  Unknown  
 Testcase:                     |   Architecture:  Unknown  
       Os:  Unknown            |  
-------------------------------+--------------------------------------------
Comment (by NeilMitchell):

 A simple fix would be that if the parsing fails with a "possibly incorrect
 indentation" style warning, you rerun the lexer over the original file,
 without inserting symbols based on indentation. After you have this raw
 lexical stream, you do a simple scan with a bracket stack and check
 everything matches up. If it doesn't, you give a very precise error
 indicating exactly which bracket was not match. If it does, you fall back
 to the same situation we have now.

 Assuming the lexer is sufficiently modular, this should be easy (at a
 guess), and not complicate any other part of the compiler.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2046#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to