[MLton] Bug report: parsing failure

Andreas Rossberg rossberg@ps.uni-sb.de
Tue, 01 Feb 2005 16:49:21 +0100


Hi,

strangely, MLton fails to parse the following program:

   val x = 0;
   ignore x;
   ignore x;

Inserting a additional semicolon between the applications makes the 
compiler accept it.

Log follows below.

	- Andreas

MLton starting
MLton 20041109 (built Tue Nov 09 18:05:08 2004 on redhat71)
   created this file on Tue Feb 01 16:41:39 2005.
Do not edit this file.
Flag settings:
    align: 4
    atMLtons: (x, @MLton, --)
    basis library: basis-2002
    log2 (card size): 8
    chunk: chunk per function
    codegen: Native
    contifyIntoMain: false
    debug: false
    deepFlattenDelay: true
    deepFlattenUnify: false
    defines: []
    diag passes: []
    drop passes: []
    elaborate allowConstant (default): false
    elaborate allowConstant (enabled): true
    elaborate allowExport (default): false
    elaborate allowExport (enabled): true
    elaborate allowImport (default): false
    elaborate allowImport (enabled): true
    elaborate allowPrim (default): false
    elaborate allowPrim (enabled): true
    elaborate allowOverload (default): false
    elaborate allowOverload (enabled): true
    elaborate allowRebindEquals (default): false
    elaborate allowRebindEquals (enabled): true
    elaborate deadCode (default): false
    elaborate deadCode (enabled): true
    elaborate forceUsed (default): 0
    elaborate forceUsed (enabled): true
    elaborate sequenceUnit (default): false
    elaborate sequenceUnit (enabled): true
    elaborate warnMatch (default): true
    elaborate warnMatch (enabled): true
    elaborate warnUnused (default): false
    elaborate warnUnused (enabled): true
    elaborate only: false
    eliminate overflow: true
    export header: None
    exn history: false
    gc check: Limit
    handlers: Flow
    indentation: 3
    inline: NonRecursive {product = 320, small = 60}
    inlineIntoMain: true
    input file: x
    instrument: false
    instrument Sxml: false
    keep Machine: false
    keep RSSA: false
    keep SSA: false
    keep SSA2: false
    keep dot: false
    keep passes: []
    extra_: false
    lib dir: /usr/lib/mlton
    lib target dir: /usr/lib/mlton/self
    limit check: loop headers (fullCFG = false, loopExits = true)
    limit check counts: false
    loop passes: 1
    mark cards: true
    max function size: 10000
    may load world: true
    native commented: 0
    native live stack: false
    native optimize: 1
    native move hoist: true
    native copy prop: true
    native copy prop cutoff: 1000
    native cutoff: 100
    native live transfer: 8
    native future: 64
    native shuffle: true
    native ieee fp: false
    native split: Some 20000
    new return: false
    polyvariance: Some {rounds = 2, small = 30, product = 300}
    prof passes: []
    profile: None
    profile basis: false
    profile branch: false
    profile IL: ProfileSource
    profile stack: false
    reserve esp: None
    show basis: None
    show def-use: None
    show types: false
    ssaPassesSet: <ssaPassesSet>
    ssaPasses: [default]
    ssa2PassesSet: <ssa2PassesSet>
    ssa2Passes: [default]
    stack cont: false
    static: false
    sxmlPassesSet: <sxmlPassesSet>
    sxmlPasses: [default]
    target: self
    target arch: X86
    target OS: Linux
    type check: false
    type error: concise
    use basis library: true
    verbosity: Pass
    warn unrecognized annotation: true
    xmlPassesSet: <xmlPassesSet>
    xmlPasses: [default]
    zone cut depth: 100
    Compile SML starting
       pre codegen starting
          parseAndElaborate starting
Error: x.sml 2.9.
   Syntax error: inserting  SEMICOLON.
          parseAndElaborate finished in 1.48 + 0.63 (30% GC)
       pre codegen raised in 1.48 + 0.63 (30% GC)
    Compile SML raised in 1.49 + 0.63 (30% GC)
MLton raised in 1.49 + 0.63 (30% GC)
compilation aborted: parseAndElaborate reported errors
groove:~/src/hamlet/test> mlton x.sml
groove:~/src/hamlet/test> mlton x.sml
Error: x.sml 2.9.
   Syntax error: inserting  SEMICOLON.
compilation aborted: parseAndElaborate reported errors