OsfV2Declarations.grm

// FILE. . . . . /home/hak/hlt/src/hlt/osfv2/apps/v2/sources/OsfV2Declarations.grm
// EDIT BY . . . Hassan Ait-Kaci
// ON MACHINE. . Hak-Laptop
// STARTED ON. . Tue Jan 21 08:19:13 2014



This is part of the OSF V2 language grammar and contains its declarations.

Author:  Hassan Aït-Kaci
Copyright:  © by the author
Version:  Last modified on Tue Mar 25 16:49:46 2014 by hak



/* ************************************************************************ */
/* ************************  START  OF  DECLARATIONS ********************** */
/* ************************************************************************ */

%import hlt.language.tools.Misc;
%import hlt.language.tools.Debug;

%import hlt.language.util.Stack;
%import hlt.language.util.ArrayList;
%import hlt.language.util.IntIterator;
%import hlt.language.util.Error;
%import hlt.language.util.Span;
%import hlt.language.util.Locatable;

%import hlt.osf.io.*;
%import hlt.osf.base.*;
%import hlt.osf.util.*;
%import hlt.osf.exec.*;

%import hlt.language.io.CircularInclusionException;

%import java.util.HashMap;
%import java.util.HashSet;

%import java.io.PrintStream;
%import java.io.FileNotFoundException;

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

%package hlt.osf.v2;

%access public

%start OsfV2Program

%root SortExpression
%root OsfExpression

%nodeprefix "OsfV2"
%nodesuffix ""

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

// Tokens in order of increasing precedence:

%token EOS // End of statement marker (.)
%token IDENTIFIER PRAGMA STRING TOP BOTTOM TAG INTEGER CHAR FLOAT BOOLEAN
// %right PROJECT	// feature projection (/)
%token ARROW	// feature association (=>)
%token ISA	// 'is-a' declaration (<|)
// %left  JOIN	// lub (\/)
// %left  MEET	// glb (/\)
%right BUTNOT   // sort complementation (\)
%left OR	// sort union (|)
%left AND	// sort intersection (&)
%right NOT	// sort negation (!)

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



This declares this application XML's namespace to be "osf" as an abbreviation for the URI "http://cedar.liris.cnrs.fr/osf". This is just a fake URI for now.


%xmlns "osf" "http://cedar.liris.cnrs.fr/osf"



Define the XML tree root element to be osf:OsfExpression.


%xmlroot "osf" "OsfExpression"



Tokens' XML serialization declarations:


%xmlinfo TOP        [ n:"osf" l:"sort"       a:{symbol="*TOP*"}    ]
%xmlinfo BOTTOM     [ n:"osf" l:"sort"       a:{symbol="*BOTTOM*"} ]
%xmlinfo TAG        [ n:"osf" l:"tag"        a:{value=$value}      ]
%xmlinfo IDENTIFIER [ n:"osf" l:"identifier" a:{value=$value}      ]
%xmlinfo INTEGER    [ n:"osf" l:"constant"    a:{sort="integer" value=$value} ]
%xmlinfo CHAR       [ n:"osf" l:"constant"    a:{sort="char" value=$value}    ]
%xmlinfo FLOAT      [ n:"osf" l:"constant"    a:{sort="float" value=$value}   ]
%xmlinfo STRING     [ n:"osf" l:"constant"    a:{sort="string" value=$value}  ]
%xmlinfo BOOLEAN    [ n:"osf" l:"constant"    a:{sort="boolean" value=$value} ]

/* ************************************************************************ */
/* ***********************    END  OF  DECLARATIONS    ******************** */
/* ************************************************************************ */


This file was generated on Mon Jun 02 09:43:20 CEST 2014 from file OsfV2Declarations.grm
by the hlt.language.tools.Hilite Java tool written by Hassan Aït-Kaci