Agent skill
test-parser-jdk
Test the Java parser by parsing JDK source files and fixing parse errors. Use when asked to find/fix parse errors, test the parser, or improve JDK compatibility.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/test-parser-jdk-dhamidi-sai
SKILL.md
Test Parser with JDK Sources
Overview
This skill helps identify and fix parse errors in the Java parser by running it against JDK source files in testcases/jdk/.
Commands
Run the JDK parse test
go test -v -run TestParseJDKSourceFiles ./java/parser/ 2>&1 | grep -c "parse error"
This shows the total count of files with parse errors.
List files with parse errors
go test -v -run TestParseJDKSourceFiles ./java/parser/ 2>&1 | grep "parse error" | head -20
Parse a specific file and show errors
go run ./cmd/javalyzer parse <file> 2>&1 | grep -i "error"
Example:
go run ./cmd/javalyzer parse testcases/jdk/java.base/java/io/ObjectStreamClass.java 2>&1 | grep -i "error"
Workflow for Fixing Parse Errors
- Identify a failing file: Run the test and pick the first file with errors
- Find the error location: Parse the file and grep for "ERROR:" to see line numbers
- Read the problematic code: Use Read tool to examine the Java syntax at that location
- Understand the syntax: Identify which Java language feature isn't being parsed
- Fix the parser: Edit
java/parser/parser.goto handle the syntax - Verify the fix: Re-parse the file to confirm errors are gone
- Run full test: Check the total error count decreased
- Commit: Use
git commit --no-verify -m "parser: <description of fix>"
Common Parse Error Patterns
- Switch expressions:
case null, default ->(Java 21) - Array type method references:
String[]::new,Class<?>[]::new - Pattern matching:
case String s -> - Record patterns:
case Point(int x, int y) -> - Sealed classes:
sealed class,permits
Key Parser Files
java/parser/parser.go- Main parser implementationjava/parser/grammar.ebnf- Grammar referencejava/parser/lexer.go- Token definitions
Example Error Output
Error [314:24-314:31] ERROR: expected expression
This means at line 314, columns 24-31, the parser expected an expression but found something unexpected.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?