Closed Bug 433211 Opened 16 years ago Closed 16 years ago

Front end adjustments for parity with 5 May 2008 grammar

Categories

(Tamarin Graveyard :: Self-hosting compiler (ESC), defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: lhansen, Unassigned)

Details

Attachments

(2 files)

Rather a lot of small changes to the front end to bring it up to parity with the May 5 grammar.  Many of the new syntactic structures supported do not have back-end support, but in most cases intelligible errors are thrown.

New in this patch:
  - removed support for 
    - triple-quoted strings
    - xor operator (^^)
  - added support for 
    - forward declarations of types, classes, interfaces
    - 'like'
    - 'this generator' and 'this function'
    - let block statement
    - slice expressions
    - spread expressions, spread patterns, spread types
    - array comprehensions
    - type application
    - yield without an expression
    - ... without an identifier
    - full object/array initializer syntax (a lot of hair here)
    - function types
    - super() statement in constructors
    - strings as literal namespace values

Many bugs were fixed in the process.  Performance is generally better, though early namespace resolution has introduced some performance regressions too.

Note that there is no definer support here; the code performs namespace resolution but the namespace must be defined before the reference, and no values are tracked across files yet.
Attachment #320406 - Flags: review?(jodyer)
Attachment #320407 - Flags: review+
Pushed: 544:889858474f5d
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Attachment #320406 - Flags: review?(jodyer)
Comment on attachment 320406 [details] [diff] [review]
Patch, source only

Review not relevant on this, Jeff reviewed the other patch.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: