Files
TextParser/TextParser/Schema/BuildingBlocks/BuildingBlockBase.cs

30 lines
709 B
C#

namespace Parsing.Schema.BuildingBlocks;
using Parsing.Tokenization;
abstract class BuildingBlockBase : IBuildingBlock
{
public BuildingBlockBase()
{
}
public abstract List<IToken> ParseWord(InputProvider inputs);
public abstract bool CanParseWord(InputProvider inputs);
public abstract bool CanParseWord(string word);
public abstract BlockType GetBlockType();
public virtual bool IsRepetitionType()
{
return false;
}
public virtual bool CheckIsDoneParsingAndReset(InputProvider inputs)
{
// most blocks are always done parsing after consuming a token
// repetition blocks can consume multiple tokens
return true;
}
}