internal domain-specific languages for solving problems in the domain of language processing. Problem Domain-specific language Text to structure Context-free grammars Structure representation Algebraic data types Transformation Term rewriting Analysis Attribute grammars Execution Abstract state machines Structure to text Pretty printing For more information. . . SCP 2013, GTTSE III, SLE 2012, 2014 papers 2 / 16
as possible Live updates on every change Design Simple broadcast process architecture Simple JSON messages Fast off-the-shelf messaging using ZeroMQ 5 / 16
Scala interface to existing MiniJava compiler Sink: errors, output and compiler AST in editor Broker AST, errors, output program User MiniJava compiler program edit MiniJava program editor editor show AST, errors, output in editor AST, errors, output 9 / 16
reflect changes back as an identical product Sink: publish HTML via web-server Broker HTML HTML User Reflector HTML edit HTML code Web server editor display HTML HTML 10 / 16
good enough for interactive use Proof-of-concept applications are already useful Modes of interaction not shown in the demo are possible (e.g., append to view, use and/or replace selection, context-menus) For more information. . . SLE 2014 paper https://bitbucket.org/inkytonik/monto https://bitbucket.org/inkytonik/sublimemonto 16 / 16