{"title":"XREF: a case study in Common Lisp portability","authors":"T. Gruber","doi":"10.1145/1862396.1862397","DOIUrl":null,"url":null,"abstract":"Experience in building XREF, a Common Lisp cross reference utility, has revealed several issues relevant to writing portable program analysis utilities and supporting portable application programs across implementations. XREF is a program analyzer that parses Lisp code, analyzes calls to macros and functions and the use of variables, and then produces reports on inter-dependencies among functions, macros, variables, and files. It was designed to be a portable Common Lisp program that could analyze any any program written entirely in Common Lisp; the standard specified in [1] (hereafter CLtL) is both its implementation language and domain.","PeriodicalId":262740,"journal":{"name":"ACM SIGPLAN Lisp Pointers","volume":"236 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1987-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM SIGPLAN Lisp Pointers","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1862396.1862397","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
Experience in building XREF, a Common Lisp cross reference utility, has revealed several issues relevant to writing portable program analysis utilities and supporting portable application programs across implementations. XREF is a program analyzer that parses Lisp code, analyzes calls to macros and functions and the use of variables, and then produces reports on inter-dependencies among functions, macros, variables, and files. It was designed to be a portable Common Lisp program that could analyze any any program written entirely in Common Lisp; the standard specified in [1] (hereafter CLtL) is both its implementation language and domain.