Skip to content
Snippets Groups Projects
Commit adc81078 authored by Simon Marlow's avatar Simon Marlow
Browse files

[haddock @ 2002-05-07 15:37:15 by simonmar]

Allow code blocks to be denoted with bird-tracks in addition to [...].
parent 65fc31db
No related merge requests found
......@@ -20,6 +20,7 @@ data Token
| TokSpecial Char
| TokString String
| TokURL String
| TokBirdTrack
deriving Show
-- simple finite-state machine for tokenising the doc string
......@@ -41,7 +42,8 @@ tokenise_url cs =
tokenise_newline cs =
case dropWhile nonNewlineSpace cs of
'\n':cs -> TokPara : tokenise_para cs -- paragraph break
_other -> tokenise_string "\n" cs
'>':cs -> TokBirdTrack : tokenise cs -- bird track
_other -> tokenise_string "\n" cs
tokenise_para cs =
case dropWhile nonNewlineSpace cs of
......@@ -50,6 +52,8 @@ tokenise_para cs =
-- bullet: '-'
'-':cs -> TokBullet : tokenise cs
-- enumerated item: '1.'
'>':cs -> TokBirdTrack : tokenise cs
-- bird track
str | (ds,'.':cs) <- span isDigit str, not (null ds)
-> TokNumber : tokenise cs
-- enumerated item: '(1)'
......@@ -72,5 +76,7 @@ tokenise_string str cs =
tokenise_string_newline str cs =
case dropWhile nonNewlineSpace cs of
'\n':cs -> TokString (reverse str) : TokPara : tokenise_para cs
_other -> tokenise_string ('\n':str) cs -- don't throw away whitespace
'>':cs -> TokString (reverse ('\n':str)) : TokBirdTrack : tokenise cs
-- bird track
_other -> tokenise_string ('\n':str) cs -- don't throw away whitespace
......@@ -15,6 +15,7 @@ import HaddockTypes
URL { TokURL $$ }
'*' { TokBullet }
'(n)' { TokNumber }
'>' { TokBirdTrack }
PARA { TokPara }
STRING { TokString $$ }
......@@ -44,9 +45,14 @@ olpara :: { ParsedDoc }
para :: { ParsedDoc }
: seq { docParagraph $1 }
| codepara { DocCodeBlock $1 }
codepara :: { ParsedDoc }
: '>' seq codepara { docAppend $2 $3 }
| '>' seq { $2 }
seq :: { ParsedDoc }
: elem seq { DocAppend $1 $2 }
: elem seq { docAppend $1 $2 }
| elem { $1 }
elem :: { ParsedDoc }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment