on master help sign in
use ES.String when parsing string and char expressions
cf8da7dEvan Czaplicki
compiler/src/Parse/Expression.hs+6−6
@@ -16,7 +16,7 @@ import qualified Parse.Shader as Shader
16import qualified Parse.Space as Space
16import qualified Parse.Space as Space
17import qualified Parse.Symbol as Symbol
17import qualified Parse.Symbol as Symbol
18import qualified Parse.Type as Type
18import qualified Parse.Type as Type
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 Parse.Primitives hiding (State)
21import Parse.Primitives hiding (State)
22import qualified Parse.Primitives as P
22import qualified Parse.Primitives as P
@@ -46,13 +46,13 @@ term =
46
46
47string :: A.Position -> Parser E.Expr Src.Expr
47string :: A.Position -> Parser E.Expr Src.Expr
48string start =
48string start =
49− do str <- Utf8.string E.Start E.String
49+ do str <- String.string E.Start E.String
50 addEnd start (Src.Str str)
50 addEnd start (Src.Str str)
51
51
52
52
53character :: A.Position -> Parser E.Expr Src.Expr
53character :: A.Position -> Parser E.Expr Src.Expr
54character start =
54character start =
55− do chr <- Utf8.character E.Start E.Char
55+ do chr <- String.character E.Start E.Char
56 addEnd start (Src.Chr chr)
56 addEnd start (Src.Chr chr)
57
57
58
58
@@ -537,14 +537,14 @@ chompMatchingName expectedName =
537 let
537 let
538 (P.Parser parserL) = Var.lower E.DefNameRepeat
538 (P.Parser parserL) = Var.lower E.DefNameRepeat
539 in
539 in
540− P.Parser $ \state@(P.State _ _ _ sr sc) cok eok cerr eerr ->
540+ P.Parser $ \state@(P.State _ _ _ _ sr sc) cok eok cerr eerr ->
541 let
541 let
542− cokL name newState@(P.State _ _ _ er ec) =
542+ cokL name newState@(P.State _ _ _ _ er ec) =
543 if expectedName == name
543 if expectedName == name
544 then cok (A.At (A.Region (A.Position sr sc) (A.Position er ec)) name) newState
544 then cok (A.At (A.Region (A.Position sr sc) (A.Position er ec)) name) newState
545 else cerr sr sc (E.DefNameMatch name)
545 else cerr sr sc (E.DefNameMatch name)
546
546
547− eokL name newState@(P.State _ _ _ er ec) =
547+ eokL name newState@(P.State _ _ _ _ er ec) =
548 if expectedName == name
548 if expectedName == name
549 then eok (A.At (A.Region (A.Position sr sc) (A.Position er ec)) name) newState
549 then eok (A.At (A.Region (A.Position sr sc) (A.Position er ec)) name) newState
550 else eerr sr sc (E.DefNameMatch name)
550 else eerr sr sc (E.DefNameMatch name)