se.chalmers.cs.gf.translate
Class Translator

java.lang.Object
  extended by se.chalmers.cs.gf.translate.Translator
Direct Known Subclasses:
GFCMTranslator

public class Translator
extends java.lang.Object

Translates between different concrete syntaces which use the same abstract syntax.


Constructor Summary
Translator(java.lang.String name, Parsers parsers, TypeAnnotator annotator, Linearizers linearizers, Unlexers unlexers)
           
 
Method Summary
 Linearizer getLinearizer(java.lang.String lang)
          Get the linearizer for the given language.
 java.lang.String getName()
          Gets the name of this translator.
 Parser getParser(java.lang.String lang)
          Get the parser for the given language.
 java.lang.String linearize(java.lang.String lang, Tree tree)
          Does type annotation and linearization.
 java.util.List<Pair<java.lang.String,java.lang.String>> linearizeWithAll(Tree tree)
          Does type annotation and linearization with all available linearizers.
 java.lang.String linearizeWithRanges(java.lang.String lang, Tree tree)
           
 java.util.Set<java.lang.String> listLinearizers()
          List all the available output languages.
 java.util.Set<java.lang.String> listParsers()
          List all the available input languages.
 java.util.Collection<Tree> parse(java.lang.String lang, java.lang.String text)
          Parse a string as a given language, using the default start category for that language.
 java.util.Collection<Tree> parse(java.lang.String lang, java.lang.String text, java.lang.String cat)
          Parse a string as a given language, in the given category.
 java.util.Collection<Pair<java.lang.String,Tree>> parseWithAll(java.lang.String str)
          Try parsing the input with all the available parsers.
 java.util.Set<java.lang.String> translate(java.lang.String fromLang, java.lang.String toLang, java.lang.String text)
          Translate a string from one language to another.
 java.util.Set<Pair<java.lang.String,java.lang.String>> translateFromAll(java.lang.String toLang, java.lang.String text)
           
 java.util.Set<Pair<Pair<java.lang.String,java.lang.String>,java.lang.String>> translateFromAllToAll(java.lang.String text)
           
 java.util.Set<Pair<java.lang.String,java.lang.String>> translateToAll(java.lang.String fromLang, java.lang.String text)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Translator

public Translator(java.lang.String name,
                  Parsers parsers,
                  TypeAnnotator annotator,
                  Linearizers linearizers,
                  Unlexers unlexers)
Parameters:
name - The name to use for the translator.
parsers - The parsers that this translator should use.
annotator - A type annotator.
linearizers - The linearizers that this translator should use.
Method Detail

getName

public java.lang.String getName()
Gets the name of this translator.


parse

public java.util.Collection<Tree> parse(java.lang.String lang,
                                        java.lang.String text)
Parse a string as a given language, using the default start category for that language.


parse

public java.util.Collection<Tree> parse(java.lang.String lang,
                                        java.lang.String text,
                                        java.lang.String cat)
Parse a string as a given language, in the given category.


parseWithAll

public java.util.Collection<Pair<java.lang.String,Tree>> parseWithAll(java.lang.String str)
Try parsing the input with all the available parsers.

Returns:
A list of pairs (language, parse tree)

linearize

public java.lang.String linearize(java.lang.String lang,
                                  Tree tree)
Does type annotation and linearization.


linearizeWithRanges

public java.lang.String linearizeWithRanges(java.lang.String lang,
                                            Tree tree)

linearizeWithAll

public java.util.List<Pair<java.lang.String,java.lang.String>> linearizeWithAll(Tree tree)
Does type annotation and linearization with all available linearizers.


translate

public java.util.Set<java.lang.String> translate(java.lang.String fromLang,
                                                 java.lang.String toLang,
                                                 java.lang.String text)
Translate a string from one language to another.


translateFromAll

public java.util.Set<Pair<java.lang.String,java.lang.String>> translateFromAll(java.lang.String toLang,
                                                                               java.lang.String text)

translateToAll

public java.util.Set<Pair<java.lang.String,java.lang.String>> translateToAll(java.lang.String fromLang,
                                                                             java.lang.String text)

translateFromAllToAll

public java.util.Set<Pair<Pair<java.lang.String,java.lang.String>,java.lang.String>> translateFromAllToAll(java.lang.String text)

listParsers

public java.util.Set<java.lang.String> listParsers()
List all the available input languages.


listLinearizers

public java.util.Set<java.lang.String> listLinearizers()
List all the available output languages.


getParser

public Parser getParser(java.lang.String lang)
Get the parser for the given language.


getLinearizer

public Linearizer getLinearizer(java.lang.String lang)
Get the linearizer for the given language.