Stephen C. Johnson

Fra Wikipedia, den frie encyklopædi
Gå til: navigation, søg

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[redigér | redigér wikikode]

  • 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.