Advanced search
Add to list

An operator precedence parser for standard prolog text

(1996) SOFTWARE-PRACTICE & EXPERIENCE. 26(7). p.763-779
Author
Organization
Abstract
Prolog is a language with a dynamic grammar which is the result of embedded operator declarations. The parsing of such a language cannot be done easily by means of standard tools. Most often, an existing parsing technique for a static grammar is adapted to deal with the dynamic constructs. This paper uses the syntax definition as defined by the ISO standard for the Prolog language. It starts with a brief discussion of the standard, highlighting some aspects that are important for the parser, such as the restrictions on the use of operators as imposed by the standard in order to make the parsing deterministic. Some possible problem areas are also indicated. As output is closely related to input in Prolog, both are treated in this paper. Some parsing techniques are compared and an operator precedence parser is chosen to be modified to deal with the dynamic operator declarations. The necessary modifications are discussed and an implementation in C is presented. Performance data are collected and compared with a public domain Prolog parser written in Prolog. It is the first efficient public domain parser for Standard Prolog that actually works and deals with all the details of the syntax.
Keywords
prolog, ISO standard syntax, operator precedence parser, implementation

Citation

Please use this url to cite or link to this publication:

MLA
De Bosschere, Koen. “An Operator Precedence Parser for Standard Prolog Text.” SOFTWARE-PRACTICE & EXPERIENCE, vol. 26, no. 7, 1996, pp. 763–79.
APA
De Bosschere, K. (1996). An operator precedence parser for standard prolog text. SOFTWARE-PRACTICE & EXPERIENCE, 26(7), 763–779.
Chicago author-date
De Bosschere, Koen. 1996. “An Operator Precedence Parser for Standard Prolog Text.” SOFTWARE-PRACTICE & EXPERIENCE 26 (7): 763–79.
Chicago author-date (all authors)
De Bosschere, Koen. 1996. “An Operator Precedence Parser for Standard Prolog Text.” SOFTWARE-PRACTICE & EXPERIENCE 26 (7): 763–779.
Vancouver
1.
De Bosschere K. An operator precedence parser for standard prolog text. SOFTWARE-PRACTICE & EXPERIENCE. 1996;26(7):763–79.
IEEE
[1]
K. De Bosschere, “An operator precedence parser for standard prolog text,” SOFTWARE-PRACTICE & EXPERIENCE, vol. 26, no. 7, pp. 763–779, 1996.
@article{189149,
  abstract     = {{Prolog is a language with a dynamic grammar which is the result of embedded operator declarations. The parsing of such a language cannot be done easily by means of standard tools. Most often, an existing parsing technique for a static grammar is adapted to deal with the dynamic constructs. 
This paper uses the syntax definition as defined by the ISO standard for the Prolog language. It starts with a brief discussion of the standard, highlighting some aspects that are important for the parser, such as the restrictions on the use of operators as imposed by the standard in order to make the parsing deterministic. Some possible problem areas are also indicated. As output is closely related to input in Prolog, both are treated in this paper. 
Some parsing techniques are compared and an operator precedence parser is chosen to be modified to deal with the dynamic operator declarations. The necessary modifications are discussed and an implementation in C is presented. Performance data are collected and compared with a public domain Prolog parser written in Prolog. 
It is the first efficient public domain parser for Standard Prolog that actually works and deals with all the details of the syntax.}},
  author       = {{De Bosschere, Koen}},
  issn         = {{0038-0644}},
  journal      = {{SOFTWARE-PRACTICE & EXPERIENCE}},
  keywords     = {{prolog,ISO standard syntax,operator precedence parser,implementation}},
  language     = {{eng}},
  number       = {{7}},
  pages        = {{763--779}},
  title        = {{An operator precedence parser for standard prolog text}},
  volume       = {{26}},
  year         = {{1996}},
}

Web of Science
Times cited: