Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Brassica.SoundChange.Frontend.Internal
Description
Warning: This module is internal, and does not follow the Package Versioning Policy. It may be useful for extending Brassica, but be prepared to track development closely if you import this module.
Synopsis
- data ApplicationMode
- getOutputMode :: ApplicationMode -> OutputMode
- data HighlightMode
- data OutputMode
- data ApplicationOutput a r
- = HighlightedWords [Component (a, Bool)]
- | AppliedRulesTable [PWordLog r]
- | ParseError (ParseErrorBundle String Void)
- data InputLexiconFormat
- data ParseOutput a
- componentise :: OutputMode -> [a] -> [Component a] -> [Component a]
- intersperseWords :: [a] -> [Component a] -> [Component a]
- tokeniseAccordingToInputFormat :: InputLexiconFormat -> OutputMode -> SoundChanges Expanded [Grapheme] -> String -> Either (ParseErrorBundle String Void) [Component PWord]
- parseTokeniseAndApplyRules :: (forall a b. (a -> b) -> [Component a] -> [Component b]) -> SoundChanges Expanded [Grapheme] -> String -> InputLexiconFormat -> ApplicationMode -> Maybe [Component PWord] -> ApplicationOutput PWord (Statement Expanded [Grapheme])
Documentation
data ApplicationMode Source #
Rule application mode of the SCA.
Constructors
ApplyRules HighlightMode OutputMode String | |
ReportRulesApplied |
Instances
Show ApplicationMode Source # | |
Defined in Brassica.SoundChange.Frontend.Internal Methods showsPrec :: Int -> ApplicationMode -> ShowS # show :: ApplicationMode -> String # showList :: [ApplicationMode] -> ShowS # | |
Eq ApplicationMode Source # | |
Defined in Brassica.SoundChange.Frontend.Internal Methods (==) :: ApplicationMode -> ApplicationMode -> Bool # (/=) :: ApplicationMode -> ApplicationMode -> Bool # |
data HighlightMode Source #
Constructors
NoHighlight | |
DifferentToLastRun | |
DifferentToInput |
Instances
Enum HighlightMode Source # | |
Defined in Brassica.SoundChange.Frontend.Internal Methods succ :: HighlightMode -> HighlightMode # pred :: HighlightMode -> HighlightMode # toEnum :: Int -> HighlightMode # fromEnum :: HighlightMode -> Int # enumFrom :: HighlightMode -> [HighlightMode] # enumFromThen :: HighlightMode -> HighlightMode -> [HighlightMode] # enumFromTo :: HighlightMode -> HighlightMode -> [HighlightMode] # enumFromThenTo :: HighlightMode -> HighlightMode -> HighlightMode -> [HighlightMode] # | |
Show HighlightMode Source # | |
Defined in Brassica.SoundChange.Frontend.Internal Methods showsPrec :: Int -> HighlightMode -> ShowS # show :: HighlightMode -> String # showList :: [HighlightMode] -> ShowS # | |
Eq HighlightMode Source # | |
Defined in Brassica.SoundChange.Frontend.Internal Methods (==) :: HighlightMode -> HighlightMode -> Bool # (/=) :: HighlightMode -> HighlightMode -> Bool # |
data OutputMode Source #
Instances
Enum OutputMode Source # | |
Defined in Brassica.SoundChange.Frontend.Internal Methods succ :: OutputMode -> OutputMode # pred :: OutputMode -> OutputMode # toEnum :: Int -> OutputMode # fromEnum :: OutputMode -> Int # enumFrom :: OutputMode -> [OutputMode] # enumFromThen :: OutputMode -> OutputMode -> [OutputMode] # enumFromTo :: OutputMode -> OutputMode -> [OutputMode] # enumFromThenTo :: OutputMode -> OutputMode -> OutputMode -> [OutputMode] # | |
Show OutputMode Source # | |
Defined in Brassica.SoundChange.Frontend.Internal Methods showsPrec :: Int -> OutputMode -> ShowS # show :: OutputMode -> String # showList :: [OutputMode] -> ShowS # | |
Eq OutputMode Source # | |
Defined in Brassica.SoundChange.Frontend.Internal |
data ApplicationOutput a r Source #
Output of a single application of rules to a wordlist: either a list of possibly highlighted words, an applied rules table, or a parse error.
Constructors
HighlightedWords [Component (a, Bool)] | |
AppliedRulesTable [PWordLog r] | |
ParseError (ParseErrorBundle String Void) |
Instances
data InputLexiconFormat Source #
Kind of input: either a raw wordlist, or an MDF file.
Instances
data ParseOutput a Source #
Instances
componentise :: OutputMode -> [a] -> [Component a] -> [Component a] Source #
intersperseWords :: [a] -> [Component a] -> [Component a] Source #
tokeniseAccordingToInputFormat :: InputLexiconFormat -> OutputMode -> SoundChanges Expanded [Grapheme] -> String -> Either (ParseErrorBundle String Void) [Component PWord] Source #
parseTokeniseAndApplyRules Source #
Arguments
:: (forall a b. (a -> b) -> [Component a] -> [Component b]) | mapping function to use (for parallelism) |
-> SoundChanges Expanded [Grapheme] | changes |
-> String | words |
-> InputLexiconFormat | |
-> ApplicationMode | |
-> Maybe [Component PWord] | previous results |
-> ApplicationOutput PWord (Statement Expanded [Grapheme]) |
Top-level dispatcher for an interactive frontend: given a textual wordlist and a list of sound changes, returns the result of running the changes in the specified mode.