publications: - title: "The GTB and PAT tools" author: - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" - name: "Elizabeth Scott" link: "http://www.cs.rhul.ac.uk/People/staff/scott.html" - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" year: "2004" doi: "http://dx.doi.org/10.1016/j.entcs.2004.06.003" abstract: "The Grammar Tool Box is a toolset for manipulating Context Free Grammars and objects asso- ciated with them such as parsers, languages and derivations. GTB has three main rôles: as a pedagogic tool; as an experimental platform for novel algorithms and representations; and as a production tool for translator front end generation. In this tool demonstration we give an overview of GTB and its companion Java-based animator tool PAT." links: doi: "http://dx.doi.org/10.1016/j.entcs.2004.06.003" tags: - "parsing algorithm" - "rule-based" - "Java" - "software animation" - "context-aware" - "Meta-Environment" - "parsing" - "meta-objects" - "grammar" researchr: "https://researchr.org/publication/JohnstoneSE04a" cites: 0 citedby: 0 journal: "ENTCS" volume: "110" pages: "173-175" kind: "article" key: "JohnstoneSE04a" - title: "The Grammar Tool Box: A Case Study Comparing GLR Parsing Algorithms" author: - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" - name: "Elizabeth Scott" link: "http://www.cs.rhul.ac.uk/People/staff/scott.html" - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" year: "2004" doi: "http://dx.doi.org/10.1016/j.entcs.2004.06.008" abstract: "The Grammar Tool Box is a toolset for manipulating Context Free Grammars and objects associated with them such as parsers, languages and derivations. GTB has three main rôles: as a pedagogic tool; as an experimental platform for novel algorithms and representations; and as a production tool for translator front end generation. In this paper we give an overview of GTB and its companion Java-based animator tool PAT. We illustrate the use of the toolset in the construction of a comparative study of three variants of the Tomita-style GLR parsing algorithm running on LR(0), SLR(1) and LR(1) tables for ANSI-C, ISO-Pascal and IBM VS-COBOL, and give results showing the size of the structures constructed by these parsers and the amount of searching required during the parse, which abstracts their runtime." links: doi: "http://dx.doi.org/10.1016/j.entcs.2004.06.008" tags: - "parsing algorithm" - "GLR parsing" - "rule-based" - "Java" - "case study" - "context free languages" - "GLR" - "C++" - "context-aware" - "Meta-Environment" - "Cobol" - "parsing" - "Pascal" - "grammar types" - "meta-objects" - "grammar" researchr: "https://researchr.org/publication/JohnstoneSE04%3A0" cites: 0 citedby: 0 journal: "ENTCS" volume: "110" pages: "97-113" kind: "article" key: "JohnstoneSE04:0" - title: "Generalised LR parsing algorithms" author: - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" year: "2006" month: "August" abstract: "This thesis concerns the parsing of context-free grammars. A parser is a tool, defined for a specific grammar, that constructs a syntactic representation of an input string and determines if the string is grammatically correct or not. An algorithm that is capable of parsing any context-free grammar is called a generalised (context-free) parser. This thesis is devoted to the theoretical analysis of generalised parsing algorithms. We describe, analyse and compare several algorithms that are based on Knuth's LR parser. This work underpins the design and implementation of the Parser Animation Tool (PAT). We use PAT to evaluate the asymptotic complexity of generalised parsing algorithms and to develop the Binary Right Nulled Generalised LR algorithm - a new cubic worst case parser. We also compare the Right Nullable Generalised LR, Reduction Incorporated Generalised LR, Farshi, Tomita and Earley algorithms using the statistical data collected by PAT. Our study indicates that the overheads associated with some of the parsing algorithms may have significant consequences on their behaviour. " tags: - "parsing algorithm" - "GLR parsing" - "rule-based" - "case study" - "design complexity" - "GLR" - "analysis" - "data-flow" - "context-aware" - "data-flow analysis" - "parsing" - "design" - "grammar" researchr: "https://researchr.org/publication/economopoulos06" cites: 0 citedby: 0 school: "Royal Holloway, University of London" advisor: - name: "Elizabeth Scott" link: "http://www.cs.rhul.ac.uk/People/staff/scott.html" - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" kind: "phdthesis" key: "economopoulos06" - title: "BRN-table based GLR parsers" author: - name: "Elizabeth Scott" link: "http://www.cs.rhul.ac.uk/People/staff/scott.html" - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" year: "2003" month: "July 2006" tags: - "GLR parsing" - "rule-based" - "GLR" - "parsing" researchr: "https://researchr.org/publication/SCOTT03a" cites: 0 citedby: 0 institution: "Royal Holloway, University of London" number: "CSD-TR-03-06" kind: "techreport" key: "SCOTT03a" - title: "Using The Meta-Environment for Maintenance and Renovation" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Magiel Bruntink" link: "http://homepages.cwi.nl/~bruntink/" - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" - name: "H. A. de Jong" link: "http://www.cwi.nl" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Taeke Kooiker" link: "http://www.cwi.nl" - name: "Tijs van der Storm" link: "http://homepages.cwi.nl/~storm/" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2007.52" abstract: "The meta-environment is a flexible framework for language development, source code analysis and source code transformation. We highlight new features and demonstrate how the system supports key functionalities for software evolution: fact extraction, software analysis, visualization, and software transformation." links: doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2007.52" tags: - "model-to-model transformation" - "meta-model" - "transformation language" - "metrics" - "points-to analysis" - "analysis" - "static analysis" - "model-driven development" - "software evolution" - "source-to-source" - "maintenance" - "transformation system" - "model transformation" - "Meta-Environment" - "visualization" - "IDE" - "open-source" - "meta-objects" - "transformation" researchr: "https://researchr.org/publication/BrandBEJKKSV07" cites: 0 citedby: 0 pages: "331-332" booktitle: "CSMR" kind: "inproceedings" key: "BrandBEJKKSV07" - title: "BRNGLR: a cubic Tomita-style GLR parsing algorithm" author: - name: "Elizabeth Scott" link: "http://www.cs.rhul.ac.uk/People/staff/scott.html" - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" year: "2007" doi: "http://dx.doi.org/10.1007/s00236-007-0054-z" abstract: "Tomita-style generalised LR (GLR) algorithms extend the standard LR algorithm to non-deterministic grammars by performing all possible choices of action. Cubic complexity is achieved if all rules are of length at most two. In this paper we shall show how to achieve cubic time bounds for all grammars by binarising the search performed whilst executing reduce actions in a GLR-style parser. We call the resulting algorithm Binary Right Nulled GLR (BRNGLR) parsing. The binarisation process generates run-time behaviour that is related to that shown by a parser which pre-processes its grammar or parse table into a binary form, but without the increase in table size and with a reduced run-time space overhead. BRNGLR parsers have worst-case cubic run time on all grammars, linear behaviour on LR(1) grammars and produce, in worst-case cubic time, a cubic size binary SPPF representation of all the derivations of a given sentence. " links: doi: "http://dx.doi.org/10.1007/s00236-007-0054-z" tags: - "parsing algorithm" - "GLR parsing" - "rule-based" - "GLR" - "rules" - "search" - "parsing" - "grammar" researchr: "https://researchr.org/publication/ScottJE07" cites: 0 citedby: 0 journal: "ACTA" volume: "44" number: "6" pages: "427-461" kind: "article" key: "ScottJE07" - title: "Evaluating GLR parsing algorithms" author: - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" - name: "Elizabeth Scott" link: "http://www.cs.rhul.ac.uk/People/staff/scott.html" - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" year: "2006" doi: "http://dx.doi.org/10.1016/j.scico.2006.04.004" abstract: "We describe the behaviour of three variants of GLR parsing: (i) Farshi’s original correction to Tomita’s non-general algorithm; (ii) the Right Nulled GLR algorithm which provides a more efficient generalisation of Tomita and (iii) the Binary Right Nulled GLR algorithm, on three types of LR table. We present a guide to the parse-time behaviour of these algorithms which illustrates the inefficiencies in conventional Farshi-style GLR parsing. We also describe the tool GTB (Grammar Tool Box) which provides a platform for comparative studies of parsing algorithms; and use GTB to exercise the three GLR algorithms running with LR(0), SLR(1) and LR(1) tables for ANSI-C, ISO-Pascal and IBM VS-COBOL. We give results showing the size of the structures constructed by these parsers and the amount of searching required during the parse, which abstracts their runtime." links: doi: "http://dx.doi.org/10.1016/j.scico.2006.04.004" tags: - "parsing algorithm" - "GLR parsing" - "context free languages" - "GLR" - "C++" - "context-aware" - "Cobol" - "parsing" - "Pascal" - "grammar types" - "grammar" researchr: "https://researchr.org/publication/JohnstoneSE06" cites: 0 citedby: 0 journal: "SCP" volume: "61" number: "3" pages: "228-244" kind: "article" key: "JohnstoneSE06" - title: "Generalised Parsing: Some Costs" author: - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" - name: "Elizabeth Scott" link: "http://www.cs.rhul.ac.uk/People/staff/scott.html" - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" year: "2004" doi: "http://dx.doi.org/10.1007/b95956" abstract: "We discuss generalisations of bottom up parsing, emphasising the relative costs for real programming languages. Our goal is to provide a roadmap of the available approaches in terms of their space and time performance for programming language applications, focusing mainly on GLR style algorithms. It is well known that the original Tomita GLR algorithm fails to terminate on hidden left recursion: here we analyse two approaches to correct GLR parsing (i) the modification due to Farshi that is incorporated into Visserrsquos work and (ii) our own right-nullable GLR (RNGLR) algorithm, showing that Farshirsquos approach can be expensive. We also present results from our new Binary RNGLR algorithm which is asymptotically the fastest parser in this family and show that the recently reported reduction incorporated parsers can require automata that are too large to be practical on current machines." links: doi: "http://dx.doi.org/10.1007/b95956" tags: - "parsing algorithm" - "programming languages" - "GLR parsing" - "GLR" - "programming" - "parsing" - "systematic-approach" researchr: "https://researchr.org/publication/JohnstoneSE04" cites: 0 citedby: 0 pages: "89-103" booktitle: "CC" kind: "inproceedings" key: "JohnstoneSE04" - title: "Faster Scannerless GLR Parsing" author: - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-00722-4_10" abstract: "Analysis and renovation of large software portfolios requires syntax analysis of multiple, usually embedded, languages and this is beyond the capabilities of many standard parsing techniques. The traditional separation between lexer and parser falls short due to the limitations of tokenization based on regular expressions when handling multiple lexical grammars. In such cases scannerless parsing provides a viable solution. It uses the power of context-free grammars to be able to deal with a wide variety of issues in parsing lexical syntax. However, it comes at the price of less efficiency. The structure of tokens is obtained using a more powerful but more time and memory intensive parsing algorithm. Scannerless grammars are also more non-deterministic than their tokenized counterparts, increasing the burden on the parsing algorithm even further. In this paper we investigate the application of the Right-Nulled Generalized LR parsing algorithm (RNGLR) to scannerless parsing. We adapt the Scannerless Generalized LR parsing and filtering algorithm (SGLR) to implement the optimizations of RNGLR. We present an updated parsing and filtering algorithm, called SRNGLR, and analyze its performance in comparison to SGLR on ambiguous grammars for the programming languages C, Java, Python, SASL, and C++. Measurements show that SRNGLR is on average 33% faster than SGLR, but is 95% faster on the highly ambiguous SASL grammar. For the mainstream languages C, C++, Java and Python the average speedup is 16%. " links: doi: "http://dx.doi.org/10.1007/978-3-642-00722-4_10" tags: - "parsing algorithm" - "programming languages" - "GLR parsing" - "optimization" - "rule-based" - "Java" - "program analysis" - "lexical syntax" - "embedded software" - "scannerless" - "GLR" - "analysis" - "C++" - "programming" - "context-aware" - "program optimization" - "parsing" - "scannerless parsing" - "SGLR" - "grammar" researchr: "https://researchr.org/publication/EconomopoulosKV09" cites: 0 citedby: 0 pages: "126-141" booktitle: "CC" kind: "inproceedings" key: "EconomopoulosKV09"