// FILE. . . . . /home/hak/hlt/src/hlt/osf/v0/sources/OsfV0NodeClasses.grm
// EDIT BY . . . Hassan Ait-Kaci
// ON MACHINE. . Hp-Dv7
// STARTED ON. . Fri Nov 02 18:25:28 2012

/**
 * This is an auxiliary file for the <a href="OsfV0.html">OSF
 * V0 language grammar</a> defining the node classes for the objects used in
 * its semantic rules.
 * 
 * @version     Last modified on Thu Dec 27 02:28:36 2012 by hak
 * @author      <a href="mailto:hak@acm.org">Hassan A&iuml;t-Kaci</a>
 * @copyright   &copy; <a href="http://www.hassan-ait-kaci.net/">by the author</a>
 */

/* ************************************************************************ */
/* ******************** OSF V0 GRAMMAR'S NODE CLASSES ********************* */
/* ************************************************************************ */

%nodeclass IsaDeclarationStatement
{
  Stack lhs;
  Stack rhs;
}

%nodeclass SortSymbols
{
  Stack symbols;
}

%nodeclass SortExpression
{
  SortExpression expression;
}

%nodeclass SortList
{
  Stack sortList;
}

%nodeclass UntaggedPsiTerm extends Body_opt
{
  SortExpression sort;
}

%nodeclass PsiTerm extends UntaggedPsiTerm
{
  String tag;
}

%nodeclass Body_opt
{
  Stack keys;
  Stack subterms;
}

%nodeclass SubTerms extends Body_opt
{
}

%nodeclass SubTerm
{
  Object key;
  Object psiterm;
}

%nodeclass Feature
{
  Object feature;
}

%nodeclass PragmaArguments_opt
{
  ArrayList args;
}

%nodeclass FileList
{
  Stack files;
}

/* ************************************************************************ */
