[Mono-bugs] [Bug 576332] New: Possible parse error when encounting Uighur script unicode characters

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Feb 2 18:31:20 EST 2010


http://bugzilla.novell.com/show_bug.cgi?id=576332

http://bugzilla.novell.com/show_bug.cgi?id=576332#c0


           Summary: Possible parse error when encounting Uighur script
                    unicode characters
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.6.x
          Platform: PC
        OS/Version: Windows 7
            Status: NEW
          Severity: Minor
          Priority: P5 - None
         Component: misc
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: aChrisSmith at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Created an attachment (id=340335)
 --> (http://bugzilla.novell.com/attachment.cgi?id=340335)
F# source file with Uighur script literals.

Description of Problem:

The F# compiler is unable to parse Uighur script when executing on top of the
Mono platform. When on the Windows .NET it works fine. (I was unable to find a
repro that does not involve the F# compiler.)

Steps to reproduce the problem:
1. Download the latest F# CTP at:
http://www.microsoft.com/downloads/details.aspx?FamilyID=b55f0532-ac3c-4106-918c-5586a953a7da&displaylang=en
2. Attempt to the compile the attached source file.

Actual Results:

Parse failures.

Expected Results:

Parse / compile success.

How often does this happen? 

Every time.

Additional Information:

Here is a console session showing success when running on Windows, failure on
Mono. (Note the file is in Unicode, so printing to the console doesn't do it
justice.)

D:\FSharp\Oct 2009 CTP\bin>type Uighur.fs
module ??????????
    type Foo =
        | Bar of int
        | Baz of int
        | Zoo of int
        | Yap of string

    type E = | ?????????? = 1
             | ?????????? = 2

    let ???????? = Foo.Bar(1)

    let ?????????? = Foo.Baz(1)

    let  ?????????? = Foo.Zoo(3)

    let ????? = Foo.Yap("??????%??")

    /// ??????????
    let e = (* ?????????? *) E.??????????

    type ??????????(????????? : Foo) =
        let ?????????? = ?????????

        member ??????????.??????????(?????????? : Foo) =
            match ?????????? with
            | Foo.Bar(_) -> "??????????"
            | Foo.Baz(_) -> "??????????"
            | Foo.Zoo(_) -> "?????????"
            | Foo.Yap(_) -> "??????????"

    let ???? = ??????????(????????)
    let ???????? = ??????????(??????????)
    let ??????? = ??????????(  ??????????)
    let ?? = ??????????(?????)

    let ???() =
        ????.??????????(????????) |> ignore
        ????????.??????????(??????????) |> ignore
        ???????.??????????( ??????????) |> ignore
        ??.??????????(?????) |> ignore

        "????????"

D:\FSharp\Oct 2009 CTP\bin>fsc.exe Uighur.fs
Microsoft F# Compiler, (c) Microsoft Corporation, All Rights Reserved
F# Version 1.9.7.8, compiling for .NET Framework Version v2.0.50727

D:\FSharp\Oct 2009 CTP\bin>mono fsc.exe Uighur.fs
Microsoft F# Compiler, (c) Microsoft Corporation, All Rights Reserved
F# Version 1.9.7.8, compiling for .NET Framework Version v2.0.50727

Uighur.fs(22,10): error FS0010: Unexpected character '?n' in type nam

Uighur.fs(26,13): error FS0010: Unexpected start of structured construct in e
ession

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list