on master help sign in
use ES.String when parsing patterns
06e8edeEvan Czaplicki
compiler/src/Parse/Pattern.hs+6−6
@@ -16,7 +16,7 @@ import qualified AST.Source as Src
16import qualified Parse.Keyword as Keyword
16import qualified Parse.Keyword as Keyword
17import qualified Parse.Number as Number
17import qualified Parse.Number as Number
18import qualified Parse.Space as Space
18import qualified Parse.Space as Space
19−import qualified Parse.Utf8 as Utf8
19+import qualified Parse.String as String
20import qualified Parse.Variable as Var
20import qualified Parse.Variable as Var
21import qualified Parse.Primitives as P
21import qualified Parse.Primitives as P
22import Parse.Primitives (Parser, addLocation, addEnd, getPosition, inContext, oneOf, oneOfWithFallback, word1, word2)
22import Parse.Primitives (Parser, addLocation, addEnd, getPosition, inContext, oneOf, oneOfWithFallback, word1, word2)
@@ -67,16 +67,16 @@ termHelp start =
67 return (A.at start end (Src.PInt int))
67 return (A.at start end (Src.PInt int))
68
68
69 Number.Float float ->
69 Number.Float float ->
70− P.Parser $ \(P.State _ _ _ row col) _ _ cerr _ ->
70+ P.Parser $ \(P.State _ _ _ _ row col) _ _ cerr _ ->
71 let
71 let
72 width = fromIntegral (Utf8.size float)
72 width = fromIntegral (Utf8.size float)
73 in
73 in
74 cerr row (col - width) (E.PFloat width)
74 cerr row (col - width) (E.PFloat width)
75 ,
75 ,
76− do str <- Utf8.string E.PStart E.PString
76+ do str <- String.string E.PStart E.PString
77 addEnd start (Src.PStr str)
77 addEnd start (Src.PStr str)
78 ,
78 ,
79− do chr <- Utf8.character E.PStart E.PChar
79+ do chr <- String.character E.PStart E.PChar
80 addEnd start (Src.PChr chr)
80 addEnd start (Src.PChr chr)
81 ]
81 ]
82
82
@@ -87,7 +87,7 @@ termHelp start =
87
87
88wildcard :: Parser E.Pattern ()
88wildcard :: Parser E.Pattern ()
89wildcard =
89wildcard =
90− P.Parser $ \(P.State pos end indent row col) cok _ cerr eerr ->
90+ P.Parser $ \(P.State src pos end indent row col) cok _ cerr eerr ->
91 if pos == end || P.unsafeIndex pos /= 0x5F {- _ -} then
91 if pos == end || P.unsafeIndex pos /= 0x5F {- _ -} then
92 eerr row col E.PStart
92 eerr row col E.PStart
93 else
93 else
@@ -99,7 +99,7 @@ wildcard =
99 let (# badPos, badCol #) = Var.chompInnerChars newPos end newCol in
99 let (# badPos, badCol #) = Var.chompInnerChars newPos end newCol in
100 cerr row col (E.PWildcardNotVar (Name.fromPtr pos badPos) (fromIntegral (badCol - col)))
100 cerr row col (E.PWildcardNotVar (Name.fromPtr pos badPos) (fromIntegral (badCol - col)))
101 else
101 else
102− let !newState = P.State newPos end indent row newCol in
102+ let !newState = P.State src newPos end indent row newCol in
103 cok () newState
103 cok () newState
104
104
105
105