Implementing the Compiler of UDLC

Caihua Hu, Ruisheng Zhang, Tongming Wei, Ruipeng Wei, Shuping Li, Yao Cheng · 2010

The increasing complexity of chemical problems often requiring multiple chemical software work together to complete. Most chemical software uses different script languages to describe jobs, chemists have to consume lots of time to learn them before work. Unified Job-Description Language on Chemical Grid (UDLC) is designed to solve the problem. It is a domain specific-language (DSL), aims at reducing the cost of chemical research substantially by providing a general-purpose chemical job description language standard on grid. Using UDLC to describe a job is simple and can be translate to other chemical software script automatically by computer. Many heterogeneous chemical resources integrated in the grid can be directly invoked using UDLC. In this article, we focus on the three main parts in implementing the compiler of UDLC. Firstly, use ANTLR to build Abstract Syntax tree (AST) for UDLC. The AST is an intermediate form not only records the content of the UDLC input, but also records the structure of it. With the help of AST, we can get the chemical information out conveniently. Secondly, traverse the AST for Semantic processing. The major task of this part is to map the AST into chemical markup language (CML) file and produce jobs written by specified chemical script languages. Lastly, generate the target code. In this part, we insert the jobs into flow control sentences to make the target JAVA code which will be executed in the dynamic runtime we built.

Read the paper · More papers on PaperTik