From 27817ff3aa9b484b67cf015edafe200767d89c0f Mon Sep 17 00:00:00 2001 From: Philippe Pittoli Date: Fri, 19 Jan 2024 00:59:47 +0100 Subject: [PATCH] Code structure. --- src/GenericParser.purs | 7 +++++++ src/{ => GenericParser}/BaseFunctions.purs | 2 +- src/{ => GenericParser}/DomainParser.purs | 10 +++++----- src/{ => GenericParser}/Parser.purs | 4 ++-- src/Main.purs | 4 ++-- 5 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 src/GenericParser.purs rename src/{ => GenericParser}/BaseFunctions.purs (93%) rename src/{ => GenericParser}/DomainParser.purs (95%) rename src/{ => GenericParser}/Parser.purs (97%) diff --git a/src/GenericParser.purs b/src/GenericParser.purs new file mode 100644 index 0000000..ee00eb4 --- /dev/null +++ b/src/GenericParser.purs @@ -0,0 +1,7 @@ +module GenericParser + ( module GenericParser.Parser + , module GenericParser.DomainParser + ) where + +import GenericParser.Parser (Position, PositionString, Input, Error, Value, Result, Parser(..), parse, current_position, failError, fail, success, item, sat, digit, lower, upper, letter, alphanum, char, string, ident, nat, int, space, token, identifier, natural, integer, symbol, many1) +import GenericParser.DomainParser (Size, DomainError(..), let_dig, let_dig_hyp, ldh_str, label_maxsize, max_domain_length, last_char, parse_last_char, tryMaybe, try, label, subdomain, eof, sub_eof, domain) diff --git a/src/BaseFunctions.purs b/src/GenericParser/BaseFunctions.purs similarity index 93% rename from src/BaseFunctions.purs rename to src/GenericParser/BaseFunctions.purs index 23f6952..af1f428 100644 --- a/src/BaseFunctions.purs +++ b/src/GenericParser/BaseFunctions.purs @@ -1,4 +1,4 @@ -module BaseFunctions where +module GenericParser.BaseFunctions where import Prelude (between, (<>), (==)) diff --git a/src/DomainParser.purs b/src/GenericParser/DomainParser.purs similarity index 95% rename from src/DomainParser.purs rename to src/GenericParser/DomainParser.purs index 389fd83..cae437e 100644 --- a/src/DomainParser.purs +++ b/src/GenericParser/DomainParser.purs @@ -1,5 +1,5 @@ -- | `DomainParser` is a simple parser for domain names as described in RFC 1035. -module DomainParser where +module GenericParser.DomainParser where import Prelude (bind, not, pure, ($), (&&), (*>), (<<<), (<>), (>), (-)) @@ -12,10 +12,10 @@ import Data.String.CodeUnits as CU import Control.Alt ((<|>)) -- import Control.Plus (empty) -import Parser (Parser(..) - , success, failError - , current_position - , alphanum, char, letter, many1, parse, string) +import GenericParser.Parser (Parser(..) + , success, failError + , current_position + , alphanum, char, letter, many1, parse, string) type Size = Int data DomainError diff --git a/src/Parser.purs b/src/GenericParser/Parser.purs similarity index 97% rename from src/Parser.purs rename to src/GenericParser/Parser.purs index f24344e..2712add 100644 --- a/src/Parser.purs +++ b/src/GenericParser/Parser.purs @@ -1,4 +1,4 @@ -module Parser where +module GenericParser.Parser where import Prelude import Control.Alt (class Alt, (<|>)) @@ -12,7 +12,7 @@ import Data.Either (Either(..)) import Data.Maybe (Maybe(..)) import Data.String.CodeUnits (toCharArray, fromCharArray) -import BaseFunctions (concat, isAlpha, isAlphaNum, isDigit, isLower, isSpace, isUpper) +import GenericParser.BaseFunctions (concat, isAlpha, isAlphaNum, isDigit, isLower, isSpace, isUpper) type Position = Int type PositionString = { string :: String, position :: Position } diff --git a/src/Main.purs b/src/Main.purs index 1b828aa..6c86625 100644 --- a/src/Main.purs +++ b/src/Main.purs @@ -1,7 +1,7 @@ module Main where -import Parser (Parser(..)) -import DomainParser (domain, label, ldh_str, sub_eof, subdomain, DomainError(..)) +import GenericParser.Parser (Parser(..)) +import GenericParser.DomainParser (domain, label, ldh_str, sub_eof, subdomain, DomainError(..)) import Prelude (Unit, discard, show, ($), (<>)) import Data.Either (Either(..))