| 
 | 
 
Preface 
ChangestotheSeventhEdition 
Thegoals,overallstructure,andapproachofthisseventheditionofConceptsofProgrammingLanguages 
remainthesameasthoseofthe 
six 
earliereditions.Theprincipalgoalsaretointroducethemainconstructs 
ofcontemporaryprogramminglanguagesandtoprovidethereaderwiththetoolsnecessaryforthecritical 
evaluationofexistingandfutureprogramminglanguages.Anadditionalgoalistopreparethereaderforthe 
studyofcompilerdesign,byprovidinganin-depthdiscussionofprogramminglanguagestructures, 
presentingaformalmethodofdescribingsyntax,andintroducingapproachestolexicalandsyntatic 
analysis. 
Theseventheditionevolvedfromthesixththroughseveralkindsofchanges.Tomaintainthe 
currencyofthematerial,someofthediscussionofolderprogramminglanguageshasbeenreplacedby 
materialonnewerlanguages.Forexample,sectionswereaddedtobothChapters 
1 
and 
2 
thatdiscuss 
markup/programminghybridlanguages,usingXSLTandJSPasexamples.Asectiononprogramproofs 
usingaxiomaticsemanticswasadded,includinganewproof.Thesectiononrecursivedescentparsingin 
Chapter 
4 
wasstrengthenedbyaddinganewparsingroutineandincludingatraceofacompleteparse 
usingtherecursivedescentalgorithm.Materialhasbeenaddedinseveralplacestointroducethemost 
interestingfeaturesofJava5.0,includingitsnewiterativestatementitsenumerationclass,anditsgenerics. 
Finally,minorchanges,primarilytoimproveclarity,weremadetoalargenumberofsectionsofthebook. 
TheVision 
 
 
 |   
 
 
 
 |