Fixed: [ Issue 32 ]  Mapping Xtext syntax errors to protoc ones.
https://code.google.com/p/protobuf-dt/issues/detail?id=32

Mapped some error messages related to the "syntax" element.

diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.java
index 52c5409..c82b6eb 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.java
@@ -26,4 +26,6 @@
   public static String Error_expectedFieldNumber;
   public static String Error_missingFieldNumber;
   public static String Error_fieldNumbersMustBePositive;
+  public static String Error_unrecognizedSyntaxIdentifier;
+  public static String Error_expectedSyntaxIdentifier;
 }
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.properties b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.properties
index 6ececf8..dcb7afe 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.properties
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.properties
@@ -2,3 +2,5 @@
 Error_expectedFieldNumber = Expected field number.
 Error_missingFieldNumber = Missing field number.
 Error_fieldNumbersMustBePositive = Field numbers must be positive integers.
+Error_unrecognizedSyntaxIdentifier = Unrecognized syntax identifier \"%s\".  This parser only recognizes \"proto2\".
+Error_expectedSyntaxIdentifier = Expected syntax identifier.
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/ProtobufJavaValidator.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/ProtobufJavaValidator.java
index 94a11a8..84bd3ba 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/ProtobufJavaValidator.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/ProtobufJavaValidator.java
@@ -9,10 +9,11 @@
 package com.google.eclipse.protobuf.validation;
 
 import static com.google.eclipse.protobuf.validation.Messages.*;
+import static java.lang.String.format;
 
 import org.eclipse.xtext.validation.Check;
 
-import com.google.eclipse.protobuf.protobuf.Property;
+import com.google.eclipse.protobuf.protobuf.*;
 
 /**
  * @author alruiz@google.com (Alex Ruiz)
@@ -31,4 +32,10 @@
     error(msg, property.eClass().getEStructuralFeature("index"));
   }
 
+  @Check public void checkSyntaxIsProto2(Syntax syntax) {
+    String name = syntax.getName();
+    if ("proto2".equals(name)) return;
+    String msg = (name == null) ? Error_expectedSyntaxIdentifier : format(Error_unrecognizedSyntaxIdentifier, name);
+    error(msg, syntax.eClass().getEStructuralFeature("name"));
+  }
 }
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/ProtobufSyntaxErrorMessageProvider.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/ProtobufSyntaxErrorMessageProvider.java
index b35c79a..f22837a 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/ProtobufSyntaxErrorMessageProvider.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/ProtobufSyntaxErrorMessageProvider.java
@@ -27,18 +27,17 @@
   @Override public SyntaxErrorMessage getSyntaxErrorMessage(IParserErrorContext context) {
     String message = context.getDefaultMessage();
     EObject currentContext = context.getCurrentContext();
-    if (currentContext instanceof Property) message = mapToProtocMessage((Property) currentContext, message);
+    if (currentContext instanceof Property) message =  mapToProtocMessage(message, (Property) currentContext);
+    if (currentContext == null && message.contains("RULE_STRING")) return null;
     return new SyntaxErrorMessage(message, SYNTAX_DIAGNOSITC);
   }
 
-  private String mapToProtocMessage(Property property, String message) {
-    if (message.contains("RULE_ID") && property.getName() == null) return Error_expectedFieldName;
-    if (message.equals("mismatched input ';' expecting '='") && property.getIndex() == 0) return Error_missingFieldNumber;
+  private String mapToProtocMessage(String message, Property property) {
+    if (message.contains("RULE_ID") && property.getName() == null)
+      return Error_expectedFieldName;
+    if (message.equals("mismatched input ';' expecting '='") && property.getIndex() == 0)
+      return Error_missingFieldNumber;
     return message;
   }
 
-  @Override public SyntaxErrorMessage getSyntaxErrorMessage(IValueConverterErrorContext context) {
-    return new SyntaxErrorMessage(context.getDefaultMessage(), SYNTAX_DIAGNOSITC);
-  }
-
 }