Migrate list parser to Kotlin
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
package dsl.ast.model.node
|
||||
|
||||
import dsl.token.model.entity.TokenPosition
|
||||
|
||||
abstract class AbstractIterableNode(items: List<Node>, position: TokenPosition) : Node(items, position)
|
||||
5
src/main/kotlin/dsl/ast/model/node/ListNode.kt
Normal file
5
src/main/kotlin/dsl/ast/model/node/ListNode.kt
Normal file
@@ -0,0 +1,5 @@
|
||||
package dsl.ast.model.node
|
||||
|
||||
import dsl.token.model.entity.TokenPosition
|
||||
|
||||
class ListNode(items: List<Node>, position: TokenPosition) : AbstractIterableNode(items, position)
|
||||
@@ -6,8 +6,6 @@ import dsl.token.model.entity.TokenList
|
||||
import dsl.token.model.entity.TokenPosition
|
||||
import dsl.token.model.enumeration.TokenType
|
||||
|
||||
class AbstractIterableNode(beginNode: Node, items: List<Node>) : Node(items, beginNode.position)
|
||||
|
||||
abstract class AbstractIterableParser(
|
||||
private val beginTokenType: TokenType,
|
||||
private val itemParser: Parser,
|
||||
|
||||
@@ -23,7 +23,8 @@ class AtomParser : Parser() {
|
||||
FloatLiteralParser(),
|
||||
IntegerLiteralParser(),
|
||||
NoteLiteralParser(),
|
||||
StringLiteralParser()
|
||||
StringLiteralParser(),
|
||||
ListParser()
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
8
src/main/kotlin/dsl/ast/parser/ListParser.kt
Normal file
8
src/main/kotlin/dsl/ast/parser/ListParser.kt
Normal file
@@ -0,0 +1,8 @@
|
||||
package dsl.ast.parser
|
||||
|
||||
import dsl.ast.model.node.ListNode
|
||||
import dsl.token.model.enumeration.TokenType
|
||||
|
||||
class ListParser : AbstractIterableParser(TokenType.OPEN_SQUARE, ExpressionParser(), TokenType.CLOSE_SQUARE, {
|
||||
list, tokenPosition -> ListNode(list, tokenPosition)
|
||||
})
|
||||
Reference in New Issue
Block a user