mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-11 20:03:28 +00:00
Branches: main, 11.07 library/parsing_utils.m: Let float_literal, float_literal_as_string accept an optional plus sign in the exponent. This matches the syntax for Mercury and many other languages. tests/general/test_parsing_utils.m: tests/general/test_parsing_utils.exp: tests/general/test_parsing_utils.exp2: Update test case.
331 lines
9.0 KiB
Plaintext
331 lines
9.0 KiB
Plaintext
pass: next_char on ""
|
||
failed as expected
|
||
pass: next_char on "123"
|
||
returned '1' as expected
|
||
[1 chars consumed]
|
||
pass: char_in_class("123") on ""
|
||
failed as expected
|
||
pass: char_in_class("123") on "abc"
|
||
failed as expected
|
||
pass: char_in_class("123") on "123"
|
||
returned '1' as expected
|
||
[1 chars consumed]
|
||
pass: punct("!") on ""
|
||
failed as expected
|
||
pass: punct("!") on "abc"
|
||
failed as expected
|
||
pass: punct("!") on "*"
|
||
failed as expected
|
||
pass: punct("!") on "!"
|
||
returned unit as expected
|
||
[1 chars consumed]
|
||
pass: keyword("ABC", "ABC") on ""
|
||
failed as expected
|
||
pass: keyword("ABC", "ABC") on "123"
|
||
failed as expected
|
||
pass: keyword("ABC", "ABC") on "ABCA"
|
||
failed as expected
|
||
pass: keyword("ABC", "ABC") on "ABC 123"
|
||
returned unit as expected
|
||
[4 chars consumed]
|
||
pass: keyword("αβγ", "αβγ") on ""
|
||
failed as expected
|
||
pass: keyword("αβγ", "αβγ") on "123"
|
||
failed as expected
|
||
pass: keyword("αβγ", "αβγ") on "αβγα"
|
||
failed as expected
|
||
pass: keyword("αβγ", "αβγ") on "αβγ 123"
|
||
returned unit as expected
|
||
[4 chars consumed]
|
||
pass: keyword("ABC", "ABC") on "abc 123"
|
||
returned unit as expected
|
||
[4 chars consumed]
|
||
pass: ikeyword("αβγ", "αβγ") on "αβγ 123"
|
||
returned unit as expected
|
||
[4 chars consumed]
|
||
pass: identifier("ABC", "ABCabc_") on ""
|
||
failed as expected
|
||
pass: identifier("ABC", "ABCabc_") on "abc"
|
||
failed as expected
|
||
pass: identifier("ABC", "ABCabc_") on "_"
|
||
failed as expected
|
||
pass: identifier("ABC", "ABCabc_") on "A"
|
||
returned "A" as expected
|
||
[1 chars consumed]
|
||
pass: identifier("ABC", "ABCabc_") on "Ab_c"
|
||
returned "Ab_c" as expected
|
||
[4 chars consumed]
|
||
pass: identifier("ABC", "ABCabc_") on "*"
|
||
failed as expected
|
||
pass: identifier("ABC", "ABCabc_") on "Abc !"
|
||
returned "Abc" as expected
|
||
[4 chars consumed]
|
||
pass: identifier("αβγ", "αβγ_") on ""
|
||
failed as expected
|
||
pass: identifier("αβγ", "αβγ_") on "abc"
|
||
failed as expected
|
||
pass: identifier("αβγ", "αβγ_") on "_"
|
||
failed as expected
|
||
pass: identifier("αβγ", "αβγ_") on "α"
|
||
returned "α" as expected
|
||
[1 chars consumed]
|
||
pass: identifier("αβγ", "αβγ_") on "αβ_γ"
|
||
returned "αβ_γ" as expected
|
||
[4 chars consumed]
|
||
pass: whitespace on ""
|
||
returned unit as expected
|
||
[0 chars consumed]
|
||
pass: whitespace on "123"
|
||
returned unit as expected
|
||
[0 chars consumed]
|
||
pass: whitespace on " "
|
||
returned unit as expected
|
||
[3 chars consumed]
|
||
pass: whitespace on " 123"
|
||
returned unit as expected
|
||
[3 chars consumed]
|
||
pass: skip_to_eol on ""
|
||
failed as expected
|
||
pass: skip_to_eol on "blah blah
|
||
"
|
||
returned unit as expected
|
||
[10 chars consumed]
|
||
pass: skip_to_eol on "blah blah
|
||
123"
|
||
returned unit as expected
|
||
[10 chars consumed]
|
||
pass: eof on "123"
|
||
failed as expected
|
||
pass: eof on ""
|
||
returned unit as expected
|
||
[0 chars consumed]
|
||
pass: float_literal_as_string on ""
|
||
failed as expected
|
||
pass: float_literal_as_string on "abc"
|
||
failed as expected
|
||
pass: float_literal_as_string on "123"
|
||
failed as expected
|
||
pass: float_literal_as_string on "123.0 abc"
|
||
returned "123.0" as expected
|
||
[8 chars consumed]
|
||
pass: float_literal_as_string on "123.0e1 abc"
|
||
returned "123.0e1" as expected
|
||
[10 chars consumed]
|
||
pass: float_literal_as_string on "-123.0 abc"
|
||
returned "-123.0" as expected
|
||
[9 chars consumed]
|
||
pass: float_literal_as_string on "-123.0e1 abc"
|
||
returned "-123.0e1" as expected
|
||
[11 chars consumed]
|
||
pass: float_literal_as_string on "-123.0e-1 abc"
|
||
returned "-123.0e-1" as expected
|
||
[12 chars consumed]
|
||
pass: float_literal_as_string on "-123.0e+1 abc"
|
||
returned "-123.0e+1" as expected
|
||
[12 chars consumed]
|
||
pass: float_literal_as_string on "-123.0E1 abc"
|
||
returned "-123.0E1" as expected
|
||
[11 chars consumed]
|
||
pass: float_literal_as_string on "-123.0E-1 abc"
|
||
returned "-123.0E-1" as expected
|
||
[12 chars consumed]
|
||
pass: float_literal_as_string on "-123.0E+1 abc"
|
||
returned "-123.0E+1" as expected
|
||
[12 chars consumed]
|
||
pass: float_literal on ""
|
||
failed as expected
|
||
pass: float_literal on "abc"
|
||
failed as expected
|
||
pass: float_literal on "123"
|
||
failed as expected
|
||
pass: float_literal on "123.0 abc"
|
||
returned 123.0 as expected
|
||
[8 chars consumed]
|
||
pass: float_literal on "123.0e1 abc"
|
||
returned 1230.0 as expected
|
||
[10 chars consumed]
|
||
pass: float_literal on "-123.0 abc"
|
||
returned -123.0 as expected
|
||
[9 chars consumed]
|
||
pass: float_literal on "-123.0e1 abc"
|
||
returned -1230.0 as expected
|
||
[11 chars consumed]
|
||
pass: float_literal on "-123.0e+1 abc"
|
||
returned -1230.0 as expected
|
||
[12 chars consumed]
|
||
pass: float_literal on "-123.0E-1 abc"
|
||
returned -12.3 as expected
|
||
[12 chars consumed]
|
||
pass: int_literal_as_string on ""
|
||
failed as expected
|
||
pass: int_literal_as_string on "abc"
|
||
failed as expected
|
||
pass: int_literal_as_string on "123.0"
|
||
failed as expected
|
||
pass: int_literal_as_string on "123 abc"
|
||
returned "123" as expected
|
||
[6 chars consumed]
|
||
pass: int_literal_as_string on "-123 abc"
|
||
returned "-123" as expected
|
||
[7 chars consumed]
|
||
pass: int_literal_as_string on "999999999999999999999 abc"
|
||
returned "999999999999999999999" as expected
|
||
[24 chars consumed]
|
||
pass: int_literal on ""
|
||
failed as expected
|
||
pass: int_literal on "abc"
|
||
failed as expected
|
||
pass: int_literal on "123.0"
|
||
failed as expected
|
||
pass: int_literal on "123 abc"
|
||
returned 123 as expected
|
||
[6 chars consumed]
|
||
pass: int_literal on "-123 abc"
|
||
returned -123 as expected
|
||
[7 chars consumed]
|
||
pass: int_literal on "999999999999999999999 abc"
|
||
failed as expected
|
||
pass: string_literal('\"') on ""
|
||
failed as expected
|
||
pass: string_literal('\"') on ""123" abc"
|
||
returned "123" as expected
|
||
[8 chars consumed]
|
||
pass: string_literal('\"') on ""1\"2\"3" abc"
|
||
returned "1\\\"2\\\"3" as expected
|
||
[12 chars consumed]
|
||
pass: string_literal('\'') on ""
|
||
failed as expected
|
||
pass: string_literal('\'') on "'123' abc"
|
||
returned "123" as expected
|
||
[8 chars consumed]
|
||
pass: string_literal('\'') on "'1\'2\'3' abc"
|
||
returned "1\\\'2\\\'3" as expected
|
||
[12 chars consumed]
|
||
pass: string_literal('‖') on ""
|
||
failed as expected
|
||
pass: string_literal('‖') on "‖123‖ abc"
|
||
returned "123" as expected
|
||
[8 chars consumed]
|
||
pass: string_literal('‖') on "‖αβγ‖ abc"
|
||
returned "αβγ" as expected
|
||
[8 chars consumed]
|
||
pass: optional(punct("!")) on ""
|
||
returned no as expected
|
||
[0 chars consumed]
|
||
pass: optional(punct("!")) on "abc"
|
||
returned no as expected
|
||
[0 chars consumed]
|
||
pass: optional(punct("!")) on "! "
|
||
returned yes(unit) as expected
|
||
[4 chars consumed]
|
||
pass: zero_or_more(punct("!")) on ""
|
||
returned [] as expected
|
||
[0 chars consumed]
|
||
pass: zero_or_more(punct("!")) on "abc"
|
||
returned [] as expected
|
||
[0 chars consumed]
|
||
pass: zero_or_more(punct("!")) on "!!! abc"
|
||
returned [unit, unit, unit] as expected
|
||
[6 chars consumed]
|
||
pass: one_or_more(punct("!")) on ""
|
||
failed as expected
|
||
pass: one_or_more(punct("!")) on "abc"
|
||
failed as expected
|
||
pass: one_or_more(punct("!")) on "!!! abc"
|
||
returned [unit, unit, unit] as expected
|
||
[6 chars consumed]
|
||
pass: brackets("(", ")", punct("!")) on ""
|
||
failed as expected
|
||
pass: brackets("(", ")", punct("!")) on "abc"
|
||
failed as expected
|
||
pass: brackets("(", ")", punct("!")) on "(abc)"
|
||
failed as expected
|
||
pass: brackets("(", ")", punct("!")) on "(!) abc"
|
||
returned unit as expected
|
||
[6 chars consumed]
|
||
pass: separated_list("+", punct("!")) on ""
|
||
returned [] as expected
|
||
[0 chars consumed]
|
||
pass: separated_list("+", punct("!")) on "abc"
|
||
returned [] as expected
|
||
[0 chars consumed]
|
||
pass: separated_list("+", punct("!")) on "! abc"
|
||
returned [unit] as expected
|
||
[4 chars consumed]
|
||
pass: separated_list("+", punct("!")) on "!+ ! + ! abc"
|
||
returned [unit, unit, unit] as expected
|
||
[11 chars consumed]
|
||
pass: comma_separated_list(punct("!")) on ""
|
||
returned [] as expected
|
||
[0 chars consumed]
|
||
pass: comma_separated_list(punct("!")) on "abc"
|
||
returned [] as expected
|
||
[0 chars consumed]
|
||
pass: comma_separated_list(punct("!")) on "! abc"
|
||
returned [unit] as expected
|
||
[4 chars consumed]
|
||
pass: comma_separated_list(punct("!")) on "!, ! , ! abc"
|
||
returned [unit, unit, unit] as expected
|
||
[11 chars consumed]
|
||
pass: optional(int_with_state) on "abc"
|
||
returned [] as expected
|
||
[0 chars consumed]
|
||
pass: optional(int_with_state) on "1"
|
||
returned [1] as expected
|
||
[1 chars consumed]
|
||
pass: zero_or_more(int_with_state) on "abc"
|
||
returned [] as expected
|
||
[0 chars consumed]
|
||
pass: zero_or_more(int_with_state) on "1 2 3"
|
||
returned [3, 2, 1] as expected
|
||
[5 chars consumed]
|
||
pass: one_or_more(int_with_state) on "abc"
|
||
failed as expected
|
||
pass: one_or_more(int_with_state) on "1 2 3"
|
||
returned [3, 2, 1] as expected
|
||
[5 chars consumed]
|
||
--
|
||
Line = 2, Pos = 5
|
||
Line = 2, Pos = 3
|
||
Line = 7, Pos = 1
|
||
Line = 4, Pos = 2
|
||
Line = 3, Pos = 1
|
||
Line = 1, Pos = 3
|
||
Line = 1, Pos = 1
|
||
Line = 2, Pos = 10
|
||
Line = 3, Pos = 1
|
||
Line = 1, Pos = 1
|
||
--
|
||
Line = 1, Pos = 1
|
||
Line = 1, Pos = 2
|
||
Line = 1, Pos = 3
|
||
Line = 1, Pos = 4
|
||
Line = 2, Pos = 1
|
||
Line = 2, Pos = 2
|
||
Line = 3, Pos = 1
|
||
Line = 4, Pos = 1
|
||
Line = 4, Pos = 2
|
||
Line = 4, Pos = 3
|
||
--
|
||
expecting an operator
|
||
12 + x-pow(x + 3; y)
|
||
^
|
||
syntax error
|
||
abs(x ++ 3)
|
||
^
|
||
expecting an operator
|
||
abs (x))
|
||
^
|
||
unknown function: f
|
||
1 + 3 MoD 2 + f(3 + x)
|
||
^
|
||
expecting an operator
|
||
1 + /* comment */ 3 mody 2 + f(3 + x)
|
||
^
|
||
expecting an operator
|
||
1 + 1x
|
||
^
|
||
unterminated comment
|
||
1 + 2 /* blah blah ...
|
||
^
|