Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
PLCC: a programming language compiler compiler
Fossum T.  SIGCSE 2014 (Proceedings of the 45th ACM Technical Symposium on Computer Science Education, Atlanta, GA, Mar 5-8, 2014)561-566.2014.Type:Proceedings
Date Reviewed: Mar 27 2014

There is a long-standing debate in the academic community about the appropriate use of analysis tools in undergraduate programming language and compiler courses. On the one hand, such tools enable students to experiment with linguistic structures and see how they could be analyzed; on the other, tools may have steep learning curves or depend on concepts that are irrelevant to the course. Fossum believes that tools are beneficial, and he developed this programming language compiler compiler (PLCC) to attack the problems of the learning curve and irrelevant concepts.

PLCC uses the regular expressions of the Java pattern class to describe tokens, slightly extended Backus normal form (BNF) to describe structure, and Java methods to describe semantics. A student’s language definition is written as a single file and submitted to PLCC. Output is a collection of Java files deposited in a subdirectory of the current directory. Java is used in other courses at Fossum’s school, and the additional notation is certainly relevant to any course in the area.

A compiler writer will find nothing of interest in this paper; it was written to help an educator to decide whether to use analysis tools in general and PLCC in particular, and it succeeds admirably at this task. Fossum lays out the pedagogic issues, and from them develops a set of goals for PLCC. He presents an overview of the notation that PLCC accepts, and provides a complete specification for a trivial language. There is a section describing the architecture of the PLCC implementation that shows how it interacts with its environment.

Reviewer:  W. M. Waite Review #: CR142117 (1406-0444)
Bookmark and Share
  Reviewer Selected
 
 
Code Generation (D.3.4 ... )
 
 
Computer Science Education (K.3.2 ... )
 
 
Translator Writing Systems And Compiler Generators (D.3.4 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Code Generation": Date
Attributed linear intermediate representations for retargetable code generators
Ganapathi M., Fischer C. Software--Practice & Experience 14(4): 347-364, 1984. Type: Article
Mar 1 1985
Register Allocation in Optimizing Compilers
Leverett B., University Microfilms Int’l. (UMI), Ann Arbor, MI, 1983. Type: Book (9789780835715300)
Feb 1 1985
Code generation and optimization
Graham S., Cambridge University Press, New York, NY, 1984. Type: Book (9780521268431)
Jul 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy