35 lines
729 B
C#
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;
|
|
}
|
|
} |