Removed struct keyword

This commit is contained in:
Eduard Urbach 2025-04-04 13:32:55 +02:00
parent 42e7c8a306
commit 1a2c21de15
Signed by: eduard
GPG key ID: 49226B848C78F6C8
18 changed files with 44 additions and 40 deletions

View file

@ -31,12 +31,29 @@ func (s *Scanner) scanFile(path string, pkg string) error {
switch tokens[i].Kind {
case token.NewLine:
case token.Comment:
case token.Identifier:
if i+1 >= len(tokens) {
return errors.New(errors.InvalidDefinition, file, tokens[i].End())
}
next := tokens[i+1]
switch next.Kind {
case token.GroupStart:
i, err = s.scanFunction(file, tokens, i)
case token.BlockStart:
i, err = s.scanStruct(file, tokens, i)
case token.GroupEnd:
return errors.New(errors.MissingGroupStart, file, next.Position)
case token.BlockEnd:
return errors.New(errors.MissingBlockStart, file, next.Position)
case token.Invalid:
return errors.New(&errors.InvalidCharacter{Character: next.Text(file.Bytes)}, file, next.Position)
default:
return errors.New(errors.InvalidDefinition, file, next.Position)
}
case token.Import:
i, err = s.scanImport(file, tokens, i)
case token.Struct:
i, err = s.scanStruct(file, tokens, i)
case token.Identifier:
i, err = s.scanFunction(file, tokens, i)
case token.Extern:
i, err = s.scanExtern(file, tokens, i)
case token.Const: