author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Thu, 06 Sep 2012 17:38:47 +0100 | |
changeset 28 | f516772ba2b8 |
parent 19 | 3b7fd62bf51c |
child 29 | fe650a6e5704 |
permissions | -rw-r--r-- |
0
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'stx:libtool/smallsense' }" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
SyntaxHighlighter subclass:#SmallSenseParser |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
instanceVariableNames:'error' |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
classVariableNames:'' |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
poolDictionaries:'' |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
category:'SmallSense-Core' |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
!SmallSenseParser methodsFor:'error handling'! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
parseError:message position:startPos to:endPos |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
error := ParseErrorNode new |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
errorString: message; |
19 | 17 |
errorToken: token asString; |
0
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
startPosition: startPos endPosition: endPos. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
^error |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
"Created: / 27-11-2011 / 09:35:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
syntaxError:message position:startPos to:endPos |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
^self parseError:message position:startPos to:endPos |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
"Created: / 27-11-2011 / 09:45:03 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
! ! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
!SmallSenseParser methodsFor:'parsing'! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
parseExpressionWithSelf:anObject notifying:someOne ignoreErrors:ignoreErrors ignoreWarnings:ignoreWarnings inNameSpace:aNameSpaceOrNil |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
|tree token| |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
aNameSpaceOrNil notNil ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
self currentNameSpace:aNameSpaceOrNil |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
self setSelf:anObject. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
self notifying:someOne. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
self ignoreErrors:ignoreErrors. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
self ignoreWarnings:ignoreWarnings. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
token := self nextToken. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
(token == $^) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
self nextToken. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
(token == #EOF) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
^ nil |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
"/tree := self expression. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
tree := self statementList. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
(self errorFlag or:[tree == #Error]) ifTrue:[^ #Error]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
^ tree |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
"Created: / 14-12-1999 / 15:11:37 / cg" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
"Created: / 09-07-2011 / 22:23:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
! ! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
!SmallSenseParser methodsFor:'parsing-tweaks'! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
blockStatementList |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
"parse a blocks statementlist; return a node-tree, nil or #Error" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
|thisStatement prevStatement firstStatement eMsg blockStart| |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
blockStart := tokenPosition. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
(tokenType == $]) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
^ nil |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
thisStatement := self statement. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
(thisStatement == #Error) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
^ #Error |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
firstStatement := thisStatement. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
tokenType == $] or:[ tokenType == #EOF ] |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
] whileFalse:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
(tokenType == $.) ifFalse:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
(tokenType == #EOF) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
" self syntaxError:'missing '']'' in block' position:blockStart to:(source position1Based). |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
^ #Error." |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
(tokenType == $)) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
eMsg := 'missing '']'' or bad '')'' in block' |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
] ifFalse:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
eMsg := 'missing ''.'' between statements (i.e. ''' |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
, tokenType printString , '''-token unexpected)' |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
"self syntaxError:eMsg position:blockStart to:tokenPosition. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
^ #Error" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
prevStatement := thisStatement. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
(eMsg isNil ) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
self nextToken. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
tokenType == $] ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
*** I had a warning here (since it was not defined |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
*** in the blue-book; but PD-code contains a lot of |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
*** code with periods at the end so that the warnings |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
*** became annoying |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
self warning:'period after last statement in block'." |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
self markBracketAt:tokenPosition. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
^ firstStatement |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
thisStatement := self statement. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
(thisStatement == #Error) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
^ #Error |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
prevStatement nextStatement:thisStatement. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
114 |
(eMsg notNil) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
self nextToken. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
116 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
117 |
eMsg := nil. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
118 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
119 |
self markBracketAt:tokenPosition. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
120 |
^ self statementListRewriteHookFor:firstStatement |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
121 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
122 |
"Modified: / 27-07-2010 / 08:57:02 / cg" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
123 |
"Modified: / 18-02-2011 / 21:40:33 / Jakub <zelenja7@fel.cvut.cz>" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
124 |
! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
125 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
126 |
primary |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
127 |
"parse a primary-expression; return a node-tree, nil or #Error. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
128 |
This also cares for namespace-access-pathes." |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
129 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
130 |
| node | |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
131 |
node := super primary. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
132 |
"/If an error occured, return the error node" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
133 |
node == #Error ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
134 |
self assert: error notNil description: 'Parse error occured but no error node.'. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
135 |
node := error. error := nil. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
136 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
137 |
^node |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
138 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
139 |
"Modified: / 18-10-2006 / 19:37:50 / cg" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
140 |
"Created: / 07-02-2011 / 18:09:31 / Jakub <zelenja7@fel.cvut.cz>" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
141 |
"Modified: / 06-04-2011 / 22:40:05 / Jakub <zelenja7@fel.cvut.cz>" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
142 |
"Modified: / 27-11-2011 / 09:42:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
143 |
! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
144 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
145 |
statementList |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
146 |
"parse a statementlist; return a node-tree, nil or #Error. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
147 |
Statements must be separated by periods. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
148 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
149 |
statementList ::= <statement> |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
150 |
| <statementList> . <statement>" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
151 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
152 |
|thisStatement prevStatement firstStatement periodPos prevExpr| |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
153 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
154 |
thisStatement := self statement. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
(thisStatement == #Error) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
156 |
self breakPoint: #jv. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
157 |
^ #Error |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
158 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
159 |
firstStatement := thisStatement. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
160 |
[ tokenType == #EOF ] whileFalse:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
161 |
prevExpr := thisStatement expression. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
162 |
(prevExpr notNil |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
163 |
and:[ prevExpr isMessage and:[ thisStatement isReturnNode not ] ]) |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
164 |
ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
165 |
(#( #'=' #'==' ) includes:prevExpr selector) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
166 |
self |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
167 |
warning:'useless computation - mistyped assignment (i.e. did you mean '':='') ?' |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
168 |
position:prevExpr selectorPosition |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
169 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
170 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
171 |
periodPos := tokenPosition. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
172 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
173 |
(tokenType == $. or:[ firstStatement = thisStatement and:[firstStatement expression isErrorNode] ]) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
174 |
self nextToken. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
175 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
176 |
tokenType == $. ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
177 |
self emptyStatement. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
178 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
179 |
(tokenType == $]) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
180 |
currentBlock isNil ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
181 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
182 |
] ifFalse:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
183 |
^ self statementListRewriteHookFor:firstStatement |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
184 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
185 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
186 |
(tokenType == #EOF) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
187 |
currentBlock notNil ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
188 |
"self parseError:''']'' expected (block nesting error)'." |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
189 |
] ifFalse:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
190 |
^ self statementListRewriteHookFor:firstStatement |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
191 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
192 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
193 |
prevStatement := thisStatement. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
194 |
prevStatement isReturnNode ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
195 |
self warning:'statements after return' position:tokenPosition |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
196 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
197 |
thisStatement := self statement. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
198 |
(thisStatement == #Error) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
199 |
self breakPoint: #jv. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
200 |
^ #Error |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
201 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
202 |
(thisStatement expression isNil or:[thisStatement expression isErrorNode]) ifTrue:[ |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
203 |
self nextToken. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
204 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
205 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
206 |
prevStatement nextStatement:thisStatement |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
207 |
]. |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
208 |
^ self statementListRewriteHookFor:firstStatement |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
209 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
210 |
"Modified: / 20-11-2006 / 14:05:52 / cg" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
211 |
"Created: / 07-02-2011 / 17:10:44 / Jakub <zelenja7@fel.cvut.cz>" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
212 |
"Modified: / 18-02-2011 / 20:34:56 / Jakub <zelenja7@fel.cvut.cz>" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
213 |
"Modified: / 27-11-2011 / 16:11:09 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
214 |
! ! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
215 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
216 |
!SmallSenseParser methodsFor:'syntax coloring'! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
217 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
218 |
markBracketAt:pos |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
219 |
|
14
130fbc7dce1d
fix for changes in a Parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
220 |
sourceText isNil ifTrue:[^self]. |
0
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
221 |
^super markBracketAt:pos |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
222 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
223 |
"Created: / 03-04-2011 / 22:39:56 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
224 |
! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
225 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
226 |
markFrom:pos1 to:pos2 withEmphasis:fontEmp color:clrIn |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
227 |
|
14
130fbc7dce1d
fix for changes in a Parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
228 |
sourceText isNil ifTrue:[^self]. |
0
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
229 |
super markFrom:pos1 to:pos2 withEmphasis:fontEmp color:clrIn |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
230 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
231 |
"Created: / 03-04-2011 / 22:24:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
14
130fbc7dce1d
fix for changes in a Parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
232 |
! |
130fbc7dce1d
fix for changes in a Parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
233 |
|
130fbc7dce1d
fix for changes in a Parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
234 |
markFrom:pos1 to:pos2 withEmphasis:fontEmp color:fgClr1 ifNil:fgClr2 backgroundColor:bgClr |
130fbc7dce1d
fix for changes in a Parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
235 |
|
130fbc7dce1d
fix for changes in a Parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
236 |
sourceText isNil ifTrue:[^self]. |
130fbc7dce1d
fix for changes in a Parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
237 |
super markFrom:pos1 to:pos2 withEmphasis:fontEmp color:fgClr1 ifNil:fgClr2 backgroundColor:bgClr |
130fbc7dce1d
fix for changes in a Parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
238 |
|
130fbc7dce1d
fix for changes in a Parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
239 |
"Created: / 14-02-2012 / 11:08:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
0
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
240 |
! ! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
241 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
242 |
!SmallSenseParser class methodsFor:'documentation'! |
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
243 |
|
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
244 |
version_SVN |
19 | 245 |
^ '$Id: SmallSenseParser.st 7922 2012-03-09 07:57:34Z vranyj1 $' |
0
893cc7b0ed1d
copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
246 |
! ! |