Author: fmeschbe
Date: Wed Nov 19 09:16:44 2014
New Revision: 1640507

URL: http://svn.apache.org/r1640507
Log:
SLING-4167 - The Sightly implementation should provide support for escaped 
expressions

* defined escaped expressions in the lexer
* defined escaped expressions as text fragments in the parser
* updated TCK version from Adobe to use the new escaped expressions tests
* added a resource for the new tests in the testing-content module

This closes #40

(Applying patch provided by Radu Cotescu, Thanks alot)

Modified:
    
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4
    
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4
    sling/trunk/contrib/scripting/sightly/testing-content/pom.xml
    
sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json
    sling/trunk/contrib/scripting/sightly/testing/pom.xml

Modified: 
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4?rev=1640507&r1=1640506&r2=1640507&view=diff
==============================================================================
--- 
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4
 (original)
+++ 
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4
 Wed Nov 19 09:16:44 2014
@@ -18,6 +18,8 @@
  
******************************************************************************/
 lexer grammar SightlyLexer;
 
+ESC_EXPR: '\${'.*? '}';
+
 EXPR_START: '${' -> pushMode(ExpressionMode);
 
 TEXT_PART: .; //$hello ${expr}

Modified: 
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4?rev=1640507&r1=1640506&r2=1640507&view=diff
==============================================================================
--- 
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4
 (original)
+++ 
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4
 Wed Nov 19 09:16:44 2014
@@ -47,6 +47,8 @@ textFrag returns [String str]
 @init { StringBuilder sb = new StringBuilder(); }
     :   (TEXT_PART { sb.append($TEXT_PART.text); })+
         { $str = sb.toString(); }
+    | (ESC_EXPR { sb.append($ESC_EXPR.text); })+
+        { $str = sb.toString().substring(1); }
     ;
 
 expression returns [Expression expr]

Modified: sling/trunk/contrib/scripting/sightly/testing-content/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/testing-content/pom.xml?rev=1640507&r1=1640506&r2=1640507&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/testing-content/pom.xml (original)
+++ sling/trunk/contrib/scripting/sightly/testing-content/pom.xml Wed Nov 19 
09:16:44 2014
@@ -87,7 +87,7 @@
                                 <artifactItem>
                                     <groupId>io.sightly</groupId>
                                     <artifactId>io.sightly.tck</artifactId>
-                                    <version>1.0.1</version>
+                                    <version>1.0.2</version>
                                     <type>jar</type>
                                     
<outputDirectory>${project.build.directory}/sightlytck/</outputDirectory>
                                     
<includes>**/*.html,**/*.js,**/*.java</includes>

Modified: 
sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json?rev=1640507&r1=1640506&r2=1640507&view=diff
==============================================================================
--- 
sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json
 (original)
+++ 
sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json
 Wed Nov 19 09:16:44 2014
@@ -21,6 +21,10 @@
         "xss" : {
             "jcr:primaryType": "nt:unstructured",
             "sling:resourceType": "/sightlytck/scripts/exprlang/xss"
+        },
+        "escapedexpr": {
+            "jcr:primaryType": "nt:unstructured",
+            "sling:resourceType": "/sightlytck/scripts/exprlang/escapedexpr"
         }
     },
     "blockstatements": {

Modified: sling/trunk/contrib/scripting/sightly/testing/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/testing/pom.xml?rev=1640507&r1=1640506&r2=1640507&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/testing/pom.xml (original)
+++ sling/trunk/contrib/scripting/sightly/testing/pom.xml Wed Nov 19 09:16:44 
2014
@@ -278,7 +278,7 @@
         <dependency>
             <groupId>io.sightly</groupId>
             <artifactId>io.sightly.tck</artifactId>
-            <version>1.0.1</version>
+            <version>1.0.2</version>
             <scope>test</scope>
         </dependency>
 


Reply via email to