Files
TextParser/TextParser/Schema/BuildingBlocks/IntegerBlock.cs

35 lines
729 B
C#

namespace Parsing.Schema.BuildingBlocks;
using Parsing.Tokenization;
class IntegerBlock : BuildingBlockBase
{
public IntegerBlock()
{
}
public override List<IToken> ParseWord(InputProvider inputs)
{
return new List<IToken>() { new IntegerToken(inputs.YieldWord()) };
}
public override bool CanParseWord(InputProvider inputs)
{
using (inputs.GetLookaheadContext())
{
return this.CanParseWord(inputs.YieldWord());
}
}
public override bool CanParseWord(string word)
{
int number = 0;
return int.TryParse(word, out number);
}
public override BlockType GetBlockType()
{
return BlockType.Integer;
}
}