protected OptionValue GetOption(NodeListParser nlp) { if (nlp.IsNumber) { return(OptionValue.Create(nlp.GetNumber().Value)); } if (nlp.IsBool) { return(OptionValue.Create(nlp.GetBool().Value ? 1 : 0)); } // note that options are case insensitive if (nlp.IsIdent && _optionlookup.ContainsKey(nlp.CurrentIdent.Name.ToLower())) { return(_optionlookup[nlp.GetIdent().Name.ToLower()]); } nlp.Expected("number or option keyword"); return(OptionValue.Default); }