This extension point is used to declare a language or language variant. Languages define how the C model of a file is created (e.g. to populate the outline view). It also provides hooks to override the low level parsing of translation units into an abstract syntax tree. Practically this is limited to C/C++ language variants only. Completely different languages cannot be modelled reasonably using this extension point. A unique identifier of the language. Note that the identifier is prefixed with the ID of the contributing plug-in. A human readable and translatable name of the language. A class extending <code>org.eclipse.core.model.AbstractLanguage</code>. The factory that creates linkage objects. CDT 3.1 <pre> <language class="org.eclipse.cdt.core.dom.ast.gnu.c.GCCLanguage" id="gcc" name="GNU C"> <contentType id="org.eclipse.cdt.core.cSource"/> <contentType id="org.eclipse.cdt.core.cHeader"/> </language> </pre> Clients need to extend the abstract class <code>org.eclipse.core.model.AbstractLanguage</code>. CDT comes with following built-in languages: <code>org.eclipse.cdt.core.language.gcc</code> (GNU C) and <code>org.eclipse.cdt.core.language.g++</code> (GNU C++). <p>The respective language implementations are <code>org.eclipse.cdt.core.dom.ast.gnu.c.GCCLanguage</code> and <code>org.eclipse.cdt.core.dom.ast.gnu.cpp.GPPLanguage</code> </p> Copyright (c) 2005, 2007 QNX Software Systems and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html