X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fparser%2FLexer.x;h=cae53499fedf05324887c9b17af7f4856367a02b;hp=c78f3b9b5ae3b7120769c1982673fb6b6bff0f2b;hb=60762c678c83e370609001addc8f52efcd657139;hpb=8e8068df44747a15cbaf4d1d6b2c4a847dfca653 diff --git a/compiler/parser/Lexer.x b/compiler/parser/Lexer.x index c78f3b9..cae5349 100644 --- a/compiler/parser/Lexer.x +++ b/compiler/parser/Lexer.x @@ -1499,10 +1499,19 @@ data PState = PState { context :: [LayoutContext], lex_state :: [Int], -- Used in the alternative layout rule: + -- These tokens are the next ones to be sent out. They are + -- just blindly emitted, without the rule looking at them again: alr_pending_implicit_tokens :: [Located Token], + -- This is the next token to be considered or, if it is Nothing, + -- we need to get the next token from the input stream: alr_next_token :: Maybe (Located Token), + -- This is what we consider to be the locatino of the last token + -- emitted: alr_last_loc :: SrcSpan, + -- The stack of layout contexts: alr_context :: [ALRContext], + -- Are we expecting a '{'? If it's Just, then the ALRLayout tells + -- us what sort of layout the '{' will open: alr_expecting_ocurly :: Maybe ALRLayout } -- last_loc and last_len are used when generating error messages,