Coder Social home page Coder Social logo

munyola / parsekit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from itod/parsekit

0.0 1.0 0.0 4.33 MB

Objective-C Tokenizer and Parser Generator. Supports Grammars.

License: Apache License 2.0

Objective-C 95.36% CSS 0.21% C 0.03% HTML 4.40%

parsekit's Introduction

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.

parsekit's People

Contributors

bryant1410 avatar imageoptimiser avatar itod avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.