Files
mercury/tests/general/test_parsing_utils.exp2
Peter Wang a5797d6cf9 Let float_literal, float_literal_as_string accept an optional plus sign
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.
2012-06-13 06:41:56 +00:00

331 lines
9.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 ...
^