Accelerator Markup Language / Universal Accelerator Parser Project


A major problem in accelerator physics has been the sharing of lattice description files between programs. Currently, there is no adequite standard lattice format. To alleviate this problem this project aims to define a lattice format called Accelerator Markup Language (AML). This lattice format will be an application of XML. Furthermore, since parsers can easily be the most complicated portion of a program, a project goal is to provide a standardized Universal Accelerator Parser (UAP) to read in AML files. The UAP parser will be structured so that is is a relatively simple matter to extend it to read in other formats. Hence the "Universal" in the name. In particular, MAD format files will be readable by the parser. The major pieces of this project are: The parser is shown schematically in the following figure:

The output of the parser routine would be a structure holding the information that is in the lattice file. A program that uses the parser would convert the parser structure to its own internal structure. The routine to convert from the parser structure to the structure of a given program would have to be constructed by the maintainer of the program but that job is easy compared to the job of constructing a parser from scratch.