192d191
< let defaultrtype = format!("_PE_Default({})",&self.Absyntype);
252c251
< let mut newterm = Gsym::new(stokens[i],true);
---
> let newterm = Gsym::new(stokens[i],true);
254d252
< newterm.settype(&defaultrtype);
267,276c265
< if stokens.len()>2 && stokens[2]!="mut" {
< let rtype = format!("_PE_Variant_{}({})",self.Symbols.len(),tokentype.trim());
< newterm.settype(&rtype);
< }
< else {
< newterm.settype(&defaultrtype);
< }
<
< newterm.settype(tokentype.trim()); // need comment out!**
<
---
> newterm.settype(tokentype.trim());
287,297c276,281
< if stokens.len()>2 && stokens[2]!="mut" {
< let rtype = format!("_PE_Variant_{}({})",self.Symbols.len(),tokentype.trim());
< newterm.settype(&rtype);
< }
< else {
< let rtype = format!("_PE_Default({})",&self.Absyntype);
< newterm.settype(&defaultrtype);
< }
<
< newterm.settype(tokentype.trim()); // need to comment out!
<
---
> // if stokens.len()>2 && stokens[2]!="mut" {
> // let rtype = format!("PE_Variant_{}({})",self.Symbols.len(),tokentype.trim());
> // newterm.settype(&rtype);
> newterm.settype(tokentype.trim());
> // }
> // else {newterm.settype(&self.Absyntype);}
304c288
< let mut newterm = Gsym::new(stokens[i],false);
---
> let newterm = Gsym::new(stokens[i],false);
306,307d289
< let rtype = format!("_PE_Default({})",&self.Absyntype);
< newterm.settype(&rtype);
764,778d745
<
<
< pub fn gen_enum(&self,fd:&mut File) -> Result<(),std::io::Error>
< {
< let ref absyn = self.Absyntype;
< let ref lifetime = self.lifetime;
< let has_lt = lifetime.len()>0 && (absyn.contains(lifetime));
< let ltopt = if has_lt {format!("<{}>",lifetime)} else {String::from("")};
< //enum name is Retenumgrammarname, variant is _grammarname_enum_{n}
< let enumname = format!("RetEnum_{}",&self.name);
< let symlen = self.Symbols.len();
< write!(fd,"\n//Enum for return values \nenum {} {{\n",&enumname)?;
<
< Ok(())
< }// generate enum from rusttype defs