Parsing the `define` instruction.

mess
Karchnu 2020-12-17 03:27:37 +01:00
parent dc61c8ee6f
commit 3bfff518b2
1 changed files with 7 additions and 4 deletions

View File

@ -240,11 +240,14 @@ const Parser = struct {
// TODO: class definition (inheritance).
// fn parseDefine(p: *Parser) !?Definition {
fn parseDefine(p: *Parser) !void {
const define_token = p.eatToken(.Keyword_define);
const new_class_name = p.eatToken(.Identifier);
const parent_class_name = p.eatToken(.Identifier);
const define_token = try p.expectToken(.Keyword_define);
const new_class_name = try p.expectToken(.Identifier);
const parent_class_name = try p.expectToken(.Identifier);
std.debug.print("TODO: class inheritance: {} < {}\n",
.{new_class_name, parent_class_name});
.{p.giveTokenContent(new_class_name), p.giveTokenContent(parent_class_name)});
p.putBackToken(parent_class_name);
try p.parseClass();
// TODO: get the old class definition,
// create a new definition,