/* General test grammar */

send = 1 ;
mail = 2 ;
to = 3 ;
change = 4 ;
apple = 6 ;
australia = 7 ;
bill = 8 ;
canada = 9 ;
china = 10 ;
durley = 11 ;
england = 12 ;
greece = 13 ;
home = 14 ;
japan = 15 ;
the = 16 ;
library = 17 ;
my = 18 ;
manager = 19 ;
mark = 20 ;
mexico = 21 ;
microsoft = 22 ;
mike = 23 ;
nathan = 24 ;
office = 25 ;
phone = 26 ;
rozak = 27 ;
gates  = 28 ;
russia = 29 ;
alleva = 30 ;
amanda = 31 ;
dragon = 32 ;
ron = 38 ;
shenzhi = 39 ;
i  = 42 ;
b = 43 ;
m = 44 ;
one = 50 ;
two = 51 ;
three = 52 ;
four = 53 ;
five = 54 ;
six = 55 ;
seven = 56 ;
eight = 57 ;
nine = 58 ;
zero = 59 ;
switch = 60 ;
excel = 61 ;
power = 63 ;
word = 64 ;
windows = 65 ;
calculator = 66 ;
clock = 67 ;
point = 68 ;
window = 69 ;
maximize = 70 ;
minimize = 80 ;
open = 90 ;
close = 91 ;
restore = 92 ;
tile = 93 ;
huang = 94 ;
call = 95 ;

<start> = alt(
	seq( send mail to <_Name> )seq
	seq( phone <_Name> )seq 
	seq( call rep( <_Digit> )rep )seq
	seq( switch to <_Application> )seq
	seq( <_WindowCmd> window )seq 
	)alt ;

<start2> = alt(
	seq( What time is it )seq
	seq( Who am I )seq
	)alt ;

<_WindowCmd> = alt(
	maximize
	minimize
	open
	close
	restore
	tile
	)alt ;

<_Application> = alt(
	excel
	mail
	seq( power point )seq
	word
	windows
	calculator
	clock
	)alt ;

<_Name> = alt(
	<_Country>
	<_Person>
	<_Company>
	<_Place>
	)alt ;

<_Country> =  alt(
	australia
	canada
	china
	england
	greece
	japan
	mexico
	russia
	)alt ;

<_Place> = alt(
	seq( the library )seq
	seq( my office )seq
	home
	)alt ;

<_Person> = alt(
	Bill
	seq( Mark Durley )seq
	seq( opt( my )opt Home )seq
	seq( My Manager )seq
	seq( Mike Rozak )seq
	Nathan
	seq( Bill Gates )seq
	Russia
	Amanda
	Ron
	Shenzhi
	)alt ;

<_Company> = alt(
	apple
	Microsoft
	Dragon
	seq( i b m )seq
	)alt ;


<_Digit> = alt(
	one
	two
	three
	four
	five 
	six
	seven
	eight
	nine
	zero
	)alt ;



