origin = ( 2,1.75 ) cht = 0.08; cwid = cht*0.75 arrow 'source' 'code' LA: box 'lexical' 'analyser' arrow 'tokens' P: box 'parser' arrow 'inter-' 'mediate' 'code' Sem: box 'semantic' 'checker' arrow arrow <-> up from top of LA LC: box color red 'lexical' 'corrector' arrow <-> up from top of P Syn: box color red 'syntactic' 'corrector' arrow up DMP: box color blue 'diagnostic' 'message' 'printer' arrow <-> right from east of DMP ST: box color blue 'symbol' 'table' arrow from LC.ne to DMP.sw arrow from Sem.nw to DMP.se arrow <-> from Sem.top to ST.bottom