forgex_error_m Module


Variables

Type Visibility Attributes Name Initial
character(len=*), public, parameter :: err_allocation = "ERROR: Allocation is failed."
character(len=*), public, parameter :: err_character_class_subtraction = "ERROR: Character class subtraction hasn't implemented yet."
character(len=*), public, parameter :: err_empty_character_class = "ERROR: Given class has no character."
character(len=*), public, parameter :: err_escaped_symbol_invalid = "ERROR: This token has no special meaning."
character(len=*), public, parameter :: err_escaped_symbol_missing = "ERROR: Pattern cannot end with a trailing unescaped backslash."
character(len=*), public, parameter :: err_exceed_unicode_limit = "ERROR: Given hex number exceeds the range of unicode codepoint."
character(len=*), public, parameter :: err_generic = "ERROR: Pattern includes some syntax error."
character(len=*), public, parameter :: err_hex_is_not_enought_digit = "ERROR: At least 2 hexadecimal digits are required (e.g., '0A' instead of 'A')."
character(len=*), public, parameter :: err_invalid_character_range = "ERROR: Given character range is invalid."
character(len=*), public, parameter :: err_invalid_hexadecimal_value = "ERROR: Invalid characters detected. Ensure all characters are 0-9, A-F/a-f."
character(len=*), public, parameter :: err_invalid_quantifier = "ERROR: Given quantifier range is invalid."
character(len=*), public, parameter :: err_is_nothing = "Given pattern is valid."
character(len=*), public, parameter :: err_misplaced_subtraction_operator = "ERROR: Subtraction operator is misplaced in the given character class."
character(len=*), public, parameter :: err_plus_incomplete = "ERROR: Not quantifiable; plus '+' operator is missing operand."
character(len=*), public, parameter :: err_question_incomplete = "ERROR: Not quantifiable; question '?' operator is missing operand."
character(len=*), public, parameter :: err_r_bracket_missing = "ERROR: Closing square bracket is expected."
character(len=*), public, parameter :: err_r_bracket_unexpected = "ERROR: Unexpected closing square bracket error."
character(len=*), public, parameter :: err_r_curlybrace_missing = "ERROR: Closing right curlybrace is expected."
character(len=*), public, parameter :: err_r_curlybrace_unexpected = "ERROR: Unexpected closing right curlybrace error."
character(len=*), public, parameter :: err_r_parenthesis_missing = "ERROR: Closing parenthesis is expected."
character(len=*), public, parameter :: err_r_parenthesis_unexpected = "ERROR: Unexpected closing parenthesis error."
character(len=*), public, parameter :: err_range_with_escape_sequences = "ERROR: Cannot create a range with shorthand escape sequence"
character(len=*), public, parameter :: err_star_incomplete = "ERROR: Not quantifiable; star '*' operator is missing operand."
character(len=*), public, parameter :: err_this_should_not_happen = "ERROR: Fatal error is happened."
character(len=*), public, parameter :: err_token_incomplete = "ERROR: The token is incomplete."
character(len=*), public, parameter :: err_unicode_property = "ERROR: Unicode property escape hasn't implemented yet."

Enumerations

enum, bind(c)

Enumerators

enumerator:: SYNTAX_VALID = 0
enumerator:: SYNTAX_ERR = 1
enumerator:: SYNTAX_ERR_PARENTHESIS_MISSING = 2
enumerator:: SYNTAX_ERR_PARENTHESIS_UNEXPECTED = 3
enumerator:: SYNTAX_ERR_BRACKET_MISSING = 4
enumerator:: SYNTAX_ERR_BRACKET_UNEXPECTED = 5
enumerator:: SYNTAX_ERR_CURLYBRACE_MISSING = 6
enumerator:: SYNTAX_ERR_CURLYBRACE_UNEXPECTED = 7
enumerator:: SYNTAX_ERR_INVALID_TIMES = 8
enumerator:: SYNTAX_ERR_ESCAPED_SYMBOL_MISSING = 9
enumerator:: SYNTAX_ERR_ESCAPED_SYMBOL_INVALID = 10
enumerator:: SYNTAX_ERR_EMPTY_CHARACTER_CLASS = 11
enumerator:: SYNTAX_ERR_RANGE_WITH_ESCAPE_SEQUENCES = 12
enumerator:: SYNTAX_ERR_MISPLACED_SUBTRACTION_OPERATOR = 13
enumerator:: SYNTAX_ERR_INVALID_CHARACTER_RANGE = 14
enumerator:: SYNTAX_ERR_CHAR_CLASS_SUBTRANCTION_NOT_IMPLEMENTED = 15
enumerator:: SYNTAX_ERR_STAR_INCOMPLETE = 16
enumerator:: SYNTAX_ERR_PLUS_INCOMPLETE = 17
enumerator:: SYNTAX_ERR_QUESTION_INCOMPLETE = 18
enumerator:: SYNTAX_ERR_INVALID_HEXADECIMAL = 19
enumerator:: SYNTAX_ERR_HEX_DIGITS_NOT_ENOUGH = 20
enumerator:: SYNTAX_ERR_UNICODE_EXCEED = 21
enumerator:: SYNTAX_ERR_UNICODE_PROPERTY_NOT_IMPLEMENTED = 22
enumerator:: SYNTAX_ERR_EMPTY_PROPERTY = 23
enumerator:: SYNTAX_ERR_THIS_SHOULD_NOT_HAPPEN = 24
enumerator:: ALLOCATION_ERR = 25

Functions

public pure function get_error_message(code) result(msg)

This function accepts integer error status code and then return error messagge corresponding to it. !

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: code

Return Value character(len=:), allocatable