SmalltalkParser recovery improved...
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 16 Sep 2013 23:20:08 +0100
changeset 85 d6a3fdbd87db
parent 84 1d05306a49f8
child 86 3b615594edf6
SmalltalkParser recovery improved... ...to handle following cases x := 3 y := 4 x := 3 between: 10 and: 30 y := 4 x := 3 between: 10 and: self limit y := 4
SmallSense__ParserTests.st
SmallSense__SmalltalkParser.st
SmallSense__SmalltalkParserTests.st
SmallSense__TestCase.st
jv_smallsense.st
smallsense.rc
--- a/SmallSense__ParserTests.st	Mon Sep 16 18:13:00 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,878 +0,0 @@
-"{ Package: 'jv:smallsense' }"
-
-"{ NameSpace: SmallSense }"
-
-TestCase subclass:#ParserTests
-	instanceVariableNames:''
-	classVariableNames:''
-	poolDictionaries:''
-	category:'SmallSense-Tests'
-!
-
-
-!ParserTests methodsFor:'parseTests'!
-
-test1
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |u w b c d tokenValue val uu bb cc dd |
-                   u := 3.
-                    b:=u.
-                    c:=u floor.
-                    d floor:u.
-                    d floor:3 b:u.
-                    self rememberSymbolUsed:tokenValue.
-                    array:=#( 3 4 5 6 ).
-                    val := ConstantNode type:tokenType value:tokenValue.
-                    [u== #Symbol or:[u=3]]ifTrue:[
-                    uu := 4.
-                    bb:=uu.
-                    cc:=uu floor.
-                    dd floor:uu.
-                    dd floor:3 b:uu.
-                    ].
-                    dd do:[:w|w seduce.
-                    ].
-                    ^self.
-                    '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-
-    "Created: / 21-12-2010 / 23:07:13 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 22-02-2011 / 12:35:19 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test10
-    |collector|
-
-    collector := self 
-                doForSource:'  
-                    | b|
-                    u := 3.
-                    b:=u.
-                    '.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:(collector tree nextStatement nextStatement) isNil.
-    self assert:(collector tree expression) isAssignment.
-    self assert:(collector tree expression variable) isVariable.
-    self assert:(collector tree expression expression) isConstant.
-    self assert:(collector tree nextStatement expression) isAssignment.
-    self assert:(collector tree nextStatement expression variable) isVariable.
-    self 
-        assert:(collector tree nextStatement expression expression) isVariable.
-
-    "Created: / 15-02-2011 / 15:23:50 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 16:49:19 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test11
-    |collector|
-    collector := self 
-                doForSource:'  
-                    | b|
-                    u := 3
-                    b:=u.
-                    '.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:(collector tree nextStatement nextStatement nextStatement) isNil.
-    self assert:(collector tree expression) isAssignment.
-    self assert:(collector tree expression variable) isVariable.
-    self assert:(collector tree expression variable name= 'u').
-    self assert:(collector tree expression expression) isUnaryMessage.
-    self assert:(collector tree expression expression receiver) isConstant.
-    self assert:(collector tree expression expression receiver value=3) .
-    self assert:(collector tree expression expression selector asString)='b'.
-    self assert:(collector tree expression expression args isNil ).
-    self assert:(collector tree nextStatement expression) isErrorNode.
-    self assert:(collector tree nextStatement expression errorToken)= ':='.
-    self assert:(collector tree nextStatement nextStatement expression) isVariable.
-    self assert:(collector tree nextStatement nextStatement expression name)='u'.
-
-    "Created: / 15-02-2011 / 15:24:01 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 16:58:56 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test12
-    |collector|
-    collector := self 
-                doForSource:'  
-                    | b|
-                     : 3
-                    '.
-self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:(collector tree nextStatement  nextStatement) isNil.
-    self assert:(collector tree expression) isErrorNode.
-    self assert:(collector tree expression errorToken =':').
-    self assert:(collector tree nextStatement expression) isConstant.
-    self assert:(collector tree nextStatement expression value=3).
-
-    "Created: / 15-02-2011 / 15:25:36 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 17:08:54 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test13
-    |collector|
-
-    collector := self 
-                doForSource:'  
-                    | b|
-                    u := 3
-                    :=u.
-                    '.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self 
-        assert:(collector tree nextStatement nextStatement nextStatement) isNil.
-    self assert:(collector tree expression) isAssignment.
-    self assert:(collector tree expression variable) isVariable.
-    self assert:(collector tree expression variable name = 'u').
-    self assert:(collector tree expression expression) isConstant.
-    self assert:(collector tree expression expression value =3).
-    self assert:(collector tree nextStatement expression) isErrorNode.
-    self assert:(collector tree nextStatement expression errorToken) = ':='.
-    self 
-        assert:(collector tree nextStatement nextStatement expression) isVariable.
-    self 
-        assert:(collector tree nextStatement nextStatement expression name) = 'u'.
-
-    "Created: / 15-02-2011 / 16:48:11 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 17-03-2011 / 17:21:48 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test14
-    |collector|
-    collector := self 
-                doForSource:'  
-                    | b|
-                    u := 3
-                    :u.
-                    '.
- self assert:collector notNil.
-    self assert:collector tree notNil.
-    self 
-        assert:(collector tree nextStatement nextStatement nextStatement) isNil.
-    self assert:(collector tree expression) isAssignment.
-    self assert:(collector tree expression variable) isVariable.
-    self assert:(collector tree expression variable name = 'u').
-    self assert:(collector tree expression expression) isConstant.
-    self assert:(collector tree expression expression value =3).
-    self assert:(collector tree nextStatement expression) isErrorNode.
-    self assert:(collector tree nextStatement expression errorToken) = ':'.
-    self 
-        assert:(collector tree nextStatement nextStatement expression) isVariable.
-    self 
-        assert:(collector tree nextStatement nextStatement expression name) = 'u'.
-
-    "Created: / 15-02-2011 / 17:03:42 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 19:52:39 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test15
-    |collector|
-    collector := self 
-                doForSource:'  
-                    | b|
-                    u := 3
-                    =u.
-                    '.
- self assert:collector notNil.
-    self assert:collector tree notNil.
-    self 
-        assert:(collector tree nextStatement ) isNil.
-    self assert:(collector tree expression) isAssignment.
-    self assert:(collector tree expression variable) isVariable.
-    self assert:(collector tree expression variable name = 'u').
-    self assert:(collector tree expression expression) isBinaryMessage.
-    self assert:(collector tree expression expression receiver value =3).
-    self assert:(collector tree expression expression receiver ) isConstant.
-    self assert:(collector tree expression expression selector )= #=.
-    self assert:(collector tree expression expression args size=1 ).
-    self assert:(collector tree expression expression arg ) isVariable.    
-    self assert:(collector tree expression expression arg name='u' ).
-
-    "Created: / 15-02-2011 / 17:04:33 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 19:56:28 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test19
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |b c|
-                   u := 3 u:=
-                    c u floor.
-                    '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isAssignment.
-self assert:collector tree nextStatement expression isErrorNode.
-self assert:collector tree nextStatement expression errorToken=':='.
-self assert:collector tree nextStatement nextStatement expression isUnaryMessage.
-
-    "Created: / 15-02-2011 / 18:15:51 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 20:00:13 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test2
-
-    |collector|
-    collector := self 
-                doForSource:'
-                    u :'.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:(collector tree expression name ='u').
-self assert:(collector tree expression) isVariable.
-self assert:(collector tree nextStatement expression isErrorNode).
-self assert: collector tree nextStatement expression errorToken=':'.
-
-    "Created: / 09-02-2011 / 20:54:42 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 15:04:33 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test24
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |u w|
-                   self :                  '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isSelf.
-self assert:collector tree nextStatement expression isErrorNode.
-self assert:collector tree nextStatement expression errorToken=':'.
-
-    "Created: / 15-02-2011 / 18:37:23 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 20:02:46 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test25
-    |collector|
-"    collector := self 
-                doForSource:'  
-                    |u w|
-                   self :=5                  '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isSelf.
-self assert:collector tree nextStatement expression isErrorNode.
-self assert:collector tree nextStatement expression errorToken=':='.
-self assert:collector tree nextStatement nextStatement expression isConstant."
-
-    "Created: / 15-02-2011 / 18:37:56 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 28-02-2011 / 17:28:20 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test26
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |u w|
-                   false :=5                  '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isConstant.
-self assert:collector tree nextStatement expression isErrorNode.
-self assert:collector tree nextStatement expression errorToken=':='.
-self assert:collector tree nextStatement nextStatement expression isConstant.
-
-    "Created: / 15-02-2011 / 19:50:17 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 20:05:19 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test27
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |u w|
-                   nil :=5                  '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isConstant.
-self assert:collector tree nextStatement expression isErrorNode.
-self assert:collector tree nextStatement expression errorToken=':='.
-self assert:collector tree nextStatement nextStatement expression isConstant.
-
-    "Created: / 15-02-2011 / 19:51:02 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 20:05:32 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test28
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |d w tokenValue|
-                   d floor:3 b:u
-                    self rememberSymbolUsed:tokenValue.                '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-
-    "Created: / 15-02-2011 / 19:52:23 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 20:06:33 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test29
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |d u w|
-                   d floor:3 b:u
-                    self                 '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-
-    "Created: / 15-02-2011 / 19:53:15 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 20:06:46 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test3
-    |collector|
-
-    collector := self doForSource:'
-                    u ='.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:(collector tree expression) isBinaryMessage.
-    self assert:(collector tree expression receiver name = 'u').
-    self assert:(collector tree expression receiver) isVariable.
-    self assert:(collector tree expression selector) == #=.
-    self assert:(collector tree expression args size) = 1.
-    self assert:(collector tree expression arg) isErrorNode.
-    self assert:(collector tree expression arg errorToken = 'EOF').
-
-    "Created: / 11-02-2011 / 15:32:58 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 15:20:22 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test30
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |array |
-                  self rememberSymbolUsed:tokenValue
-                    array:=#( 3 4 5 6 ).           '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-
-    "Created: / 15-02-2011 / 19:54:10 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test31
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |array tokenValue|
-                  self rememberSymbolUsed:tokenValue
-                    array:=( 3 4 5 6 ).           '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isMessage.
-self assert:collector tree nextStatement expression isErrorNode.
-self assert:collector tree nextStatement expression errorToken=':='.
-self assert:collector tree nextStatement nextStatement  expression isUnaryMessage.
-
-    "Created: / 16-02-2011 / 15:51:47 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 20:15:19 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test32
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |uu w|
-                    [u== #Symbol or:[u=3]]ifTrue:[
-                    uu := 4.
-
-                    ].
-
-                    '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-
-    "Created: / 16-02-2011 / 15:54:07 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test33
-    |collector|
-
-    collector := self 
-                doForSource:'  
-                    |uu w|
-                    u== #Symbol or:[u=3]]ifTrue:[
-                    uu := 4.
-
-                    ].
-
-                    '.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:collector tree expression isMessage.
-    self assert:collector tree expression receiver isBinaryMessage.
-    self assert:collector tree expression receiver receiver isVariable.
-    self assert:collector tree expression receiver receiver name = 'u'.
-    self assert:collector tree expression receiver selector = #'=='.
-    self assert:collector tree expression receiver args size = 1.
-    self assert:collector tree expression receiver arg isConstant.
-    self assert:collector tree expression receiver arg value = #Symbol.
-    self assert:collector tree expression selector = #or:.
-    self assert:collector tree expression args size = 1.
-    self assert:collector tree expression arg1 isBlock.
-    self assert:collector tree expression arg1 statements expression 
-                isBinaryMessage.
-    self assert:collector tree nextStatement expression isErrorNode.
-    self assert:collector tree nextStatement expression errorToken = ']'.
-    self 
-        assert:collector tree nextStatement nextStatement expression isMessage.
-    self 
-        assert:collector tree nextStatement nextStatement expression receiver 
-                isErrorNode.
-    self 
-        assert:collector tree nextStatement nextStatement expression receiver 
-                errorToken = 'Keyword'.
-    self 
-        assert:collector tree nextStatement nextStatement expression selector 
-                = #ifTrue:.
-    self 
-        assert:collector tree nextStatement nextStatement expression args size = 1.
-    self 
-        assert:collector tree nextStatement nextStatement expression arg1 
-                statements expression 
-                isAssignment.
-
-    "Created: / 16-02-2011 / 15:55:49 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 20:52:03 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test34
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |array |
-                  self rememberSymbolUsed:tokenValue
-                    array:=#( 3 4 5 6 .           '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isMessage.
-self assert:collector tree nextStatement expression isErrorNode.
-self assert:collector tree nextStatement expression errorToken=':='.
-self assert:collector tree nextStatement nextStatement  expression isConstant.
-
-    "Created: / 16-02-2011 / 16:09:35 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 20:16:54 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test35
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |uu w|
-                    [u== #Symbol or:u=3]]ifTrue:[
-                    uu := 4.
-
-                    ].
-
-                    '.
- self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:collector tree expression isBlock.
-    self assert:collector tree expression statements expression isMessage.
-    self assert:collector tree expression statements expression receiver isBinaryMessage.
-    self assert:collector tree expression statements expression receiver receiver isVariable.
-    self assert:collector tree expression statements expression receiver receiver name = 'u'.
-    self assert:collector tree expression statements expression receiver selector = #'=='.
-    self assert:collector tree expression statements expression receiver args size = 1.
-    self assert:collector tree expression statements expression receiver arg isConstant.
-    self assert:collector tree expression statements expression receiver arg value = #Symbol.
-    self assert:collector tree expression statements expression selector = #or:.
-    self assert:collector tree expression statements expression args size = 1.
-    self assert:collector tree expression statements expression arg1 isBinaryMessage.
-    self assert:collector tree nextStatement expression isErrorNode.
-    self assert:collector tree nextStatement expression errorToken = ']'.
-    self 
-        assert:collector tree nextStatement nextStatement expression isMessage.
-    self 
-        assert:collector tree nextStatement nextStatement expression receiver 
-                isErrorNode.
-    self 
-        assert:collector tree nextStatement nextStatement expression receiver 
-                errorToken = 'Keyword'.
-    self 
-        assert:collector tree nextStatement nextStatement expression selector 
-                = #ifTrue:.
-    self 
-        assert:collector tree nextStatement nextStatement expression args size = 1.
-    self 
-        assert:collector tree nextStatement nextStatement expression arg1 
-                statements expression 
-                isAssignment.
-
-    "Created: / 16-02-2011 / 16:47:18 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 20:56:11 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test36
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |uu w|
-                    [u== #Symbol ifTrue:[
-                    uu := 4.
-
-                    ].
-
-                    '.
-   self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:collector tree expression isBlock.
-    self assert:collector tree expression statements expression isMessage.
-    self assert:collector tree expression statements expression receiver isBinaryMessage.
-    self assert:collector tree expression statements expression receiver receiver isVariable.
-    self assert:collector tree expression statements expression receiver receiver name = 'u'.
-    self assert:collector tree expression statements expression receiver selector = #'=='.
-    self assert:collector tree expression statements expression receiver args size = 1.
-    self assert:collector tree expression statements expression receiver arg isConstant.
-    self assert:collector tree expression statements expression receiver arg value = #Symbol.
-    self assert:collector tree expression statements expression selector = #ifTrue: .
-    self assert:collector tree expression statements expression args size = 1.
-    self assert:collector tree expression statements expression arg1 isBlock.
-    self assert:collector tree expression statements expression arg1 statements expression 
-                isAssignment.
-
-    "Created: / 16-02-2011 / 16:48:07 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 21:13:22 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test37
-    |collector|
-
-    collector := self 
-                doForSource:'  
-                    |uu w|
-                    [u== #Symbol) ifTrue:[
-                    uu := 4.
-
-                    ].
-
-                    '.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:collector tree expression isBlock.
-    self 
-        assert:collector tree expression statements expression isBinaryMessage.
-    self 
-        assert:collector tree expression statements expression receiver name = 'u'.
-    self 
-        assert:collector tree expression statements expression selector = #'=='.
-    self assert:collector tree expression statements expression args size = 1.
-    self 
-        assert:collector tree expression statements expression arg1 value = #Symbol.
-    self 
-        assert:collector tree expression statements nextStatement expression 
-                isErrorNode.
-    self 
-        assert:collector tree expression statements nextStatement expression 
-                errorToken = ')'.
-    self 
-        assert:collector tree expression statements nextStatement nextStatement 
-                expression isMessage.
-    self 
-        assert:collector tree expression statements nextStatement nextStatement expression 
-                receiver isErrorNode.
-    self 
-        assert:collector tree expression statements nextStatement nextStatement expression 
-                receiver errorToken 
-                = 'Keyword'.
-    self 
-        assert:collector tree expression statements nextStatement nextStatement expression 
-                selector = #ifTrue:.
-    self 
-        assert:collector tree expression statements nextStatement nextStatement expression args 
-                size = 1.
-    self 
-        assert:collector tree expression statements nextStatement nextStatement expression arg1 
-                isBlock.
-    self 
-        assert:collector tree expression statements nextStatement nextStatement expression arg1 
-                statements expression 
-                isAssignment.
-
-    "Created: / 16-02-2011 / 17:21:06 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 21:25:27 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test38
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |uu w|
-                    [:=
-
-                    ].
-
-                    '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isBlock.
-self assert:collector tree expression statements expression  isErrorNode.
-self assert:collector tree expression statements expression errorToken=':='.
-
-    "Created: / 18-02-2011 / 11:55:35 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 21:40:40 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test39
-    |collector|                
-    collector := self 
-                doForSource:'  
-                    |uu w|
-                    :=3
-
-                    '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isErrorNode.
-self assert:collector tree expression errorToken=':='.
-self assert:collector tree  nextStatement expression isConstant.
-self assert:collector tree  nextStatement expression value=3.
-
-    "Created: / 18-02-2011 / 17:11:24 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test4
-    |collector|
-
-    collector := self doForSource:'
-                    u 3'.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:(collector tree expression) isUnaryMessage.
-    self assert:(collector tree expression receiver name = 'u').
-    self assert:(collector tree expression receiver) isVariable.
-    self assert:(collector tree expression selector asString) = '3'.
-
-    "Created: / 15-02-2011 / 14:13:48 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-03-2011 / 22:10:14 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test40
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |array tokenValue|
-                  self rememberSymbolUsed:tokenValue
-                    array:=( 3 4 5 6.           '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isMessage.
-self assert:collector tree nextStatement expression isErrorNode.
-self assert:collector tree nextStatement expression errorToken=':='.
-self assert:collector tree nextStatement nextStatement  expression isUnaryMessage.
-
-    "Created: / 18-02-2011 / 20:17:31 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test41
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |array tokenValue|
-                  self rememberSymbolUsed:tokenValue
-                    array:=( 3 4 5 6 :=u           '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isMessage.
-self assert:collector tree nextStatement expression isErrorNode.
-self assert:collector tree nextStatement expression errorToken=':='.
-self assert:collector tree nextStatement nextStatement  expression isUnaryMessage.
-self assert:collector tree nextStatement nextStatement nextStatement  expression isErrorNode.
-self assert:collector tree nextStatement nextStatement nextStatement  expression errorToken=':='.
-self assert:collector tree nextStatement nextStatement nextStatement nextStatement  expression isVariable.
-
-    "Created: / 18-02-2011 / 20:35:35 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test42
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |array tokenValue|
-                  self rememberSymbolUsed:tokenValue
-                    array:= 3 4 5 6 :=u)           '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isMessage.
-self assert:collector tree nextStatement expression isErrorNode.
-self assert:collector tree nextStatement expression errorToken=':='.
-self assert:collector tree nextStatement nextStatement  expression isUnaryMessage.
-self assert:collector tree nextStatement nextStatement nextStatement  expression isErrorNode.
-self assert:collector tree nextStatement nextStatement nextStatement  expression errorToken=':='.
-self assert:collector tree nextStatement nextStatement nextStatement nextStatement  expression isVariable.
-self assert:collector tree nextStatement nextStatement nextStatement nextStatement nextStatement expression isErrorNode.
-self assert:collector tree nextStatement nextStatement nextStatement nextStatement nextStatement expression errorToken=')'.
-
-    "Created: / 18-02-2011 / 20:37:17 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test43
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |uu w b|
-                    [u== #Symbol ifTrue:[
-                    uu := 4.
-
-                    ].
-                      b:=3
-                    '.
-   self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:collector tree expression isBlock.
-    self assert:collector tree expression statements expression isMessage.
-    self assert:collector tree expression statements expression receiver isBinaryMessage.
-    self assert:collector tree expression statements expression receiver receiver isVariable.
-    self assert:collector tree expression statements expression receiver receiver name = 'u'.
-    self assert:collector tree expression statements expression receiver selector = #'=='.
-    self assert:collector tree expression statements expression receiver args size = 1.
-    self assert:collector tree expression statements expression receiver arg isConstant.
-    self assert:collector tree expression statements expression receiver arg value = #Symbol.
-    self assert:collector tree expression statements expression selector = #ifTrue: .
-    self assert:collector tree expression statements expression args size = 1.
-    self assert:collector tree expression statements expression arg1 isBlock.
-    self assert:collector tree expression statements expression arg1 statements expression 
-                isAssignment.
-
-    "Created: / 18-02-2011 / 21:16:10 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test44
-    |collector|
-    collector := self 
-                doForSource:'  
-                    |b c|
-                   u :=b b: u:c
-                    '.
-self assert:collector notNil.
-self assert:collector tree notNil.
-self assert:collector tree expression isAssignment.
-
-    "Created: / 20-02-2011 / 18:54:11 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test5
-    |collector|
-
-    collector := self doForSource:'
-                    u +'.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:(collector tree expression) isBinaryMessage.
-    self assert:(collector tree expression receiver name = 'u').
-    self assert:(collector tree expression receiver) isVariable.
-    self assert:(collector tree expression selector) isSymbol.
-    self assert:(collector tree expression selector asString) = '+'.
-    self assert:(collector tree expression args size) = 1.
-    self assert:(collector tree expression arg) isErrorNode.
-    self assert:(collector tree expression arg errorToken = 'EOF').
-
-    "Created: / 15-02-2011 / 15:18:25 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 15:31:37 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test6
-    |collector|
-
-    collector := self doForSource:'
-                    u +.'.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:(collector tree expression) isBinaryMessage.
-    self assert:(collector tree expression receiver name = 'u').
-    self assert:(collector tree expression receiver) isVariable.
-    self assert:(collector tree expression selector) isSymbol.
-    self assert:(collector tree expression selector asString) = '+'.
-    self assert:(collector tree expression args size) = 1.
-    self assert:(collector tree expression arg) isErrorNode.
-    self assert:(collector tree expression arg errorToken = '.').
-
-    "Created: / 15-02-2011 / 15:19:08 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 15:32:56 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test7
-    |collector|
-
-    collector := self doForSource:'
-                    u 3.'.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:(collector tree expression) isUnaryMessage.
-    self assert:(collector tree expression receiver name = 'u').
-    self assert:(collector tree expression receiver) isVariable.
-    self assert:(collector tree expression selector asString) = '3'.
-
-    "Created: / 15-02-2011 / 15:19:22 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-03-2011 / 22:10:21 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test8
-    |collector|
-
-    collector := self doForSource:'
-                    u =.'.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:(collector tree expression) isBinaryMessage.
-    self assert:(collector tree expression receiver name = 'u').
-    self assert:(collector tree expression receiver) isVariable.
-    self assert:(collector tree expression selector) == #'='.
-    self assert:(collector tree expression args size) = 1.
-    self assert:(collector tree expression arg) isErrorNode.
-    self assert:(collector tree expression arg errorToken = '.').
-
-    "Created: / 15-02-2011 / 15:19:38 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 15:34:13 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-test9
-    |collector|
-
-    collector := self doForSource:'
-                    u :.'.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:(collector tree expression name = 'u').
-    self assert:(collector tree expression) isVariable.
-    self assert:(collector tree nextStatement expression isErrorNode).
-    self assert:collector tree nextStatement expression errorToken = ':'.
-    self assert:collector tree nextStatement nextStatement isNil.
-
-    "Created: / 15-02-2011 / 15:19:52 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 18-02-2011 / 15:35:42 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-testBadAssignment
-    |collector|
-
-    collector := self doForSource:'
-                    u := '.
-    self assert:collector notNil.
-    self assert:collector tree notNil.
-    self assert:(collector tree expression) isAssignment.
-    self assert:(collector tree expression variable name = 'u').
-    self assert:(collector tree expression variable) isVariable.
-    self assert:(collector tree expression expression) isErrorNode.
-    self assert:(collector tree expression expression errorToken = 'EOF').
-
-    "Modified: / 18-02-2011 / 15:39:33 / Jakub <zelenja7@fel.cvut.cz>"
-! !
-
-!ParserTests class methodsFor:'documentation'!
-
-version_SVN
-    ^ '$Id: SmallSenseParserTests.st 7694 2011-04-04 19:53:25Z vranyj1 $'
-! !
-
--- a/SmallSense__SmalltalkParser.st	Mon Sep 16 18:13:00 2013 +0100
+++ b/SmallSense__SmalltalkParser.st	Mon Sep 16 23:20:08 2013 +0100
@@ -145,6 +145,67 @@
 
 !SmalltalkParser methodsFor:'parsing-expressions'!
 
+keywordExpression
+    "parse a keyword-expression; return a node-tree, nil or #Error.
+
+     keywordExpression ::= binaryexpression
+                           | { KEYWORD-PART binaryExpression }
+    "
+
+    |receiver expr|
+
+    receiver := self binaryExpression.
+    (receiver == #Error) ifTrue:[^ #Error].
+    (tokenType == #EOF) ifTrue:[^ receiver].
+    tokenType == $] ifTrue:[^ receiver].
+    tokenType == $) ifTrue:[^ receiver].
+    expr := self keywordExpressionFor:receiver.
+
+    "/ expr could be an assignment as well, here
+    (ignoreWarnings or:[ignoreErrors]) ifFalse:[
+        "/ for a better error message, in case of a missing period in the previous message,
+        "/    <expr> <missing period> foo := ...
+        "/ would be parsed as unary message foo; detect this here, instead of high up in the calling hierarchy,
+        "/ where it is difficult to provide a reasonable error message
+        tokenType == #':=' ifTrue:[
+            | positionOfPeriod exprLast |
+
+            "/ Find the very last unary send node, Consider:
+            "/    x := 2
+            "/    y := false
+            "/ 
+            "/    x := 2 between: 0 and: 10
+            "/    y := false  
+            "/ 
+            "/    x := 2 between: 0 and: self max
+            "/    y := false  
+
+            exprLast := expr.
+            [ exprLast isMessage and: [ exprLast isUnaryMessage not ] ] whileTrue:[
+                exprLast := exprLast args last.
+            ].
+            (exprLast isMessage and: [ exprLast isUnaryMessage ] ) ifTrue:[
+                positionOfPeriod := exprLast receiver positionToInsertPeriodForStatementSeparation
+            ].
+            positionOfPeriod notNil ifTrue:[
+                "/Try to recover
+                expr := ParseErrorNode new
+                        startPosition:expr startPosition endPosition: positionOfPeriod - 1;
+                        errorString: ('":=" unexpected. Probably missing "." in previous expression.');
+                        children: (Array with: expr);
+                        yourself.        
+                source position: positionOfPeriod.
+                tokenType := $.
+            ]
+        ].
+    ].
+
+    ^ expr
+
+    "Created: / 16-09-2013 / 17:23:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-09-2013 / 23:18:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 primary
     | nodeOrError |
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SmallSense__SmalltalkParserTests.st	Mon Sep 16 23:20:08 2013 +0100
@@ -0,0 +1,959 @@
+"{ Package: 'jv:smallsense' }"
+
+"{ NameSpace: SmallSense }"
+
+TestCase subclass:#SmalltalkParserTests
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'SmallSense-Tests'
+!
+
+
+!SmalltalkParserTests methodsFor:'parseTests'!
+
+test1
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |u w b c d tokenValue val uu bb cc dd |
+                   u := 3.
+                    b:=u.
+                    c:=u floor.
+                    d floor:u.
+                    d floor:3 b:u.
+                    self rememberSymbolUsed:tokenValue.
+                    array:=#( 3 4 5 6 ).
+                    val := ConstantNode type:tokenType value:tokenValue.
+                    [u== #Symbol or:[u=3]]ifTrue:[
+                    uu := 4.
+                    bb:=uu.
+                    cc:=uu floor.
+                    dd floor:uu.
+                    dd floor:3 b:uu.
+                    ].
+                    dd do:[:w|w seduce.
+                    ].
+                    ^self.
+                    '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+
+    "Created: / 21-12-2010 / 23:07:13 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 22-02-2011 / 12:35:19 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test10
+    |collector|
+
+    collector := self 
+                doForSource:'  
+                    | b|
+                    u := 3.
+                    b:=u.
+                    '.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree nextStatement nextStatement) isNil.
+    self assert:(collector tree expression) isAssignment.
+    self assert:(collector tree expression variable) isVariable.
+    self assert:(collector tree expression expression) isConstant.
+    self assert:(collector tree nextStatement expression) isAssignment.
+    self assert:(collector tree nextStatement expression variable) isVariable.
+    self 
+        assert:(collector tree nextStatement expression expression) isVariable.
+
+    "Created: / 15-02-2011 / 15:23:50 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 16:49:19 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test11
+    |collector|
+    collector := self 
+                doForSource:'  
+                    | b|
+                    u := 3
+                    b:=u.
+                    '.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree nextStatement nextStatement nextStatement) isNil.
+    self assert:(collector tree expression) isAssignment.
+    self assert:(collector tree expression variable) isVariable.
+    self assert:(collector tree expression variable name= 'u').
+    self assert:(collector tree expression expression) isUnaryMessage.
+    self assert:(collector tree expression expression receiver) isConstant.
+    self assert:(collector tree expression expression receiver value=3) .
+    self assert:(collector tree expression expression selector asString)='b'.
+    self assert:(collector tree expression expression args isNil ).
+    self assert:(collector tree nextStatement expression) isErrorNode.
+    self assert:(collector tree nextStatement expression errorToken)= ':='.
+    self assert:(collector tree nextStatement nextStatement expression) isVariable.
+    self assert:(collector tree nextStatement nextStatement expression name)='u'.
+
+    "Created: / 15-02-2011 / 15:24:01 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 16:58:56 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test11a
+    |collector|
+    collector := self 
+                doForSource:'  
+                    | b|
+                    u := 3
+                    b:=u.
+                    '.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree nextStatement nextStatement) isNil.
+    self assert:(collector tree expression) isAssignment.
+    self assert:(collector tree expression variable) isVariable.
+    self assert:(collector tree expression variable name= 'u').
+
+    self assert:(collector tree expression expression) isErrorNode.
+    self assert:(collector tree expression expression children first receiver) isConstant.
+    self assert:(collector tree expression expression children first receiver) value =3 .
+
+    self assert:(collector tree nextStatement expression) isAssignment.
+    self assert:(collector tree nextStatement expression) variable name = 'b'.
+    self assert:(collector tree nextStatement expression) expression isVariable.
+    self assert:(collector tree nextStatement expression) expression name = 'u'.
+
+    "Created: / 16-09-2013 / 23:16:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test11b
+    |collector|
+    collector := self 
+                doForSource:'  
+                    | b|
+                    u := 3 between: 1 and: 10
+                    b:=u.
+                    '.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree nextStatement nextStatement) isNil.
+    self assert:(collector tree expression) isAssignment.
+    self assert:(collector tree expression variable) isVariable.
+    self assert:(collector tree expression variable name= 'u').
+
+    self assert:(collector tree expression expression) isErrorNode.
+    self assert:(collector tree expression expression children first receiver) isConstant.
+    self assert:(collector tree expression expression children first receiver) value =3 .
+
+    self assert:(collector tree nextStatement expression) isAssignment.
+    self assert:(collector tree nextStatement expression) variable name = 'b'.
+    self assert:(collector tree nextStatement expression) expression isVariable.
+    self assert:(collector tree nextStatement expression) expression name = 'u'.
+
+    "Created: / 16-09-2013 / 23:16:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test11c
+    |collector|
+    collector := self 
+                doForSource:'  
+                    | b|
+                    u := 3 between: 1 and: 10 + 10
+                    b:=u.
+                    '.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree nextStatement nextStatement) isNil.
+    self assert:(collector tree expression) isAssignment.
+    self assert:(collector tree expression variable) isVariable.
+    self assert:(collector tree expression variable name= 'u').
+
+    self assert:(collector tree expression expression) isErrorNode.
+    self assert:(collector tree expression expression children first receiver) isConstant.
+    self assert:(collector tree expression expression children first receiver) value =3 .
+
+    self assert:(collector tree nextStatement expression) isAssignment.
+    self assert:(collector tree nextStatement expression) variable name = 'b'.
+    self assert:(collector tree nextStatement expression) expression isVariable.
+    self assert:(collector tree nextStatement expression) expression name = 'u'.
+
+    "Created: / 16-09-2013 / 23:16:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test12
+    |collector|
+    collector := self 
+                doForSource:'  
+                    | b|
+                     : 3
+                    '.
+self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree nextStatement  nextStatement) isNil.
+    self assert:(collector tree expression) isErrorNode.
+    self assert:(collector tree expression errorToken =':').
+    self assert:(collector tree nextStatement expression) isConstant.
+    self assert:(collector tree nextStatement expression value=3).
+
+    "Created: / 15-02-2011 / 15:25:36 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 17:08:54 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test13
+    |collector|
+
+    collector := self 
+                doForSource:'  
+                    | b|
+                    u := 3
+                    :=u.
+                    '.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self 
+        assert:(collector tree nextStatement nextStatement nextStatement) isNil.
+    self assert:(collector tree expression) isAssignment.
+    self assert:(collector tree expression variable) isVariable.
+    self assert:(collector tree expression variable name = 'u').
+    self assert:(collector tree expression expression) isConstant.
+    self assert:(collector tree expression expression value =3).
+    self assert:(collector tree nextStatement expression) isErrorNode.
+    self assert:(collector tree nextStatement expression errorToken) = ':='.
+    self 
+        assert:(collector tree nextStatement nextStatement expression) isVariable.
+    self 
+        assert:(collector tree nextStatement nextStatement expression name) = 'u'.
+
+    "Created: / 15-02-2011 / 16:48:11 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 17-03-2011 / 17:21:48 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test14
+    |collector|
+    collector := self 
+                doForSource:'  
+                    | b|
+                    u := 3
+                    :u.
+                    '.
+ self assert:collector notNil.
+    self assert:collector tree notNil.
+    self 
+        assert:(collector tree nextStatement nextStatement nextStatement) isNil.
+    self assert:(collector tree expression) isAssignment.
+    self assert:(collector tree expression variable) isVariable.
+    self assert:(collector tree expression variable name = 'u').
+    self assert:(collector tree expression expression) isConstant.
+    self assert:(collector tree expression expression value =3).
+    self assert:(collector tree nextStatement expression) isErrorNode.
+    self assert:(collector tree nextStatement expression errorToken) = ':'.
+    self 
+        assert:(collector tree nextStatement nextStatement expression) isVariable.
+    self 
+        assert:(collector tree nextStatement nextStatement expression name) = 'u'.
+
+    "Created: / 15-02-2011 / 17:03:42 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 19:52:39 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test15
+    |collector|
+    collector := self 
+                doForSource:'  
+                    | b|
+                    u := 3
+                    =u.
+                    '.
+ self assert:collector notNil.
+    self assert:collector tree notNil.
+    self 
+        assert:(collector tree nextStatement ) isNil.
+    self assert:(collector tree expression) isAssignment.
+    self assert:(collector tree expression variable) isVariable.
+    self assert:(collector tree expression variable name = 'u').
+    self assert:(collector tree expression expression) isBinaryMessage.
+    self assert:(collector tree expression expression receiver value =3).
+    self assert:(collector tree expression expression receiver ) isConstant.
+    self assert:(collector tree expression expression selector )= #=.
+    self assert:(collector tree expression expression args size=1 ).
+    self assert:(collector tree expression expression arg ) isVariable.    
+    self assert:(collector tree expression expression arg name='u' ).
+
+    "Created: / 15-02-2011 / 17:04:33 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 19:56:28 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test19
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |b c|
+                   u := 3 u:=
+                    c u floor.
+                    '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isAssignment.
+self assert:collector tree nextStatement expression isErrorNode.
+self assert:collector tree nextStatement expression errorToken=':='.
+self assert:collector tree nextStatement nextStatement expression isUnaryMessage.
+
+    "Created: / 15-02-2011 / 18:15:51 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 20:00:13 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test2
+
+    |collector|
+    collector := self 
+                doForSource:'
+                    u :'.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:(collector tree expression name ='u').
+self assert:(collector tree expression) isVariable.
+self assert:(collector tree nextStatement expression isErrorNode).
+self assert: collector tree nextStatement expression errorToken=':'.
+
+    "Created: / 09-02-2011 / 20:54:42 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 15:04:33 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test24
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |u w|
+                   self :                  '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isSelf.
+self assert:collector tree nextStatement expression isErrorNode.
+self assert:collector tree nextStatement expression errorToken=':'.
+
+    "Created: / 15-02-2011 / 18:37:23 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 20:02:46 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test25
+    |collector|
+"    collector := self 
+                doForSource:'  
+                    |u w|
+                   self :=5                  '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isSelf.
+self assert:collector tree nextStatement expression isErrorNode.
+self assert:collector tree nextStatement expression errorToken=':='.
+self assert:collector tree nextStatement nextStatement expression isConstant."
+
+    "Created: / 15-02-2011 / 18:37:56 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 28-02-2011 / 17:28:20 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test26
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |u w|
+                   false :=5                  '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isConstant.
+self assert:collector tree nextStatement expression isErrorNode.
+self assert:collector tree nextStatement expression errorToken=':='.
+self assert:collector tree nextStatement nextStatement expression isConstant.
+
+    "Created: / 15-02-2011 / 19:50:17 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 20:05:19 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test27
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |u w|
+                   nil :=5                  '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isConstant.
+self assert:collector tree nextStatement expression isErrorNode.
+self assert:collector tree nextStatement expression errorToken=':='.
+self assert:collector tree nextStatement nextStatement expression isConstant.
+
+    "Created: / 15-02-2011 / 19:51:02 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 20:05:32 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test28
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |d w tokenValue|
+                   d floor:3 b:u
+                    self rememberSymbolUsed:tokenValue.                '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+
+    "Created: / 15-02-2011 / 19:52:23 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 20:06:33 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test29
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |d u w|
+                   d floor:3 b:u
+                    self                 '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+
+    "Created: / 15-02-2011 / 19:53:15 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 20:06:46 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test3
+    |collector|
+
+    collector := self doForSource:'
+                    u ='.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree expression) isBinaryMessage.
+    self assert:(collector tree expression receiver name = 'u').
+    self assert:(collector tree expression receiver) isVariable.
+    self assert:(collector tree expression selector) == #=.
+    self assert:(collector tree expression args size) = 1.
+    self assert:(collector tree expression arg) isErrorNode.
+    self assert:(collector tree expression arg errorToken = 'EOF').
+
+    "Created: / 11-02-2011 / 15:32:58 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 15:20:22 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test30
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |array |
+                  self rememberSymbolUsed:tokenValue
+                    array:=#( 3 4 5 6 ).           '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+
+    "Created: / 15-02-2011 / 19:54:10 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test31
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |array tokenValue|
+                  self rememberSymbolUsed:tokenValue
+                    array:=( 3 4 5 6 ).           '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isMessage.
+self assert:collector tree nextStatement expression isErrorNode.
+self assert:collector tree nextStatement expression errorToken=':='.
+self assert:collector tree nextStatement nextStatement  expression isUnaryMessage.
+
+    "Created: / 16-02-2011 / 15:51:47 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 20:15:19 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test32
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |uu w|
+                    [u== #Symbol or:[u=3]]ifTrue:[
+                    uu := 4.
+
+                    ].
+
+                    '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+
+    "Created: / 16-02-2011 / 15:54:07 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test33
+    |collector|
+
+    collector := self 
+                doForSource:'  
+                    |uu w|
+                    u== #Symbol or:[u=3]]ifTrue:[
+                    uu := 4.
+
+                    ].
+
+                    '.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:collector tree expression isMessage.
+    self assert:collector tree expression receiver isBinaryMessage.
+    self assert:collector tree expression receiver receiver isVariable.
+    self assert:collector tree expression receiver receiver name = 'u'.
+    self assert:collector tree expression receiver selector = #'=='.
+    self assert:collector tree expression receiver args size = 1.
+    self assert:collector tree expression receiver arg isConstant.
+    self assert:collector tree expression receiver arg value = #Symbol.
+    self assert:collector tree expression selector = #or:.
+    self assert:collector tree expression args size = 1.
+    self assert:collector tree expression arg1 isBlock.
+    self assert:collector tree expression arg1 statements expression 
+                isBinaryMessage.
+    self assert:collector tree nextStatement expression isErrorNode.
+    self assert:collector tree nextStatement expression errorToken = ']'.
+    self 
+        assert:collector tree nextStatement nextStatement expression isMessage.
+    self 
+        assert:collector tree nextStatement nextStatement expression receiver 
+                isErrorNode.
+    self 
+        assert:collector tree nextStatement nextStatement expression receiver 
+                errorToken = 'Keyword'.
+    self 
+        assert:collector tree nextStatement nextStatement expression selector 
+                = #ifTrue:.
+    self 
+        assert:collector tree nextStatement nextStatement expression args size = 1.
+    self 
+        assert:collector tree nextStatement nextStatement expression arg1 
+                statements expression 
+                isAssignment.
+
+    "Created: / 16-02-2011 / 15:55:49 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 20:52:03 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test34
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |array |
+                  self rememberSymbolUsed:tokenValue
+                    array:=#( 3 4 5 6 .           '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isMessage.
+self assert:collector tree nextStatement expression isErrorNode.
+self assert:collector tree nextStatement expression errorToken=':='.
+self assert:collector tree nextStatement nextStatement  expression isConstant.
+
+    "Created: / 16-02-2011 / 16:09:35 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 20:16:54 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test35
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |uu w|
+                    [u== #Symbol or:u=3]]ifTrue:[
+                    uu := 4.
+
+                    ].
+
+                    '.
+ self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:collector tree expression isBlock.
+    self assert:collector tree expression statements expression isMessage.
+    self assert:collector tree expression statements expression receiver isBinaryMessage.
+    self assert:collector tree expression statements expression receiver receiver isVariable.
+    self assert:collector tree expression statements expression receiver receiver name = 'u'.
+    self assert:collector tree expression statements expression receiver selector = #'=='.
+    self assert:collector tree expression statements expression receiver args size = 1.
+    self assert:collector tree expression statements expression receiver arg isConstant.
+    self assert:collector tree expression statements expression receiver arg value = #Symbol.
+    self assert:collector tree expression statements expression selector = #or:.
+    self assert:collector tree expression statements expression args size = 1.
+    self assert:collector tree expression statements expression arg1 isBinaryMessage.
+    self assert:collector tree nextStatement expression isErrorNode.
+    self assert:collector tree nextStatement expression errorToken = ']'.
+    self 
+        assert:collector tree nextStatement nextStatement expression isMessage.
+    self 
+        assert:collector tree nextStatement nextStatement expression receiver 
+                isErrorNode.
+    self 
+        assert:collector tree nextStatement nextStatement expression receiver 
+                errorToken = 'Keyword'.
+    self 
+        assert:collector tree nextStatement nextStatement expression selector 
+                = #ifTrue:.
+    self 
+        assert:collector tree nextStatement nextStatement expression args size = 1.
+    self 
+        assert:collector tree nextStatement nextStatement expression arg1 
+                statements expression 
+                isAssignment.
+
+    "Created: / 16-02-2011 / 16:47:18 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 20:56:11 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test36
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |uu w|
+                    [u== #Symbol ifTrue:[
+                    uu := 4.
+
+                    ].
+
+                    '.
+   self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:collector tree expression isBlock.
+    self assert:collector tree expression statements expression isMessage.
+    self assert:collector tree expression statements expression receiver isBinaryMessage.
+    self assert:collector tree expression statements expression receiver receiver isVariable.
+    self assert:collector tree expression statements expression receiver receiver name = 'u'.
+    self assert:collector tree expression statements expression receiver selector = #'=='.
+    self assert:collector tree expression statements expression receiver args size = 1.
+    self assert:collector tree expression statements expression receiver arg isConstant.
+    self assert:collector tree expression statements expression receiver arg value = #Symbol.
+    self assert:collector tree expression statements expression selector = #ifTrue: .
+    self assert:collector tree expression statements expression args size = 1.
+    self assert:collector tree expression statements expression arg1 isBlock.
+    self assert:collector tree expression statements expression arg1 statements expression 
+                isAssignment.
+
+    "Created: / 16-02-2011 / 16:48:07 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 21:13:22 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test37
+    |collector|
+
+    collector := self 
+                doForSource:'  
+                    |uu w|
+                    [u== #Symbol) ifTrue:[
+                    uu := 4.
+
+                    ].
+
+                    '.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:collector tree expression isBlock.
+    self 
+        assert:collector tree expression statements expression isBinaryMessage.
+    self 
+        assert:collector tree expression statements expression receiver name = 'u'.
+    self 
+        assert:collector tree expression statements expression selector = #'=='.
+    self assert:collector tree expression statements expression args size = 1.
+    self 
+        assert:collector tree expression statements expression arg1 value = #Symbol.
+    self 
+        assert:collector tree expression statements nextStatement expression 
+                isErrorNode.
+    self 
+        assert:collector tree expression statements nextStatement expression 
+                errorToken = ')'.
+    self 
+        assert:collector tree expression statements nextStatement nextStatement 
+                expression isMessage.
+    self 
+        assert:collector tree expression statements nextStatement nextStatement expression 
+                receiver isErrorNode.
+    self 
+        assert:collector tree expression statements nextStatement nextStatement expression 
+                receiver errorToken 
+                = 'Keyword'.
+    self 
+        assert:collector tree expression statements nextStatement nextStatement expression 
+                selector = #ifTrue:.
+    self 
+        assert:collector tree expression statements nextStatement nextStatement expression args 
+                size = 1.
+    self 
+        assert:collector tree expression statements nextStatement nextStatement expression arg1 
+                isBlock.
+    self 
+        assert:collector tree expression statements nextStatement nextStatement expression arg1 
+                statements expression 
+                isAssignment.
+
+    "Created: / 16-02-2011 / 17:21:06 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 21:25:27 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test38
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |uu w|
+                    [:=
+
+                    ].
+
+                    '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isBlock.
+self assert:collector tree expression statements expression  isErrorNode.
+self assert:collector tree expression statements expression errorToken=':='.
+
+    "Created: / 18-02-2011 / 11:55:35 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 21:40:40 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test39
+    |collector|                
+    collector := self 
+                doForSource:'  
+                    |uu w|
+                    :=3
+
+                    '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isErrorNode.
+self assert:collector tree expression errorToken=':='.
+self assert:collector tree  nextStatement expression isConstant.
+self assert:collector tree  nextStatement expression value=3.
+
+    "Created: / 18-02-2011 / 17:11:24 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test4
+    |collector|
+
+    collector := self doForSource:'
+                    u 3'.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree expression) isUnaryMessage.
+    self assert:(collector tree expression receiver name = 'u').
+    self assert:(collector tree expression receiver) isVariable.
+    self assert:(collector tree expression selector asString) = '3'.
+
+    "Created: / 15-02-2011 / 14:13:48 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-03-2011 / 22:10:14 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test40
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |array tokenValue|
+                  self rememberSymbolUsed:tokenValue
+                    array:=( 3 4 5 6.           '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isMessage.
+self assert:collector tree nextStatement expression isErrorNode.
+self assert:collector tree nextStatement expression errorToken=':='.
+self assert:collector tree nextStatement nextStatement  expression isUnaryMessage.
+
+    "Created: / 18-02-2011 / 20:17:31 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test41
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |array tokenValue|
+                  self rememberSymbolUsed:tokenValue
+                    array:=( 3 4 5 6 :=u           '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isMessage.
+self assert:collector tree nextStatement expression isErrorNode.
+self assert:collector tree nextStatement expression errorToken=':='.
+self assert:collector tree nextStatement nextStatement  expression isUnaryMessage.
+self assert:collector tree nextStatement nextStatement nextStatement  expression isErrorNode.
+self assert:collector tree nextStatement nextStatement nextStatement  expression errorToken=':='.
+self assert:collector tree nextStatement nextStatement nextStatement nextStatement  expression isVariable.
+
+    "Created: / 18-02-2011 / 20:35:35 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test42
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |array tokenValue|
+                  self rememberSymbolUsed:tokenValue
+                    array:= 3 4 5 6 :=u)           '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isMessage.
+self assert:collector tree nextStatement expression isErrorNode.
+self assert:collector tree nextStatement expression errorToken=':='.
+self assert:collector tree nextStatement nextStatement  expression isUnaryMessage.
+self assert:collector tree nextStatement nextStatement nextStatement  expression isErrorNode.
+self assert:collector tree nextStatement nextStatement nextStatement  expression errorToken=':='.
+self assert:collector tree nextStatement nextStatement nextStatement nextStatement  expression isVariable.
+self assert:collector tree nextStatement nextStatement nextStatement nextStatement nextStatement expression isErrorNode.
+self assert:collector tree nextStatement nextStatement nextStatement nextStatement nextStatement expression errorToken=')'.
+
+    "Created: / 18-02-2011 / 20:37:17 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test43
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |uu w b|
+                    [u== #Symbol ifTrue:[
+                    uu := 4.
+
+                    ].
+                      b:=3
+                    '.
+   self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:collector tree expression isBlock.
+    self assert:collector tree expression statements expression isMessage.
+    self assert:collector tree expression statements expression receiver isBinaryMessage.
+    self assert:collector tree expression statements expression receiver receiver isVariable.
+    self assert:collector tree expression statements expression receiver receiver name = 'u'.
+    self assert:collector tree expression statements expression receiver selector = #'=='.
+    self assert:collector tree expression statements expression receiver args size = 1.
+    self assert:collector tree expression statements expression receiver arg isConstant.
+    self assert:collector tree expression statements expression receiver arg value = #Symbol.
+    self assert:collector tree expression statements expression selector = #ifTrue: .
+    self assert:collector tree expression statements expression args size = 1.
+    self assert:collector tree expression statements expression arg1 isBlock.
+    self assert:collector tree expression statements expression arg1 statements expression 
+                isAssignment.
+
+    "Created: / 18-02-2011 / 21:16:10 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test44
+    |collector|
+    collector := self 
+                doForSource:'  
+                    |b c|
+                   u :=b b: u:c
+                    '.
+self assert:collector notNil.
+self assert:collector tree notNil.
+self assert:collector tree expression isAssignment.
+
+    "Created: / 20-02-2011 / 18:54:11 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test5
+    |collector|
+
+    collector := self doForSource:'
+                    u +'.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree expression) isBinaryMessage.
+    self assert:(collector tree expression receiver name = 'u').
+    self assert:(collector tree expression receiver) isVariable.
+    self assert:(collector tree expression selector) isSymbol.
+    self assert:(collector tree expression selector asString) = '+'.
+    self assert:(collector tree expression args size) = 1.
+    self assert:(collector tree expression arg) isErrorNode.
+    self assert:(collector tree expression arg errorToken = 'EOF').
+
+    "Created: / 15-02-2011 / 15:18:25 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 15:31:37 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test6
+    |collector|
+
+    collector := self doForSource:'
+                    u +.'.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree expression) isBinaryMessage.
+    self assert:(collector tree expression receiver name = 'u').
+    self assert:(collector tree expression receiver) isVariable.
+    self assert:(collector tree expression selector) isSymbol.
+    self assert:(collector tree expression selector asString) = '+'.
+    self assert:(collector tree expression args size) = 1.
+    self assert:(collector tree expression arg) isErrorNode.
+    self assert:(collector tree expression arg errorToken = '.').
+
+    "Created: / 15-02-2011 / 15:19:08 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 15:32:56 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test7
+    |collector|
+
+    collector := self doForSource:'
+                    u 3.'.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree expression) isUnaryMessage.
+    self assert:(collector tree expression receiver name = 'u').
+    self assert:(collector tree expression receiver) isVariable.
+    self assert:(collector tree expression selector asString) = '3'.
+
+    "Created: / 15-02-2011 / 15:19:22 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-03-2011 / 22:10:21 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test8
+    |collector|
+
+    collector := self doForSource:'
+                    u =.'.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree expression) isBinaryMessage.
+    self assert:(collector tree expression receiver name = 'u').
+    self assert:(collector tree expression receiver) isVariable.
+    self assert:(collector tree expression selector) == #'='.
+    self assert:(collector tree expression args size) = 1.
+    self assert:(collector tree expression arg) isErrorNode.
+    self assert:(collector tree expression arg errorToken = '.').
+
+    "Created: / 15-02-2011 / 15:19:38 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 15:34:13 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+test9
+    |collector|
+
+    collector := self doForSource:'
+                    u :.'.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree expression name = 'u').
+    self assert:(collector tree expression) isVariable.
+    self assert:(collector tree nextStatement expression isErrorNode).
+    self assert:collector tree nextStatement expression errorToken = ':'.
+    self assert:collector tree nextStatement nextStatement isNil.
+
+    "Created: / 15-02-2011 / 15:19:52 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 18-02-2011 / 15:35:42 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+testBadAssignment
+    |collector|
+
+    collector := self doForSource:'
+                    u := '.
+    self assert:collector notNil.
+    self assert:collector tree notNil.
+    self assert:(collector tree expression) isAssignment.
+    self assert:(collector tree expression variable name = 'u').
+    self assert:(collector tree expression variable) isVariable.
+    self assert:(collector tree expression expression) isErrorNode.
+    self assert:(collector tree expression expression errorToken = 'EOF').
+
+    "Modified: / 18-02-2011 / 15:39:33 / Jakub <zelenja7@fel.cvut.cz>"
+! !
+
+!SmalltalkParserTests class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id: SmallSenseParserTests.st 7694 2011-04-04 19:53:25Z vranyj1 $'
+! !
+
--- a/SmallSense__TestCase.st	Mon Sep 16 18:13:00 2013 +0100
+++ b/SmallSense__TestCase.st	Mon Sep 16 23:20:08 2013 +0100
@@ -25,7 +25,7 @@
 doForSource:src 
     |parser|
 
-    parser := SmallSenseParser new.
+    parser := SmalltalkParser new.
     parser sourceText:('gen',src) asText.
     parser 
         parseMethod:'gen' , src
@@ -36,6 +36,7 @@
 
     "Created: / 16-03-2011 / 12:27:38 / Jakub <zelenja7@fel.cvut.cz>"
     "Modified: / 18-03-2011 / 21:57:21 / Jakub <zelenja7@fel.cvut.cz>"
+    "Modified: / 16-09-2013 / 23:16:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 processMethod: aCompiledMethod
--- a/jv_smallsense.st	Mon Sep 16 18:13:00 2013 +0100
+++ b/jv_smallsense.st	Mon Sep 16 23:20:08 2013 +0100
@@ -46,7 +46,7 @@
     ^ #(
         #'stx:goodies/refactoryBrowser/helpers'    "BrowserEnvironment - superclass of SmallSense::SmalltalkUnacceptedMethodEnvironment "
         #'stx:goodies/refactoryBrowser/lint'    "RBLintRule - extended "
-        #'stx:goodies/sunit'    "TestAsserter - superclass of SmallSense::TestCase "
+        #'stx:goodies/sunit'    "TestAsserter - superclass of SmallSense::SmalltalkParserTests "
         #'stx:libbasic'    "Autoload - superclass of SmallSense::BaseTestClass "
         #'stx:libcomp'    "AbstractSyntaxHighlighter - superclass of SmallSense::SmalltalkParser "
         #'stx:libhtml'    "HTMLDocumentFrame - extended "
@@ -168,7 +168,6 @@
         #'SmallSense::ParseNodeVisitor'
         #'SmallSense::ParseTreeIndex'
         #'SmallSense::ParseTreeIndexEntry'
-        (#'SmallSense::ParserTests' autoload)
         #'SmallSense::Position'
         #'SmallSense::Recognizer'
         (#'SmallSense::RecognizerTests' autoload)
@@ -197,6 +196,7 @@
         #'SmallSense::MethodPO'
         #'SmallSense::SmalltalkEditSupport'
         #'SmallSense::SmalltalkInferencer'
+        (#'SmallSense::SmalltalkParserTests' autoload)
         #'SmallSense::SnippetPO'
         #'SmallSense::UnionType'
         #'SmallSense::UnknownType'
--- a/smallsense.rc	Mon Sep 16 18:13:00 2013 +0100
+++ b/smallsense.rc	Mon Sep 16 23:20:08 2013 +0100
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Mon, 16 Sep 2013 17:11:06 GMT\0"
+      VALUE "ProductDate", "Mon, 16 Sep 2013 22:19:31 GMT\0"
     END
 
   END