Like programs, programming languages are not only mathematical objects but also software engineering artifacts. Describing the semantics of real-world languages can help bring language theory to bear on both exciting and important real-world problems. Achieving this is not purely a mathematical task, but equally one of (semantic) engineering.
@inproceedings{guha:semantic-gap, author = "Arjun Guha and Shriram Krishnamurthi", title = "Minding the Semantic Gap: Engineering Programming Language Theory", year = 2011, booktitle = "Workshop on the Future of Software Engineering Research (FoSER)" }