Added base parse body function

This commit is contained in:
Sasha Koshka
2022-08-14 22:38:57 -04:00
parent 8f42fa9c2a
commit 0a067524ce
5 changed files with 57 additions and 0 deletions

18
parser/body.go Normal file
View File

@@ -0,0 +1,18 @@
package parser
import "git.tebibyte.media/sashakoshka/arf/lexer"
// parse body parses the body of an arf file, after the metadata header.
func (parser *ParsingOperation) parseBody () (err error) {
err = parser.nextToken(lexer.TokenKindName)
if err != nil { return }
switch parser.token.Value().(string) {
case "data":
case "type":
case "func":
case "face":
}
return
}

6
parser/data.go Normal file
View File

@@ -0,0 +1,6 @@
package parser
// parseData parses a data section
func (parser *ParsingOperation) parseData () (err error) {
}

View File

@@ -12,6 +12,9 @@ func (parser *ParsingOperation) parseMeta () (err error) {
if err != nil { return }
if parser.token.Is(lexer.TokenKindSeparator) {
err = parser.nextToken(lexer.TokenKindNewline)
if err != nil { return }
err = parser.nextToken()
return
}

View File

@@ -64,6 +64,9 @@ func (parser *ParsingOperation) parse (sourceFile *file.File) (err error) {
err = parser.parseMeta()
if err != nil { return }
err = parser.parseBody()
if err != nil { return }
return
}