Web browsers as compilers Scott Buckley Macquarie University The written standards that make up the Web come to almost a million words of text and can be very difficult to implement, which is one of the reasons there are so many inconsistencies between browser behaviours. In this presentation we explore the similarities between web browsers and programming language compilers, and examine how compiler design techniques can be applied to the web browser implementation problem. Most notably we will explore how CSS can be seen as semantic analysis, and therefore how attribute grammars are well- suited to implement CSS layout. Some demonstrations are given from a working CSS layout engine written in Kiama attribute grammars.