Skip to content

Commit ba521a6

Browse files
pshirshovclaude
andcommitted
fix(D19/T52): wire Grammar-Kit generateLexer/generateParser; regenerate src/main/gen
- Add org.jetbrains.grammarkit 2022.3.2.2 plugin to build.gradle.kts - Wire generateLexer (Baboon.flex → gen/language/BaboonLexer.java) and generateParser (Baboon.bnf → gen/) tasks; compileKotlin/compileJava depend on them - Regenerate gen: BaboonTypes.java now defines KW_ID, KW_HAS, KW_MIRROR, KW_PRAGMA, KW_TYPE (fixes unresolved-reference errors in BaboonTokenType.kt) - New PSI types generated: BaboonExtractionDef, BaboonIdDef, BaboonPragma, BaboonPragmaKey, BaboonTemplateHead, BaboonTypeAlias (and Impl counterparts) - Updated BaboonParser.java from stale idealingua-era version to current BNF Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent fbd8452 commit ba521a6

27 files changed

Lines changed: 2092 additions & 1358 deletions

build.gradle.kts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ plugins {
77
id("org.jetbrains.kotlin.jvm") version "2.2.0"
88
id("org.jetbrains.intellij.platform") version "2.7.2"
99
id("org.jetbrains.changelog") version "2.4.0"
10+
id("org.jetbrains.grammarkit") version "2022.3.2.2"
1011
}
1112

1213
group = "io.septimalmind.baboon"
@@ -77,6 +78,28 @@ tasks {
7778
sourceCompatibility = "21"
7879
targetCompatibility = "21"
7980
}
81+
82+
generateLexer {
83+
sourceFile.set(file("src/main/grammar/Baboon.flex"))
84+
targetOutputDir.set(file("src/main/gen/io/septimalmind/baboon/baboonintellij/language"))
85+
purgeOldFiles.set(true)
86+
}
87+
88+
generateParser {
89+
sourceFile.set(file("src/main/grammar/Baboon.bnf"))
90+
targetRootOutputDir.set(file("src/main/gen"))
91+
pathToParser.set("io/septimalmind/baboon/baboonintellij/language/BaboonParser.java")
92+
pathToPsiRoot.set("io/septimalmind/baboon/baboonintellij/psi")
93+
purgeOldFiles.set(false)
94+
}
95+
96+
compileKotlin {
97+
dependsOn(generateLexer, generateParser)
98+
}
99+
100+
compileJava {
101+
dependsOn(generateLexer, generateParser)
102+
}
80103
}
81104

82105
sourceSets["main"].java.srcDir("src/main/gen")

src/main/gen/io/septimalmind/baboon/baboonintellij/language/BaboonLexer.java

Lines changed: 277 additions & 231 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)