mirror of
https://github.com/GayPizzaSpecifications/pork.git
synced 2025-08-03 21:21:33 +00:00
ast: move gay.pizza.pork.ast to gay.pizza.pork.ast.gen
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
package gay.pizza.pork.parser
|
||||
|
||||
import gay.pizza.pork.ast.Node
|
||||
import gay.pizza.pork.ast.NodeType
|
||||
import gay.pizza.pork.ast.gen.Node
|
||||
import gay.pizza.pork.ast.gen.NodeType
|
||||
|
||||
object DiscardNodeAttribution : NodeAttribution {
|
||||
override fun push(token: Token) {}
|
||||
|
@ -1,7 +1,7 @@
|
||||
package gay.pizza.pork.parser
|
||||
|
||||
import gay.pizza.pork.ast.Node
|
||||
import gay.pizza.pork.ast.NodeType
|
||||
import gay.pizza.pork.ast.gen.Node
|
||||
import gay.pizza.pork.ast.gen.NodeType
|
||||
|
||||
interface NodeAttribution {
|
||||
fun push(token: Token)
|
||||
|
@ -1,6 +1,6 @@
|
||||
package gay.pizza.pork.parser
|
||||
|
||||
import gay.pizza.pork.ast.*
|
||||
import gay.pizza.pork.ast.gen.*
|
||||
|
||||
class Parser(source: TokenSource, attribution: NodeAttribution) :
|
||||
ParserBase(source, attribution) {
|
||||
|
@ -1,9 +1,9 @@
|
||||
package gay.pizza.pork.parser
|
||||
|
||||
import gay.pizza.pork.ast.Node
|
||||
import gay.pizza.pork.ast.NodeCoalescer
|
||||
import gay.pizza.pork.ast.data
|
||||
import gay.pizza.pork.ast.visit
|
||||
import gay.pizza.pork.ast.gen.Node
|
||||
import gay.pizza.pork.ast.gen.NodeCoalescer
|
||||
import gay.pizza.pork.ast.gen.data
|
||||
import gay.pizza.pork.ast.gen.visit
|
||||
|
||||
data class ParserAttributes(val tokens: List<Token>) {
|
||||
companion object {
|
||||
|
@ -1,8 +1,8 @@
|
||||
package gay.pizza.pork.parser
|
||||
|
||||
import gay.pizza.pork.ast.Node
|
||||
import gay.pizza.pork.ast.NodeParser
|
||||
import gay.pizza.pork.ast.NodeType
|
||||
import gay.pizza.pork.ast.gen.Node
|
||||
import gay.pizza.pork.ast.gen.NodeParser
|
||||
import gay.pizza.pork.ast.gen.NodeType
|
||||
|
||||
abstract class ParserBase(source: TokenSource, val attribution: NodeAttribution) : NodeParser {
|
||||
val source: TokenSource = source.ignoringParserIgnoredTypes()
|
||||
|
@ -1,8 +1,8 @@
|
||||
package gay.pizza.pork.parser
|
||||
|
||||
import gay.pizza.pork.ast.InfixOperator
|
||||
import gay.pizza.pork.ast.PrefixOperator
|
||||
import gay.pizza.pork.ast.SuffixOperator
|
||||
import gay.pizza.pork.ast.gen.InfixOperator
|
||||
import gay.pizza.pork.ast.gen.PrefixOperator
|
||||
import gay.pizza.pork.ast.gen.SuffixOperator
|
||||
|
||||
internal object ParserHelpers {
|
||||
fun convertInfixOperator(token: Token): InfixOperator = when (token.type) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
package gay.pizza.pork.parser
|
||||
|
||||
import gay.pizza.pork.ast.Node
|
||||
import gay.pizza.pork.ast.NodeType
|
||||
import gay.pizza.pork.ast.data
|
||||
import gay.pizza.pork.ast.gen.Node
|
||||
import gay.pizza.pork.ast.gen.NodeType
|
||||
import gay.pizza.pork.ast.gen.data
|
||||
|
||||
open class ParserNodeAttribution : NodeAttribution {
|
||||
private val stack = mutableListOf<MutableList<Token>>()
|
||||
|
@ -1,6 +1,6 @@
|
||||
package gay.pizza.pork.parser
|
||||
|
||||
import gay.pizza.pork.ast.NodeType
|
||||
import gay.pizza.pork.ast.gen.NodeType
|
||||
|
||||
class ParserStackAnalysis(private val stack: Array<StackTraceElement>) {
|
||||
constructor(throwable: Throwable) : this(throwable.stackTrace)
|
||||
|
@ -1,6 +1,6 @@
|
||||
package gay.pizza.pork.parser
|
||||
|
||||
import gay.pizza.pork.ast.*
|
||||
import gay.pizza.pork.ast.gen.*
|
||||
import gay.pizza.pork.common.IndentPrinter
|
||||
|
||||
class Printer(buffer: StringBuilder) : NodeVisitor<Unit> {
|
||||
|
Reference in New Issue
Block a user