Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Objective-C Tokenizer and Parser Generator. Supports Grammars.
Objective-C Other
Branch: master
Failed to load latest commit information.
ParseKit.xcodeproj
ParserGenApp merging fixes from tree-rewrite branch back to trunk
debugapp Merge from SVN. All new Static features included
demoapp moving files to correct dir (src vs test)
docs fix location of PKNodeVisitor.h
en.lproj Merge from SVN. All new Static features included
include/ParseKit remove expected: arg. move back to _tokenKindNameTab
lib Merge from SVN. All new Static features included
res * cleanup. remove warnings
src * revert porting of delimit state changes from pegkit
test * cleanup. remove warnings
.gitignore ignores
License.txt initial add
README.md * pegkit tutorial link

README.md

Deprecation Notice

I've forked ParseKit into a new faster/cleaner/smaller library called PEGKit.

ParseKit should be considered deprecated, and PEGKit should be used for all new development.

ParseKit was originally a very dynamic library with poor performance. Over time, I added static source code generation features (inspired by ANTLR) with much better performance.

My new PEKit library eschews all of the dynamic aspects of the original ParseKit library and retains only the new, fast, static code-generation aspects.

PEGKit's grammar syntax is very similar to ParseKit. The differences in PEGKit's grammar syntax are:

  1. There is no longer an explicit (redundant) @start rule. The first rule defined in your grammar is implicitly recognized as your start rule. This simplifies your grammar slightly.
  2. Tokenizer Directives are removed. Instead, use a @before block on your start rule to configure your tokenizer behavior with Objective-C code. An example.

The highly dynamic nature of the original ParseKit library may still be usefull in some rare circumstances, but you almost certainly want to use PEGKit for all new development. See this PEGKit tutorial.

ParseKit

ParseKit is a Mac OS X Framework written by Todd Ditchendorf in Objective-C and released under the Apache 2 Open Source License. ParseKit is suitable for use on iOS or Mac OS X. ParseKit is an Objective-C is heavily influced by ANTLR by Terence Parr and "Building Parsers with Java" by Steven John Metsker. Also, ParseKit depends on MGTemplateEngine by Matt Gemmell for its templating features.

The ParseKit Framework offers 3 basic services of general interest to Cocoa developers:

  1. String Tokenization via the Objective-C PKTokenizer and PKToken classes.
  2. High-Level Language Parsing via Objective-C - An Objective-C parser-building API (the PKParser class and sublcasses).
  3. Objective-C Parser Generation via Grammars - Generate an Objective-C source code for parser for your custom language using a BNF-style grammar syntax (similar to yacc or ANTLR). While parsing, the parser will provide callbacks to your Objective-C code.

More about ParseKit can be found on ParseKit.com

Something went wrong with that request. Please try again.