• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="ISO8859-1" ?>
2<grammar xml:lang="en-us" version="1.0" root="ROOT">
3<!--
4	ipaq_commands.grxml ... this is a sample which shows how to use
5	natural numbers in a grammar.  It allows phrases such as
6	go to step $N .. where $N can range from 0 to 99
7-->
8
9<rule id="ROOT" scope="public">
10  <one-of>
11	<item>
12	    <item>center</item>
13	    <item repeat="0-1">
14	      <one-of>
15		<item>here <tag>MEANING='CTR'</tag></item>
16		<item>of this <tag>MEANING='CTR'</tag></item>
17		<item>on this <tag>MEANING='CTR'</tag></item>
18		<item>on this point <tag>MEANING='CTR'</tag></item>
19	      </one-of>
20	    </item>
21	</item>
22	<item>
23	    <item>get</item>
24	    <one-of>
25		<item>a map <tag>MEANING='MAP'</tag> </item>
26		<item>directions <tag>MEANING='DIR'</tag></item>
27		<item>map <tag>MEANING='MAP'</tag></item>
28		<item>maps <tag>MEANING='MAP'</tag></item>
29	    </one-of>
30	</item>
31	<item>
32	    <one-of>
33	      <item>
34      	        <item repeat="0-1">go to</item>
35	        <item>
36	         <one-of>
37		  <item>step</item>
38		  <item>steps</item>
39	         </one-of>
40	        </item>
41	      </item>
42              <item>go to</item>
43	    </one-of>
44	    <ruleref uri="#NUMBER"/>
45	    <tag>MEANING='STEP' + NUMBER.X;</tag>
46	</item>
47	<item>map <tag>V='MAP'</tag> </item>
48	<item>
49            <item> <one-of>
50	      <item>map <tag>V='MAP'</tag> </item>
51	      <item>map of<tag>V='MAP'</tag> </item>
52	      <item>map of the<tag>V='MAP'</tag> </item>
53	      <item>map the<tag>V='MAP'</tag> </item>
54	    </one-of> </item>
55            <item>
56	       <one-of>
57		<item> arrival             <tag>V=V+' AP';</tag></item>
58		<item> destination         <tag>V=V+' DP';</tag></item>
59		<item> end                 <tag>V=V+' EP';</tag></item>
60		<item> ending              <tag>V=V+' EP';</tag></item>
61		<item> origin              <tag>V=V+' SP';</tag></item>
62		<item> start               <tag>V=V+' SP';</tag></item>
63		<item> starting            <tag>V=V+' SP';</tag></item>
64	       </one-of>
65             </item>
66	     <item repeat="0-1"> point </item>
67	</item>
68
69	<item>
70	  <item>move</item>
71	  <one-of>
72		<item>down</item>
73		<item>left</item>
74		<item>right</item>
75		<item>up</item>
76	  </one-of>
77	</item>
78
79	<item>next step</item>
80
81	<item>route map</item>
82
83	<item>
84	  <item>zoom <tag>V='ZOOM'</tag></item>
85	  <one-of>
86		<item>in               <tag>V=' IN'</tag></item>
87		<item>in here          <tag>V=' INH'</tag></item>
88		<item>in on this       <tag>V=' INH'</tag></item>
89		<item>in on this point <tag>V=' INH'</tag></item>
90		<item>on this          <tag>V=' ONH'</tag></item>
91		<item>out              <tag>V=' OUT'</tag></item>
92	  </one-of>
93	</item>
94
95  </one-of>
96</rule>
97
98   <rule id="NUMBER">
99     <one-of>
100      <item repeat="1-">
101          <ruleref uri="#DIGIT"/>
102	  <tag>X=X?X:'';X=X+DIGIT.V;</tag>
103      </item>
104      <item>
105	  <ruleref uri="#TEEN"/>
106	  <tag>X=X?X:'';X=X+TEEN.V;</tag>
107      </item>
108      <item>
109	  <ruleref uri="#TY"/>
110	  <ruleref uri="#NZ_DIGIT"/>
111	  <tag>X=X?X:'';X=X+TY.V+NZ_DIGIT.V;</tag>
112      </item>
113      <item>
114	  <ruleref uri="#TY"/>
115	  <tag>X=X?X:'';X=X+TY.V+'0';</tag>
116      </item>
117     </one-of>
118   </rule>
119
120   <rule id="DIGIT">
121      <one-of>
122         <item>            oh              <tag>V='0'</tag>         </item>
123         <item>            zero            <tag>V='0'</tag>         </item>
124         <item>            one             <tag>V='1'</tag>         </item>
125         <item>            two             <tag>V='2'</tag>         </item>
126         <item>            three           <tag>V='3'</tag>         </item>
127         <item>            four            <tag>V='4'</tag>         </item>
128         <item>            five            <tag>V='5'</tag>         </item>
129         <item>            six             <tag>V='6'</tag>         </item>
130         <item>            seven           <tag>V='7'</tag>         </item>
131         <item>            eight           <tag>V='8'</tag>         </item>
132         <item>            nine            <tag>V='9'</tag>         </item>
133      </one-of>
134   </rule>
135
136   <rule id="NZ_DIGIT">
137      <one-of>
138         <item>            one             <tag>V='1'</tag>         </item>
139         <item>            two             <tag>V='2'</tag>         </item>
140         <item>            three           <tag>V='3'</tag>         </item>
141         <item>            four            <tag>V='4'</tag>         </item>
142         <item>            five            <tag>V='5'</tag>         </item>
143         <item>            six             <tag>V='6'</tag>         </item>
144         <item>            seven           <tag>V='7'</tag>         </item>
145         <item>            eight           <tag>V='8'</tag>         </item>
146         <item>            nine            <tag>V='9'</tag>         </item>
147      </one-of>
148   </rule>
149
150  <rule id="TEEN">
151    <one-of>
152	<item>		nineteen		<tag>V='19'</tag>	</item>
153	<item>		eighteen                <tag>V='18'</tag>	</item>
154	<item>		seventeen               <tag>V='17'</tag>	</item>
155	<item>		sixteen                 <tag>V='16'</tag>	</item>
156	<item>		fifteen                 <tag>V='15'</tag>	</item>
157	<item>		fourteen                <tag>V='14'</tag>	</item>
158	<item>		thirteen                <tag>V='13'</tag>	</item>
159	<item>		twelve                  <tag>V='12'</tag>	</item>
160	<item>		eleven                  <tag>V='11'</tag>	</item>
161	<item>		ten                     <tag>V='10'</tag>	</item>
162    </one-of>
163  </rule>
164
165  <rule id="TY">
166    <one-of>
167	<item>		ninety               <tag>V='9'</tag>	</item>
168	<item>		eighty               <tag>V='8'</tag>	</item>
169	<item>		seventy              <tag>V='7'</tag>	</item>
170	<item>		sixty                <tag>V='6'</tag>	</item>
171	<item>		fifty                <tag>V='5'</tag>	</item>
172	<item>		forty                <tag>V='4'</tag>	</item>
173	<item>		thirty               <tag>V='3'</tag>	</item>
174	<item>		twenty               <tag>V='2'</tag>	</item>
175    </one-of>
176  </rule>
177
178
179</grammar>
180