Unicode character parsers #
Parsers for Unicode character properties, using the UnicodeBasic tables: general categories, scripts and script extensions, binary properties, and case-insensitive matching.
Parse alphabetic character (Unicode property Alphabetic).
Equations
- ParseIt.Char.Unicode.alpha = ParseIt.withErrorMessage "expected alphabetic character" (ParseIt.tokenFilter Unicode.isAlpha)
Instances For
Parse lowercase character (Unicode property Lowercase).
Equations
- ParseIt.Char.Unicode.lowercase = ParseIt.withErrorMessage "expected lowercase letter" (ParseIt.tokenFilter Unicode.isLowercase)
Instances For
Parse math character (Unicode property Math).
Equations
- ParseIt.Char.Unicode.math = ParseIt.withErrorMessage "expected math symbol" (ParseIt.tokenFilter Unicode.isMath)
Instances For
Parse uppercase character (Unicode property Uppercase).
Equations
- ParseIt.Char.Unicode.uppercase = ParseIt.withErrorMessage "expected uppercase letter" (ParseIt.tokenFilter Unicode.isUppercase)
Instances For
Parse white space character (Unicode property White_Space).
Equations
- ParseIt.Char.Unicode.whitespace = ParseIt.withErrorMessage "expected whitespace" (ParseIt.tokenFilter Unicode.isWhiteSpace)
Instances For
Parse decimal digit character (general category Nd). Other digits, such as superscripts, are rejected.
Equations
- ParseIt.Char.Unicode.digit = ParseIt.withErrorMessage "expected decimal digit" (ParseIt.tokenMap fun (c : Char) => if Unicode.isDecimal c = true then Unicode.getDigit? c else none)
Instances For
Parse hexadecimal digit character.
Equations
- ParseIt.Char.Unicode.hexDigit = ParseIt.withErrorMessage "expected hexadecimal digit" (ParseIt.tokenMap Unicode.getHexDigit?)
Instances For
Parse noncharacter code point (Unicode property Noncharacter_Code_Point).
Equations
- ParseIt.Char.Unicode.noncharacter = ParseIt.withErrorMessage "expected noncharacter code point" (ParseIt.tokenFilter Unicode.isNoncharacterCodePoint)
Instances For
Parse default ignorable code point (Unicode property Default_Ignorable_Code_Point).
Equations
- ParseIt.Char.Unicode.defaultIgnorable = ParseIt.withErrorMessage "expected default ignorable code point" (ParseIt.tokenFilter Unicode.isDefaultIgnorableCodePoint)
Instances For
Parse ASCII character, U+0000 to U+007F.
Equations
- ParseIt.Char.Unicode.ascii = ParseIt.withErrorMessage "expected ASCII character" (ParseIt.tokenFilter fun (c : Char) => decide (c.val < 128))
Instances For
Parse assigned character, any general category except Cn.
Equations
- ParseIt.Char.Unicode.assigned = ParseIt.withErrorMessage "expected assigned character" (ParseIt.tokenFilter fun (c : Char) => !Unicode.GeneralCategory.isUnassigned c)
Instances For
Parse join control character, U+200C or U+200D (Unicode property Join_Control).
Equations
- ParseIt.Char.Unicode.joinControl = ParseIt.withErrorMessage "expected join control character" (ParseIt.tokenFilter fun (c : Char) => c == '' || c == '')
Instances For
Case-insensitive matching #
charCaseInsensitive c accepts and returns a character that matches c under simple case folding
(Unicode property Simple_Case_Folding).
Equations
- One or more equations did not get rendered due to their size.
Instances For
stringCaseInsensitive s accepts input whose full case folding (Unicode property Case_Folding,
statuses C and F) equals s, and returns the input that matched. The pattern s is expected to be
case folded already, for example "strasse" matches "Straße" and "STRASSE".
Equations
- One or more equations did not get rendered due to their size.
Instances For
Scripts #
Parse character of script sc (Unicode property Script).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Parse character commonly used with script sc (Unicode property Script_Extensions).
This differs from parseScript sc: for example, U+0951 DEVANAGARI STRESS SIGN UDATTA has script
Zinh (Inherited) but is accepted by parseScriptExt for Deva, Beng and others.
Equations
- One or more equations did not get rendered due to their size.
Instances For
General Category #
Parse character from given general category.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Parse letter (general category L).
Equations
Instances For
Parse cased letter (general category LC).
Equations
- ParseIt.Char.Unicode.GeneralCategory.casedLetter = ParseIt.withErrorMessage "expected cased letter (LC)" (ParseIt.tokenFilter Unicode.GeneralCategory.isCasedLetter)
Instances For
Parse lowercase letter (general category Ll).
Equations
- ParseIt.Char.Unicode.GeneralCategory.lowercaseLetter = ParseIt.withErrorMessage "expected lowercase letter (Ll)" (ParseIt.tokenFilter Unicode.GeneralCategory.isLowercaseLetter)
Instances For
Parse uppercase letter (general category Lu).
Equations
- ParseIt.Char.Unicode.GeneralCategory.uppercaseLetter = ParseIt.withErrorMessage "expected uppercase letter (Lu)" (ParseIt.tokenFilter Unicode.GeneralCategory.isUppercaseLetter)
Instances For
Parse titlecase letter (general category Lt).
Equations
- ParseIt.Char.Unicode.GeneralCategory.titlecaseLetter = ParseIt.withErrorMessage "expected titlecase letter (Lt)" (ParseIt.tokenFilter Unicode.GeneralCategory.isTitlecaseLetter)
Instances For
Parse other letter (general category Lm).
Equations
- ParseIt.Char.Unicode.GeneralCategory.modifierLetter = ParseIt.withErrorMessage "expected modifier letter (Lm)" (ParseIt.tokenFilter Unicode.GeneralCategory.isModifierLetter)
Instances For
Parse other letter (general category Lo).
Equations
- ParseIt.Char.Unicode.GeneralCategory.otherLetter = ParseIt.withErrorMessage "expected other letter (Lo)" (ParseIt.tokenFilter Unicode.GeneralCategory.isOtherLetter)
Instances For
Parse mark (general category M).
Equations
Instances For
Parse spacing combining mark (general category Mc).
Equations
- ParseIt.Char.Unicode.GeneralCategory.spacingMark = ParseIt.withErrorMessage "expected spacing mark (Mc)" (ParseIt.tokenFilter Unicode.GeneralCategory.isSpacingMark)
Instances For
Parse nonspacing combining mark (general category Mn).
Equations
- ParseIt.Char.Unicode.GeneralCategory.nonspacingMark = ParseIt.withErrorMessage "expected nonspacing mark (Mn)" (ParseIt.tokenFilter Unicode.GeneralCategory.isNonspacingMark)
Instances For
Parse enclosing combining mark (general category Me).
Equations
- ParseIt.Char.Unicode.GeneralCategory.enclosingMark = ParseIt.withErrorMessage "expected enclosing mark (Me)" (ParseIt.tokenFilter Unicode.GeneralCategory.isEnclosingMark)
Instances For
Parse number (general category N).
Equations
Instances For
Parse decimal number (general category Nd).
Equations
- ParseIt.Char.Unicode.GeneralCategory.decimalNumber = ParseIt.withErrorMessage "expected decimal number (Nd)" (ParseIt.tokenFilter Unicode.GeneralCategory.isDecimalNumber)
Instances For
Parse letter number (general category Nl).
Equations
- ParseIt.Char.Unicode.GeneralCategory.letterNumber = ParseIt.withErrorMessage "expected letter number (Nl)" (ParseIt.tokenFilter Unicode.GeneralCategory.isLetterNumber)
Instances For
Parse other number (general category No).
Equations
- ParseIt.Char.Unicode.GeneralCategory.otherNumber = ParseIt.withErrorMessage "expected other number (No)" (ParseIt.tokenFilter Unicode.GeneralCategory.isOtherNumber)
Instances For
Parse punctuation (general category P).
Equations
- ParseIt.Char.Unicode.GeneralCategory.punctuation = ParseIt.withErrorMessage "expected punctuation (P)" (ParseIt.tokenFilter Unicode.GeneralCategory.isPunctuation)
Instances For
Parse connector punctuation (general category Pc).
Equations
- ParseIt.Char.Unicode.GeneralCategory.connectorPunctuation = ParseIt.withErrorMessage "expected connector punctuation (Pc)" (ParseIt.tokenFilter Unicode.GeneralCategory.isConnectorPunctuation)
Instances For
Parse dash punctuation (general category Pd).
Equations
- ParseIt.Char.Unicode.GeneralCategory.dashPunctuation = ParseIt.withErrorMessage "expected dash punctuation (Pd)" (ParseIt.tokenFilter Unicode.GeneralCategory.isDashPunctuation)
Instances For
Parse opening punctuation (general category Ps).
Equations
- ParseIt.Char.Unicode.GeneralCategory.openPunctuation = ParseIt.withErrorMessage "expected opening punctuation (Ps)" (ParseIt.tokenFilter Unicode.GeneralCategory.isOpenPunctuation)
Instances For
Parse closing punctuation (general category Pe).
Equations
- ParseIt.Char.Unicode.GeneralCategory.closePunctuation = ParseIt.withErrorMessage "expected opening punctuation (Pe)" (ParseIt.tokenFilter Unicode.GeneralCategory.isClosePunctuation)
Instances For
Parse initial punctuation (general category Pi).
Equations
- ParseIt.Char.Unicode.GeneralCategory.initialPunctuation = ParseIt.withErrorMessage "expected initial punctuation (Pi)" (ParseIt.tokenFilter Unicode.GeneralCategory.isInitialPunctuation)
Instances For
Parse final punctuation (general category Pf).
Equations
- ParseIt.Char.Unicode.GeneralCategory.finalPunctuation = ParseIt.withErrorMessage "expected final punctuation (Pf)" (ParseIt.tokenFilter Unicode.GeneralCategory.isFinalPunctuation)
Instances For
Parse other punctuation (general category Po).
Equations
- ParseIt.Char.Unicode.GeneralCategory.otherPunctuation = ParseIt.withErrorMessage "expected other punctuation (Po)" (ParseIt.tokenFilter Unicode.GeneralCategory.isOtherPunctuation)
Instances For
Parse symbol (general category S).
Equations
Instances For
Parse math symbol (general category Sm).
Equations
- ParseIt.Char.Unicode.GeneralCategory.mathSymbol = ParseIt.withErrorMessage "expected math symbol (Sm)" (ParseIt.tokenFilter Unicode.GeneralCategory.isMathSymbol)
Instances For
Parse currency symbol (general category Sc).
Equations
- ParseIt.Char.Unicode.GeneralCategory.currencySymbol = ParseIt.withErrorMessage "expected currency symbol (Sc)" (ParseIt.tokenFilter Unicode.GeneralCategory.isCurrencySymbol)
Instances For
Parse modifier symbol (general category Sk).
Equations
- ParseIt.Char.Unicode.GeneralCategory.modifierSymbol = ParseIt.withErrorMessage "expected modifier symbol (Sk)" (ParseIt.tokenFilter Unicode.GeneralCategory.isModifierSymbol)
Instances For
Parse other symbol (general category So).
Equations
- ParseIt.Char.Unicode.GeneralCategory.otherSymbol = ParseIt.withErrorMessage "expected other symbol (So)" (ParseIt.tokenFilter Unicode.GeneralCategory.isOtherSymbol)
Instances For
Parse separator (general category Z).
Equations
Instances For
Parse space separator (general category Zs).
Equations
- ParseIt.Char.Unicode.GeneralCategory.spaceSeparator = ParseIt.withErrorMessage "expected space separator (Zs)" (ParseIt.tokenFilter Unicode.GeneralCategory.isSpaceSeparator)
Instances For
Parse line separator (general category Zl).
Equations
- ParseIt.Char.Unicode.GeneralCategory.lineSeparator = ParseIt.withErrorMessage "expected line separator (Zl)" (ParseIt.tokenFilter Unicode.GeneralCategory.isLineSeparator)
Instances For
Parse paragraph separator (general category Zp).
Equations
- ParseIt.Char.Unicode.GeneralCategory.paragraphSeparator = ParseIt.withErrorMessage "expected paragraph separator (Zp)" (ParseIt.tokenFilter Unicode.GeneralCategory.isParagraphSeparator)
Instances For
Parse other character (general category C).
Equations
- ParseIt.Char.Unicode.GeneralCategory.other = ParseIt.withErrorMessage "expected other character (C)" (ParseIt.tokenFilter Unicode.GeneralCategory.isOther)
Instances For
Parse control character (general category Cc).
Equations
- ParseIt.Char.Unicode.GeneralCategory.control = ParseIt.withErrorMessage "expected control character (Cc)" (ParseIt.tokenFilter Unicode.GeneralCategory.isControl)
Instances For
Parse format character (general category Cf).
Equations
- ParseIt.Char.Unicode.GeneralCategory.format = ParseIt.withErrorMessage "expected format character (Cf)" (ParseIt.tokenFilter Unicode.GeneralCategory.isFormat)
Instances For
Parse private-use character (general category Co).
Equations
- ParseIt.Char.Unicode.GeneralCategory.privateUse = ParseIt.withErrorMessage "expected private-use character (Co)" (ParseIt.tokenFilter Unicode.GeneralCategory.isPrivateUse)
Instances For
Parse unassigned code point (general category Cn).
Equations
- ParseIt.Char.Unicode.GeneralCategory.unassigned = ParseIt.withErrorMessage "expected unassigned code point (Cn)" (ParseIt.tokenFilter Unicode.GeneralCategory.isUnassigned)