{"record":{"id":"24870f073fdaad4f","repo":"stanfordnlp/CoreNLP","slug":"this-language-does-not-support-grammaticalstructur","errorCode":null,"errorMessage":"This language does not support GrammaticalStructures or dependencies","messagePattern":"This language does not support GrammaticalStructures or dependencies","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"src/edu/stanford/nlp/parser/lexparser/AbstractTreebankParserParams.java","lineNumber":478,"sourceCode":"    @Override\n    public String apply(TregexMatcher m) {\n      String punc = m.getNode(key).value();\n      String punctClass = PunctEquivalenceClasser.getPunctClass(punc);\n\n      return punctClass.equals(\"\") ? \"\" : annotationMark + punctClass;\n    }\n\n    @Override\n    public String toString() { return \"AnnotatePunctuationFunction\"; }\n\n    private static final long serialVersionUID = 1L;\n  }\n\n  @Override\n  public List<GrammaticalStructure>\n    readGrammaticalStructureFromFile(String filename)\n  {\n    throw new UnsupportedOperationException(\"This language does not support GrammaticalStructures or dependencies\");\n  }\n\n  @Override\n  public GrammaticalStructure getGrammaticalStructure(Tree t,\n                                                      Predicate<String> filter,\n                                                      HeadFinder hf) {\n    throw new UnsupportedOperationException(\"This language does not support GrammaticalStructures or dependencies\");\n  }\n\n  /**\n   * By default, parsers are assumed to not support dependencies.\n   * Only English and Chinese do at present.\n   */\n  @Override\n  public boolean supportsBasicDependencies() {\n    return false;\n  }\n","sourceCodeStart":460,"sourceCodeEnd":496,"githubUrl":"https://github.com/stanfordnlp/CoreNLP/blob/1b7edd19c4d0d7b1f13a2591425b9b60a0b1af7a/src/edu/stanford/nlp/parser/lexparser/AbstractTreebankParserParams.java#L460-L496","documentation":"AbstractTreebankParserParams is the base class for language-specific treebank parameter objects; only English and Chinese implement dependency/GrammaticalStructure support. The default implementation of readGrammaticalStructureFromFile throws UnsupportedOperationException to signal the selected language's parser does not support grammatical structures or dependencies.","triggerScenarios":"Calling readGrammaticalStructureFromFile on a treebank parser params instance for a language other than English or Chinese (e.g. -tLParam edu.stanford.nlp.parser.lexparser.ArabicTreebankParserParams, German, French, Arabic).","commonSituations":"Running dependency-extraction tooling (e.g. SemanticGraph / GrammaticalStructureFactory pipelines) against a non-English/non-Chinese parser model.","solutions":["Use the English or Chinese treebank parser params/model, which implement grammatical structures","Generate dependencies with an external tool (e.g. a UDPipe/CoreNLP depparse pipeline) for the unsupported language","Remove dependency-extraction steps from the pipeline when using unsupported languages"],"exampleFix":"// before\nOptions op = new Options();\nop.tlpParams = new ArabicTreebankParserParams();\nGrammaticalStructure gs = params.readGrammaticalStructureFromFile(f);\n// after\nOptions op = new Options();\nop.tlpParams = new EnglishTreebankParserParams();\nGrammaticalStructure gs = params.readGrammaticalStructureFromFile(f);","handlingStrategy":"validation","validationCode":"if (!(tlpParams instanceof EnglishTreebankParserParams) && !(tlpParams instanceof ChineseTreebankParserParams)) {\n  throw new UnsupportedOperationException(\"dependencies not supported for \" + tlpParams.getClass().getName());\n}","typeGuard":"function supportsGrammaticalStructures(params) { return params.supportsGrammaticalStructures(); }","tryCatchPattern":"try {\n  List<GrammaticalStructure> gss = params.readGrammaticalStructureFromFile(file);\n} catch (UnsupportedOperationException e) {\n  log.info(\"dependency extraction unsupported for this language: \" + e.getMessage());\n}","preventionTips":["Only request grammatical structures for English or Chinese models","Check treebankLanguagePack().grammarSupported() before dependency conversion","Use language-appropriate dependency tooling for other languages"],"tags":["java","stanford-parser","unsupported-operation","dependencies"],"backgroundTag":"unsupported-operation","analyzedSha":"1b7edd19c4d0d7b1f13a2591425b9b60a0b1af7a","analyzedAt":"2026-09-10T02:24:07.274Z","contentChangedAt":"2026-09-10T02:24:07.274Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}