@ Sof v1.0 @
@ JSGF 100 @
algorithm = "JSGF";
grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.ISIP_JSGF_START;

  // Define the ISIP graph start symbol
  public <ISIP_JSGF_1_0_START> = S;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.ISIP_JSGF_TERM;

  // Define the ISIP graph terminal symbol
  public <ISIP_JSGF_1_0_TERM> = T;
};

@ JSGF 0 @
algorithm = "JSGF";
grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.sentence;

  // Define the rules
  public  <sentence> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = \!SENT_START ( /0/ <extention2> ) ;
  <extention2> = \!DUMMY (( /0/ <extention3> )| ( /0/ <extention6> )| ( /0/ <extention7> )| ( /0/ <extention8> )| ( /0/ <extention9> )| ( /0/ <extention10> )| ( /0/ <extention11> )| ( /0/ <extention12> )| ( /0/ <extention13> )| ( /0/ <extention14> )| ( /0/ <extention15> )) ;
  <extention3> = ONE ( /0/ <extention4> ) ;
  <extention4> = \!DUMMY (( /0/ <extention5> )| ( /0/ <extention2> )) ;
  <extention5> = \!SENT_END ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
  <extention6> = TWO ( /0/ <extention4> ) ;
  <extention7> = THREE ( /0/ <extention4> ) ;
  <extention8> = FOUR ( /0/ <extention4> ) ;
  <extention9> = FIVE ( /0/ <extention4> ) ;
  <extention10> = SIX ( /0/ <extention4> ) ;
  <extention11> = SEVEN ( /0/ <extention4> ) ;
  <extention12> = EIGHT ( /0/ <extention4> ) ;
  <extention13> = NINE ( /0/ <extention4> ) ;
  <extention14> = OH ( /0/ <extention4> ) ;
  <extention15> = ZERO ( /0/ <extention4> ) ;
};

@ search_tag 0 @
value = "
  #JSGF V1.0;
  // Define the ISIP reserved grammar name
  grammar network.grammar.search_tag;

  // Define the symbols
  public <search_tag> = word ;
";
@ search_dummy_symbols 0 @
value = "
  #JSGF V1.0;
  // Define the ISIP reserved grammar name
  grammar network.grammar.search_dummy_symbols;

  // Define the symbols
  public <search_dummy_symbols> = \!DUMMY ;
";
@ search_exclude_symbols 0 @
value = "
  #JSGF V1.0;
  // Define the ISIP reserved grammar name
  grammar network.grammar.search_exclude_symbols;

  // Define the symbols
  public <search_exclude_symbols> = \!DUMMY \!SENT_START \!SENT_END ;
";
@ JSGF 1 @
algorithm = "JSGF";
grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.\!DUMMY;

  // Define the rules
  public  <\!DUMMY> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.\!SENT_END;

  // Define the rules
  public  <\!SENT_END> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.\!SENT_START;

  // Define the rules
  public  <\!SENT_START> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = w ( /0/ <extention2> ) ;
  <extention2> = ah ( /0/ <extention3> ) ;
  <extention3> = n (( /0/ <extention4> )| ( /0/ <extention5> )) ;
  <extention4> = sp ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
  <extention5> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.EIGHT;

  // Define the rules
  public  <EIGHT> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.FIVE;

  // Define the rules
  public  <FIVE> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = t ( /0/ <extention2> ) ;
  <extention2> = uw (( /0/ <extention3> )| ( /0/ <extention4> )) ;
  <extention3> = sp ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
  <extention4> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.FOUR;

  // Define the rules
  public  <FOUR> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = th ( /0/ <extention2> ) ;
  <extention2> = r ( /0/ <extention3> ) ;
  <extention3> = iy (( /0/ <extention4> )| ( /0/ <extention5> )) ;
  <extention4> = sp ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
  <extention5> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.NINE;

  // Define the rules
  public  <NINE> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = f ( /0/ <extention2> ) ;
  <extention2> = ow ( /0/ <extention3> ) ;
  <extention3> = r (( /0/ <extention4> )| ( /0/ <extention5> )) ;
  <extention4> = sp ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
  <extention5> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.OH;

  // Define the rules
  public  <OH> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = f ( /0/ <extention2> ) ;
  <extention2> = ay ( /0/ <extention3> ) ;
  <extention3> = v (( /0/ <extention4> )| ( /0/ <extention5> )) ;
  <extention4> = sp ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
  <extention5> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.ONE;

  // Define the rules
  public  <ONE> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = s ( /0/ <extention2> ) ;
  <extention2> = ih ( /0/ <extention3> ) ;
  <extention3> = k ( /0/ <extention4> ) ;
  <extention4> = s (( /0/ <extention5> )| ( /0/ <extention6> )) ;
  <extention5> = sp ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
  <extention6> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.SEVEN;

  // Define the rules
  public  <SEVEN> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = s ( /0/ <extention2> ) ;
  <extention2> = eh ( /0/ <extention3> ) ;
  <extention3> = v ( /0/ <extention4> ) ;
  <extention4> = ih ( /0/ <extention5> ) ;
  <extention5> = n (( /0/ <extention6> )| ( /0/ <extention7> )) ;
  <extention6> = sp ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
  <extention7> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.SIX;

  // Define the rules
  public  <SIX> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = ey ( /0/ <extention2> ) ;
  <extention2> = t (( /0/ <extention3> )| ( /0/ <extention4> )) ;
  <extention3> = sp ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
  <extention4> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.THREE;

  // Define the rules
  public  <THREE> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = n ( /0/ <extention2> ) ;
  <extention2> = ay ( /0/ <extention3> ) ;
  <extention3> = n (( /0/ <extention4> )| ( /0/ <extention5> )) ;
  <extention4> = sp ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
  <extention5> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.TWO;

  // Define the rules
  public  <TWO> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = ow (( /0/ <extention2> )| ( /0/ <extention3> )) ;
  <extention2> = sp ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
  <extention3> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.ZERO;

  // Define the rules
  public  <ZERO> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = z ( /0/ <extention2> ) ;
  <extention2> = iy ( /0/ <extention3> ) ;
  <extention3> = r ( /0/ <extention4> ) ;
  <extention4> = ow (( /0/ <extention5> )| ( /0/ <extention6> )) ;
  <extention5> = sp ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
  <extention6> = sil ( /0/ <ISIP_JSGF_1_0_TERM> ) ;
};

@ search_tag 1 @
value = "
  #JSGF V1.0;
  // Define the ISIP reserved grammar name
  grammar network.grammar.search_tag;

  // Define the symbols
  public <search_tag> = phone ;
";
@ search_no_context_symbols 1 @
value = "
  #JSGF V1.0;
  // Define the ISIP reserved grammar name
  grammar network.grammar.search_no_context_symbols;

  // Define the symbols
  public <search_no_context_symbols> = sp sil ;
";
@ search_skip_symbols 1 @
value = "
  #JSGF V1.0;
  // Define the ISIP reserved grammar name
  grammar network.grammar.search_skip_symbols;

  // Define the symbols
  public <search_skip_symbols> = sp ;
";
@ JSGF 2 @
algorithm = "JSGF";
grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.sil;

  // Define the rules
  public  <sil> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_1 (( /-1.09861/ <extention1> )| ( /-1.09861/ <extention2> )| ( /-1.09861/ <extention3> )) ;
  <extention2> = S_2 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_3 (( /-1.09861/ <extention3> )| ( /-1.09861/ <extention1> )| ( /-1.09861/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.ey;

  // Define the rules
  public  <ey> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_13 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_14 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_15 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.t;

  // Define the rules
  public  <t> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_40 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_41 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_42 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.sp;

  // Define the rules
  public  <sp> = <ISIP_JSGF_1_0_START> (( /-0.693147/ <extention1> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
  <extention1> = S_58 (( /-0.693147/ <extention1> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.f;

  // Define the rules
  public  <f> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_16 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_17 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_18 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.ay;

  // Define the rules
  public  <ay> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_7 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_8 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_9 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.v;

  // Define the rules
  public  <v> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_49 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_50 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_51 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.ow;

  // Define the rules
  public  <ow> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_31 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_32 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_33 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.r;

  // Define the rules
  public  <r> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_34 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_35 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_36 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.n;

  // Define the rules
  public  <n> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_28 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_29 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_30 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.w;

  // Define the rules
  public  <w> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_52 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_53 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_54 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.ah;

  // Define the rules
  public  <ah> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_4 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_5 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_6 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.s;

  // Define the rules
  public  <s> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_37 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_38 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_39 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.eh;

  // Define the rules
  public  <eh> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_10 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_11 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_12 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.ih;

  // Define the rules
  public  <ih> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_19 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_20 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_21 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.k;

  // Define the rules
  public  <k> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_25 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_26 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_27 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.th;

  // Define the rules
  public  <th> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_43 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_44 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_45 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.iy;

  // Define the rules
  public  <iy> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_22 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_23 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_24 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.uw;

  // Define the rules
  public  <uw> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_46 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_47 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_48 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

grammar = {
  #JSGF V1.0;
  // Define the grammar name
  grammar network.grammar.z;

  // Define the rules
  public  <z> = <ISIP_JSGF_1_0_START> ( /0/ <extention1> ) ;
  <extention1> = S_55 (( /-0.693147/ <extention1> )| ( /-0.693147/ <extention2> )) ;
  <extention2> = S_56 (( /-0.693147/ <extention2> )| ( /-0.693147/ <extention3> )) ;
  <extention3> = S_57 (( /-0.693147/ <extention3> )| ( /-0.693147/ <ISIP_JSGF_1_0_TERM> )) ;
};

@ search_tag 2 @
value = "
  #JSGF V1.0;
  // Define the ISIP reserved grammar name
  grammar network.grammar.search_tag;

  // Define the symbols
  public <search_tag> = state ;
";
