DSL,

来源:互联网 发布:蚂蚁网络兼职 编辑:程序博客网 时间:2024/04/30 14:07

Ref:

http://www.paulgraham.com/diff.html

http://www.martinfowler.com/bliki/DomainSpecificLanguage.html

http://www.paulgraham.com/progbot.html

http://martinfowler.com/dsl.html


internal DSL:

   Write your own  API libraries

   LISP, higher level abstraction for your program, bottom-up programming, " When youwork bottom-up, you usually end up with a different program.Instead of a single, monolithic program,you will get a larger language with more abstract operators, and a smaller program written in it. Instead of a lintel,you'll get an arch."

   GCI library?  webapp framework?




external DSL:

Used for:

   code generation

   Interpretation?  read and run

   configuration language




Examples:

  makefile

  YACC, LEX

   RE

   graphviz .dot file

   SWIG  config file

     doubango bindings, some other programs' bindings generation

     

ragel state machine compiler: 

     HTTP parser for mongrel

    doubango tinyDEMO config


vlc stream configuration, VLM config


 




XML



0 0
原创粉丝点击