module XiraganPappy where
import Pos
import Parse
import Data.Char
xiragan :: String -> String
xiragan str = case xiraganPappyXiragans (xiraganPappyParse "expression" str) of
Parsed v _ _ -> v
NoParse e -> error $ show e
data XiraganPappyDerivs = XiraganPappyDerivs {
xiraganPappySub0 :: XiraganPappyDerivs0,
xiraganPappyChar :: Result XiraganPappyDerivs Char,
xiraganPappyPos :: Pos
}
instance Derivs XiraganPappyDerivs where
dvChar d = xiraganPappyChar d
dvPos d = xiraganPappyPos d
data XiraganPappyDerivs0 = XiraganPappyDerivs0 {
xiraganPappySubXiragansTail :: Result XiraganPappyDerivs ((String -> String)),
xiraganPappySubXiraganTailAEO :: Result XiraganPappyDerivs (String),
xiraganPappySubOtherTailI :: Result XiraganPappyDerivs (String),
xiraganPappySubTailU :: Result XiraganPappyDerivs (String),
xiraganPappySubdummyTail :: Result XiraganPappyDerivs ((() -> ())),
xiraganPappySubdummy :: Result XiraganPappyDerivs (())}
xiraganPappyXiragansTail = xiraganPappySubXiragansTail . xiraganPappySub0
xiraganPappyXiraganTailAEO = xiraganPappySubXiraganTailAEO . xiraganPappySub0
xiraganPappyOtherTailI = xiraganPappySubOtherTailI . xiraganPappySub0
xiraganPappyTailU = xiraganPappySubTailU . xiraganPappySub0
xiraganPappydummyTail = xiraganPappySubdummyTail . xiraganPappySub0
xiraganPappydummy = xiraganPappySubdummy . xiraganPappySub0
xiraganPappyParse :: String -> String -> XiraganPappyDerivs
xiraganPappyParse name text = xiraganPappyDerivs (Pos name 1 1) text
xiraganPappyDerivs :: Pos -> String -> XiraganPappyDerivs
xiraganPappyDerivs pos text = dvs where
dvs = XiraganPappyDerivs
(xiraganPappyDerivs0 dvs)
chr pos
chr = case text of
[] -> NoParse (eofError dvs)
(c:cs) -> Parsed c (xiraganPappyDerivs (nextPos pos c) cs) (nullError dvs)
xiraganPappyDerivs0 dvs = XiraganPappyDerivs0
(xiraganPappyParseXiragansTail dvs)
(xiraganPappyParseXiraganTailAEO dvs)
(xiraganPappyParseOtherTailI dvs)
(xiraganPappyParseTailU dvs)
(xiraganPappyParsedummyTail dvs)
(xiraganPappyParsedummy dvs)
xiraganPappyParseXiragansTail :: XiraganPappyDerivs -> Result XiraganPappyDerivs ((String -> String))
xiraganPappyParseXiragansTail d =
pappyAlt1_1 (ParseError (xiraganPappyPos d) []) where
pappyAlt1_1 e1 =
case pappyResult3 of
Parsed x d3 e3 ->
case xiraganPappyXiragansTail d3 of
Parsed pappyTail d5 e5 ->
Parsed (\xs -> pappyTail ( xs ++ x )) d5 (maximum [e5,e3,e1])
NoParse e5 -> pappyAlt1_2 (maximum [e5,e3,e1])
NoParse e3 -> pappyAlt1_2 (max e3 e1)
where
pappyResult3 =
pappyAlt5_1 (ParseError (xiraganPappyPos d) []) where
pappyAlt5_1 e5 =
case xiraganPappyXiraganTailAEO d of
Parsed t d7 e7 ->
case pappyResult9 of
Parsed a d9 e9 ->
Parsed ( t ++ a ) d9 (maximum [e9,e7,e5])
NoParse e9 -> pappyAlt5_2 (maximum [e9,e7,e5])
where
pappyResult9 =
case xiraganPappyChar d7 of
Parsed 'i' d11 _ ->
Parsed ( "ユ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'u' d11 _ ->
Parsed ( "ウ" ) d11 (ParseError (xiraganPappyPos d11) [])
_ -> NoParse (ParseError (xiraganPappyPos d7) [])
NoParse e7 -> pappyAlt5_2 (max e7 e5)
pappyAlt5_2 e5 =
case xiraganPappyXiraganTailAEO d of
Parsed v7 d7 e7 -> Parsed v7 d7 (max e7 e5)
NoParse e7 -> pappyAlt5_3 (max e7 e5)
pappyAlt5_3 e5 =
case xiraganPappyOtherTailI d of
Parsed t d7 e7 ->
case pappyResult9 of
Parsed v d9 e9 ->
Parsed ( t ++ v ) d9 (maximum [e9,e7,e5])
NoParse e9 -> pappyAlt5_4 (maximum [e9,e7,e5])
where
pappyResult9 =
case xiraganPappyChar d7 of
Parsed 'a' d11 _ ->
Parsed ( "ゃ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'e' d11 _ ->
Parsed ( "ぃぇ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'i' d11 _ ->
Parsed ( "ぃ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'o' d11 _ ->
Parsed ( "ょ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'u' d11 _ ->
Parsed ( "ゅ" ) d11 (ParseError (xiraganPappyPos d11) [])
_ -> NoParse (ParseError (xiraganPappyPos d7) [])
NoParse e7 -> pappyAlt5_4 (max e7 e5)
pappyAlt5_4 e5 =
case xiraganPappyCJTailI d of
Parsed t d7 e7 ->
case pappyResult9 of
Parsed v d9 e9 ->
Parsed ( t ++ v ) d9 (maximum [e9,e7,e5])
NoParse e9 -> pappyAlt5_5 (maximum [e9,e7,e5])
where
pappyResult9 =
case xiraganPappyChar d7 of
Parsed 'a' d11 _ ->
Parsed ( "ぃゃ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'e' d11 _ ->
Parsed ( "ぃぇ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'i' d11 _ ->
Parsed ( "ぃ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'o' d11 _ ->
Parsed ( "ぃょ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'u' d11 _ ->
Parsed ( "ぃゅ" ) d11 (ParseError (xiraganPappyPos d11) [])
_ -> NoParse (ParseError (xiraganPappyPos d7) [])
NoParse e7 -> pappyAlt5_5 (max e7 e5)
pappyAlt5_5 e5 =
pappyAlt7_1 e5 where
pappyAlt7_1 e7 =
case xiraganPappyCJTailI d of
Parsed v9 d9 e9 -> Parsed v9 d9 (max e9 e7)
NoParse e9 -> pappyAlt7_2 (max e9 e7)
pappyAlt7_2 e7 =
case xiraganPappyOtherTailI d of
Parsed v9 d9 e9 -> Parsed v9 d9 (max e9 e7)
NoParse e9 -> pappyAlt7_3 (max e9 e7)
pappyAlt7_3 e7 = pappyAlt5_6 e7
pappyAlt5_6 e5 =
case xiraganPappyTailU d of
Parsed t d7 e7 ->
case pappyResult9 of
Parsed v d9 e9 ->
Parsed ( t ++ v ) d9 (maximum [e9,e7,e5])
NoParse e9 -> pappyAlt5_7 (maximum [e9,e7,e5])
where
pappyResult9 =
case xiraganPappyChar d7 of
Parsed 'a' d11 _ ->
Parsed ( "ぁ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'e' d11 _ ->
Parsed ( "ぇ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'i' d11 _ ->
Parsed ( "ぃ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'o' d11 _ ->
Parsed ( "ぉ" ) d11 (ParseError (xiraganPappyPos d11) [])
Parsed 'u' d11 _ ->
Parsed ( "ぅ" ) d11 (ParseError (xiraganPappyPos d11) [])
_ -> NoParse (ParseError (xiraganPappyPos d7) [])
NoParse e7 -> pappyAlt5_7 (max e7 e5)
pappyAlt5_7 e5 =
case xiraganPappyTailU d of
Parsed v7 d7 e7 -> Parsed v7 d7 (max e7 e5)
NoParse e7 -> pappyAlt5_8 (max e7 e5)
pappyAlt5_8 e5 =
case xiraganPappyChar d of
Parsed '.' d7 _ ->
Parsed ( "っ" ) d7 e5
Parsed 'y' d7 _ ->
Parsed ( "ぅ" ) d7 e5
_ -> pappyAlt5_9 e5
pappyAlt5_9 e5 =
case xiraganPappyChar d of
Parsed 'n' d7 _ ->
pappyAlt9_1 e5 where
pappyAlt9_1 e9 =
case pappyResult11 of
NoParse e11 ->
case pappyResult13 of
NoParse e13 ->
Parsed ( "ん" ) d7 (maximum [e13,e11,e9])
Parsed _ _ e13 -> pappyAlt9_2 (maximum [e13,e11,e9])
where
pappyResult13 =
case xiraganPappyChar d7 of
Parsed 'b' d15 _ ->
Parsed ("b") d15 (ParseError (xiraganPappyPos d15) [])
_ -> NoParse (ParseError (xiraganPappyPos d7) [])
Parsed _ _ e11 -> pappyAlt9_2 (max e11 e9)
where
pappyResult11 =
case xiraganPappyChar d7 of
Parsed 'p' d13 _ ->
Parsed ("p") d13 (ParseError (xiraganPappyPos d13) [])
_ -> NoParse (ParseError (xiraganPappyPos d7) [])
pappyAlt9_2 e9 =
Parsed ( "ヌ" ) d7 e9
pappyAlt9_3 e9 = pappyAlt5_10 e9
_ -> pappyAlt5_10 e5
pappyAlt5_10 e5 =
case xiraganPappyChar d of
Parsed 'm' d7 _ ->
pappyAlt9_1 e5 where
pappyAlt9_1 e9 =
case pappyResult11 of
NoParse e11 ->
case pappyResult13 of
NoParse e13 ->
Parsed ( "ム" ) d7 (maximum [e13,e11,e9])
Parsed _ _ e13 -> pappyAlt9_2 (maximum [e13,e11,e9])
where
pappyResult13 =
case xiraganPappyChar d7 of
Parsed 'b' d15 _ ->
Parsed ("b") d15 (ParseError (xiraganPappyPos d15) [])
_ -> NoParse (ParseError (xiraganPappyPos d7) [])
Parsed _ _ e11 -> pappyAlt9_2 (max e11 e9)
where
pappyResult11 =
case xiraganPappyChar d7 of
Parsed 'p' d13 _ ->
Parsed ("p") d13 (ParseError (xiraganPappyPos d13) [])
_ -> NoParse (ParseError (xiraganPappyPos d7) [])
pappyAlt9_2 e9 =
Parsed ( "ん" ) d7 e9
pappyAlt9_3 e9 = pappyAlt5_11 e9
_ -> pappyAlt5_11 e5
pappyAlt5_11 e5 =
case xiraganPappyChar d of
Parsed 'i' d7 _ ->
case xiraganPappyChar d7 of
Parsed 'a' d9 _ ->
Parsed ( "や" ) d9 e5
Parsed 'i' d9 _ ->
Parsed ( "ユぃ" ) d9 e5
Parsed 'u' d9 _ ->
Parsed ( "ゆ" ) d9 e5
Parsed 'e' d9 _ ->
Parsed ( "ユぇ" ) d9 e5
Parsed 'o' d9 _ ->
Parsed ( "よ" ) d9 e5
_ -> pappyAlt5_12 e5
_ -> pappyAlt5_12 e5
pappyAlt5_12 e5 =
case xiraganPappyChar d of
Parsed 'a' d7 _ ->
case xiraganPappyChar d7 of
Parsed 'i' d9 _ ->
Parsed ( "あユ" ) d9 e5
_ -> pappyAlt5_13 e5
Parsed 'e' d7 _ ->
case xiraganPappyChar d7 of
Parsed 'i' d9 _ ->
Parsed ( "えユ" ) d9 e5
_ -> pappyAlt5_13 e5
Parsed 'o' d7 _ ->
case xiraganPappyChar d7 of
Parsed 'i' d9 _ ->
Parsed ( "おユ" ) d9 e5
_ -> pappyAlt5_13 e5
_ -> pappyAlt5_13 e5
pappyAlt5_13 e5 =
case xiraganPappyChar d of
Parsed 'u' d7 _ ->
case xiraganPappyChar d7 of
Parsed 'a' d9 _ ->
Parsed ( "わ" ) d9 e5
Parsed 'i' d9 _ ->
Parsed ( "ゐ" ) d9 e5
Parsed 'u' d9 _ ->
Parsed ( "うぅ" ) d9 e5
Parsed 'e' d9 _ ->
Parsed ( "ゑ" ) d9 e5
Parsed 'o' d9 _ ->
Parsed ( "を" ) d9 e5
_ -> pappyAlt5_14 e5
_ -> pappyAlt5_14 e5
pappyAlt5_14 e5 =
case xiraganPappyChar d of
Parsed 'a' d7 _ ->
case xiraganPappyChar d7 of
Parsed 'u' d9 _ ->
Parsed ( "あウ" ) d9 e5
_ -> pappyAlt5_15 e5
Parsed 'e' d7 _ ->
case xiraganPappyChar d7 of
Parsed 'u' d9 _ ->
Parsed ( "えウ" ) d9 e5
_ -> pappyAlt5_15 e5
Parsed 'o' d7 _ ->
case xiraganPappyChar d7 of
Parsed 'u' d9 _ ->
Parsed ( "おウ" ) d9 e5
_ -> pappyAlt5_15 e5
_ -> pappyAlt5_15 e5
pappyAlt5_15 e5 =
case xiraganPappyChar d of
Parsed 'a' d7 _ ->
Parsed ( "あ" ) d7 e5
Parsed 'e' d7 _ ->
Parsed ( "え" ) d7 e5
Parsed 'i' d7 _ ->
Parsed ( "い" ) d7 e5
Parsed 'o' d7 _ ->
Parsed ( "お" ) d7 e5
Parsed 'u' d7 _ ->
Parsed ( "う" ) d7 e5
_ -> pappyAlt5_16 e5
pappyAlt5_16 e5 =
case xiraganPappyChar d of
Parsed 'b' d7 _ ->
Parsed ( "ブ" ) d7 e5
Parsed 'c' d7 _ ->
Parsed ( "シ" ) d7 e5
Parsed 'd' d7 _ ->
Parsed ( "ド" ) d7 e5
Parsed 'f' d7 _ ->
Parsed ( "フゥ" ) d7 e5
Parsed 'g' d7 _ ->
Parsed ( "グ" ) d7 e5
Parsed 'j' d7 _ ->
Parsed ( "ジ" ) d7 e5
Parsed 'k' d7 _ ->
Parsed ( "ク" ) d7 e5
Parsed 'l' d7 _ ->
Parsed ( "ル" ) d7 e5
Parsed 'p' d7 _ ->
Parsed ( "プ" ) d7 e5
Parsed 'r' d7 _ ->
Parsed ( "ルゥ" ) d7 e5
Parsed 's' d7 _ ->
Parsed ( "ス" ) d7 e5
Parsed 't' d7 _ ->
Parsed ( "ト" ) d7 e5
Parsed 'v' d7 _ ->
Parsed ( "ヴ" ) d7 e5
Parsed 'x' d7 _ ->
Parsed ( "ハゥ" ) d7 e5
Parsed 'z' d7 _ ->
Parsed ( "ズ" ) d7 e5
_ -> pappyAlt5_17 e5
pappyAlt5_17 e5 =
case xiraganPappyChar d of
Parsed c d7 e7 ->
case ( isSpace c ) of
True ->
Parsed ( " " ) d7 (max e7 e5)
False -> pappyAlt5_18 (max e7 e5)
NoParse e7 -> pappyAlt5_18 (max e7 e5)
pappyAlt5_18 e5 = NoParse e5
pappyAlt1_2 e1 =
Parsed (\v -> v) d e1
pappyAlt1_3 e1 = NoParse e1
xiraganPappyXiragans :: XiraganPappyDerivs -> Result XiraganPappyDerivs (String)
xiraganPappyXiragans d =
case pappyResult1 of
Parsed l d1 e1 ->
case xiraganPappyXiragansTail d1 of
Parsed t d3 e3 ->
Parsed (t l) d3 (max e3 e1)
NoParse e3 -> NoParse (max e3 e1)
NoParse e1 -> NoParse e1
where
pappyResult1 =
Parsed ( "" ) d (ParseError (xiraganPappyPos d) [])
xiraganPappyParseXiraganTailAEO :: XiraganPappyDerivs -> Result XiraganPappyDerivs (String)
xiraganPappyParseXiraganTailAEO d =
case xiraganPappyChar d of
Parsed 'd' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'j' d3 _ ->
case xiraganPappyChar d3 of
Parsed 'a' d5 _ ->
Parsed ( "ぢゃ" ) d5 (ParseError (xiraganPappyPos d5) [])
Parsed 'e' d5 _ ->
Parsed ( "ぢぇ" ) d5 (ParseError (xiraganPappyPos d5) [])
Parsed 'o' d5 _ ->
Parsed ( "ぢょ" ) d5 (ParseError (xiraganPappyPos d5) [])
_ -> NoParse (ParseError (xiraganPappyPos d3) [])
Parsed 'z' d3 _ ->
case xiraganPappyChar d3 of
Parsed 'a' d5 _ ->
Parsed ( "づぁ" ) d5 (ParseError (xiraganPappyPos d5) [])
Parsed 'e' d5 _ ->
Parsed ( "づぇ" ) d5 (ParseError (xiraganPappyPos d5) [])
Parsed 'o' d5 _ ->
Parsed ( "づぉ" ) d5 (ParseError (xiraganPappyPos d5) [])
_ -> NoParse (ParseError (xiraganPappyPos d3) [])
Parsed 'a' d3 _ ->
Parsed ( "だ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "で" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "ど" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 't' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'c' d3 _ ->
case xiraganPappyChar d3 of
Parsed 'a' d5 _ ->
Parsed ( "ちゃ" ) d5 (ParseError (xiraganPappyPos d5) [])
Parsed 'e' d5 _ ->
Parsed ( "ちぇ" ) d5 (ParseError (xiraganPappyPos d5) [])
Parsed 'o' d5 _ ->
Parsed ( "ちょ" ) d5 (ParseError (xiraganPappyPos d5) [])
_ -> NoParse (ParseError (xiraganPappyPos d3) [])
Parsed 's' d3 _ ->
case xiraganPappyChar d3 of
Parsed 'a' d5 _ ->
Parsed ( "つぁ" ) d5 (ParseError (xiraganPappyPos d5) [])
Parsed 'e' d5 _ ->
Parsed ( "つぇ" ) d5 (ParseError (xiraganPappyPos d5) [])
Parsed 'o' d5 _ ->
Parsed ( "つぉ" ) d5 (ParseError (xiraganPappyPos d5) [])
_ -> NoParse (ParseError (xiraganPappyPos d3) [])
Parsed 'a' d3 _ ->
Parsed ( "た" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "て" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "と" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed '\'' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "は" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "へ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "ほ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'b' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "ば" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "べ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "ぼ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'c' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "しゃ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "しぇ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "しょ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'f' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "ふぁ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "ふぇ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "ふぉ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'g' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "が" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "げ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "ご" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'j' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "じゃ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "じぇ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "じょ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'k' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "か" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "け" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "こ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'l' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "ら" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "れ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "ろ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'm' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "ま" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "め" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "も" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'n' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "な" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "ね" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "の" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'p' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "ぱ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "ぺ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "ぽ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'r' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "るぁ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "るぇ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "るぉ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 's' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "さ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "せ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "そ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'v' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "う\"ぁ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "う\"ぇ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "う\"ぉ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'x' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "はぁ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "はぇ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "はぉ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'z' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'a' d3 _ ->
Parsed ( "ざ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'e' d3 _ ->
Parsed ( "ぜ" ) d3 (ParseError (xiraganPappyPos d3) [])
Parsed 'o' d3 _ ->
Parsed ( "ぞ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
_ -> NoParse (ParseError (xiraganPappyPos d) [])
xiraganPappyParseOtherTailI :: XiraganPappyDerivs -> Result XiraganPappyDerivs (String)
xiraganPappyParseOtherTailI d =
case xiraganPappyChar d of
Parsed 'd' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'j' d3 _ ->
case xiraganPappyChar d3 of
Parsed 'i' d5 _ ->
Parsed ( "ぢ" ) d5 (ParseError (xiraganPappyPos d5) [])
_ -> NoParse (ParseError (xiraganPappyPos d3) [])
Parsed 'z' d3 _ ->
case xiraganPappyChar d3 of
Parsed 'i' d5 _ ->
Parsed ( "づぃ" ) d5 (ParseError (xiraganPappyPos d5) [])
_ -> NoParse (ParseError (xiraganPappyPos d3) [])
Parsed 'i' d3 _ ->
Parsed ( "でぃ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 't' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'c' d3 _ ->
case xiraganPappyChar d3 of
Parsed 'i' d5 _ ->
Parsed ( "ち" ) d5 (ParseError (xiraganPappyPos d5) [])
_ -> NoParse (ParseError (xiraganPappyPos d3) [])
Parsed 's' d3 _ ->
case xiraganPappyChar d3 of
Parsed 'i' d5 _ ->
Parsed ( "つぃ" ) d5 (ParseError (xiraganPappyPos d5) [])
_ -> NoParse (ParseError (xiraganPappyPos d3) [])
Parsed 'i' d3 _ ->
Parsed ( "てぃ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed '\'' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "ひ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'b' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "び" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'f' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "ふぃ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'g' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "ぎ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'k' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "き" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'l' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "り" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'm' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "み" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'n' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "に" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'p' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "ぴ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'r' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "るぃ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 's' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "すぃ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'v' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "う\"ぃ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'x' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "はぃ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'z' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "ずぃ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
_ -> NoParse (ParseError (xiraganPappyPos d) [])
xiraganPappyCJTailI :: XiraganPappyDerivs -> Result XiraganPappyDerivs (String)
xiraganPappyCJTailI d =
case xiraganPappyChar d of
Parsed 'c' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "し" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'j' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'i' d3 _ ->
Parsed ( "じ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
_ -> NoParse (ParseError (xiraganPappyPos d) [])
xiraganPappyParseTailU :: XiraganPappyDerivs -> Result XiraganPappyDerivs (String)
xiraganPappyParseTailU d =
case xiraganPappyChar d of
Parsed 'd' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'j' d3 _ ->
case xiraganPappyChar d3 of
Parsed 'u' d5 _ ->
Parsed ( "ぢゅ" ) d5 (ParseError (xiraganPappyPos d5) [])
_ -> NoParse (ParseError (xiraganPappyPos d3) [])
Parsed 'z' d3 _ ->
case xiraganPappyChar d3 of
Parsed 'u' d5 _ ->
Parsed ( "づ" ) d5 (ParseError (xiraganPappyPos d5) [])
_ -> NoParse (ParseError (xiraganPappyPos d3) [])
Parsed 'u' d3 _ ->
Parsed ( "どぅ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 't' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'c' d3 _ ->
case xiraganPappyChar d3 of
Parsed 'u' d5 _ ->
Parsed ( "ちゅ" ) d5 (ParseError (xiraganPappyPos d5) [])
_ -> NoParse (ParseError (xiraganPappyPos d3) [])
Parsed 's' d3 _ ->
case xiraganPappyChar d3 of
Parsed 'u' d5 _ ->
Parsed ( "つ" ) d5 (ParseError (xiraganPappyPos d5) [])
_ -> NoParse (ParseError (xiraganPappyPos d3) [])
Parsed 'u' d3 _ ->
Parsed ( "とぅ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed '\'' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "ふ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'b' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "ぶ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'c' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "しゅ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'f' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "ふぅ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'g' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "ぐ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'j' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "じゅ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'k' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "く" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'l' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "る" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'm' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "む" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'n' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "ぬ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'p' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "ぷ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'r' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "るぅ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 's' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "す" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'v' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "う\"" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'x' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "はぅ" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
Parsed 'z' d1 _ ->
case xiraganPappyChar d1 of
Parsed 'u' d3 _ ->
Parsed ( "ず" ) d3 (ParseError (xiraganPappyPos d3) [])
_ -> NoParse (ParseError (xiraganPappyPos d1) [])
_ -> NoParse (ParseError (xiraganPappyPos d) [])
xiraganPappyParsedummyTail :: XiraganPappyDerivs -> Result XiraganPappyDerivs ((() -> ()))
xiraganPappyParsedummyTail d =
case xiraganPappyChar d of
Parsed 'a' d1 _ ->
case xiraganPappydummy d1 of
Parsed _ d3 e3 ->
case xiraganPappydummyTail d3 of
Parsed pappyTail d5 e5 ->
Parsed (\l -> pappyTail ( () )) d5 (max e5 e3)
NoParse e5 -> NoParse (max e5 e3)
NoParse e3 -> NoParse e3
_ ->
Parsed (\v -> v) d (ParseError (xiraganPappyPos d) [])
xiraganPappyParsedummy :: XiraganPappyDerivs -> Result XiraganPappyDerivs (())
xiraganPappyParsedummy d =
case pappyResult1 of
Parsed l d1 e1 ->
case xiraganPappydummyTail d1 of
Parsed t d3 e3 ->
Parsed (t l) d3 (max e3 e1)
NoParse e3 -> NoParse (max e3 e1)
NoParse e1 -> NoParse e1
where
pappyResult1 =
case xiraganPappyChar d of
Parsed 'a' d3 _ ->
case xiraganPappydummy d3 of
Parsed _ d5 e5 ->
Parsed ( () ) d5 e5
NoParse e5 -> NoParse e5
_ -> NoParse (ParseError (xiraganPappyPos d) [])