Category: 

What Is ASDL?

Article Details
  • Written By: K.C. Bruning
  • Edited By: John Allen
  • Last Modified Date: 03 September 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
Roughly one-fifth of the world's stock of gold - worth over $200 billion USD - is stored under the streets of London.  more...

September 30 ,  1949 :  The Berlin Air Lift ended.  more...

ASDL is an acronym for abstract syntax description language. It is a programming language which describes data structures in compilers that are arranged in a tree-like configuration. Compilers are programs that translate source code language into a code understood by the target machine. ASDL can also be described as abstract-type and scheme definition language.

The primary purpose of ASDL is to help the compiler to facilitate communication. It usually takes a high-level programming language and simplifies it to a lower level. A typical translation process begins with the conversion to ASDL. Then a conversion tool, such as one called asdlGen, is used to translate the language into programming formats such as Java, C++, and C. These functions are typically programmed so the abstract syntax description language will perform its translation functions automatically.

ASDL can also be adapted so that it may be viewed on a graphical browser. By providing a clean visual representation of the code, working with ASDL this way can simplify the process of making changes. In order to create this kind of file, the abstract syntax description language is converted into a standard format called a pickle.

There are three constructs in a typical abstract syntax description language description. They include types, constructions and productions. These three factors work together to define, build, and implement the translation function.

Ad

Abstract syntax description language was first developed as part of the GRASPIN project, which was a beneficiary of ESPIRIT, a program created to encourage the development of European information technology. The GRASPIN project was started to create systems that help to build, develop, and promote non-sequential software systems.

Some of the benefits of ASDL include simplicity of function and concise results. The language tends to be practical and easy for many programmers to use intuitively. It can also be used with other tools to further ease the translation process. This feature also helps to simplify the process of creating compilers that work well together. Abstract syntax description language is generally not the most efficient means of translation, but it can save significant processing time.

There are several other possible meanings for the acronym ASDL and which can often be mistaken for abstract syntax description language. Some include: analytical sciences digital library, American standard digital line, and aircraft-satellite data link. It is also often mistaken for the acronym ADSL, which commonly stands for asymmetric digital subscriber line.

Ad

You might also Like

Recommended

Discuss this Article

Post your comments

exception 'Exception' with message 'error writing captcha: Duplicate entry '2147483647' for key 'PRIMARY'' in /ssd/www/wisegeek/public_html/_core/classes/public/Captcha.php:44
Stack trace:
#0 /ssd/www/wisegeek/public_html/_core/controls/public/ControlDiscussionPostBox.php(324): Captcha->createCaptcha()
#1 /ssd/www/wisegeek/public_html/framework/classes/Control.php(104): ControlDiscussionPostBox->preRender(false)
#2 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): Control->render()
#3 /ssd/www/wisegeek/public_html/tpl/default-nocustom-lu/pages/public/article/article.htm(526): Control->__toString()
#4 /ssd/www/wisegeek/public_html/framework/classes/Control.php(300): require('/ssd/www/wisege...')
#5 /ssd/www/wisegeek/public_html/framework/classes/Control.php(309): Control->requireTpl('pages/public/ar...', Object(PageArticleCom), true)
#6 /ssd/www/wisegeek/public_html/framework/classes/Control.php(131): Control->renderTpl('pages/public/ar...', Object(PageArticleCom))
#7 /ssd/www/wisegeek/public_html/framework/classes/FormDataControl.php(87): Control->renderTemplate()
#8 /ssd/www/wisegeek/public_html/framework/classes/Control.php(109): FormDataControl->renderTemplate()
#9 /ssd/www/wisegeek/public_html/framework/classes/ScriptPage.php(50): Control->render(false)
#10 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): ScriptPage->render()
#11 /ssd/www/wisegeek/public_html/framework/classes/Page.php(97): Control->__toString()
#12 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(443): Page->processRequest()
#13 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(7): PublicFrontController->renderPage()
#14 /ssd/www/wisegeek/public_html/index.php(11): PublicFrontController::run()
#15 {main}