Towards Efficient, Typed LR Parsers

被引:8
|
作者
Pottier, Francois [1 ]
Regis-Gianas, Yann [1 ]
机构
[1] INRIA, Paris, France
关键词
parsing; type safety; generalized algebraic data types;
D O I
10.1016/j.entcs.2005.11.044
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The LR parser generators that are bundled with many functional programming language implementations produce code that is untyped, needlessly inefficient, or both. We show that, using generalized algebraic data types, it is possible to produce parsers that are well-typed (so they cannot unexpectedly crash or fail) and nevertheless efficient. This is a pleasing result as well as an illustration of the new expressiveness offered by generalized algebraic data types.
引用
收藏
页码:155 / 180
页数:26
相关论文
共 50 条
  • [1] Construction of efficient generalized LR parsers
    Alonso, MA
    Cabrero, D
    Vilares, M
    [J]. AUTOMATA IMPLEMENTATION, 1998, 1436 : 7 - 24
  • [2] Efficient controlling of parsing-stack operation for LR parsers
    Fuketa, M
    Morita, K
    Lee, S
    Aoe, J
    [J]. INFORMATION SCIENCES, 1999, 118 (1-4) : 145 - 157
  • [3] INCREMENTAL LR PARSERS
    CELENTANO, A
    [J]. ACTA INFORMATICA, 1978, 10 (04) : 307 - 321
  • [4] LOOPING LR PARSERS
    SOISALONSOININEN, E
    TARHIO, J
    [J]. INFORMATION PROCESSING LETTERS, 1988, 26 (05) : 251 - 253
  • [5] ON THE REDUCTION OF LR(K) PARSERS
    PARK, WJ
    LEE, MJ
    CHOE, KM
    [J]. INFORMATION PROCESSING LETTERS, 1993, 47 (05) : 245 - 251
  • [6] ARE LR PARSERS TOO POWERFUL
    MACHANICK, P
    [J]. SIGPLAN NOTICES, 1986, 21 (06): : 35 - 40
  • [7] Validating LR(1) Parsers
    Jourdan, Jacques-Henri
    Pottier, Francois
    Leroy, Xavier
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, 2012, 7211 : 397 - 416
  • [8] EXTENDING LOOKAHEAD FOR LR PARSERS
    BAKER, TP
    [J]. JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 1981, 22 (02) : 243 - 259
  • [9] LR(0) GRAMMARS GENERATED BY LR(0) PARSERS
    KEMP, R
    [J]. ACTA INFORMATICA, 1981, 15 (03) : 265 - 280
  • [10] OPTIMIZING DIRECTLY EXECUTABLE LR PARSERS
    PFAHLER, P
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1991, 477 : 179 - 192