--- a/SmallSense__MethodKeywordRestPO.st Fri May 09 17:29:26 2014 +0100
+++ b/SmallSense__MethodKeywordRestPO.st Wed May 14 16:38:18 2014 +0100
@@ -9,6 +9,7 @@
category:'SmallSense-Core-Interface-PO'
!
+
!MethodKeywordRestPO class methodsFor:'Instance creation'!
name:nm class:class stripOff: prefix
@@ -79,3 +80,10 @@
"Created: / 08-04-2014 / 21:10:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!MethodKeywordRestPO class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/SmallSense__TokenPatternMatcherTests.st Fri May 09 17:29:26 2014 +0100
+++ b/SmallSense__TokenPatternMatcherTests.st Wed May 14 16:38:18 2014 +0100
@@ -40,5 +40,82 @@
"Created: / 06-05-2014 / 17:04:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 09-05-2014 / 17:27:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_03a
+
+ | pattern matcher |
+
+ pattern := SmallSense::TokenPatternParser parse: '[[:import:]] ( [[:Identifier:]](.[[:Identifier:]])*\.?\*? )?'.
+ matcher := SmallSense::TokenPatternMatcher for: pattern.
+
+ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import '))).
+ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import java.util.ArrayList'))).
+ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import java.util.concurent.ArrayList'))).
+ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import java.util.ArrayList.*'))).
+ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import java.util.ArrayList.'))).
+
+ "Created: / 14-05-2014 / 16:13:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_03b
+
+ | pattern stream matcher matches match |
+
+ pattern := SmallSense::TokenPatternParser parse: '[[:import:]] ( [[:Identifier:]](.[[:Identifier:]])*\.?\*? )?'.
+ matcher := SmallSense::TokenPatternMatcher for: pattern.
+
+
+ stream := SmallSense::TokenStream on: (JavaScanner for: 'import ').
+
+ matches := matcher matchesOnStream: stream.
+ self assert: matches size == 1.
+ match := matches first.
+ self assert: match size == 1.
+ self assert: match first type == #import.
+
+ stream reset.
+
+ matches := matcher matchesOnStream: stream.
+ self assert: matches size == 1.
+ match := matches first.
+ self assert: match size == 1.
+ self assert: match first type == #import.
+
+"/ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import java.util.ArrayList'))).
+"/ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import java.util.concurent.ArrayList'))).
+"/ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import java.util.ArrayList.*'))).
+"/ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import java.util.ArrayList.'))).
+
+ "Created: / 14-05-2014 / 16:15:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_03c
+
+ | pattern stream matcher matches match |
+
+ pattern := SmallSense::TokenPatternParser parse: '[[:import:]] ( [[:Identifier:]](.[[:Identifier:]])*\.?\*? )?'.
+ matcher := SmallSense::TokenPatternMatcher for: pattern.
+
+
+ stream := SmallSense::TokenStream on: (JavaScanner for: 'import java.util.ArrayList.*').
+
+ matches := matcher matchesOnStream: stream.
+ self assert: matches size == 1.
+ match := matches first.
+ self assert: match size == 8.
+ self assert: match first type == #import.
+ self assert: match second type == #Identifier.
+ self assert: match third type == $..
+ self assert: match last type == $*.
+
+
+
+"/ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import java.util.ArrayList'))).
+"/ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import java.util.concurent.ArrayList'))).
+"/ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import java.util.ArrayList.*'))).
+"/ self assert: (matcher searchStream: (SmallSense::TokenStream on: (JavaScanner for: 'import java.util.ArrayList.'))).
+
+ "Created: / 14-05-2014 / 16:20:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
--- a/SmallSense__TokenStream.st Fri May 09 17:29:26 2014 +0100
+++ b/SmallSense__TokenStream.st Wed May 14 16:38:18 2014 +0100
@@ -139,6 +139,12 @@
"Modified: / 07-08-2013 / 01:34:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+reset
+ self position: 0.
+
+ "Created: / 14-05-2014 / 16:19:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
skipSeparators
self halt.