• Stars
    star
    511
  • Rank 86,473 (Top 2 %)
  • Language
    Objective-C
  • License
    Apache License 2.0
  • Created almost 15 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Objective-C Tokenizer and Parser Generator. Supports Grammars.

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 Repositories

1

pegkit

'Parsing Expression Grammar' toolkit for Cocoa/Objective-C
Objective-C
388
star
2

umekit

UMEKit - A port of UIKit for Mac OS X desktop
Objective-C
197
star
3

threadutils

Cocoa Concurrency Things.
Objective-C
147
star
4

tdtemplateengine

A multi-pass, streaming template engine implemented in Cocoa, for use in Cocoa.
Objective-C
61
star
5

panthro

An implementation of XPath 3.0 in Objective-C/Cocoa
C
45
star
6

PEGKitMiniMathTutorial

A PEGKit Tutorial
Objective-C
25
star
7

ParseKitMiniMathExample

An example of how to use ParseKit in an iOS app.
Objective-C
25
star
8

xmlmate

XML Validation/XPath Visualization plug-in for TextMate (validation via DTD/XSD/RNG/Schematron)
C
10
star
9

tdappkit

AppKit Helper Things
Objective-C
8
star
10

yourbugreportsucks

Your Bug Report Sucks
CSS
7
star
11

SchwartzTemplateDocumentation

Documentation for Schwartz's Template Language
6
star
12

makeitso

Make It So โ€“ An ORM written in Cocoa for use in Cocoa based on "Patterns of Enterprise Application Architecture"
Objective-C
4
star
13

ffengine

A Cocoa wrapper for the FriendFeed API (suitable for iPhoneOS or Mac OS X Leopard or later)
C++
3
star
14

xslt-tmbundle

TextMate XSLT Bundle
3
star
15

xslpalette

XSLPalette
C
3
star
16

pathological-docs

Pathological Documentation
2
star
17

assembly

Assembly
Objective-C
2
star
18

parsekit-tmbundle

ParseKit TextMate Bundle.
2
star
19

evolution

Objective-C
2
star
20

shownotes

ShowNotes
Objective-C
1
star
21

lcars

LCARS
Objective-C
1
star
22

longtermcache

Long Term on disk object storage for OS X or iOS
Objective-C
1
star
23

cocoatron

Cocoatron โ€“ XML Suite for Automator
C
1
star
24

kids

Objective-C
1
star
25

techbrowser

TechBrowser
Objective-C
1
star
26

GrafikKonsolDocumentation

Grafik Konsol Documentation
1
star