_Core/Lang/Plugins/Core/LineReaderPlugin.cs
(完整代码) 1KBusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ComLib.Lang;
namespace ComLib.Lang.Extensions
{
/// <summary>
/// Combinator for handling comparisons.
/// </summary>
public class LineReaderPlugin : LexPlugin
{
/// <summary>
/// Initialize
/// </summary>
public LineReaderPlugin()
{
_canHandleToken = true;
}
/// <summary>
/// run step 123.
/// </summary>
/// <returns></returns>
public override Token[] Parse()
{
// print no quotes needed!
var takeoverToken = _lexer.LastTokenData;
int line = _lexer.LineNumber;
int pos = _lexer.LineCharPos;
// This stops on the last char before the newline.
// So move forward one.
var lineToken = _lexer.ReadLine(false);
var t = new TokenData() { Token = lineToken, Line = line, LineCharPos = pos };
_lexer.ParsedTokens.Add(takeoverToken);
_lexer.ParsedTokens.Add(t);
return new Token[] { takeoverToken.Token, lineToken };
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
