Stephen C. Johnson

Stephen C. Johnson
Født1944 Rediger på Wikidata
NationalitetUSA Amerikansk
BopælMorgan Hill Rediger på Wikidata
Uddannelse og virke
Uddannelses­stedColumbia University Rediger på Wikidata
BeskæftigelseMatematiker, ingeniør, datalog Rediger på Wikidata
Kendte værkerlint, Portable C Compiler, Yacc, Hierarchical clustering schemes Rediger på Wikidata
Eksterne henvisninger
Stephen C. Johnsons hjemmeside Rediger på Wikidata
Information med symbolet Billede af blyant hentes fra Wikidata. Kildehenvisninger foreligger sammesteds.

Stephen (Steve) C. Johnson, amerikansk matematiker og programmør, skaberen af yacc, lint, portable C compiler, spell og andre centrale UNIX værktøjer.

Johnson blev ansat på Bell Labs i 1963, og i 1969 arbejdede han på en oversætter til B. Han fik hjælp til udvikling af en parser af Al Aho, og Ahos store arbejde med parsetabeller inspirerede Johnson til at automatisere arbejdet; resultatet blev yacc.

Senere udviklede Johnson pcc, en transportable oversætter til C. pcc var den første C oversætter der kunne anvendes på flere slags computere. I 1977 flyttede Johnson sammen med Dennis Ritchie UNIX til Interdata 8/32. Det var første gang UNIX blev flyttet til en anden type maskine end PDP-11, og det var det første større forsøg med et transportabelt styresystem. For at gøre programkoden transportabel og isolere maskin-specikke dele af programmerne udviklede Johnson og Ritchie header filer, som det kendes fra C og UNIX i dag, og Johnson udviklede lint til heuristisk kontrol af C programmer for fejl.

I 1980'erne arbejdede Johnson med oversættere og især kode generering, og i 1990'erne med UNIX på supercomputere.

Johnson har ydet væsentlige teoretiske og praktiske bidrag til udvikling af oversættere, og tusinder af studerende og programmørere har anvendt hans værktøjer.

Litteratur

  • Alfred V. Aho, Stephen C. Johnson &Jeffrey D. Ullman: Deterministic Parsing of Ambiguous Grammars, Communications of the ACM, vol. 18 no 8, 1975
  • Alfred V. Aho & Stephen C. Johnson: Optimal Code Generation for Expression Trees, Journal of the ACM, vol. 23 no. 3, 1976
  • Stephen C. Johnson: A Portable Compiler: Theory and Practice, POPL ,1978
  • Peter H. Salus: A Quarter Century of UNIX, Addison-Wesley, 1994.