private LexerSpec(string lexerName, string lexerNamespace, IEnumerable<RuleSpec> rules, IEnumerable<Channel> channels, Channel defaultChannel, IEnumerable<Mode> modes, Mode initialMode, bool hasBeenSimplified)
 {
     LexerName = lexerName;
     LexerNamespace = lexerNamespace;
     Rules = new RuleSpecs(rules);
     Channels = new HashSet<Channel>(channels);
     DefaultChannel = defaultChannel;
     Channels.Add(DefaultChannel);
     Modes = new HashSet<Mode>(modes);
     InitialMode = initialMode;
     Modes.Add(InitialMode);
     HasBeenSimplified = hasBeenSimplified;
 }
 protected bool Equals(Mode other)
 {
     return string.Equals(Name, other.Name);
 }
 public SetMode(Mode mode)
 {
     Mode = mode;
 }
 public LexerSpec(string lexerName, string lexerNamespace, IEnumerable<RuleSpec> rules, IEnumerable<Channel> channels, Channel defaultChannel, IEnumerable<Mode> modes, Mode initialMode)
     : this(lexerName, lexerNamespace, rules, channels, defaultChannel, modes, initialMode, false)
 {
 }
 public RuleSpec(Mode mode, string name, RegexSpec expression, params Command[] commands)
     : this(new[] { mode }, name, expression, commands)
 {
 }