Copyright | (c) OleksandrZhabenko 2020-2022 |
---|---|
License | MIT |
Maintainer | olexandr543@yahoo.com |
Stability | Experimental |
Safe Haskell | None |
Language | Haskell2010 |
Extensions | BangPatterns |
Prints the rearrangements with the "property" information for the phonetic language text. Is used for the Phonetic.Languages.General.Simple module functionality.
Synopsis
- argsToSimplePrepare :: (Double -> String -> MappingFunctionPL) -> [MappingFunctionPL] -> (String -> Bool) -> IO ()
- argsToSimplePrepare4Files :: PermutationsType -> FilePath -> FilePath -> FilePath -> FilePath -> FilePath -> (Double -> String -> MappingFunctionPL) -> [MappingFunctionPL] -> String -> (String -> Bool) -> [String] -> String -> Int -> IO ()
- innerProcessmentSimple :: String -> String -> String -> String -> String -> (GWritingSystemPRPLX, [(Char, Char)], CharPhoneticClassification, SegmentRulesG, String, String, Concatenations, Concatenations, String)
- argsProcessment :: FilePath -> FilePath -> FilePath -> FilePath -> FilePath -> [String] -> IO (String, String, String, String, String, String, Bool, Bool, [String], Coeffs2, Coeffs2, [String], Bool, Bool, Int, Int)
- aSpecs :: CLSpecifications
- aSpcs :: [String] -> Args
- cSpecs1MA :: CLSpecifications
- fstCharsMA :: FirstChars
- cSpecs1T :: CLSpecifications
- fstCharsT :: FirstChars
- bSpecs :: CLSpecifications
- bSpcs :: [String] -> Args
- specs1 :: CLSpecifications
Documentation
:: (Double -> String -> MappingFunctionPL) | The function that is needed in the |
-> [MappingFunctionPL] | A list of |
-> (String -> Bool) | The predicate that checks whether the given argument is not a phonetic language word in the representation. |
-> IO () |
Prints the rearrangements with the "property" information for the phonetic language text.
Most of the arguments are obtained from the getArgs
function.
While used, it distinguishes between two groups of command line arguments: the first four ones and the others afterwards.
The first 5 arguments are the file names with the specifications.
1) with the GWritingSystemPRPLX
specifications only (see the gwrsysExample.txt file in the phonetic-languages-phonetics-basics
package as a schema);
2) with the 5 meaningful lines that are delimited with the '~' line one from another with the specifications for the possible allophones (if any), CharPhoneticClassification
, white spaces information (two String
s) and the String
of all the possible PLL
Char
s;
3) with the SegmentRulesG
specifications only;
4) with the Concatenations
specifications only (see the data in the EnglishConcatenated.txt file in the phonetic-languages-phonetics-basics
package as a list of English equivalents of the needed String
s). These are to be prepended to the next word.
5) with the Concatenations
specifications only (see the data in the EnglishConcatenated.txt file in the phonetic-languages-phonetics-basics
package as a list of English equivalents of the needed String
s). These are to be appended to the previous word.
Afterwards, the meaning of the command line arguments are as follows (from the left to the right).
The first next command line argument must be a
positive Int
number and is a number of printed variants for the line (if they are present, otherwise just all possible variants are printed).
The second one is the number of the intervals into which the all range of possible metrics values are divided. The next numeric arguments that must be
sequenced without interruptions further are treated as the numbers of the intervals (counting is started from 1) which values are moved to the maximum
values of the metrics interval using the unsafeSwapVecIWithMaxI
function. The first textual command line argument should be in the form either "y0",
or "0y", or "yy", or "y", or "02y", or "y2", or "03y", or "yy2", or "y3", or some other variant and specifies, which property or properties is or are evaluated.
The rest of the command line arguments is the phonetic text. Besides, you can use multiple metrices (no more than 5 different ones) together by
using "+m" ... "-m" command line arguments.
You can specify constraints according to the decodeLConstraints
function between +A and -A next command line arguments. If so, the program will
ask you additional question before proceeding. The "+m" ... "-m" and "+a" ... "-a" groups must not mutually intersect one another.
argsToSimplePrepare4Files Source #
:: PermutationsType | Whether to use just one of the express permutations, or the full universal set. |
-> FilePath | With the |
-> FilePath | With the 5 meaningful lines that are delimited with the '~' line one from another with the specifications for the possible allophones (if any), |
-> FilePath | With the |
-> FilePath | With the |
-> FilePath | With the |
-> (Double -> String -> MappingFunctionPL) | The function that is needed in the |
-> [MappingFunctionPL] | A list of 4 different functions that specifies the syllables durations, analogues of the
syllableDurationsD functions from the |
-> String | A |
-> (String -> Bool) | The predicate that checks whether the given argument is not a phonetic language word in the representation. |
-> [String] | |
-> String | If empty, the function is just |
-> Int | |
-> IO () |
Similar to the argsToSimplePrepare
function, but takes explicitly the four FilePath
s for the files
respectively and the last argument the String
with all the other specifications. If it is not proper,
the functions returns an error.
innerProcessmentSimple Source #
:: String | Must be a valid |
-> String | Must be a |
-> String | Must be a |
-> String | Must be a |
-> String | Must be a |
-> (GWritingSystemPRPLX, [(Char, Char)], CharPhoneticClassification, SegmentRulesG, String, String, Concatenations, Concatenations, String) |
:: FilePath | With the |
-> FilePath | With the 5 meaningful lines that are delimited with the '~' line one from another with the specifications for the possible allophones (if any), |
-> FilePath | With the |
-> FilePath | With the |
-> FilePath | With the |
-> [String] | List of other args afterwards. |
-> IO (String, String, String, String, String, String, Bool, Bool, [String], Coeffs2, Coeffs2, [String], Bool, Bool, Int, Int) |
@ since 0.5.0.0
The function also can process "w" and "x" lines so returns two Coeffs2
values.