Show simple item record

dc.contributor.advisorChong, Stephen
dc.contributor.authorYedidia, Zachary
dc.date.accessioned2021-07-19T04:13:57Z
dc.date.created2021
dc.date.issued2021-06-04
dc.date.submitted2021
dc.identifier.citationYedidia, Zachary. 2021. Incremental PEG Parsing. Bachelor's thesis, Harvard College.
dc.identifier.other28411046
dc.identifier.urihttps://nrs.harvard.edu/URN-3:HUL.INSTREPOS:37368580*
dc.description.abstractCode analysis software in a text editor or IDE must repeatedly parse source code whenever an edit occurs. In many cases, a user's edit will affect only the parse of nearby characters, meaning a full-document reparse is unnecessary and inefficient. Incremental parsing algorithms support quick reparsing after common-case edits by remembering parse state and only parsing the parts of the document that have changed. This thesis builds on previous work in incremental parsing for parsing expression grammars (PEGs). We develop new methods for incremental parsing that enable reparsing in logarithmic time in the common case for a wide variety of grammar types. These methods are implemented in a practical library called GPeg that supports efficient dynamic incremental parsers and a language-agnostic parser format via a parsing machine. Finally, we use this library to study the performance and usability of our parsing methods for the cases of pattern matching, full grammar parsing, and syntax highlighting.
dc.format.mimetypeapplication/pdf
dc.language.isoen
dash.licenseLAA
dc.subjectincremental parsing
dc.subjectpackrat parsing
dc.subjectparsing
dc.subjectparsing expression grammar
dc.subjectComputer science
dc.titleIncremental PEG Parsing
dc.typeThesis or Dissertation
dash.depositing.authorYedidia, Zachary
dc.date.available2021-07-19T04:13:57Z
thesis.degree.date2021
thesis.degree.grantorHarvard College
thesis.degree.levelBachelor's
thesis.degree.levelUndergraduate
thesis.degree.nameAB
dc.contributor.committeeMemberAmin, Nada
dc.type.materialtext
thesis.degree.departmentComputer Science
dash.author.emailzyedidia@gmail.com


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record