Files
smnp-kt/src/main/kotlin/dsl/ast/parser/RootParser.kt

20 lines
538 B
Kotlin

package dsl.ast.parser
import dsl.ast.model.entity.ParserOutput
import dsl.ast.model.node.RootNode
import dsl.token.model.entity.TokenList
class RootParser : Parser() {
override fun tryToParse(input: TokenList): ParserOutput {
return repeat(
oneOf(
ImportParser(),
FunctionDefinitionParser(),
ExtendParser(),
StatementParser()
)
) { list, tokenPosition ->
RootNode(list, tokenPosition)
}.parse(input)
}
}