[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/appserver/src/_featuretest thekitchensink....
From: |
Daniel E. Baumann |
Subject: |
gnue/appserver/src/_featuretest thekitchensink.... |
Date: |
Mon, 02 Sep 2002 06:35:43 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Daniel E. Baumann <address@hidden> 02/09/02 06:35:43
Modified files:
appserver/src/_featuretest: thekitchensink.godl
thekitchensink.odl
Log message:
Done.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/_featuretest/thekitchensink.godl.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/_featuretest/thekitchensink.odl.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
Patches:
Index: gnue/appserver/src/_featuretest/thekitchensink.godl
diff -c gnue/appserver/src/_featuretest/thekitchensink.godl:1.5
gnue/appserver/src/_featuretest/thekitchensink.godl:1.6
*** gnue/appserver/src/_featuretest/thekitchensink.godl:1.5 Sat Aug 31
14:35:13 2002
--- gnue/appserver/src/_featuretest/thekitchensink.godl Mon Sep 2 06:35:42 2002
***************
*** 1,3 ****
--- 1,15 ----
+ <!--
+ This file serves no real functional purpose other than to amuse
+ and to present various markup allowed in GODL which will be used to
+ test the various parsers.
+
+
+ Stuff that belongs to the 'default' module. It is used to show you do
+ not need to declare things in a module to have valid GODL. Also helps
+ in determining how to handle things that are not contained in a
+ module.
+ -->
+
<?xml version="1.0"?>
<odl_specification>
<odl_definition>
***************
*** 42,49 ****
</declarators>
</typedef>
! <struct>
! <id>Bar</id>
<members>
<member>
<type_spec>string</type_spec>
--- 54,60 ----
</declarators>
</typedef>
! <struct id="Bar">
<members>
<member>
<type_spec>string</type_spec>
***************
*** 84,91 ****
</members>
</struct>
! <union>
! <id>Trout</id>
<switch>
<type_spec>boolean</type_spec>
<case>
--- 95,101 ----
</members>
</struct>
! <union id="Trout">
<switch>
<type_spec>boolean</type_spec>
<case>
***************
*** 105,112 ****
</switch>
</union>
! <enum>
! <id>TroutType</id>
<enumerator>brown</enumerator>
<enumerator>rainbow</enumerator>
<enumerator>lake</enumerator>
--- 115,121 ----
</switch>
</union>
! <enum id="TroutType">
<enumerator>brown</enumerator>
<enumerator>rainbow</enumerator>
<enumerator>lake</enumerator>
***************
*** 177,198 ****
</typedef>
<!-- Forward declarations -->
! <interface>
! <id>GNUe::Sadist</id>
! </interface>
! <class>
! <id>GNUe::Goats::Chillywilly</id>
! </interface>
! <const>
! <id>BIGINT</id>
<type_spec>
<unsigned_long>10000L</unsigned_long>
</type_spec>
</const>
! <exception>
! <id>NoModuleError</id>
<members>
<member>
<type_spec>string</type_spec>
--- 186,201 ----
</typedef>
<!-- Forward declarations -->
! <interface id="GNUe::Sadist"/>
! <class id="GNUe::Goats::Chillywilly"/>
! <const id="BIGINT">
<type_spec>
<unsigned_long>10000L</unsigned_long>
</type_spec>
</const>
! <exception id="NoModuleError">
<members>
<member>
<type_spec>string</type_spec>
***************
*** 211,252 ****
<exception id="FubarError"/>
! <interface>
! <id>KungFu</id>
! <operation>
! <type_spec>void</type_spec>
! <id>Kick</id>
! </operation>
! <operation>
! <type_spec>void</type_spec>
! <id>Punch</id>
! </operation>
</interface>
! <class>
! <id>Dragon</id>
<inherits>
<interface>KungFu</interface>
</inherits>
<attribute>
<type_spec>string</type_spec>
<name>sensai</name>
</attribute>
! <operation>
! <type_spec>void</type_spec>
! <id>dragonKick</id>
! </operation>
! <operation>
! <type_spec>void</type_spec>
! <id>dragonPunch</id>
! </operation>
</class>
! <module>
! <id>GNUe</id>
<odl_specification>
<odl_definition>
<!-- base types -->
<typedef>
<type_spec>float</type_spec>
--- 214,247 ----
<exception id="FubarError"/>
! <interface id="KungFu">
! <operation id="Kick"/>
!
! <operation id="Punch"/>
!
</interface>
! <class id="Dragon">
<inherits>
<interface>KungFu</interface>
</inherits>
+
<attribute>
<type_spec>string</type_spec>
<name>sensai</name>
</attribute>
!
! <operation id="dragonKick"/>
!
! <operation id="dragonPunch"/>
</class>
! <module id="GNUe">
<odl_specification>
<odl_definition>
+ <!-- Tyep declarations -->
+
<!-- base types -->
<typedef>
<type_spec>float</type_spec>
***************
*** 346,352 ****
</declarators>
</typedef>
! <!-- array types -->
<typedef>
<type_spec>
<array><type_spec>float</type_spec></array>
--- 341,347 ----
</declarators>
</typedef>
! <!-- array types -->
<typedef>
<type_spec>
<array><type_spec>float</type_spec></array>
***************
*** 635,642 ****
</declarators>
</typedef>
! <struct>
! <id>Foo</id>
<members>
<member>
<type_spec>short</type_spec>
--- 630,636 ----
</declarators>
</typedef>
! <struct id="Foo">
<members>
<member>
<type_spec>short</type_spec>
***************
*** 659,670 ****
</members>
</struct>
! <!--
! I am not sure I am to happy with the markup for a 'union',
! need to look into it further
! -->
! <union>
! <id>MyUnion</id>
<switch>
<type_spec>long</type_spec>
<case>
--- 653,659 ----
</members>
</struct>
! <union id="MyUnion">
<switch>
<type_spec>long</type_spec>
<case>
***************
*** 679,686 ****
</switch>
</union>
! <enum>
! <id>FooType</id>
<enumerator>bar</enumerator>
<enumerator>biz</enumerator>
<enumerator>bazz</enumerator>
--- 668,674 ----
</switch>
</union>
! <enum id="FooType">
<enumerator>bar</enumerator>
<enumerator>biz</enumerator>
<enumerator>bazz</enumerator>
***************
*** 745,770 ****
</typedef>
<!-- Forward declarations -->
! <interface>
! <id>CodeSlave</id>
! </interface>
! <class>
! <id>Goats::Goat</id>
! </class>
! <const>
! <id>MADGOATS</id>
<type_spec>
<boolean>TRUE</boolean>
</type_spec>
</const>
! <exception>
! <id>FooError</id>
! </exception>
! <exception>
! <id>BarError</id>
<members>
<member>
<type_spec>string</type_spec>
--- 733,751 ----
</typedef>
<!-- Forward declarations -->
! <interface id="CodeSlave"/>
! <class id="Goats::Goat"/>
! <const id="MADGOATS"/>
<type_spec>
<boolean>TRUE</boolean>
</type_spec>
</const>
! <!-- Exception declarations -->
! <exception id="FooError"/>
! <exception id="BarError">
<members>
<member>
<type_spec>string</type_spec>
***************
*** 787,816 ****
</members>
</exception>
! <interface>
! <id>Sadist</id>
! <operation>
! <type_spec>void</type_spec>
! <id>torture</id>
! </operation>
</interface>
! <interface>
! <id>Masochist</id>
! <operation>
! <type_spec>void</type_spec>
! <id>suffer</id>
! </operation>
</interface>
! <interface>
! <id>DaMasta</id>
<inherits>
<interface>Sadist</interface>
</inherits>
! <enum>
! <id>BeatingType</id>
<enumeration>mild</enumeration>
<enumeration>profuse</enumeration>
</enum>
--- 768,789 ----
</members>
</exception>
! <interface id="Sadist">
!
! <operation id="torture"/>
!
</interface>
! <interface id="Masochist">
! <operation id="suffer"/>
</interface>
! <interface id="DaMasta">
<inherits>
<interface>Sadist</interface>
</inherits>
! <enum id="BeatingType">
<enumeration>mild</enumeration>
<enumeration>profuse</enumeration>
</enum>
***************
*** 822,839 ****
</declarators>
</typedef>
! <const>
! <id>FAVCOLOR</id>
<type_spec><string>red</string></type_spec>
</const>
! <exception>
! <id>CodeSlaveAway</id>
! </exception>
! <exception>
! <id>NoTicketsAssigned</id>
! </exception>
<attribute readonly="1">
<type_sepc>string</type_spec>
--- 795,807 ----
</declarators>
</typedef>
! <const id="FAVCOLOR">
<type_spec><string>red</string></type_spec>
</const>
! <exception id="CodeSlaveAway"/>
! <exception id="NoTicketsAssigned"/>
<attribute readonly="1">
<type_sepc>string</type_spec>
***************
*** 850,942 ****
<name>beating</name>
</attribute>
! <relationship>
<target>
<type_spec><set>CodeSlave</set></type_spec>
</target>
- <id>beats</id>
<inverse>
! <id>CodeSlave::isBeaten</id>
</inverse>
</relationship>
! <relationship>
<target>
<type_spec><scoped_name>Hacker</scoped_name></type_spec>
</target>
- <id>assignsTicket</id>
<inverse>
! <id>Hacker::isAssignedTicketBy</id>
</inverse>
</relationship>
! <operation oneway="1">
! <type_spec>void</type_spec>
! <id>speakInIRCChannel</id>
! </operation>
! <operaion>
! <type_spec>boolean</type_spec>
! <id>isWatching</id>
<parameters>
! <parameter>
! <attribute>in</attribute>
<type_spec><scoped_name>CodeSlave</scoped_name></type_spec>
<declarator>cslave</declarator>
</paramter>
<parameters>
</operation>
! <operation>
! <type_spec>void</type_spec>
! <id>beatCodeSlave</id>
<parameters>
! <parameter>
! <attribute>in</attribute>
<type_spec><scoped_name>CodeSlave</scped_name</type_spec>
<declarator>cslave</declarator>
</parameter>
! <parameter>
! <attribute>inout</attribute>
<type_spec>beating_t</type_spec>
<declarator>severity</declarator>
<parameter>
</parameters>
<raises>
! <scoped_name>CodeSlaveAway</scoped_name>
</raises>
</operation>
! <operation>
! <type_spec>boolean</type_spec>
! <id>getTickets</id>
<parameters>
! <parameter>
! <attribute>in</attribute>
<type_spec><scoped_name>Hacker<scoped_name></type_spec>
<declarator>goat</declarator>
</parameter>
! <parameter>
! <attribute>out</attribute>
<type_spec>unsigned short</type_spec>
<declarator>tickets</declarator>
</parameter>
<parameters>
<raises>
! <scoped_name>NoTickestAssigned</scoped_name>
</raises>
</operation>
</interface>
! <interface>
! <id>CodeSlave</id>
<inherits>
<interface>Masochist</interface>
</inherits>
! <enum>
! <id>HackType</id>
<enumeration>common</enumeration>
<enumeration>forms</enumeration>
<enumeration>appserver</enumeration>
--- 818,898 ----
<name>beating</name>
</attribute>
! <relationship id="beats">
<target>
<type_spec><set>CodeSlave</set></type_spec>
</target>
<inverse>
! <scoped_name>CodeSlave::isBeaten</scoped_name>
</inverse>
</relationship>
! <relationship id="assignsTicket">
<target>
<type_spec><scoped_name>Hacker</scoped_name></type_spec>
</target>
<inverse>
! <scoped_name>Hacker::isAssignedTicketBy</scoped_name>
</inverse>
</relationship>
! <operation oneway="1" id="speakInIRCChannel"/>
! <operaion id="isWatching">
! <returns>
! <type_spec>boolean</type_spec>
! </returns>
<parameters>
! <parameter mode="in">
<type_spec><scoped_name>CodeSlave</scoped_name></type_spec>
<declarator>cslave</declarator>
</paramter>
<parameters>
</operation>
! <operation id="beatCodeSlave">
<parameters>
! <parameter mode="in">
<type_spec><scoped_name>CodeSlave</scped_name</type_spec>
<declarator>cslave</declarator>
</parameter>
! <parameter mode="inout">
<type_spec>beating_t</type_spec>
<declarator>severity</declarator>
<parameter>
</parameters>
<raises>
! <exception>CodeSlaveAway</exception>
</raises>
</operation>
! <operation id="getTickets">
! <returns>
! <type_spec>boolean</type_spec>
! </returns>
<parameters>
! <parameter mode="in">
<type_spec><scoped_name>Hacker<scoped_name></type_spec>
<declarator>goat</declarator>
</parameter>
! <parameter mode="out">
<type_spec>unsigned short</type_spec>
<declarator>tickets</declarator>
</parameter>
<parameters>
<raises>
! <exception>NoTickestAssigned</exception>
</raises>
</operation>
</interface>
! <interface id="CodeSlave">
<inherits>
<interface>Masochist</interface>
</inherits>
! <enum id="HackType">
<enumeration>common</enumeration>
<enumeration>forms</enumeration>
<enumeration>appserver</enumeration>
***************
*** 953,960 ****
</declarators>
</typedef>
! <exception>
! <id>WhoSaidYouCouldStopCoding</id>
<members>
<member>
<type_spec>string</type_spec>
--- 909,915 ----
</declarators>
</typedef>
! <exception id="WhoSaidYouCouldStopCoding">
<members>
<member>
<type_spec>string</type_spec>
***************
*** 971,978 ****
</members>
</exception>
! <exception>
! <id>CVSPermissionDenied</id>
<members>
<member>
<type_spec>string</type_spec>
--- 926,932 ----
</members>
</exception>
! <exception id="CVSPermissionDenied">
<members>
<member>
<type_spec>string</type_spec>
***************
*** 982,994 ****
</members>
</exception>
! <relationship>
<target>
! <type_spec>GNUe::DaMasta</type_spec>
</target>
- <id>isBeaten</id>
<inverse>
! <id>GNUe::DaMasta::beats</id>
</inverse>
</relationship>
--- 936,947 ----
</members>
</exception>
! <relationship id="isBeaten">
<target>
! <type_spec><scoped_name>GNUe::DaMasta</scoped_name></type_spec>
</target>
<inverse>
! <scoped_name>GNUe::DaMasta::beats<scoped_name>
</inverse>
</relationship>
***************
*** 996,1002 ****
<type_spec>void</type_spec>
<id>stopCoding</id>
<raises>
! <scoped_name>WhoSaidYouCouldStopCoding</scoped_name>
</raises>
</operation>
--- 949,955 ----
<type_spec>void</type_spec>
<id>stopCoding</id>
<raises>
! <exception>WhoSaidYouCouldStopCoding</exception>
</raises>
</operation>
***************
*** 1016,1027 ****
</parameter>
</parameters>
<raises>
! <scoped_name>CVSPermissionDenied</scoped_name>
</raises>
</operation>
! <module>
! <id>Goats</id>
<odl_specification>
<odl_definition>
--- 969,984 ----
</parameter>
</parameters>
<raises>
! <exception>CVSPermissionDenied</exception>
</raises>
</operation>
! <!--
! This is the fun module :). It is also used to test nesting of
! modules and as an example to help determine how xml for nesting
modules
! should be done.
! -->
! <module id="Goats">
<odl_specification>
<odl_definition>
***************
*** 1046,1082 ****
<name>FSFCopyrightAssignment</name>
</attribute>
! <relationship>
<target>
! <type_spec>GNUe::DaMasta</type_spec>
</target>
- <id>isAssignedTicketBy</id>
<inverse>
! <id>GNUe::DaMasta::assignsTicket</id>
</inverse>
</relationship>
</class>
! <class>
! <id>Derek</id>
<extends>
! <scoped_name>Goat</scoped_name>
</extends>
<inherits>
! <scoped_name>GNUe::DaMasta</scoped_name>
</inherits>
<extent>goats</extent>
! <exception>
! <id>BurnRoofOfMouth</id>
! </exception>
! <exception>
! <id>NeedsReheating</id>
! </exception>
! <exception>
! <id>OutofTopping</id>
<members>
<member>
<type_spec>string</type_spec>
--- 1003,1032 ----
<name>FSFCopyrightAssignment</name>
</attribute>
! <relationship id="isAssignedTicketBy">
<target>
!
<type_spec><scoped_name>GNUe::DaMasta</scoped_name></type_spec>
</target>
<inverse>
! <scoped_name>GNUe::DaMasta::assignsTicket<scoped_name>
</inverse>
</relationship>
</class>
! <class id="Derek">
<extends>
! <class>Goat</class>
</extends>
<inherits>
! <interface>GNUe::DaMasta</interface>
</inherits>
<extent>goats</extent>
! <exception id="BurnRoofOfMouth"/>
! <exception id="NeedsReheating"/>
! <exception id="OutofTopping">
<members>
<member>
<type_spec>string</type_spec>
***************
*** 1087,1094 ****
</members>
</exception>
! <struct>
! <id>PizzaType</id>
<members>
<member>
<type_spec>string</type_spec>
--- 1037,1043 ----
</members>
</exception>
! <struct id="PizzaType">
<members>
<member>
<type_spec>string</type_spec>
***************
*** 1101,1106 ****
--- 1050,1056 ----
<declarators>
<declarator>toppings</declarator>
</declarators>
+ <!-- allows duplicate toppings ("extra" toppings) -->
</member>
</members>
</struct>
***************
*** 1127,1164 ****
<name>pizzas</name>
</attribute>
! <operation>
! <type_spec>boolean</type_spec>
! <id>orderPizza</id>
<parameters>
! <parameter>
! <attribute>in</attribute>
<type_spec><set>pizza_t</set></type_spec>
<declarator>pizzaPies</declarator>
</parameter>
</parameters>
<raises>
! <scoped_name>OutofTopping</scoped_name>
</raises>
</operation>
! <operation>
! <type_spec>void</type_spec>
! <id>eatPizza</id>
<parameters>
! <parameter>
! <attribute>in</attribute>
<type_spec>pizza_t<type_spec>
<declarator>pizza</declarator>
</parameter>
</parameters>
<raises>
! <scoped_name>BurnRoofofMouth</scoped_name>
! <scoped_name>NeedsReheating</scoped_name>
</raises>
</operation>
</class>
! <class>
! <id>Chillywilly</id>
!
\ No newline at end of file
--- 1077,1437 ----
<name>pizzas</name>
</attribute>
! <operation id="orderPizza">
! <returns>
! <type_spec>boolean</type_spec>
! </returns>
<parameters>
! <parameter mode="in">
<type_spec><set>pizza_t</set></type_spec>
<declarator>pizzaPies</declarator>
</parameter>
</parameters>
<raises>
! <exception>OutofTopping</exception>
</raises>
</operation>
! <operation id="eatPizza">
<parameters>
! <parameter mode="in">
<type_spec>pizza_t<type_spec>
<declarator>pizza</declarator>
</parameter>
</parameters>
<raises>
! <exception>BurnRoofofMouth</exception>
! <exception>NeedsReheating</exception>
</raises>
</operation>
</class>
! <class id="Chillywilly">
! <extends>
! <class>Goat</class>
! </extends>
! <extent>goats</extent>
!
! <exception id="OutofStock">
! <members>
! <member>
! <type_spec>string</type_spec>
! <declarators>
! <declarator>why</declarator>
! </declarators>
! </member>
! </members>
! </exception>
!
! <exception id="GoatDucked"/>
!
! <exception id="ExceededTroutLimit"
! <members>
! <member>
! <type_spec>unsigned short</type_spec>
! <declarators>
! <declarator>limit</declarator>
! </declarators>
! </member>
! </members>
! </exception>
!
! <enum id="TroutType">
! <enumeration>brown</enumeration>
! <enumeration>rainbow</enumeration>
! <enumeration>lake</enumeration>
! </enum>
!
! <typedef>
! <type_spec><enum>TroutType</enum></type_spec>
! <declarators>
! <declarator>trout_t</declarator>
! </declarators>
! </typedef>
!
! <const id="preferredTrout">
! <type_spec>
! <trout_t>rainbow</trout_t>
! </type_spec>
! </const>
!
! <attribute>
! <type_spec>boolean</type_spec>
! <name>troutslap</name>
! </attribute>
!
! <attribute>
!
<type_spec><bag><type_spec>trout_t<type_spec></bag></type_spec>
! <name>trout</name>
! </attribute>
!
! <relationship id="favoriteSlapee">
! <target>
!
<type_spec><scoped_name>Jcater</scoped_name></type_spec>
! </target>
! <inverse>
! <scoped_name>Jcater::isTroutSlappedBy</scoped_name>
! </inverse>
! </relationship>
!
! <operation id="addTrout">
! <returns>
! <type_spec>boolean</type_spec>
! </returns>
! <parameters>
! <parameter mode="in">
! <type_spec>trout_t</type_spec>
! <declarator>trout</declarator>
! </parameter>
! <parameter mode="out">
! <type_spec>unsigned short</type_spec>
! <declarator>inStock</declarator>
! </parameter>
! <parameters>
! <raises>
! <exception>ExceededTroutLimit</exception>
! </raises>
! </operation>
!
! <operation id="troutSlap">
! <parameters>
! <parameter mode="in">
!
<type_spec><scoped_name>Goat</scoped_name></type_spec>
! <declarator>slapee</declarator>
! </parameter>
! <parameter mode="in">
! <type_spec>trout_t</type_spec>
! <declarator>trout</declarator>
! </parameter>
! </parameters>
! <raises>
! <exception>OutOfStock</exception>
! <exception>GoatDucked</exception>
! </raises>
! </operation>
! </class>
!
! <class id="Jcater">
! <extends>
! <class>Goat</class>
! </extends>
! <extent>goats</extent>
!
! <exception id="InvalidDonutType">
! <members>
! <member>
! <type_spec>string</type_spec>
! <declarators>
! <declarator>what</declarator>
! </declarators>
! </member>
! </members>
! </exception>
!
! <exception id="NotEnoughMoney"/>
!
! <enum id="DonutType">
! <enumeration>glazed</enumeration>
! <enumeration>krispy_kreme</enumeration>
! <enumeration>jelly</enumeration>
! <enumeration>powedered</enumeration>
! </enum>
!
! <struct id="Currency">
! <members>
! <member>
! <type_spec>string</type_spec>
! <declarators>
! <declarator>type</declarator>
! </declarators>
! </member>
! <member>
! <type_spec>float</type_spec>
! <declarators>
! <declarator>amount</declarator>
! </declarators>
! </member>
! </members>
! </struct>
!
! <typedef>
! <type_spec><struct>DonutType</struct></type_spec>
! <declarators>
! <declarator>donut_t</declarator>
! </declarators>
! </typedef>
!
! <const id="preferredDonut">
! <type_spec><donut_t>krispy_kreme</donut_t></type_spec>
! </const>
!
! <attribute>
!
<type_spec><bag><type_spec>donut_t</type_spec></bag></type_spec>
! <name>donuts</name>
! </attribute>
!
! <operation id="consumeDonuts">
! <parameters>
! <parameter mode="in">
! <type_spec>donut_t</type_spec>
! <declarator>donut</declarator>
! </parameter>
! </parameters>
! <raises>
! <exception>InvalidDonutType</exception>
! </raises>
! </operation>
!
! <operation id="purchaseDonuts">
! <type_spec>boolean</type_spec>
! <parameters>
! <parameter mode="in">
! <type_spec><struct>Currency</struct></type_spec>
! <declarator>money</declarator>
! </parameter>
! <parameter mode="out">
!
<type_spec><bag><type_spec>donut_t</type_spec></bag></type_spec>
! <declarator>donuts</declarator>
! </parameter>
! </parameters>
! <raises>
! <exception>NotEnoughMoney</exception>
! </raises>
! </operation>
!
! </class>
!
! <class id="Jamest">
! <extends>
! <class>Goat</class>
! </extends>
! <extent>goats</extent>
!
! <exception id="CrackLevelsTooLow">
! <members>
! <member>
! <type_spec>unsigned short</type_spec>
! <declarators>
! <declarator>level</declarator>
! </declarators>
! </member>
! </members>
! </exception>
!
! <struct id="AtmosphericCrack">
! <members>
! <member>
! <type_spec>string</type_spec>
! <declarators>
! <declarator>kind</declarator>
! </declarators>
! </member>
! <member>
! <type_spec>unsigned long</type_spec>
! <declarators>
! <declarator>weight</declarator>
! </declarators>
! </member>
! <member>
! <type_spec>float</type_spec>
! <declarators>
! <declarator>percentage</declarator>
! </declarators>
! </member>
! </members>
! </struct>
!
! <typedef>
! <type_spec><struct>AtmosphericCrack</struct></type_spec>
! <declarators>
! <declarator>atmoscrack_t</declarator>
! </declarators>
! </typedef>
!
! <attribute>
!
<type_spec><bag><type_spec>atmoscrack_t</type_spec></bag></type_spec>
! <name>crackReserves</name>
! </attribute>
!
! <operation id="inhaleAtmosphericCrack">
! <parameters>
! <parameter mode="in">
!
<type_spec><struct>AtmosphericCrack</struct></type_spec>
! <declarator>crack</declarator>
! </parameter>
! </parameters>
! <raises>
! <exception>CrackLevelsTooLow</exception>
! </raises>
! </operation>
! </class>
!
! <class id="Reinhard">
! <extends>
! <class>Goat</class>
! </extends>
! <extent>goats</extent>
!
! <exception id="FileDoesNotExist">
! <members>
! <member>
! <type_spec>string</type_spec>
! <declarators>
! <declarator>filename</declarator>
! </declarators>
! </member>
! </members>
! </exception>
!
! <exception id="FileIsEmpty">
! <members>
! <member>
! <type_spec>string</type_spec>
! <declarators>
! <declarator>filename</declarator>
! </declarators>
! </member>
! </members>
! </exception>
!
! <attribute>
!
<type_spec><list><type_spec>string</type_spec></list></type_spec>
! <name>quitMessages</name>
! </attribute>
!
! <attribute>
! <type_spec>string</type_spec>
! <name>filename</name>
! </attribute>
!
! <operation id="loadQuitMessage">
! <type_spec>boolean</type_spec>
! <parameters>
! <parameter mode="in">
! <type_spec>string</type_spec>
! <declarator>filename</declarator>
! </parameter>
! </parameters>
! <raises>
! <exception>FileDoesNotExist</exception>
! <exception>FileIsEmpty</exception>
! </raises>
! </operation>
!
! <operation id="loadQuitMessage">
! <returns>
! <type_spec>string</type_spec>
! </returns>
! </operation>
! </class>
!
! </odl_definition>
! </odl_specification>
! </module>
!
! </odl_definition>
! </odl_specification>
! </module>
!
! </odl_definition>
! </odl_specification>
\ No newline at end of file
Index: gnue/appserver/src/_featuretest/thekitchensink.odl
diff -c gnue/appserver/src/_featuretest/thekitchensink.odl:1.6
gnue/appserver/src/_featuretest/thekitchensink.odl:1.7
*** gnue/appserver/src/_featuretest/thekitchensink.odl:1.6 Sat Aug 31
14:35:13 2002
--- gnue/appserver/src/_featuretest/thekitchensink.odl Mon Sep 2 06:35:43 2002
***************
*** 308,314 ****
class Jcater extends Goat
( extent goats)
{
! exception InvalidDonutType{donut_t donut;};
enum DonutType
{
--- 308,315 ----
class Jcater extends Goat
( extent goats)
{
! exception InvalidDonutType{string what;};
! exception NotEnoughMoney{};
enum DonutType
{
***************
*** 321,327 ****
struct Currency
{
string type;
! float emount;
};
typedef DonutType donut_t;
--- 322,328 ----
struct Currency
{
string type;
! float amount;
};
typedef DonutType donut_t;
***************
*** 337,343 ****
class Jamest extends Goat
( extent goats)
{
! exception CrackLevelsTooLow{unsigned short levels};
struct AtmosphericCrack
{
--- 338,344 ----
class Jamest extends Goat
( extent goats)
{
! exception CrackLevelsTooLow{unsigned short level};
struct AtmosphericCrack
{
- gnue/appserver/src/_featuretest thekitchensink....,
Daniel E. Baumann <=