Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Objective-C target

Author

Kay Röpke
kroepke(at)classdump(dot)org (offline due to hardware failure)
kroepke(at)epublica.de (use this for now)

Status

As of mid July '06 the better part of the lexer support is done. Simple parsers can be built, too.

Features (partially) missing are:

  • Tree support
  • Scopes
    • Parameters
    • multiple return values
    • arbitrary scopes
  • Labels
    • token reference labels
    • other labels
  • Tests - well, most of them
  • Template support
  • Predicates - need more testing

Features completed:

  • Single rule return values
  • FOLLOW sets (bitsets)
  • cyclic DFAs
  • Scopes
    • dynamic scopes
  • Labels
    • token reference labels
  • Syntactic Predicates

Roadmap

The plan is to be totally feature complete by the time v3 goes final. Tree support will come last, as it requires a bit more work from Terence on the Java side of life. Better to provide a stable lexer and parser generator than to have flaky tree support at first.
I will use v3 to write a number of different small applications in order to find out about all the small bugs that are hiding in the corners. Thus development will probably not be milestone based, but rather fix-as-they-come-up.
Regarding the template output support of v3, this will require an Objective-C implementation of ST, which will take a lot of time. So don't expect that for 3.0.

Platforms

I will only concern myself with the Mac. There will be no GNUStep support.
As for Mac OS X versions, I aim to be compatible with at least 10.3 as a target platform, though the Xcode project will require the latest version available, since it really doesn't make a lot of sense to use it in an earlier version.

Runtime

The runtime will be built in terms of the NS* level of classes, and is probably not very optimized in the first versions. I'll identify hotspots later and maybe add a CF-based runtime for speed if it turns out to be a problem.
The layout of the runtime is essentially the same as the Java version, though subtle differences will be visible where it makes it more natural to the Objective-C programmer. Naming of classes and methods may be slightly different and sometimes inner workings are too.

Examples

The goal is to provide the complete set of Java-based examples in Objective-C for comparison. There may be additional examples contained in the Xcode project. These exist mainly for development purposes as testcases, or to try out features.

  • No labels