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:
AML: A standardized lattice description format.
A parser routine to read in AML lattice files.
A "back" parser routine to create AML lattice files.
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.