You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by jo...@apache.org on 2011/08/01 16:07:12 UTC

svn commit: r1152783 [2/12] - in /uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core: ./ META-INF/ bin/ schema/ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/uima/ src/main/java/org/apache/u...

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/schema/tmkeywords.exsd
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/schema/tmkeywords.exsd
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/schema/typeFunctionExtension.exsd
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/schema/typeFunctionExtension.exsd?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/schema/typeFunctionExtension.exsd (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/schema/typeFunctionExtension.exsd Mon Aug  1 14:06:27 2011
@@ -0,0 +1,112 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.apache.uima.tm.dltk.core" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appinfo>
+         <meta.schema plugin="org.apache.uima.tm.dltk.core" id="typeFunctionExtension" name="typeFunctionExtension"/>
+      </appinfo>
+      <documentation>
+         [Enter description of this extension point.]
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appinfo>
+            <meta.element />
+         </appinfo>
+      </annotation>
+      <complexType>
+         <sequence minOccurs="1" maxOccurs="unbounded">
+            <element ref="typeFunction"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute translatable="true"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="typeFunction">
+      <complexType>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute kind="java" basedOn=":org.apache.uima.tm.dltk.core.extensions.IIDEActionExtension"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+         <attribute name="engine" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute kind="java" basedOn=":org.apache.uima.tm.textmarker.kernel.extensions.ITextMarkerActionExtension"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="since"/>
+      </appinfo>
+      <documentation>
+         [Enter the first release in which this extension point appears.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="examples"/>
+      </appinfo>
+      <documentation>
+         [Enter extension point usage example here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="apiinfo"/>
+      </appinfo>
+      <documentation>
+         [Enter API information here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="implementation"/>
+      </appinfo>
+      <documentation>
+         [Enter information about supplied implementation of this extension point.]
+      </documentation>
+   </annotation>
+
+
+</schema>

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/schema/typeFunctionExtension.exsd
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/schema/typeFunctionExtension.exsd
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/BasicTextMarkerMatchLocatorParser.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/BasicTextMarkerMatchLocatorParser.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/BasicTextMarkerMatchLocatorParser.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/BasicTextMarkerMatchLocatorParser.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,136 @@
+package org.apache.uima.tm.dltk.core;
+//package org.apache.uima.tm.dltk.core;
+//
+//import java.util.HashMap;
+//import java.util.List;
+//import java.util.Map;
+//
+//import org.eclipse.dltk.ast.ASTNode;
+//import org.eclipse.dltk.ast.declarations.MethodDeclaration;
+//import org.eclipse.dltk.ast.declarations.ModuleDeclaration;
+//import org.eclipse.dltk.ast.declarations.TypeDeclaration;
+//import org.eclipse.dltk.core.search.matching.MatchLocator;
+//import org.eclipse.dltk.core.search.matching.MatchLocatorParser;
+//import org.eclipse.dltk.core.search.matching.PatternLocator;
+//import org.eclipse.dltk.core.search.matching.PossibleMatch;
+//
+//public abstract class BasicTextMarkerMatchLocatorParser extends MatchLocatorParser {
+//
+//	protected static String[] kw = TextMarkerKeywordsManager.getKeywords();
+//	protected static Map kwMap = new HashMap();
+//	static {
+//		for (int q = 0; q < kw.length; ++q) {
+//			kwMap.put(kw[q], Boolean.TRUE);
+//		}
+//	}
+//
+//	public BasicTextMarkerMatchLocatorParser(MatchLocator locator) {
+//		super(locator);
+//	}
+//
+//	public ModuleDeclaration parse(PossibleMatch possibleMatch) {
+//		ModuleDeclaration module = super.parse(possibleMatch);		
+//		module.rebuild();
+//		module.rebuildMethods();
+//		
+//		return module;
+//	}
+//
+//	public void parseBodies(ModuleDeclaration unit) {
+//		TypeDeclaration[] types = unit.getTypes();
+//		if (types != null) {
+//			for (int i = 0; i < types.length; i++) {
+//				TypeDeclaration type = types[i];
+//				this.getPatternLocator().match(this.processType(type),
+//						this.getNodeSet());
+//				this.parseBodies(type);
+//			}
+//		}
+//		MethodDeclaration[] methods = unit.getFunctions();
+//		if (methods != null) {
+//			PatternLocator locator = this.getPatternLocator();
+//			for (int i = 0; i < methods.length; i++) {
+//				MethodDeclaration method = methods[i];
+//				locator.match(this.processMethod(method), this
+//						.getNodeSet());
+//				this.parseBodies(method);
+//			}
+//		}
+//
+//		ASTNode[] nodes = unit.getNonTypeOrMethodNode();
+//		int length = nodes.length;
+//		for (int i = 0; i < length; i++) {
+//			this.processStatement(nodes[i]);
+//		}
+//	}
+//
+//	public MethodDeclaration processMethod(MethodDeclaration m) {
+//		String name = m.getName();
+//		if (name.startsWith("::")) {
+//			name = name.substring(2);
+//		}
+//		if (name.indexOf("::") != -1) {
+//			int pos = name.lastIndexOf("::");
+//			String declTypeName = name.substring(0, pos);
+//			m.setDeclaringTypeName(declTypeName);
+//			name = name.substring(pos + 2);
+//		}
+//		m.setName(name);
+//		return m;
+//	}
+//
+//	public TypeDeclaration processType(TypeDeclaration t) {
+//		String name = t.getName();
+//		if (name.startsWith("::")) {
+//			name = name.substring(2);
+//		}
+//		if (name.endsWith("::")) {
+//			name = name.substring(0, name.length() - 2);
+//		}
+//		t.setName(name);
+//		return t;
+//	}
+//
+//	protected void parseBodies(TypeDeclaration type) {
+//
+//		PatternLocator locator = this.getPatternLocator();
+//
+//		MethodDeclaration[] methods = type.getMethods();
+//		if (methods != null) {
+//			for (int i = 0; i < methods.length; i++) {
+//				MethodDeclaration method = methods[i];
+//				if (method instanceof MethodDeclaration) {
+//					MethodDeclaration methodDeclaration = method;
+//					locator.match(this.processMethod(methodDeclaration), this
+//							.getNodeSet());
+//					this.parseBodies(methodDeclaration);
+//				}
+//			}
+//		}
+//
+//		TypeDeclaration[] memberTypes = type.getTypes();
+//		if (memberTypes != null) {
+//			for (int i = 0; i < memberTypes.length; i++) {
+//				TypeDeclaration memberType = memberTypes[i];
+//				locator.match(this.processType(memberType), this.getNodeSet());
+//				this.parseBodies(memberType);
+//			}
+//		}
+//		ASTNode[] nodes = type.getNonTypeOrMethodNode();
+//		int length = nodes.length;
+//		for (int i = 0; i < length; i++) {
+//			this.processStatement(nodes[i]);
+//		}
+//	}
+//
+//	protected void parseBodies(MethodDeclaration method) {
+//		List nodes = method.getStatements();
+//		int length = nodes.size();
+//		for (int i = 0; i < length; i++) {
+//			ASTNode node = (ASTNode) nodes.get(i);
+//			this.processStatement(node);
+//		}
+//	}
+//
+//	protected abstract void processStatement(ASTNode node);
+// }
\ No newline at end of file

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/BasicTextMarkerMatchLocatorParser.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/BasicTextMarkerMatchLocatorParser.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/CodeModel.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/CodeModel.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/CodeModel.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/CodeModel.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,44 @@
+package org.apache.uima.tm.dltk.core;
+
+public class CodeModel {
+  private String[] codeLines;
+
+  private int[] codeLineLengths;
+
+  public CodeModel(String code) {
+    this.codeLines = code.split("\n");
+    int count = this.codeLines.length;
+
+    this.codeLineLengths = new int[count];
+
+    int sum = 0;
+    for (int i = 0; i < count; ++i) {
+      this.codeLineLengths[i] = sum;
+      sum += this.codeLines[i].length() + 1;
+    }
+  }
+
+  public int[] getBounds(int lineNumber) {
+    String codeLine = this.codeLines[lineNumber];
+
+    int start = this.codeLineLengths[lineNumber];
+    int end = start + codeLine.length();
+
+    return new int[] { start, end };
+  }
+
+  public int getLineNumber(int start, int end) {
+    int len = this.codeLines.length;
+    for (int i = 0; i < len; ++i) {
+      String codeLine = this.codeLines[i];
+
+      int s = this.codeLineLengths[i];
+      int e = start + codeLine.length();
+
+      if (start <= s && end <= e) {
+        return i + 1;
+      }
+    }
+    return this.codeLines.length;
+  }
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/CodeModel.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/CodeModel.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/ITextMarkerKeywords.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/ITextMarkerKeywords.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/ITextMarkerKeywords.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/ITextMarkerKeywords.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,30 @@
+package org.apache.uima.tm.dltk.core;
+
+public interface ITextMarkerKeywords {
+
+  public static final int ALL = 0;
+
+  public static final int DECLARATION = 1;
+
+  public static final int BASIC = 2;
+
+  public static final int CONDITION = 4;
+
+  public static final int ACTION = 5;
+
+  public static final int BOOLEANFUNCTION = 6;
+
+  public static final int NUMBERFUNCTION = 7;
+
+  public static final int STRINGFUNCTION = 8;
+
+  public static final int TYPEFUNCTION = 9;
+
+  public static final int THEN = 10;
+
+  public static final int START_INDEX = 1;
+
+  public static final int END_INDEX = 11;
+
+  String[] getKeywords(int type);
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/ITextMarkerKeywords.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/ITextMarkerKeywords.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerConstants.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerConstants.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerConstants.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerConstants.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,8 @@
+package org.apache.uima.tm.dltk.core;
+
+public class TextMarkerConstants {
+  protected TextMarkerConstants() {
+  }
+
+  public final static String TM_PARTITIONING = "__textmarker_partitioning";
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerConstants.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerConstants.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerContentDescriber.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerContentDescriber.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerContentDescriber.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerContentDescriber.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,14 @@
+package org.apache.uima.tm.dltk.core;
+
+import java.util.regex.Pattern;
+
+import org.eclipse.dltk.core.ScriptContentDescriber;
+
+public class TextMarkerContentDescriber extends ScriptContentDescriber {
+  protected static Pattern[] header_patterns = { Pattern.compile("\\s*PACKAGE", Pattern.MULTILINE), }; //$NON-NLS-1$
+
+  @Override
+  protected Pattern[] getHeaderPatterns() {
+    return header_patterns;
+  }
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerContentDescriber.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerContentDescriber.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerCorePreferences.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerCorePreferences.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerCorePreferences.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerCorePreferences.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,9 @@
+package org.apache.uima.tm.dltk.core;
+
+public class TextMarkerCorePreferences {
+  public static final String BUILDER_RESOLVE_IMPORTS = "BuilderResolveImports";
+
+  public static final String BUILDER_IMPORT_BY_NAME = "BuilderImportByName";
+
+  public static final String BUILDER_IGNORE_DUPLICATE_SHORTNAMES = "BuilderErrorOnDuplicateShortnames";
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerCorePreferences.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerCorePreferences.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerKeywords.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerKeywords.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerKeywords.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerKeywords.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,87 @@
+package org.apache.uima.tm.dltk.core;
+
+public class TextMarkerKeywords implements ITextMarkerKeywords {
+
+  private static String[] condition = { "CONTAINS", "IF", "INLIST", "ISINTAG", "PARTOF",
+      "TOTALCOUNT", "CURRENTCOUNT", "CONTEXTCOUNT", "LAST", "VOTE", "COUNT", "NEAR", "REGEXP",
+      "POSITION", "SCORE", "ISLISTEMPTY", "MOFN", "AND", "OR", "FEATURE", "PARSE", "IS", "BEFORE",
+      "AFTER", "STARTSWITH", "ENDSWITH", "PARTOFNEQ", "SIZE" };
+
+  private static String[] declaration = { "WORDLIST", "DECLARE", "BOOLEAN", "PACKAGE", "TYPE",
+      "TYPESYSTEM", "INT", "DOUBLE", "STRING", "SCRIPT", "WORDTABLE", "ENGINE", "ACTION",
+      "CONDITION", "BLOCK", "RULES", "BOOLEANLIST", "INTLIST", "DOUBLELIST", "STRINGLIST",
+      "TYPELIST" };
+
+  private static String[] action = { "DEL", "CALL", "MARK", "MARKSCORE", "COLOR", "LOG", "TAG",
+      "REPLACE", "FILLOBJECT", "RETAINMARKUP", "RETAINTYPE", "SETFEATURE", "ASSIGN", "PUTINLIST",
+      "ATTRIBUTE", "MARKFAST", "FILTERTYPE", "FILTERMARKUP", "CREATE", "FILL", "MARKTABLE",
+      "UNMARK", "TRANSFER", "MARKONCE", "TRIE", "GATHER", "EXEC", "MARKLAST", "ADD", "REMOVE",
+      "MERGE", "GET", "GETLIST", "REMOVEDUPLICATE", "GETFEATURE", "MATCHEDTEXT", "CLEAR",
+      "UNMARKALL", "EXPAND" };
+
+  private static String[] basic = { "ALL", "ANY", "AMP", "BREAK", "W", "NUM", "PM", "Document",
+      "MARKUP", "SW", "CW", "CAP", "PERIOD", "NBSP", "SENTENCEEND", "COLON", "COMMA", "SEMICOLON",
+      "WS", "_", "SPACE", "SPECIAL", "EXCLAMATION", "QUESTION", };
+
+  private static String[] booleanFunction = { "true", "false" };
+
+  private static String[] numberFunction = { "EXP", "SIN", "COS", "TAN", "LOGN" };
+
+  private static String[] stringFunction = { "REMOVESTRING" };
+
+  private static String[] typeFunction = {};
+
+  private static String[] then = { "->" };
+
+  public String[] getKeywords(int type) {
+    if (type == CONDITION) {
+      return condition;
+    } else if (type == ACTION) {
+      return action;
+    } else if (type == DECLARATION) {
+      return declaration;
+    } else if (type == BASIC) {
+      return basic;
+    } else if (type == BOOLEANFUNCTION) {
+      return booleanFunction;
+    } else if (type == NUMBERFUNCTION) {
+      return numberFunction;
+    } else if (type == STRINGFUNCTION) {
+      return stringFunction;
+    } else if (type == TYPEFUNCTION) {
+      return typeFunction;
+    } else if (type == THEN) {
+      return then;
+    }
+    return getKeywords();
+  }
+
+  public static String[] append(String prefix, String[] a, String[] b) {
+    int len = 0;
+    if (a != null) {
+      len = a.length;
+    }
+    String[] ns = new String[len + b.length];
+    if (a != null) {
+      System.arraycopy(a, 0, ns, 0, len);
+    }
+    for (int i = 0; i < b.length; i++) {
+      ns[len + i] = prefix + b[i];
+    }
+    return ns;
+  }
+
+  public static String[] append(String[] a, String[] b) {
+    if (b == null) {
+      return a;
+    }
+    String[] ns = new String[a.length + b.length];
+    System.arraycopy(a, 0, ns, 0, a.length);
+    System.arraycopy(b, 0, ns, a.length, b.length);
+    return ns;
+  }
+
+  public String[] getKeywords() {
+    return null;
+  }
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerKeywords.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerKeywords.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerKeywordsManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerKeywordsManager.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerKeywordsManager.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerKeywordsManager.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,59 @@
+package org.apache.uima.tm.dltk.core;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.dltk.core.DLTKCore;
+
+public final class TextMarkerKeywordsManager {
+  private static final String EXTENSION_POINT = "org.apache.uima.tm.dltk.core.tmkeywords";
+
+  private static final String CLASS = "class";
+
+  private static String[][] all = new String[ITextMarkerKeywords.END_INDEX][];
+
+  private static boolean initialized = false;
+
+  private static void initialize() {
+    if (initialized) {
+      return;
+    }
+    initialized = true;
+    IConfigurationElement[] cfg = Platform.getExtensionRegistry().getConfigurationElementsFor(
+            EXTENSION_POINT);
+    for (int i = 0; i < ITextMarkerKeywords.END_INDEX; i++) {
+      all[i] = new String[0];
+    }
+    for (int i = 0; i < cfg.length; i++) {
+      if (cfg[i].getName().equals("keywords")) {
+        try {
+          ITextMarkerKeywords keywords = (ITextMarkerKeywords) cfg[i]
+                  .createExecutableExtension(CLASS);
+          if (keywords != null) {
+            for (int q = 0; q < ITextMarkerKeywords.END_INDEX; ++q) {
+              String[] kw2 = keywords.getKeywords(q);
+              all[q] = TextMarkerKeywords.append(all[q], kw2);
+            }
+          }
+        } catch (CoreException e) {
+          if (DLTKCore.DEBUG) {
+            e.printStackTrace();
+          }
+        }
+      }
+    }
+  }
+
+  public static String[] getKeywords() {
+    initialize();
+    return all[ITextMarkerKeywords.ALL];
+  }
+
+  public static String[] getKeywords(int type) {
+    initialize();
+    if (type >= 0 && type < all.length) {
+      return all[type];
+    }
+    return new String[0];
+  }
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerKeywordsManager.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerKeywordsManager.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerLanguageToolkit.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerLanguageToolkit.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerLanguageToolkit.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerLanguageToolkit.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,66 @@
+package org.apache.uima.tm.dltk.core;
+
+import java.io.File;
+import java.io.FilenameFilter;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.dltk.core.AbstractLanguageToolkit;
+
+public class TextMarkerLanguageToolkit extends AbstractLanguageToolkit {
+  private static final String[] languageExtensions = new String[] { "tm" };
+
+  private static TextMarkerLanguageToolkit sInstance = new TextMarkerLanguageToolkit();
+
+  public TextMarkerLanguageToolkit() {
+  }
+
+  @Override
+  public boolean languageSupportZIPBuildpath() {
+    return true;
+  }
+
+  public boolean validateSourcePackage(IPath path) {
+    File file = new File(path.toOSString());
+    if (file != null) {
+      String members[] = file.list(new FilenameFilter() {
+
+        public boolean accept(File dir, String name) {
+          if (name.toLowerCase().equals("__init__.tm")) {
+            return true;
+          }
+          return false;
+        }
+      });
+      if (members.length > 0) {
+        return true;
+      }
+    }
+    return false;
+  }
+
+  public String getNatureId() {
+    return TextMarkerNature.NATURE_ID;
+  }
+
+  public String[] getLanguageFileExtensions() {
+    return languageExtensions;
+  }
+
+  public String getLanguageName() {
+    return "TextMarker";
+  }
+
+  public String getLanguageContentType() {
+    return "de.uniwue.dltk.tmContentType";
+  }
+
+  public static TextMarkerLanguageToolkit getDefault() {
+    return sInstance;
+  }
+
+  @Override
+  public String getPreferenceQualifier() {
+    return TextMarkerPlugin.PLUGIN_ID;
+  }
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerLanguageToolkit.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerLanguageToolkit.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerMatchLocatorParser.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerMatchLocatorParser.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerMatchLocatorParser.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerMatchLocatorParser.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,29 @@
+package org.apache.uima.tm.dltk.core;
+
+import org.eclipse.dltk.ast.ASTNode;
+import org.eclipse.dltk.ast.declarations.FieldDeclaration;
+import org.eclipse.dltk.ast.declarations.MethodDeclaration;
+import org.eclipse.dltk.ast.references.Reference;
+import org.eclipse.dltk.ast.references.VariableReference;
+import org.eclipse.dltk.core.search.matching.MatchLocator;
+import org.eclipse.dltk.core.search.matching.MatchLocatorParser;
+import org.eclipse.dltk.core.search.matching.PatternLocator;
+
+public class TextMarkerMatchLocatorParser extends MatchLocatorParser {
+
+  public TextMarkerMatchLocatorParser(MatchLocator locator) {
+    super(locator);
+  }
+
+  @Override
+  protected void processStatement(ASTNode node, PatternLocator locator) {
+    super.processStatement(node, locator);
+    if (node instanceof VariableReference) {
+      locator.match((Reference) node, getNodeSet());
+    } else if (node instanceof FieldDeclaration) {
+      locator.match((FieldDeclaration) node, getNodeSet());
+    } else if (node instanceof MethodDeclaration) {
+      locator.match((MethodDeclaration) node, getNodeSet());
+    }
+  }
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerMatchLocatorParser.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerMatchLocatorParser.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerNature.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerNature.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerNature.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerNature.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,9 @@
+package org.apache.uima.tm.dltk.core;
+
+import org.eclipse.dltk.core.ScriptNature;
+
+public class TextMarkerNature extends ScriptNature {
+
+  public static final String NATURE_ID = TextMarkerPlugin.PLUGIN_ID + ".nature";
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerNature.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerNature.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerPlugin.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerPlugin.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerPlugin.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerPlugin.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,37 @@
+package org.apache.uima.tm.dltk.core;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
+import org.osgi.framework.BundleContext;
+
+public class TextMarkerPlugin extends Plugin {
+
+  public static final String PLUGIN_ID = "org.apache.uima.tm.dltk.core";
+
+  private static TextMarkerPlugin plugin;
+
+  public TextMarkerPlugin() {
+    plugin = this;
+  }
+
+  @Override
+  public void start(BundleContext context) throws Exception {
+    super.start(context);
+  }
+
+  @Override
+  public void stop(BundleContext context) throws Exception {
+    super.stop(context);
+    plugin = null;
+  }
+
+  public static TextMarkerPlugin getDefault() {
+    return plugin;
+  }
+
+  public static void error(Throwable t) {
+    plugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, t.getMessage(), t));
+  }
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerPlugin.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerPlugin.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerProblems.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerProblems.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerProblems.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerProblems.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,9 @@
+package org.apache.uima.tm.dltk.core;
+
+import org.eclipse.dltk.compiler.problem.IProblem;
+
+public class TextMarkerProblems {
+
+  public static final int UNKNOWN_REQUIRED_PACKAGE = IProblem.ImportRelated + 1;
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerProblems.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/TextMarkerProblems.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEActionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEActionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEActionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEActionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,19 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.List;
+
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.parser.ast.actions.TextMarkerAction;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public abstract class AbstractIDEActionExtension implements IIDEActionExtension {
+
+  public TextMarkerAction createAction(Token type, List<Expression> args)
+          throws RecognitionException {
+    // TODO set boundaries
+    return new TextMarkerAction(0, 0, args, 0, "", 0, 0);
+  }
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEActionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEActionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEBooleanFunctionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEBooleanFunctionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEBooleanFunctionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEBooleanFunctionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,18 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.List;
+
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.parser.ast.TextMarkerExpression;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public abstract class AbstractIDEBooleanFunctionExtension implements IIDEBooleanFunctionExtension {
+
+  public TextMarkerExpression createBooleanFunction(Token type, List<Expression> args)
+          throws RecognitionException {
+    return new TextMarkerExpression(0, 0, args.get(0), 0);
+  }
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEBooleanFunctionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEBooleanFunctionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEConditionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEConditionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEConditionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEConditionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,18 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.List;
+
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.parser.ast.conditions.TextMarkerCondition;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public abstract class AbstractIDEConditionExtension implements IIDEConditionExtension {
+
+  public TextMarkerCondition createCondition(Token type, List<Expression> args)
+          throws RecognitionException {
+    return new TextMarkerCondition(0, 0, args, 0, "", 0, 0);
+  }
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEConditionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEConditionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDENumberFunctionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDENumberFunctionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDENumberFunctionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDENumberFunctionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,18 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.List;
+
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.parser.ast.TextMarkerExpression;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public abstract class AbstractIDENumberFunctionExtension implements IIDENumberFunctionExtension {
+
+  public TextMarkerExpression createNumberFunction(Token type, List<Expression> args)
+          throws RecognitionException {
+    return new TextMarkerExpression(0, 0, args.get(0), 0);
+  }
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDENumberFunctionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDENumberFunctionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEStringFunctionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEStringFunctionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEStringFunctionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEStringFunctionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,18 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.List;
+
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.parser.ast.TextMarkerExpression;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public abstract class AbstractIDEStringFunctionExtension implements IIDEStringFunctionExtension {
+
+  public TextMarkerExpression createStringFunction(Token type, List<Expression> args)
+          throws RecognitionException {
+    return new TextMarkerExpression(0, 0, args.get(0), 0);
+  }
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEStringFunctionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDEStringFunctionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDETypeFunctionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDETypeFunctionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDETypeFunctionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDETypeFunctionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,18 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.List;
+
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.parser.ast.TextMarkerExpression;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public abstract class AbstractIDETypeFunctionExtension implements IIDETypeFunctionExtension {
+
+  public TextMarkerExpression createTypeFunction(Token type, List<Expression> args)
+          throws RecognitionException {
+    return new TextMarkerExpression(0, 0, args.get(0), 0);
+  }
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDETypeFunctionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/AbstractIDETypeFunctionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ICompletionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ICompletionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ICompletionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ICompletionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,28 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.Set;
+
+import org.apache.uima.tm.dltk.internal.core.codeassist.TextMarkerCompletionEngine;
+import org.apache.uima.tm.dltk.internal.core.codeassist.completion.CompletionOnKeywordArgumentOrFunctionArgument;
+import org.apache.uima.tm.dltk.internal.core.codeassist.completion.CompletionOnKeywordOrFunction;
+import org.apache.uima.tm.dltk.internal.core.codeassist.completion.TextMarkerCompletionParser;
+import org.eclipse.dltk.ast.ASTNode;
+import org.eclipse.dltk.ast.expressions.Expression;
+import org.eclipse.dltk.ast.statements.Statement;
+import org.eclipse.dltk.core.CompletionRequestor;
+
+
+public interface ICompletionExtension {
+  boolean visit(Expression s, TextMarkerCompletionParser parser, int position);
+
+  boolean visit(Statement s, TextMarkerCompletionParser parser, int position);
+
+  void completeOnKeywordOrFunction(CompletionOnKeywordOrFunction key, ASTNode astNodeParent,
+          TextMarkerCompletionEngine engine);
+
+  void completeOnKeywordArgumentsOne(String name,
+          CompletionOnKeywordArgumentOrFunctionArgument compl, Set methodNames, Statement st,
+          TextMarkerCompletionEngine tmCompletionEngine);
+
+  void setRequestor(CompletionRequestor requestor);
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ICompletionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ICompletionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEActionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEActionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEActionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEActionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,15 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.List;
+
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.parser.ast.actions.TextMarkerAction;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public interface IIDEActionExtension extends ITextMarkerExtension {
+
+  TextMarkerAction createAction(Token type, List<Expression> args) throws RecognitionException;
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEActionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEActionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEBooleanFunctionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEBooleanFunctionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEBooleanFunctionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEBooleanFunctionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,15 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.List;
+
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.parser.ast.TextMarkerExpression;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public interface IIDEBooleanFunctionExtension extends ITextMarkerExtension {
+
+  TextMarkerExpression createBooleanFunction(Token type, List<Expression> args)
+          throws RecognitionException;
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEBooleanFunctionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEBooleanFunctionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEConditionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEConditionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEConditionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEConditionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,16 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.List;
+
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.parser.ast.conditions.TextMarkerCondition;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public interface IIDEConditionExtension extends ITextMarkerExtension {
+
+  TextMarkerCondition createCondition(Token type, List<Expression> args)
+          throws RecognitionException;
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEConditionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEConditionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDENumberFunctionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDENumberFunctionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDENumberFunctionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDENumberFunctionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,15 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.List;
+
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.parser.ast.TextMarkerExpression;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public interface IIDENumberFunctionExtension extends ITextMarkerExtension {
+
+  TextMarkerExpression createNumberFunction(Token type, List<Expression> args)
+          throws RecognitionException;
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDENumberFunctionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDENumberFunctionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEStringFunctionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEStringFunctionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEStringFunctionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEStringFunctionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,15 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.List;
+
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.parser.ast.TextMarkerExpression;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public interface IIDEStringFunctionExtension extends ITextMarkerExtension {
+
+  TextMarkerExpression createStringFunction(Token type, List<Expression> args)
+          throws RecognitionException;
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEStringFunctionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDEStringFunctionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDETypeFunctionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDETypeFunctionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDETypeFunctionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDETypeFunctionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,15 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.List;
+
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.parser.ast.TextMarkerExpression;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public interface IIDETypeFunctionExtension extends ITextMarkerExtension {
+
+  TextMarkerExpression createTypeFunction(Token type, List<Expression> args)
+          throws RecognitionException;
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDETypeFunctionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IIDETypeFunctionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IMatchLocatorExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IMatchLocatorExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IMatchLocatorExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IMatchLocatorExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,11 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import org.eclipse.dltk.ast.ASTNode;
+import org.eclipse.dltk.core.search.matching.PatternLocator;
+import org.eclipse.dltk.internal.core.search.matching.MatchingNodeSet;
+
+public interface IMatchLocatorExtension {
+  // This is match locator feature extension
+  public void visitGeneral(ASTNode node, PatternLocator locator, MatchingNodeSet nodeSet);
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IMatchLocatorExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IMatchLocatorExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IMixinBuildVisitorExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IMixinBuildVisitorExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IMixinBuildVisitorExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IMixinBuildVisitorExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,25 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+public interface IMixinBuildVisitorExtension {
+  //
+  // /**
+  // * If method return true, then other checks will not be provided and
+  // * original visit will return true
+  // */
+  // boolean visit(MethodDeclaration s, TextMarkerMixinBuildVisitor original);
+  //
+  // /**
+  // * If method return true, then other checks will not be provided and
+  // * original visit will return true
+  // */
+  // boolean visit(TypeDeclaration s, TextMarkerMixinBuildVisitor
+  // tmMixinBuildVisitor);
+  //
+  // /**
+  // * If method return true, then other checks will not be provided and
+  // * original visit will return <b>false</b>
+  // */
+  // boolean visit(Statement s, TextMarkerMixinBuildVisitor
+  // tmMixinBuildVisitor);
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IMixinBuildVisitorExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/IMixinBuildVisitorExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ISelectionExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ISelectionExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ISelectionExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ISelectionExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,17 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import org.apache.uima.tm.dltk.internal.core.codeassist.TextMarkerSelectionEngine;
+import org.apache.uima.tm.dltk.internal.core.codeassist.selection.SelectionOnKeywordOrFunction;
+import org.eclipse.dltk.ast.ASTNode;
+
+
+public interface ISelectionExtension {
+
+  void selectionOnKeywordOrFunction(SelectionOnKeywordOrFunction key,
+          TextMarkerSelectionEngine tmSelectionEngine);
+
+  void selectionOnAST(ASTNode node, TextMarkerSelectionEngine tmSelectionEngine);
+
+  void selectionOnNode(ASTNode node, int position, TextMarkerSelectionEngine tmSelectionEngine);
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ISelectionExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ISelectionExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ISourceElementRequestVisitorExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ISourceElementRequestVisitorExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ISourceElementRequestVisitorExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ISourceElementRequestVisitorExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,21 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import org.eclipse.dltk.ast.declarations.Declaration;
+
+public interface ISourceElementRequestVisitorExtension {
+
+  int getModifiers(Declaration s);
+
+  // boolean visit(Statement statement, TextMarkerSourceElementRequestVisitor
+  // original);
+  //
+  // boolean extendedExitRequired(MethodDeclaration method,
+  // TextMarkerSourceElementRequestVisitor tmSourceElementRequestVisitor);
+  //
+  // ExitFromType getExitExtended(MethodDeclaration method,
+  // TextMarkerSourceElementRequestVisitor tmSourceElementRequestVisitor);
+  //
+  // ExitFromType processField(FieldDeclaration decl,
+  // TextMarkerSourceElementRequestVisitor tmSourceElementRequestVisitor);
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ISourceElementRequestVisitorExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ISourceElementRequestVisitorExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ITextMarkerExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ITextMarkerExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ITextMarkerExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ITextMarkerExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,7 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+public interface ITextMarkerExtension {
+
+  String[] getKnownExtensions();
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ITextMarkerExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ITextMarkerExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ITextMarkerLanguageExtension.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ITextMarkerLanguageExtension.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ITextMarkerLanguageExtension.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ITextMarkerLanguageExtension.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,15 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+public interface ITextMarkerLanguageExtension {
+  String getName();
+
+  ISourceElementRequestVisitorExtension createSourceElementRequestVisitorExtension();
+
+  IMixinBuildVisitorExtension createMixinBuildVisitorExtension();
+
+  IMatchLocatorExtension createMatchLocatorExtension();
+
+  ICompletionExtension createCompletionExtension();
+
+  ISelectionExtension createSelectionExtension();
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ITextMarkerLanguageExtension.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/ITextMarkerLanguageExtension.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/TextMarkerExternalFactory.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/TextMarkerExternalFactory.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/TextMarkerExternalFactory.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/TextMarkerExternalFactory.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,171 @@
+package org.apache.uima.tm.dltk.core.extensions;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.antlr.runtime.NoViableAltException;
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.apache.uima.tm.dltk.internal.core.TextMarkerExtensionManager;
+import org.apache.uima.tm.dltk.parser.ast.TextMarkerExpression;
+import org.apache.uima.tm.dltk.parser.ast.actions.TextMarkerAction;
+import org.apache.uima.tm.dltk.parser.ast.conditions.TextMarkerCondition;
+import org.eclipse.dltk.ast.expressions.Expression;
+
+
+public class TextMarkerExternalFactory {
+
+  private Map<String, IIDEConditionExtension> conditionExtensions;
+
+  private Map<String, IIDEActionExtension> actionExtensions;
+
+  private Map<String, IIDENumberFunctionExtension> numberFunctionExtensions;
+
+  private Map<String, IIDEBooleanFunctionExtension> booleanFunctionExtensions;
+
+  private Map<String, IIDEStringFunctionExtension> stringFunctionExtensions;
+
+  private Map<String, IIDETypeFunctionExtension> typeFunctionExtensions;
+
+  public TextMarkerExternalFactory() {
+    super();
+    conditionExtensions = new HashMap<String, IIDEConditionExtension>();
+    actionExtensions = new HashMap<String, IIDEActionExtension>();
+    numberFunctionExtensions = new HashMap<String, IIDENumberFunctionExtension>();
+    booleanFunctionExtensions = new HashMap<String, IIDEBooleanFunctionExtension>();
+    stringFunctionExtensions = new HashMap<String, IIDEStringFunctionExtension>();
+    typeFunctionExtensions = new HashMap<String, IIDETypeFunctionExtension>();
+    IIDEConditionExtension[] cextensions = TextMarkerExtensionManager.getDefault()
+            .getIDEConditionExtensions();
+    for (IIDEConditionExtension each : cextensions) {
+      String[] knownExtensions = each.getKnownExtensions();
+      for (String string : knownExtensions) {
+        conditionExtensions.put(string, each);
+      }
+    }
+    IIDEActionExtension[] aextensions = TextMarkerExtensionManager.getDefault()
+            .getIDEActionExtensions();
+    for (IIDEActionExtension each : aextensions) {
+      String[] knownExtensions = each.getKnownExtensions();
+      for (String string : knownExtensions) {
+        actionExtensions.put(string, each);
+      }
+    }
+    IIDENumberFunctionExtension[] nfextensions = TextMarkerExtensionManager.getDefault()
+            .getIDENumberFunctionExtensions();
+    for (IIDENumberFunctionExtension each : nfextensions) {
+      String[] knownExtensions = each.getKnownExtensions();
+      for (String string : knownExtensions) {
+        numberFunctionExtensions.put(string, each);
+      }
+    }
+    IIDEBooleanFunctionExtension[] bfextensions = TextMarkerExtensionManager.getDefault()
+            .getIDEBooleanFunctionExtensions();
+    for (IIDEBooleanFunctionExtension each : bfextensions) {
+      String[] knownExtensions = each.getKnownExtensions();
+      for (String string : knownExtensions) {
+        booleanFunctionExtensions.put(string, each);
+      }
+    }
+    IIDEStringFunctionExtension[] sfextensions = TextMarkerExtensionManager.getDefault()
+            .getIDEStringFunctionExtensions();
+    for (IIDEStringFunctionExtension each : sfextensions) {
+      String[] knownExtensions = each.getKnownExtensions();
+      for (String string : knownExtensions) {
+        stringFunctionExtensions.put(string, each);
+      }
+    }
+    IIDETypeFunctionExtension[] tfextensions = TextMarkerExtensionManager.getDefault()
+            .getIDETypeFunctionExtensions();
+    for (IIDETypeFunctionExtension each : tfextensions) {
+      String[] knownExtensions = each.getKnownExtensions();
+      for (String string : knownExtensions) {
+        typeFunctionExtensions.put(string, each);
+      }
+    }
+
+  }
+
+  public TextMarkerCondition createExternalCondition(Token id, List<Expression> args)
+          throws RecognitionException {
+    String name = id.getText();
+    IIDEConditionExtension extension = conditionExtensions.get(name);
+    if (extension != null) {
+      return extension.createCondition(id, args);
+    }
+    throw new NoViableAltException();
+  }
+
+  public TextMarkerAction createExternalAction(Token id, List<Expression> args)
+          throws RecognitionException {
+    String name = id.getText();
+    IIDEActionExtension extension = actionExtensions.get(name);
+    if (extension != null) {
+      return extension.createAction(id, args);
+    }
+    throw new NoViableAltException("Unknown action : " + name, id.getType(), id.getType(), id
+            .getInputStream());
+  }
+
+  public TextMarkerExpression createExternalNumberFunction(Token id, List<Expression> args)
+          throws RecognitionException {
+    String name = id.getText();
+    IIDENumberFunctionExtension extension = numberFunctionExtensions.get(name);
+    if (extension != null) {
+      return extension.createNumberFunction(id, args);
+    }
+    throw new NoViableAltException("Unknown number function : " + name, id.getType(), id.getType(),
+            id.getInputStream());
+  }
+
+  public TextMarkerExpression createExternalBooleanFunction(Token id, List<Expression> args)
+          throws RecognitionException {
+    String name = id.getText();
+    IIDEBooleanFunctionExtension extension = booleanFunctionExtensions.get(name);
+    if (extension != null) {
+      return extension.createBooleanFunction(id, args);
+    }
+    throw new NoViableAltException("Unknown number function : " + name, id.getType(), id.getType(),
+            id.getInputStream());
+  }
+
+  public TextMarkerExpression createExternalStringFunction(Token id, List<Expression> args)
+          throws RecognitionException {
+    String name = id.getText();
+    IIDEStringFunctionExtension extension = stringFunctionExtensions.get(name);
+    if (extension != null) {
+      return extension.createStringFunction(id, args);
+    }
+    throw new NoViableAltException("Unknown number function : " + name, id.getType(), id.getType(),
+            id.getInputStream());
+  }
+
+  public TextMarkerExpression createExternalTypeFunction(Token id, List<Expression> args)
+          throws RecognitionException {
+    String name = id.getText();
+    IIDETypeFunctionExtension extension = typeFunctionExtensions.get(name);
+    if (extension != null) {
+      return extension.createTypeFunction(id, args);
+    }
+    throw new NoViableAltException("Unknown number function : " + name, id.getType(), id.getType(),
+            id.getInputStream());
+  }
+
+  public void addExtension(String id, ITextMarkerExtension extension) {
+    if (extension instanceof IIDEActionExtension) {
+      addActionExtension(id, (IIDEActionExtension) extension);
+    } else if (extension instanceof IIDEConditionExtension) {
+      addConditionExtension(id, (IIDEConditionExtension) extension);
+    }
+  }
+
+  public void addConditionExtension(String id, IIDEConditionExtension extension) {
+    conditionExtensions.put(id, extension);
+  }
+
+  public void addActionExtension(String id, IIDEActionExtension extension) {
+    actionExtensions.put(id, extension);
+  }
+
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/TextMarkerExternalFactory.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/core/extensions/TextMarkerExternalFactory.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/internal/core/TextMarkerCallHierarchyFactory.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/internal/core/TextMarkerCallHierarchyFactory.java?rev=1152783&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/internal/core/TextMarkerCallHierarchyFactory.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/internal/core/TextMarkerCallHierarchyFactory.java Mon Aug  1 14:06:27 2011
@@ -0,0 +1,22 @@
+package org.apache.uima.tm.dltk.internal.core;
+
+import org.apache.uima.tm.dltk.internal.core.search.TextMarkerCallProcessor;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.dltk.core.ICallHierarchyFactory;
+import org.eclipse.dltk.core.ICallProcessor;
+import org.eclipse.dltk.core.ICalleeProcessor;
+import org.eclipse.dltk.core.IMethod;
+import org.eclipse.dltk.core.search.IDLTKSearchScope;
+
+
+public class TextMarkerCallHierarchyFactory implements ICallHierarchyFactory {
+
+  public ICalleeProcessor createCalleeProcessor(IMethod method, IProgressMonitor monitor,
+          IDLTKSearchScope scope) {
+    return new TextMarkerCalleeProcessor(method, monitor, scope);
+  }
+
+  public ICallProcessor createCallProcessor() {
+    return new TextMarkerCallProcessor();
+  }
+}

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/internal/core/TextMarkerCallHierarchyFactory.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.core/src/main/java/org/apache/uima/tm/dltk/internal/core/TextMarkerCallHierarchyFactory.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain