21 citations found. Retrieving documents...
P. Breuer and J. Bowen. A PREttier Compiler-Compiler: Generating Higher-order Parsers in C. Software --- Practice and Experience, 25(11):1263---1297, Nov. 1995.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Semi-automatic Grammar Recovery - Lämmel, Verhoef (2000)   (3 citations)  (Correct)

....to test and correct the level 3 grammar. The parser that we use, just makes an arbitrary choice when an ambiguity is found. So as soon as some parse is possible we consider the program parsed successfully for now. We used top down parsing with backtracking as supported by, e.g. LDL [49] or PRECC [25]. By using this stepwise approach we are able to solve the problems one at a time: first getting the specification as correct as possible, and then we can deal with ambiguities. In principle, ambiguities can cause some errors to go unnoticed because parts of the input might be parsed in an ....

....for general context free grammars is particularly useful in the error detection phase because in this phase we would like to approve a proper grammar specification which is not tuned towards any grammar implementation criteria. Top down parsing with backtracking as facilitated by LDL or PRECC [25], or generalized LR parsing [76, 110, 95, 114, 116] is convenient in this context. Summarizing there are no real restrictions on what technology to use, so go ahead and use your favorite program transformation tool, lexer parser generator etc. to setup your own grammar engineering tools so that ....

P.T. Breuer and J.P. Bowen. A PREttier Compiler-Compiler: Generating Higher-order Parsers in C. Software---Practice and Experience, 25(11):1263---1297, November 1995.


Generalised Recursive Descent - Part 2: Some underlying theory - Johnstone, Scott (1997)   (Correct)

....A 2 U , if A )u and A )uaw, for some a 2 T , u; w 2 T , then a 62 FOLLOW(A) Note: if A is not reachable then its FOLLOW set is empty, so this condition is only of interest for reachable non terminals. There are other parser generators which use a generalised form of recursive descent [BB95]. Such parsers usually explore all possibilities at each step in the derivation but then select only one to proceed with. A common selection procedure is to choose the so called longest match , i.e. the possibility which matches the longest section of the input string. This process is not ....

Peter T. Breuer and Jonathan P. Bowen. A PREttier CompilerCompiler: Generating higher-order parsers in C. Software Practice and Experience, 25(11):1263--1297, November 1995. Draft report REFERENCES 26


Generalised recursive descent - Part 1: Language design and.. - Johnstone, Scott (1997)   (Correct)

....the language designer to use more natural notations and significantly reduce the compiler writer s reliance on parser tricks that circumvent the limitations of current parser generators and parsing algorithms. There are other parser generators which use a generalised form of recursive descent [BB95, PQ96] Such parsers usually explore all possibilities at each step in the parse but then select only one to proceed with a fundamental constraint that causes the parsers to fail even on some non ambiguous grammars. A common selection procedure is to choose the so called longest match , i.e. ....

....backtracking implies multiple passes over the parser input string. When that string is being read from disk this may impose unacceptable overhead, but if the string is read once from disk, and subsequently from an in memory buffer then the speed of parsers with limited backtracking is acceptable [BB95] The procedure overhead affects the cost of recursive descent parsers, which are naturally procedure call intensive but on modern architectures calling a parameterless procedure is not much more expensive than an unconditional jump [MCF 86] These factors together act to reduce the cost of ....

[Article contains additional citation context not shown here]

Peter T. Breuer and Jonathan P. Bowen. A PREttier CompilerCompiler: Generating higher-order parsers in C. Software Practice and Experience, 25(11):1263--1297, November 1995. REFERENCES 19


CASTING: a Formally Based Software Test Generation Method - Van Aertryck, Benveniste.. (1997)   (4 citations)  (Correct)

....and customisable. 5. Conclusion A first version of CASTING taking as input B specifications is currently under completion. The main technical options for the realisation of the tool are the following: ffl The B parser and the testing strategies are built using the PreCC parser generator [5]. PreCC takes as input BNF grammars, which may contain inherited and synthesised attributes, and produces parsers source code (ANSI C) A BNF grammar is available for the AMN. ffl Ilog Solver 1 is used to solve the constraints generated by the system. Constraints are expressed in first order ....

P.T Breuer and J.P. Bowen. A PREttier Compiler-Compiler: Generating higher order parsers in C. Technical Report PRG-TR-20-92, Oxford University Computing Laboratory, Wolfson Building, Parks Road, Oxford, UK, November 1992.


A ProCoS Project Final Report: ESPRIT Basic Research project 7071 - Bowen, al. (1996)   Self-citation (Bowen)   (Correct)

No context found.

P. T. Breuer and J. P. Bowen. A PREttier Compiler-Compiler: Generating higher order parsers in C. Software -- Practice and Experience, 25(11):1263--1297, November 1995.


A PREttier Compiler-Compiler: Generating Higher-order Parsers in .. - Breuer, Bowen (1995)   (6 citations)  Self-citation (Breuer Bowen)   (Correct)

No context found.

P. T. Breuer and J. P. Bowen, `A PREttier Compiler-Compiler: Generating higher order parsers in C', Programming Research Group Technical Report PRG-TR-20-92, Oxford University Computing Laboratory, UK, October 1992.


Generating Decompilers - Breuer, Bowen (1998)   Self-citation (Breuer Bowen)   (Correct)

....bidirectionality of a logic programming approach, but could help to make it tractable in practice. In industrial use, even this may be too inefficient, and the use of an imperative programming language may prove necessary. To generalise the approach, we draw upon the idea of a compiler compiler [8,9,21], to introduce the more novel concept of a decompiler compiler in this paper. Similarly to a compiler compiler, such a tool eases the production of decompilers. 1.2 An approach to decompilation A compiler is generally specified in a manner that gives rise to an automated implementation. One ....

P.T. Breuer and J.P.Bowen, A PREttier Compiler-Compiler: Generating Higher Order Parsers in C. Oxford University Computing Laboratory, Programming Research Group Technical Report PRG-TR-20-92 (1992)


The PRECC Compiler Compiler - Breuer, Bowen (1993)   (1 citation)  Self-citation (Breuer Bowen)   (Correct)

....order macro , which helps achieve clearer coding and maintainability. Scripts may in any case be divided up into independent modules, and compiled separately and linked together independently in order to cater for improved change management. PRECC has a formal basis that is fully investigated in [5] for those who wish to find out more about foundations of the tool. ....

P.T. Breuer and J.P. Bowen, A PREttier Compiler-Compiler: Generating higher order parsers in C, Programming Research Group Technical Report PRG-TR-20-92, Oxford University Computing Laboratory, UK, 1992. 16


A Concrete Z Grammar - Breuer, Bowen (1994)   Self-citation (Breuer Bowen)   (Correct)

....would seem worthwhile publishing a complete working script aimed at a particular publicly available utility. This is such an attempt. The aim of this article is thus to set out a working grammar in as brief a space as possible. The grammar will be in the form of a script for the PRECC utility [3, 4] a compiler compiler which accepts scripts written in an extended BNF and allows the use of context sensitive and attribute grammars [7] Whilst not using these capabilities to the full, the practical effect is that the ZRM grammar can be used almost as it stands. Most top down parser ....

....two level parser generators. For example, PCCTS [11] which has a finite lookahead parser, generates a lexer from the grammar script and allows attributes on lexemes (the atomic lexical units) which may be used as information by the parser. Furthermore, the full semantics of PRECC is published [3], along with a logic for reasoning about grammars and parses. Briefly, PRECC has a trace refusal semantics similar to CSP [8] and admits the same kind of formal verification techniques with respect to specification and the parser as does, for example, Occam with respect to CSP specifications and ....

P.T. Breuer and J.P. Bowen. A PREttier Compiler-Compiler: Generating higher order parsers in C. Technical Report PRG-TR-20-92, Oxford University Computing Laboratory, Wolfson Building, Parks Road, Oxford, UK, November 1992. Submitted for publication.


A Concrete Z Grammar - Breuer, Bowen (1995)   Self-citation (Breuer Bowen)   (Correct)

....for their projects, and have collaborated in its testing and refinement. We have taken the engineering approach of using a parser generator that can use the published BNF (almost) as it stands, and of relying on the compositionality embedded in the generator to do most of our thinking for us. See [4] for a justification of this approach and a comparative study. The idea is that if we can get each part of the grammar right, then the whole will be right, or at least, it will conform to the published specification. One aim of this document is thus to set out a working grammar in as brief a ....

....if we can get each part of the grammar right, then the whole will be right, or at least, it will conform to the published specification. One aim of this document is thus to set out a working grammar in as brief a space as possible. The grammar is in the form of a script for the PRECC utility [3, 4] a publicly available compiler compiler which accepts scripts written in an extended BNF and allows the use of context sensitive and attribute grammars [7] The practical effect is that the ZRM grammar can be used almost as it stands. There is about an 80 carry over. Most top down parser ....

[Article contains additional citation context not shown here]

P. T. Breuer and J. P. Bowen. A PREttier Compiler-Compiler: Generating higher order parsers in C. Software---Practice and Experience, 25(11), November 1995. To appear. Previous version available as [2]. 22


A Concrete Z Grammar - Breuer, Bowen (1995)   Self-citation (Breuer Bowen)   (Correct)

No context found.

P. T. Breuer and J. P. Bowen. A PREttier Compiler-Compiler: Generating higher order parsers in C. Technical Report PRG-TR-20-92, Oxford University Computing Laboratory, Wolfson Building, Parks Road, Oxford, UK, November 1992.


A ProCoS II Project Final Report: ESPRIT Basic.. - Bowen, Hoare.. (1996)   (3 citations)  Self-citation (Bowen)   (Correct)

....also allows the possibility of generating a specialised microprocessor (perhaps based on a subset of an existing microprocessor, such as the Transputer) This allows a standard compilation scheme to be based on such hardware if desired. Optimisation [76, 73] decompilation [8, 37] and parsing [40, 39] have been investigated, mainly in the context of software compilation, and some of these ideas could be extended to hardware compilation. Provably correct optimisation could be a particularly fruitful area for hardware. The compilation of hardware and software together, with consideration of ....

P. T. Breuer and J. P. Bowen. A PREttier Compiler-Compiler: Generating higher order parsers in C. Software -- Practice and Experience, 25(11):1263--1297, November 1995.


Generating Decompilers - Breuer, Bowen (1992)   Self-citation (Breuer Bowen)   (Correct)

....bidirectionality of a logic programming approach, but could help to make it tractable in practice. In industrial use, even this may be too inefficient, and the use of an imperative programming language may prove necessary. To generalise the approach, we draw upon the idea of a compiler compiler [8, 9, 21], to introduce the more novel concept of a decompiler compiler in this paper. Similarly to a compiler compiler, such a tool eases the production of decompilers. 1.2 An approach to decompilation A compiler is generally specified in a manner that gives rise to an automated implementation. One ....

P.T. Breuer and J.P. Bowen, A PREttier Compiler-Compiler: Generating Higher Order Parsers in C. Oxford University Computing Laboratory, Programming Research Group Technical Report PRG-TR-20-92 (1992)


Occam's Razor: The Cutting Edge of Parser Technology - Bowen, Breuer (1992)   Self-citation (Breuer Bowen)   (Correct)

....specifications need not even be complete before they are capable of running and being tested. This allows greatly reduced turn round times in development and maintenance, and renders the figures for monolithic scripts and C code meaningless. A fuller description of the precc tool may be found in [4, 6]. 3 The parsing process Using the C stack and function calling to do the work instead of a virtual automaton is not a liability. As a realistic demonstration, a significant portion of the concrete syntax for the occam programming language [11] has been investigated and part of this is presented ....

....as previously discussed) so no direct comparison is possible. However, experience with the programming language Oberon 2 indicates that the speed of precc is comparable or better than yacc; the input specification is certainly more readable and compact, and therefore should be more maintainable. [4, 6] contain further details. 7 Conclusion Precc provides a balance of efficiency and flexibility that may be useful for handling programming languages that are not conveniently catered for by currently available compiler compiler tools. Surprisingly, these include many older languages, which were ....

[Article contains additional citation context not shown here]

P.T. Breuer and J.P. Bowen. A PREttier Compiler-Compiler: Generating Higher Order Declarative Compiler-Compilers in C. Technical Report PRG-TR-20-92, Oxford University Computing Laboratory, Programming Research Group, 1992. (Submitted to Journal of Functional Programming)


A Concrete Z Grammar - Breuer, Bowen (1996)   Self-citation (Breuer Bowen)   (Correct)

....suborned the first versions of this grammar for their projects, and have collaborated with the authors in its testing and refinement. We have taken the engineering approach of using a parser generator that i) needs minimal changes in the published BNF and ii) has a compositional semantics. See [5] for a justification of this approach and a comparative study. The idea is that if we can get each part of the grammar right in itself, then the whole will automatically be correct with respect to the published abstract specification because the abstract semantics of BNF is also compositional ....

....automatically be correct with respect to the published abstract specification because the abstract semantics of BNF is also compositional 1 . One aim of this document is thus to set out a working concrete grammar in as brief a space as possible. The grammar is a script for the PRECC utility [3, 5] a public domain compilercompiler which accepts scripts written in an extended BNF and allows the use of context sensitive and attribute grammars [8] The practical effect is that the ZRM grammar can be used almost as it stands. There is about an 80 carry over. Most top down parser generators ....

[Article contains additional citation context not shown here]

P. T. Breuer and J. P. Bowen. A PREttier Compiler-Compiler: Generating higher order parsers in C. Software---Practice and Experience, 25(11):1263--1297, November 1995. Previous version available as [2].


A Concrete Z Grammar - Breuer, Bowen (1996)   Self-citation (Breuer Bowen)   (Correct)

....T rel T cross T] sequence from each expression LG [ e 1 e 2 ] fx 1 x 2 j x 1 2 LG [ e 1 ] x 2 2 LG [ e 2 ] g; 4. an alternation of expressions e 1 j e 2 binds the union language of the two LG [ e 1 j e 2 ] LG [ e 1 ] LG [ e 2 ] 5. an empty symbol 2 denotes the empty language LG [[2]] OE; 6. an identifier symbol i binds to the language of the right hand side of its production rule i e in the grammar, LG [ i] LG [ e] This is intended to imply that the language binding for all the identifier symbols is the least fixed point solution of the resulting recursion ....

....1 j e 2 binds the sequences from the second alternate first: l G [ e 1 j e 2 ] l G [ e 2 ] l G [ e 1 ] PRECC grammars but the longest intended matches first in the alternates and we are interested in seeing the shortest matches first) 5. an empty symbol 2 denotes the empty language l G [[2]] h i; 6. an identifier symbol i binds to the language of the right hand side of its production rule i e in the grammar, l G [ i] l G [ e] There is a little more to it than this because account has to be taken also of side effects on the underlying state as lexemes are read generated ....

P. T. Breuer and J. P. Bowen. A PREttier Compiler-Compiler: Generating higher order parsers in C. Technical Report PRG-TR-20-92, Oxford University Computing Laboratory, Wolfson Building, Parks Road, Oxford, UK, November 1992. Revised version appeared as


From Programs to Object Code and back again using Logic.. - Bowen (1993)   (6 citations)  Self-citation (Bowen)   (Correct)

No context found.

Breuer, P.T. and Bowen, J.P. (1992b). A PREttier Compiler-Compiler: Generating Higher Order Parsers in C. Oxford University Computing Laboratory, Programming Research Group Technical Report PRG-TR-20-92. Submitted for publication.


A Front-End Tool to Parse Z Specifications - Bowen, Breuer (1997)   Self-citation (Breuer Bowen)   (Correct)

....graph grammar approach may be helpful for such languages [33] The display of the Z notation includes visual aspects in its schema box notation, but these can be and normally are reduced to a linear form in the original source for Z documents. The recent PRECC (PREttier Compiler Compiler) [34, 35] offers a very flexible tool, providing LL(1) infinite lookahead parsing and handling of two level or van Wijngaarden grammars [36, 37] with ease. These grammars are very powerful and include meta variables together with hyper rules for the generation of infinite numbers of productions. This makes ....

....use of the first versions of the grammar presented in this paper for their projects, and have aided in its testing and improvement. We have taken the engineering approach of using a parser generator that i) needs minimal changes in the published BNF and ii) has a compositional semantics. See [35] for a justification of this approach and a comparative study. The aim is that if we can ensure that each separate part of the grammar is right, then the whole will automatically be correct with respect to the published abstract specification because the abstract semantics of BNF is also ....

[Article contains additional citation context not shown here]

P. T. Breuer and J. P. Bowen. A PREttier Compiler-Compiler: Generating higher order parsers in C. Software---Practice and Experience, 25(11):1263--1297, November 1995.


Generating Decompilers - Breuer, Bowen (1998)   Self-citation (Breuer Bowen)   (Correct)

....codes give rise to given object codes. In industrial use, however, these approaches may be deemed too inefficient or speculatively based. and imperative programming may prove a necessary component in an acceptable technology. To make such a component, we draw upon the idea of a compiler compiler [11, 10, 30], and introduce the novel concept of a decompiler compiler in this paper. Analogously to a compiler compiler, such a tool eases the production of efficient decompilers. 1.2 An approach to decompilation A compiler is generally specified in a manner that gives rise to an implementation ....

P.T. Breuer and J.P. Bowen, A PREttier Compiler-Compiler: Generating higher order parsers in C. Software---Practice and Experience Vol 25 No 11 (November 1995) pp 1263--1297


Towards an Engineering Discipline for GRAMMARWARE - Klint, Lämmel, Verhoef (2003)   (3 citations)  (Correct)

No context found.

P. Breuer and J. Bowen. A PREttier Compiler-Compiler: Generating Higher-order Parsers in C. Software --- Practice and Experience, 25(11):1263---1297, Nov. 1995.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC