Global Information Lookup Global Information

PackCC information


PackCC
Developer(s)Arihiro Yoshida
Written inC
Operating systemCross-platform
TypeParser generator
LicenseMIT License
Websitegithub.com/arithy/packcc

PackCC is a parser generator for C. Its main features are as follows:

  • Generates a parser in written C from a grammar described in a PEG,
  • Gives a parser great efficiency by packrat parsing,
  • Supports direct and indirect left-recursive grammar rules,
  • Generates a thread-safe and reentrant parser,
  • Consists of just a single compact source file.

The grammar of an output parser can be described in a PEG (Parsing Expression Grammar). The PEG is a top-down parsing language, and is similar to the regular expression grammar. Compared with a bottom-up parsing language, like Yacc's one, the PEG is much more intuitive and cannot be ambiguous. The PEG does not require tokenization to be a separate step, and tokenization rules can be written in the same way as any other grammar rules.

The generated parser can parse inputs very efficiently by packrat parsing. The packrat parsing is the recursive descent parsing algorithm that is accelerated using memoization. By using packrat parsing, any input can be parsed in linear time. Without it, however, the resulting parser could exhibit exponential time performance in the worst case due to the unlimited look-ahead capability.

Unlike common packrat parsers, PackCC can support direct and indirect left-recursive grammar rules.[1] This makes grammar rules much more intuitive.

The generated code is beautified and as ease-of-understanding as possible. Actually, it uses many goto statements, but the control flows are much more traceable than goto spaghetti storms generated by some other parser generators.

PackCC itself is under MIT license, but the generated code can be distributed under any license or can be used in proprietary software.

  1. ^ "Packrat Parsers Can Support Left Recursion" authored by A. Warth, J. R. Douglass, and T. Millstein

and 24 Related for: PackCC information

Request time (Page generated in 0.5901 seconds.)

PackCC

Last Update:

PackCC is a parser generator for C. Its main features are as follows: Generates a parser in written C from a grammar described in a PEG, Gives a parser...

Word Count : 404

Parsing

Last Update:

grammar GOLD JavaCC Lemon Lex LuZc Parboiled Parsec Ragel Spirit Parser Framework Syntax Definition Formalism SYNTAX XPL Yacc PackCC Lookahead establishes...

Word Count : 4857

Comparison of parser generators

Last Update:

languages with JavaCC". InfoWorld. Retrieved 2023-11-04. "JavaCC". JavaCC. Retrieved 2023-11-04. "Building parsers for the web with JavaCC & GWT (Part one)"...

Word Count : 1106

Packrat parser

Last Update:

(modified, partial memoization) JavaScript, Squeak, Python Mixed All Free, MIT PackCC Packrat (modified, left-recursion support) C Mixed All Free, MIT Packrat...

Word Count : 1860

EuroPowerPack

Last Update:

The EuroPowerPack is the combination of the MTU MT883 Ka-500/501 diesel engine delivering over 1100 kW (1500 PS) shaft power with the ten-speed (five forward...

Word Count : 380

Blister pack

Last Update:

A blister pack is any of several types of pre-formed plastic packaging used for small consumer goods, foods, and for pharmaceuticals. The primary component...

Word Count : 2872

Visual cortex

Last Update:

90 (2): 930–7. doi:10.1152/jn.00708.2002. PMID 12711710. S2CID 540146. Pack CC, Born RT, Livingstone MS (2003). "Two-dimensional substructure of stereo...

Word Count : 7788

KTM

Last Update:

competitions by limiting two-stroke displacement at 125 cc for the 250 cc class and 250 cc for the 450 cc class. While other manufacturers have decided to discontinue...

Word Count : 4283

The Sims 4

Last Update:

downloadable content packs, namely fifteen expansion packs, twelve game packs, and several stuff packs and kits. The most recent expansion pack, The Sims 4: For...

Word Count : 7993

Blackshirts

Last Update:

1st CC.NN. Division "23 Marzo" (23rd March) 2nd CC.NN. Division "28 Ottobre" (28th October) 3rd CC.NN. Division "21 Aprile" (21st April) 4th CC.NN. Division...

Word Count : 2324

Abdominal muscles

Last Update:

 This article incorporates text from a free content work. Licensed under CC BY 4.0. Text taken from Anatomy and Physiology​, J. Gordon Betts et al, Openstax...

Word Count : 338

BMW N43

Last Update:

strainer, and problems with the injectors, coil packs and the NOx sensor. The N43B16 has a displacement of 1,599 cc (97.6 cu in) and produces 90 kW (121 bhp)...

Word Count : 351

Wikipedia

Last Update:

GFDL designed specifically to allow Wikipedia to relicense its content to CC BY-SA by August 1, 2009. In April 2009, Wikipedia and its sister projects...

Word Count : 27077

Kei car

Last Update:

9 ft) and 2.0 m (6.6 ft) respectively, and engine displacement under 660 cc (40.3 cu in). A 'gentleman's agreement' for a maximum power of 64 PS (63 hp;...

Word Count : 4068

Toyota Land Cruiser Prado

Last Update:

693 cc) 3RZ-FE and, new in Prado models, the 3.4 L (3,378 cc) V6 5VZ-FE. Diesel engines included the 2.8 L (2,776 cc) 3L engine, the 3.0 L (2,986 cc) 5L...

Word Count : 4598

Mercury Cyclone

Last Update:

carburetor. The 429 Super Cobra Jet, which was part of a Drag Pack option, was a 429 cu in (7,030 cc) four-barrel with dual exhaust and Ram Air induction, but...

Word Count : 2357

List of World War II video games

Last Update:

Battlefield: 1942: The Road to Rome (2003 expansion pack) Battlefield: 1942: Secret Weapons of WWII (2003 expansion pack) Battlefield Vietnam World War II Mod (Mod...

Word Count : 6313

Canoe pack

Last Update:

pack pack basket barrel Stiles, Ed. "Searching for the Ultimate Canoe Pack". bwca.cc. Retrieved 2018-09-09. Furtman, Michael (1992). Canoe Country Camping:...

Word Count : 279

Nissan RB engine

Last Update:

Nissan RB Engine: RB20 - 2.0 L (1,998 cc), bore x stroke: 78 mm × 69.7 mm (3.07 in × 2.74 in) RB24 - 2.4 L (2,428 cc), bore x stroke: 86 mm × 69.7 mm (3...

Word Count : 5193

Morgan Plus Four

Last Update:

a wooden frame named "CX-Generation". It is powered by an original 1,998 cc (2.0 L; 121.9 cu in) BMW TwinPower petrol engine producing 259 PS (190 kW;...

Word Count : 307

Secret Hitler

Last Update:

shipped to all 100 members of the United States Senate. The Trump Pack, an expansion pack for Secret Hitler, which replaces the fascists' cards with Donald...

Word Count : 1379

Freesound

Last Update:

GeoTagging Sample packs Remix tree Similarity search Sound Bookmarks Forum Follow users and tags Waveform display HTML5/Flash preview RESTful API CC licensing...

Word Count : 558

Adobe Audition

Last Update:

MPEG-1 Audio, MPEG-2 Audio, AAC, HE-AAC, Ogg Vorbis, FLAC, True Audio, WavPack, QuickTime MOV and MP4 (import only), ADPCM, RealMedia, WMA Standard, WMA...

Word Count : 1441

List of PlayStation Portable games

Last Update:

Deluxe Pack 1 - Miku ta, Okawari Unreleased Unreleased March 25, 2010 Unreleased Sega Sega Hatsune Miku: Project Diva - Tsuka Gakkyokushuu Deluxe Pack 2 -...

Word Count : 281

PDF Search Engine © AllGlobal.net