Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2018, Volume 30, Issue 4, Pages 7–28
DOI: https://doi.org/10.15514/ISPRAS-2018-30(4)-1
(Mi tisp344)
 

This article is cited in 4 scientific papers (total in 4 papers)

Tolerant parsing with a special kind of «Any» symbol: the algorithm and practical application

A. V. Goloveshkin, S. S. Mikhalkovich

I.I. Vorovich Institute for Mathematics, Mechanics and Computer Science, Southern Federal University
References:
Abstract: Tolerant parsing is a form of syntax analysis aimed at capturing the structure of certain points of interest presented in a source code. While these points should be well-described in the corresponding language grammar, other parts of the program are allowed to be not presented in the grammar or to be described coarse-grained, thereby parser remains tolerant to the possible inconsistencies in the irrelevant area. Island grammars are one of the basic tolerant parsing techniques. “Island” is used as the relevant code alias, while the irrelevant code is called “water”. In the paper, a modified LL(1) parsing algorithm with built-in “Any” symbol processing is described. The “Any” symbol matches implicitly defined token sequences. The use of the algorithm for island grammars allows one to reduce irrelevant code description as well as to simplify patterns for relevant code matching. Our “Any” implementation is more accurate and less restrictive in comparison with the closest analogues implemented in Coco/R and LightParse parser generators. It also has potentially lower overhead than the “bounded seas” concept implemented in PetitParser. As shown in the experimental section, the tolerant parser generated by the C# island grammar is proven to be applicable for large-scale software projects analysis.
Keywords: tolerant parsing, robust parsing, lightweight parsing, partial parsing, island grammar, parser generation.
Bibliographic databases:
Document Type: Article
Language: English
Citation: A. V. Goloveshkin, S. S. Mikhalkovich, “Tolerant parsing with a special kind of «Any» symbol: the algorithm and practical application”, Proceedings of ISP RAS, 30:4 (2018), 7–28
Citation in format AMSBIB
\Bibitem{GolMik18}
\by A.~V.~Goloveshkin, S.~S.~Mikhalkovich
\paper Tolerant parsing with a special kind of «Any» symbol: the algorithm and practical application
\jour Proceedings of ISP RAS
\yr 2018
\vol 30
\issue 4
\pages 7--28
\mathnet{http://mi.mathnet.ru/tisp344}
\crossref{https://doi.org/10.15514/ISPRAS-2018-30(4)-1}
\elib{https://elibrary.ru/item.asp?id=32663687}
Linking options:
  • https://www.mathnet.ru/eng/tisp344
  • https://www.mathnet.ru/eng/tisp/v30/i4/p7
  • This publication is cited in the following 4 articles:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
    Statistics & downloads:
    Abstract page:187
    Full-text PDF :121
    References:26
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024