Interim commit; lots of progress though.

This commit is contained in:
2011-01-18 08:43:30 -08:00
parent 022bdf240b
commit 617e841b05
5 changed files with 210 additions and 162 deletions

View File

@@ -37,7 +37,7 @@ pprtPosition p = posFile p ++ ":" ++ show (posLine p) ++ ":" ++ show (posCol p)
data Token = LParen | RParen
| LSquare | RSquare
| LBrace | RBrace
| Bar | Semi | Comma
| Bar | Semi | Comma | BTick
| TokTypeIdent String
| TokValIdent String
| TokOpIdent String
@@ -90,6 +90,7 @@ data ParserState = ParserState {
, psChar :: !Char
, psPos :: !Position
, psLexCode :: !Int
, psGenNum :: !Int
}
deriving (Show)
@@ -99,6 +100,7 @@ initParserState path bs = ParserState {
, psChar = '\n'
, psPos = initPosition path
, psLexCode = 0
, psGenNum = 0
}
-- --------------------------------------------------------------------------
@@ -138,3 +140,9 @@ runParser path bs (Parser m) =
Right (a,_) -> Right a
Left err -> Left err
genstr :: Parser String
genstr = do
st <- get
set st{ psGenNum = psGenNum st + 1 }
return $ "--gen" ++ show (psGenNum st)