SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
20.
There's no life without trees
● Extending IDEs
● External DSLs
● Internal DSLs in modern languages
● Groovy AST transformations
● Scala macros
● Lisp, Clojure macros
● Lombok
21.
Notations for DSLs
● Text
● Diagrams
● Tables
● Forms
● Mixtures of all
● …
22.
Parsing is the bottleneck
… of language expressiveness
29.
Parsing is the bottleneck
… of language expressiveness
● Limits the possible syntaxes
● Allows only one editable code visualization
● Complicates combining languages
30.
Aspects of language definition
● Abstract syntax
● Concrete syntax (editor)
● Static semantics
● Constraints
● Type-system
● Dataflow
● Execution semantics / Generator
● IDE support