Regenerated transfer layout syntax module with bug-fixed BNFC. Fixed printing of tokens in correct positions in the layout test program.

This commit is contained in:
bringert
2005-11-28 21:25:03 +00:00
parent 2455b73559
commit 5a82068ddc
2 changed files with 31 additions and 20 deletions

View File

@@ -9,11 +9,18 @@ prTokens :: [Token] -> String
prTokens = prTokens_ 1 1
where
prTokens_ _ _ [] = ""
prTokens_ l c (PT p t:ts) =
prTokens_ l c (t@(PT (Pn _ l' c') _):ts) =
replicate (l'-l) '\n'
++ replicate (if l' == l then c'-c else c'-1) ' '
++ s ++ prTokens_ l' (c'+length s) ts
where s = prToken t
-- prTokens_ l c (Err p:ts) =
layout :: String -> String
layout s = prTokens . resolveLayout True . tokens
layout s = prTokens ts'
-- ++ "\n" ++ show ts'
where ts = tokens s
ts' = resolveLayout True ts
main :: IO ()
main = do args <- getArgs