Files
2019-01-23 22:52:45 -05:00

22 lines
690 B
C#

using System;
using System.Linq;
using ScriptConverter.Ast.Declarations;
namespace ScriptConverter.Parser.Parselets.Declarations
{
class InheritsParselet : IDeclarationParselet
{
public Declaration Parse(ScriptParser parser, ScriptToken token)
{
var tokens = parser.ParseSeparatedBy(ScriptTokenType.Dot, (_, first) => parser.Take(ScriptTokenType.Identifier));
var name = string.Join(".", tokens.Select(t => t.Contents));
if (!parser.MatchAndTake(ScriptTokenType.Semicolon))
Console.WriteLine("fkshgnbkashnkhnasb");
return new InheritsDeclaration(token, parser.Previous, name);
}
}
}