private Instruction ParseInstruction() { string parameter = null; var instruction = new Instruction { Name = _scanner.GetPreviousToken() }; while ((parameter = _scanner.GetToken()) != ")") { instruction.AddParameter(parameter); } if (_scanner.CurrentTokenIs(";")) { _scanner.GetToken(); } return(instruction); }
/// <summary> /// Reads the define file. /// </summary> private void Read() { _scanner.Read(); string token = null; while ((token = _scanner.GetToken()) != null) { if (token == "#" && _scanner.GetToken() == "define") { string defineName = _scanner.GetToken(); if (_scanner.CurrentTokenIs("#")) { continue; } var defineValueToken = _scanner.GetToken(); if (defineValueToken is null) { continue; } object defineValue = ParseDefineValue(defineValueToken); if (_defines.ContainsKey(defineName)) { _defines[defineName] = defineValue; } else { _defines.Add(defineName, defineValue); } } } }