Abstract Syntax Graphs for Domain Specific Languages