CpS 450 Language Translation Systems

Beyond Compilers

Compiler technology is not just for Creating Compilers

  • Many common applications include built-in macro facilities which often feature full-blown scripting engines

  • Applications that have to read data files with complicated formats use parsers

Adding Scripting Capability to Applications

  • Do your users need to automate certain tasks in your application? Don’t write a custom macro facility; make your application scriptable!

  • Ultimate Example: Microsoft Office/VBA

Don’t Invent Your Own Language

Why invent a language and write a parser when you can use a scripting engine

Java: Scripting API

  • Java Scripting API (https://docs.oracle.com/javase/9/docs/api/javax/script/package-summary.html)

  • Supports: Javascript (built in), Python, Tcl, …

  • Demo: /examples/beyondcompilers/scriptdemo

A Bit of History

Fortran Compiler Documentary: https://www.youtube.com/watch?v=CXvyjbWkTyU