
This Article  
 
Share  
Bibliographic References  
Add to:  
Digg Furl Spurl Blink Simpy Del.icio.us Y!MyWeb  
Search  
 
ASCII Text  x  
T. Rus, "Parsing Languages by Pattern Matching," IEEE Transactions on Software Engineering, vol. 14, no. 4, pp. 498511, April, 1988.  
BibTex  x  
@article{ 10.1109/32.4672, author = {T. Rus}, title = {Parsing Languages by Pattern Matching}, journal ={IEEE Transactions on Software Engineering}, volume = {14}, number = {4}, issn = {00985589}, year = {1988}, pages = {498511}, doi = {http://doi.ieeecomputersociety.org/10.1109/32.4672}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, }  
RefWorks Procite/RefMan/Endnote  x  
TY  JOUR JO  IEEE Transactions on Software Engineering TI  Parsing Languages by Pattern Matching IS  4 SN  00985589 SP498 EP511 EPD  498511 A1  T. Rus, PY  1988 KW  Algebraic model KW  algorithm KW  BNFrule KW  compiler KW  complexity KW  language KW  pattern matching KW  program evaluation KW  programming language KW  program parsing KW  specification mechanism. VL  14 JA  IEEE Transactions on Software Engineering ER   
The language of universal algebras is used as an alternative approach for programming language specification. BNF rules are employed for specifying the signature of the language algebra instead of the context free syntax. The algorithm for program parsing is inductively defined by the following universal algebraic construction: Any function defined on the generators of a free algebra taking values in the carrier of another similar algebra can he uniquely extended to a homomorphism between the two algebras. Any conventional programming language can be specified by a finite set of BNF rules and its algebra of symbols is generated by a finite set of generator classes. Thus any function defined on the finite set of generators offers an algebraic mechanism for a universal algorithm for source language program parsing. The righthand side of the BNF rules are the patterns searched by the algorithm in the source text of the program. The essential feature of this algorithm is that it can be used as a driver for code generation and optimization in a translator. This driver recognizes source language constructs in the source text. The code generator evaluates them into the target language regenerating the source language program inductively as a target language program. Therefore this parser is also called a program evaluator.
[1] T. P. Backer, "A one pass algorithm for overload resolution in Ada,"ACM Trans. Program. Lang., Syst., vol. 4, no. 4, pp. 601614, 1982.
[2] E. W. Dijkstra, "An Algol60 translator for Xl,"Annu. Rev. Automat. Program., vol. 3, pp. 329345, 1963.
[3] J. A. Goguen, J. W. Thatcher, E. Wagner, and J. B. Wright, "Initial algebra semantics and continuous algebras,"J. ACM, vol. 24, no. 1, pp. 6895, 1977.
[4] M. Gordon,The Denotational Description of Programming Languages. New York: SpringerVerlag, 1979.
[5] W. S. Hatcher and T. Rus, "Context free algebras,"J. Cybern., no. 6, pp. 6577, 1976.
[6] R. R. Henry, "Code generation tutorial," inACM SIGPLAN'86 Compiler Construction Tutorial Notes, Palo Alto, CA, June 2327, 1986.
[7] P. J. Higgins, "Algebras with a scheme of operators,"Math. Nachrichten, vol. 27, pp. 115132, 19631964.
[8] C. M. Hoffmann and M. J. O'Donnell, "Pattern matching in trees,"J. ACM, vol. 29, no. 1, pp. 6895, Jan. 1982.
[9] J. D. Ichbiahet al., "Rationale for the design of the Ada programming language,"SIGPLAN Notices, vol. 14, (Tech. Rep. 6), pt. B, June 1979.
[10] J. B. Johnston, "Contour model of block structured processes,"SIGPLAN Notices, vol. 62, pp. 5882, 1971.
[11] C. B. Jones and P. Lucas, "Proving correctness of implementation techniques," in Engeler. E. (Ed.),Symp. Semantics of AlgorithmicLanguages, (Lecture Notes in Mathematics, vol. 188). E. Engeler, Ed., 1971, pp. 178211.
[12] D. E. Knuth, J. M. Morris Jr., and V. R. Pratt, "Fast pattern matching in strings,"SIAM J. Comput., vol. 6, no. 2, pp. 323350. June 1977.
[13] A. G. Kurosh,Lectures in General Algebras. New York: Pergamon, 1965.
[14] J. LePeau, "Noncanonical boundedcontext parsers," M.S. thesis, Dep. Comput. Sci., Univ. Iowa, Iowa City.
[15] T. Pennello, F. L. DeRemer, and R. Meyers, "A simplified operator identification scheme for Ada,"ACM SlGPLAN Notices, vol. 15, no. 7, 8, pp. 8287, 1980.
[16] T. Rus,Data Structures and Operating Systems. New York: Wiley, 1979.
[17] T. Rus, "HAShierarchy: A natural tool for language specification,"Fundamenta Inform., vol. III, no. 3, pp. 269294, 1980.
[18] T. Rus, "An alternative to CF grammar for language specification," inProc. IEEE ICCL, Miami Beach. FL, Oct. 2730, 1986, pp. 144 155.
[19] T. G. Szymanski and J. H. Williams, "Noncanonical extensions of bottomup parsing techniques,"SIAM J. Comput., vol. 5, pp. 231 250, 1976.
[20] W. M. Waite andG. Goos, Compiler Construction. New York: SpringerVerlag, 1984.
[21] D. A. Watt, "Contextual constraints," inMethods and Tools for Compiler Construction, B. Lohro, Ed. London: Cambridge University Press, 1984.
[22] J. B. Williams, "Bounded context parsable grammars,"Inform. Contr., vol. 28, pp. 314334, 1975.