public DirectiveBase(TokenIteratorBase iterator, PrecompilerStack stack, IDictionary <string, bool> defines) { _iterator = iterator; _stack = stack; _defines = defines ?? new Dictionary <string, bool>(); }
public PrecompilerClass(TokenIteratorBase iterator, IDictionary <string, bool> defines) { _iterator = iterator ?? throw new Exception("Обработчик инструкций препроцессора, не получил итератор."); _defines = defines; _stack = new PrecompilerStack(); _directives = new List <DirectiveBase>(); _directives.Add(new IfDirective(_iterator, _stack, defines)); _directives.Add(new RegionDirective(_iterator, _stack, defines)); }
/// <summary> /// Список найденых токенов. /// </summary> /// <returns>Список найденых лексем и их токенов</returns> public IList <IToken> GetAllTokens() { IToken token = null; IList <IToken> token_list = new List <IToken>(); TokenIteratorBase iterator = GetEnumerator(); do { iterator.MoveNext(); token = iterator.Current; token_list.Add(token); }while (token.Content != "\0"); return(token_list); }
public IfDirective(TokenIteratorBase iterator, PrecompilerStack stack, IDictionary <string, bool> defines) : base(iterator, stack, defines) { }
public PrecompilerTokenIterator(TokenIteratorBase iterator, PrecompilerClass precompiler) { _iterator = iterator; _precompiler = precompiler; }