package de.unisiegen.tpml.core.languages ;
import java.io.Reader;
import java.text.MessageFormat;
import de.unisiegen.tpml.core.Messages;
import de.unisiegen.tpml.core.expressions.Expression;
import de.unisiegen.tpml.core.minimaltyping.MinimalTypingProofModel;
import de.unisiegen.tpml.core.subtyping.SubTypingProofModel;
import de.unisiegen.tpml.core.subtypingrec.RecSubTypingProofModel;
import de.unisiegen.tpml.core.typechecker.TypeCheckerProofModel;
import de.unisiegen.tpml.core.typeinference.TypeInferenceProofModel;
import de.unisiegen.tpml.core.types.MonoType;
/**
* Abstract base class for classes that implement the
* {@link de.unisiegen.tpml.core.languages.Language} interface.
*
* @author Benedikt Meurer
* @version $Rev:415 $
* @see de.unisiegen.tpml.core.languages.Language
*/
public abstract class AbstractLanguage implements Language
{
/**
* Allocates a new <code>AbstractLanguage</code>.
*/
protected AbstractLanguage ( )
{
// nothing to do here.
}
/**
* {@inheritDoc}
*
* @see de.unisiegen.tpml.core.languages.Language#newTypeCheckerProofModel(de.unisiegen.tpml.core.expressions.Expression)
*/
public TypeCheckerProofModel newTypeCheckerProofModel (
@ SuppressWarnings ( "unused" )
Expression expression )
{
throw new UnsupportedOperationException ( MessageFormat.format ( Messages
.getString ( "AbstractLanguage.0" ) , getName ( ) ) ) ; //$NON-NLS-1$
}
/**
* {@inheritDoc}
*
* @see de.unisiegen.tpml.core.languages.Language#newMinimalTypingProofModel(de.unisiegen.tpml.core.expressions.Expression, Boolean)
*/
public MinimalTypingProofModel newMinimalTypingProofModel (
@ SuppressWarnings ( "unused" )
Expression expression, @SuppressWarnings("unused")
boolean mode )
{
throw new UnsupportedOperationException ( MessageFormat.format ( Messages
.getString ( "AbstractLanguage.0" ) , getName ( ) ) ) ; //$NON-NLS-1$
}
/**
* {@inheritDoc}
*
* @see de.unisiegen.tpml.core.languages.Language#newTypeInferenceProofModel(de.unisiegen.tpml.core.expressions.Expression)
*/
public TypeInferenceProofModel newTypeInferenceProofModel (
@ SuppressWarnings ( "unused" )
Expression expression )
{
throw new UnsupportedOperationException ( MessageFormat.format ( Messages
.getString ( "AbstractLanguage.0" ) , getName ( ) ) ) ; //$NON-NLS-1$
}
/**
* {@inheritDoc}
*
* @see de.unisiegen.tpml.core.languages.Language#newSubTypingProofModel(MonoType, MonoType, boolean)
*/
public SubTypingProofModel newSubTypingProofModel (
@SuppressWarnings("unused") MonoType type,
@SuppressWarnings("unused") MonoType type2,
@SuppressWarnings("unused") boolean mode )
{
throw new UnsupportedOperationException ( MessageFormat.format ( Messages
.getString ( "AbstractLanguage.0" ) , getName ( ) ) ) ; //$NON-NLS-1$
}
/**
* {@inheritDoc}
*
* @see de.unisiegen.tpml.core.languages.Language#newRecSubTypingProofModel(MonoType type, MonoType type2, boolean mode)
*/
public RecSubTypingProofModel newRecSubTypingProofModel (
@SuppressWarnings("unused") MonoType type,
@SuppressWarnings("unused") MonoType type2,
@SuppressWarnings("unused") boolean mode )
{
throw new UnsupportedOperationException ( MessageFormat.format ( Messages
.getString ( "AbstractLanguage.0" ) , getName ( ) ) ) ; //$NON-NLS-1$
}
/**
* {@inheritDoc}
*
* @see Language#newParser(java.io.Reader)
*/
public final LanguageParser newParser ( Reader reader )
{
return newParser ( newScanner ( reader ) ) ;
}
/**
* {@inheritDoc}
*
* @see de.unisiegen.tpml.core.languages.Language#newTypeParser(de.unisiegen.tpml.core.languages.LanguageTypeScanner)
*/
public LanguageTypeParser newTypeParser ( @ SuppressWarnings ( "unused" )
LanguageTypeScanner scanner )
{
throw new UnsupportedOperationException ( MessageFormat.format ( Messages
.getString ( "AbstractLanguage.0" ) , getName ( ) ) ) ; //$NON-NLS-1$
}
/**
* {@inheritDoc}
*
* @see de.unisiegen.tpml.core.languages.Language#newTypeParser(java.io.Reader)
*/
public final LanguageTypeParser newTypeParser ( Reader reader )
{
return newTypeParser ( newTypeScanner ( reader ) ) ;
}
/**
* {@inheritDoc}
*
* @see de.unisiegen.tpml.core.languages.Language#newTypeScanner(java.io.Reader)
*/
public LanguageTypeScanner newTypeScanner ( @ SuppressWarnings ( "unused" )
Reader reader )
{
throw new UnsupportedOperationException ( MessageFormat.format ( Messages
.getString ( "AbstractLanguage.0" ) , getName ( ) ) ) ; //$NON-NLS-1$
}
/**
*
* {@inheritDoc}
*
* @see de.unisiegen.tpml.core.languages.Language#isTypeLanguage()
*/
public boolean isTypeLanguage() {
return false;
}
}