summaryrefslogtreecommitdiff
path: root/app/Parser.hs
diff options
context:
space:
mode:
Diffstat (limited to 'app/Parser.hs')
-rw-r--r--app/Parser.hs32
1 files changed, 29 insertions, 3 deletions
diff --git a/app/Parser.hs b/app/Parser.hs
index e710b75..a9e4473 100644
--- a/app/Parser.hs
+++ b/app/Parser.hs
@@ -8,14 +8,40 @@ module Parser
import Control.Monad (void)
import Data.Char
+ ( isAlpha
+ , isAlphaNum
+ , isMark
+ , isNumber
+ , isPunctuation
+ , isSpace
+ , isSymbol
+ )
import Data.List.NonEmpty (NonEmpty(..))
import Data.List.Split (splitOn)
-import Data.Void
+import Data.Void (Void)
import Text.Megaparsec
-import Text.Megaparsec.Char
+ ( Parsec
+ , PosState(..)
+ , SourcePos(..)
+ , TraversableStream(..)
+ , VisualStream(..)
+ , (<|>)
+ , choice
+ , eof
+ , many
+ , mkPos
+ , notFollowedBy
+ , oneOf
+ , satisfy
+ , single
+ , some
+ , try
+ , unPos
+ )
+import Text.Megaparsec.Char (string)
import IR (PrlgStr(..))
-import Operators
+import Operators (ArgKind(..), Fixity(..), Op(..), Ops)
singleToks = ",;|()[]"