diff --git a/examples/classes.knox b/examples/classes.knox index a0ef99e..ea76bd1 100644 --- a/examples/classes.knox +++ b/examples/classes.knox @@ -1,6 +1,5 @@ class foobar { - //var hungry : bool = false; - var t : int = 0; + var hungry : bool = false; func alive() void { } } diff --git a/parser/parser.go b/parser/parser.go index 84e1434..97ec759 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -124,9 +124,13 @@ func (p *Parser) classBlock() ast.Node { for !p.curTokenIs(token.RBRACE) { if p.curTokenIs(token.VAR) { blockNode.Children = append(blockNode.Children, p.varDecl()) + p.consume(token.SEMICOLON) } else if p.curTokenIs(token.FUNCTION) { blockNode.Children = append(blockNode.Children, p.funcDecl()) + } else { + p.abortMsg("Unexpected token in class block.") } + } p.consume(token.RBRACE)