Augmented Syntax Diagram (ASD) home page 
Author:  Prof. James A. Mason, York University, Toronto, Ontario, Canada
Email: jmason (at) yorku.ca

page last updated 2008  Apr 17

=>> Summary for new users of this site <<= 

The 2008 Mar 8, Mar 26, and Apr 15-17 updates include details of the ASDParser algorithm.

The 2008 Mar 12 update includes a slightly expanded  ASDParser algorithm overview, including a brief discussion of the feature-value mechanism for use by semantic action and semantic value augmentations of an ASD grammar.

The 2008 Feb 7 update includes two pieces of documentation for ASDParser: ASDParser algorithm overview and Restrictions on how ASD grammars should be written to be used with ASDParser.

The 2008 Jan 17 update  includes a release of additional source code licensed under the Apache 2.0 license for open-source software.  Specifically, this includes the source code for the packages asd and digraphs, the class files for which are contained in release 1.15 of the asddigraphs archive files, as well as the source code for various utility programs whose class files are also included in the asddigraphs archive files.  See Software for details of what is included in the asddigraphs archive.  See also the notes under the subheading ApacheLicensedSourceCode in the bullet list below.  Thanks to Roxanne Parent for help in finding an appropriate open-source license for this project.
 
You are free to download and use the tools and examples at this site, with appropriate acknowledgment of their origin, and for those licensed under the Apache 2.0 license, in compliance with the terms of that license.  The tools and examples are provided with no warranty expressed or implied.

Links to the current contents of this site:

Another site for ASD examples: http://www.asd-networks.com/ This site is maintained by Roxanne Parent

Highlights of earlier updates:

The 2007 Sep 10 update includes new asddigraphs files on the Software page (see also below) that contain a slightly revised version (1.09a) of ASDEditor to implement a minor bug fix.  The Release notes for release 1.15 contain a description of the bug.

NEW in 2006 Jan 9 update:

  1. A new version (1.09) of ASDEditor is included in an update of the asddigraphs archive.  It provides users the choice of saving grammar files in a form either optimized or not optimized for parsing.  See the Software page for downloadable files containing the asddigraphs archive, and see release114.txt for more details of the new version of ASDEditor.
  2. The Evaluator application described in the 2005 Aug 22 update notes just below is now available as an applet that can be run from a Java enabled web browser running JRE 1.5 or higher:  Evaluator .  Thanks again to Roxanne Parent for creating this applet.   (Note: The Evaluator applet window must be closed by using the Action Exit menu option, not by clicking on the button in the upper right-hand corner of the window.)

NEW in 2005 Aug 22 update:

  1. A new version (1.07) of ASDParser is included in an update of the asddigraphs archive.  This corrects an error in previous versions of ASDParser that resulted in its mishandling semantic features in rare circumstances.  See the Software page for downloadable files containing the asddigraphs archive.
  2. An example grammar, expression.grm, is provided for arithmetic expressions like 2.5x[100. - (.3 + 27 / (4-1))] along with an example application, Evaluator.java, which uses the example grammar to parse such expressions.  Evaluator also uses semantic functions corresponding to nodes in the grammar to compute the numerical values of such expressions.  Note: Evaluator is defined to be in a Java package named arithmetic.  The grammar file expression.grm should be in the subdirectory from which Evaluator is run.  Follow this link for more details.

NEW in 2005 Apr 20 update: A SemanticValue class hierarchy has been added to the examples available from this site.  It includes some general classes in Java for representing semantic values of natural-language words and phrases, and some demonstration subclasses of them which represent semantic values of particular kinds of words and phrases in English.  These extend parts of the npX grammar example (see English examples) to provide meaning representations for phrases parsed with the revised grammar, npXdemo.grm .  Follow the link at the beginning of this paragraph for more details.  Once again, I want to thank Roxanne Parent for her feedback on the new class hierarchy.

NEW in 2004 Aug 31 update: a demonstration version of ASDTester, created by Roxanne Parent.   The demonstration version requires a Java-enabled web browser.  If your browser is not Java-enabled, you can obtain a Java plugin from http://java.sun.com/products/plugin/.  Like the production version of ASDTester (see http://www.yorku.ca/jmason/software.htm), the demo version permits parsing of strings of words with ASDParser, and display of the phrase structure trees that result.  Most features of the demo version work the same as for the production version.  However, because of security restrictions on Java applets, the demo version only permits opening of grammar files from a specific web site, not from the user's local computer.  Also the "Copy selection" choice from the Action menu doesn't work in the demo version, at least under MS Windows, as it does in the production version.  That, too, may be due to a Java applet security restriction.   Selections from the "Action" menu are also available from a pop-up menu in the bottom pane of the window.  (Use the right mouse button to invoke that menu under MS Windows, Linux or other versions of Unix.)  The demo version of ASDTester must be terminated by selecting "Exit" from the "Action" menu, rather than by closing the window.

Please note that ASDTester uses only the syntax of ASD grammars, not the semantic actions and values with which a grammar may be augmented.  When ASDTester displays a phrase structure tree, the tree and its subtrees are displayed sideways, with the root at the top left and descendants of the root indented below it.  ASDTester permits the results of parsing to be applied and viewed one step at a time, so one can see how the ASDParser constructs a phrase structure tree incrementally.

Here are some suggested examples to try parsing with the demo version of ASDParser:
With the example grammar cardinal.grm:
  --  "one hundred and twenty-five thousand"
       Try parsing it stepwise, with and without the check boxes being checked.  Try for more than one successful parse.
With the example grammar npX.grm:
  -- "the last doughnut in this big box"
  -- "the very first little green apple"

end of page