author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Sun, 16 Dec 2012 21:04:02 +0100 | |
branch | directory_structure_refactoring |
changeset 1899 | 800c0f76adce |
parent 1818 | 2e5ed72e7dfd |
child 1879 | 7d232ff32dde |
permissions | -rw-r--r-- |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
1 |
"{ Package: 'stx:libjava/tools' }" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
2 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
3 |
PPCompositeParser subclass:#JavaParserI |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
4 |
instanceVariableNames:'unicodeEscape rawInputCharacter unicodeMarker hexDigit |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
5 |
lineTerminator unicodeInputCharacter inputElements sub |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
6 |
inputElement whiteSpace comment javaToken keyword literal |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
7 |
separator operator identifier traditionalComment endOfLineComment |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
8 |
commentTail charactersInLine commentTailStar notStar |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
9 |
notStarNotSlash inputCharacter booleanLiteral nullLiteral |
1419 | 10 |
keywords floatingPointLiteral integerLiteral characterLiteral |
11 |
stringLiteral input operators separators block' |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
12 |
classVariableNames:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
13 |
poolDictionaries:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
14 |
category:'Languages-Java-Parser' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
15 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
16 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
17 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
18 |
!JavaParserI class methodsFor:'instance creation'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
19 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
20 |
new |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
21 |
"return an initialized instance" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
22 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
23 |
^ self basicNew initialize. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
24 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
25 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
26 |
!JavaParserI class methodsFor:'accessing'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
27 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
28 |
ignoredNames |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
29 |
"Answer a collection of instance-variables that should not be automatically initialized with productions, but that are used internal to the composite parser." |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
30 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
31 |
| newArray | |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
32 |
newArray := Array new: ((self namesToIgnore size) + (super ignoredNames size)). |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
33 |
newArray |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
34 |
replaceFrom: 1 |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
35 |
to: self namesToIgnore size |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
36 |
with: self namesToIgnore. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
37 |
newArray |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
38 |
replaceFrom: (self namesToIgnore size + 1) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
39 |
to: newArray size |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
40 |
with: super ignoredNames. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
41 |
^newArray |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
42 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
43 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
44 |
namesToIgnore |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
45 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
46 |
^#('keywords' 'operators' 'separators') |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
47 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
48 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
49 |
!JavaParserI methodsFor:'accessing'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
50 |
|
1412 | 51 |
builder |
52 |
||
53 |
^nil |
|
54 |
||
55 |
"Created: / 10-03-2012 / 12:17:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
56 |
! |
|
57 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
58 |
start |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
59 |
"Default start production." |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
60 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
61 |
^ input end |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
62 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
63 |
|
1415 | 64 |
!JavaParserI methodsFor:'grammar-blocks'! |
65 |
||
66 |
block |
|
67 |
"Do no parse content of the block" |
|
1420 | 68 |
|
69 |
^JavaBlockParser new |
|
70 |
||
71 |
"/ ^ (self tokenFor: '{') , (self tokenFor: '}') |
|
1415 | 72 |
|
73 |
"Created: / 11-03-2012 / 13:20:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
74 |
! ! |
|
75 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
76 |
!JavaParserI methodsFor:'grammar-comments'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
77 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
78 |
charactersInLine |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
79 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
80 |
^ inputCharacter plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
81 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
82 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
83 |
comment |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
84 |
"traditional -> /* |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
85 |
endOfLine -> //" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
86 |
^ traditionalComment / endOfLineComment |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
87 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
88 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
89 |
commentTail |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
90 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
91 |
^ ('*' asParser , commentTailStar ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
92 |
(notStar , commentTail) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
93 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
94 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
95 |
commentTailStar |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
96 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
97 |
^ ('/' asParser ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
98 |
('*' asParser , commentTailStar ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
99 |
(notStarNotSlash , commentTail ) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
100 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
101 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
102 |
endOfLineComment |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
103 |
|
1419 | 104 |
^ 'cxcxcx' asParser |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
105 |
|
1419 | 106 |
"Modified: / 14-03-2012 / 23:13:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
107 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
108 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
109 |
notStar |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
110 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
111 |
^ lineTerminator / ('*' asParser not , inputCharacter) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
112 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
113 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
114 |
notStarNotSlash |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
115 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
116 |
^ lineTerminator / ((PPPredicateObjectParser anyOf: '*/') not , inputCharacter ) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
117 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
118 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
119 |
traditionalComment |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
120 |
|
1419 | 121 |
^ 'aaaaa' asParser |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
122 |
|
1419 | 123 |
"Modified: / 14-03-2012 / 23:13:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
124 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
125 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
126 |
!JavaParserI methodsFor:'grammar-identifiers'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
127 |
|
1417 | 128 |
identifier |
129 |
||
1419 | 130 |
^ JavaTokenParser for: #Identifier |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
131 |
|
1417 | 132 |
|
133 |
"/ ^ self asToken: (((keyword not) , (booleanLiteral not) , (nullLiteral not) , identifierChars )) |
|
134 |
||
1419 | 135 |
"Modified: / 14-03-2012 / 23:10:52 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
136 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
137 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
138 |
!JavaParserI methodsFor:'grammar-input'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
139 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
140 |
input |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
141 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
142 |
^ (inputElements optional) , (sub optional) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
143 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
144 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
145 |
inputElement |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
146 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
147 |
^ whiteSpace / comment / javaToken |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
148 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
149 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
150 |
inputElements |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
151 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
152 |
^ inputElement plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
153 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
154 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
155 |
javaToken |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
156 |
"/self flag: 'TODO: check order'. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
157 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
158 |
^ keyword / literal / separator / operator / identifier |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
159 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
160 |
"Modified: / 23-08-2011 / 00:17:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
161 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
162 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
163 |
sub |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
164 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
165 |
^ (Character value: 26) asParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
166 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
167 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
168 |
!JavaParserI methodsFor:'grammar-keywords'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
169 |
|
1415 | 170 |
abstractKW |
1419 | 171 |
^ JavaTokenParser for:'abstract' |
1415 | 172 |
! |
173 |
||
174 |
assertKW |
|
1419 | 175 |
^ JavaTokenParser for:'assert' |
1415 | 176 |
! |
177 |
||
178 |
booleanKW |
|
1419 | 179 |
^ JavaTokenParser for:'boolean' |
1415 | 180 |
! |
181 |
||
182 |
breakKW |
|
1419 | 183 |
^ JavaTokenParser for:'break' |
1415 | 184 |
! |
185 |
||
186 |
byteKW |
|
1419 | 187 |
^ JavaTokenParser for:'byte' |
1415 | 188 |
! |
189 |
||
190 |
caseKW |
|
1419 | 191 |
^ JavaTokenParser for:'case' |
1415 | 192 |
! |
193 |
||
194 |
catchKW |
|
1419 | 195 |
^ JavaTokenParser for:'catch' |
1415 | 196 |
! |
197 |
||
198 |
charKW |
|
1419 | 199 |
^ JavaTokenParser for:'char' |
1415 | 200 |
! |
201 |
||
202 |
classKW |
|
1419 | 203 |
^ JavaTokenParser for:'class' |
1415 | 204 |
! |
205 |
||
206 |
constKW |
|
1419 | 207 |
^ JavaTokenParser for:'const' |
1415 | 208 |
! |
209 |
||
210 |
continueKW |
|
1419 | 211 |
^ JavaTokenParser for:'continue' |
1415 | 212 |
! |
213 |
||
214 |
defaultKW |
|
1419 | 215 |
^ JavaTokenParser for:'default' |
1415 | 216 |
! |
217 |
||
218 |
doKW |
|
1419 | 219 |
^ JavaTokenParser for:'do' |
1415 | 220 |
! |
221 |
||
222 |
doubleKW |
|
1419 | 223 |
^ JavaTokenParser for:'double' |
1415 | 224 |
! |
225 |
||
226 |
elseKW |
|
1419 | 227 |
^ JavaTokenParser for:'else' |
1415 | 228 |
! |
229 |
||
230 |
enumKW |
|
1419 | 231 |
^ JavaTokenParser for:'enum' |
1415 | 232 |
! |
233 |
||
234 |
extendsKW |
|
1419 | 235 |
^ JavaTokenParser for:'extends' |
1415 | 236 |
! |
237 |
||
238 |
finalKW |
|
1419 | 239 |
^ JavaTokenParser for:'final' |
1415 | 240 |
! |
241 |
||
242 |
finallyKW |
|
1419 | 243 |
^ JavaTokenParser for:'finally' |
1415 | 244 |
! |
245 |
||
246 |
floatKW |
|
1419 | 247 |
^ JavaTokenParser for:'float' |
1415 | 248 |
! |
249 |
||
250 |
forKW |
|
1419 | 251 |
^ JavaTokenParser for:'for' |
1415 | 252 |
! |
253 |
||
254 |
gotoKW |
|
1419 | 255 |
^ JavaTokenParser for:'goto' |
1415 | 256 |
! |
257 |
||
258 |
ifKW |
|
1419 | 259 |
^ JavaTokenParser for:'if' |
1415 | 260 |
! |
261 |
||
262 |
implementsKW |
|
1419 | 263 |
^ JavaTokenParser for:'implements' |
1415 | 264 |
! |
265 |
||
266 |
importKW |
|
1419 | 267 |
^ JavaTokenParser for:'import' |
1415 | 268 |
! |
269 |
||
270 |
instanceofKW |
|
1419 | 271 |
^ JavaTokenParser for:'instanceof' |
1415 | 272 |
! |
273 |
||
274 |
intKW |
|
1419 | 275 |
^ JavaTokenParser for:'int' |
1415 | 276 |
! |
277 |
||
278 |
interfaceKW |
|
1419 | 279 |
^ JavaTokenParser for:'interface' |
1415 | 280 |
! |
281 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
282 |
keyword |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
283 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
284 |
| keywordParsers keywordParser | |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
285 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
286 |
keywordParsers := keywords keys asSortedCollection "/SortedSafely |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
287 |
collect: [:eachKey | keywords at: eachKey ]. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
288 |
keywordParser := nil. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
289 |
keywordParsers do:[:each| |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
290 |
keywordParser notNil ifTrue:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
291 |
keywordParser := keywordParser / each |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
292 |
] ifFalse:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
293 |
keywordParser := each |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
294 |
] |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
295 |
]. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
296 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
297 |
^ "self asToken: "keywordParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
298 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
299 |
"Modified: / 09-03-2012 / 20:48:09 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
300 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
301 |
|
1415 | 302 |
longKW |
1419 | 303 |
^ JavaTokenParser for:'long' |
1415 | 304 |
! |
305 |
||
306 |
nativeKW |
|
1419 | 307 |
^ JavaTokenParser for:'native' |
1415 | 308 |
! |
309 |
||
310 |
newKW |
|
1419 | 311 |
^ JavaTokenParser for:'new' |
1415 | 312 |
! |
313 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
314 |
operator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
315 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
316 |
| operatorParsers operatorParser | |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
317 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
318 |
operatorParsers := operators keys asSortedCollection "/SortedSafely |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
319 |
collect: [:eachKey | operators at: eachKey ]. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
320 |
operatorParser := nil. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
321 |
operatorParsers do:[:each| |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
322 |
operatorParser notNil ifTrue:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
323 |
operatorParser := operatorParser / each |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
324 |
] ifFalse:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
325 |
operatorParser := each |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
326 |
] |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
327 |
]. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
328 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
329 |
^ "self asToken: "operatorParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
330 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
331 |
"Modified: / 09-03-2012 / 20:50:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1415 | 332 |
! |
333 |
||
334 |
packageKW |
|
1419 | 335 |
^ JavaTokenParser for:'package' |
1415 | 336 |
! |
337 |
||
338 |
privateKW |
|
1419 | 339 |
^ JavaTokenParser for:'private' |
1415 | 340 |
! |
341 |
||
342 |
protectedKW |
|
1419 | 343 |
^ JavaTokenParser for:'protected' |
1415 | 344 |
! |
345 |
||
346 |
publicKW |
|
1419 | 347 |
^ JavaTokenParser for:'public' |
1415 | 348 |
! |
349 |
||
350 |
returnKW |
|
1419 | 351 |
^ JavaTokenParser for:'return' |
1415 | 352 |
! |
353 |
||
354 |
shortKW |
|
1419 | 355 |
^ JavaTokenParser for:'short' |
1415 | 356 |
! |
357 |
||
358 |
staticKW |
|
1419 | 359 |
^ JavaTokenParser for:'static' |
1415 | 360 |
! |
361 |
||
362 |
strictfpKW |
|
1419 | 363 |
^ JavaTokenParser for:'strictfp' |
1415 | 364 |
! |
365 |
||
366 |
superKW |
|
1419 | 367 |
^ JavaTokenParser for:'super' |
1415 | 368 |
! |
369 |
||
370 |
switchKW |
|
1419 | 371 |
^ JavaTokenParser for:'switch' |
1415 | 372 |
! |
373 |
||
374 |
synchronizedKW |
|
1419 | 375 |
^ JavaTokenParser for:'synchronized' |
1415 | 376 |
! |
377 |
||
378 |
thisKW |
|
1419 | 379 |
^ JavaTokenParser for:'this' |
1415 | 380 |
! |
381 |
||
382 |
throwKW |
|
1419 | 383 |
^ JavaTokenParser for:'throw' |
1415 | 384 |
! |
385 |
||
386 |
throwsKW |
|
1419 | 387 |
^ JavaTokenParser for:'throws' |
1415 | 388 |
! |
389 |
||
390 |
transientKW |
|
1419 | 391 |
^ JavaTokenParser for:'transient' |
1415 | 392 |
! |
393 |
||
394 |
tryKW |
|
1419 | 395 |
^ JavaTokenParser for:'try' |
1415 | 396 |
! |
397 |
||
398 |
voidKW |
|
1419 | 399 |
^ JavaTokenParser for:'void' |
1415 | 400 |
! |
401 |
||
402 |
volatileKW |
|
1419 | 403 |
^ JavaTokenParser for:'volatile' |
1415 | 404 |
! |
405 |
||
406 |
whileKW |
|
1419 | 407 |
^ JavaTokenParser for:'while' |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
408 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
409 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
410 |
!JavaParserI methodsFor:'grammar-lineTerminators'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
411 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
412 |
inputCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
413 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
414 |
^(lineTerminator not) , unicodeInputCharacter ==> #second |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
415 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
416 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
417 |
lineTerminator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
418 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
419 |
^ (Character lf asParser) / (Character cr asParser , (Character lf asParser ) optional ) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
420 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
421 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
422 |
!JavaParserI methodsFor:'grammar-literals'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
423 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
424 |
literal |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
425 |
"a literal must be a single token. Whitespaces are not allowed inside the literal" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
426 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
427 |
^" self asToken: "(nullLiteral / booleanLiteral / floatingPointLiteral / integerLiteral / characterLiteral / stringLiteral) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
428 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
429 |
"Modified: / 09-03-2012 / 20:49:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
430 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
431 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
432 |
!JavaParserI methodsFor:'grammar-literals-boolean'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
433 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
434 |
booleanLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
435 |
|
1419 | 436 |
^ (JavaTokenParser for: #boolean) |
437 |
||
438 |
"Modified: / 14-03-2012 / 23:36:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
439 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
440 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
441 |
!JavaParserI methodsFor:'grammar-literals-character'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
442 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
443 |
characterLiteral |
1419 | 444 |
^ (JavaTokenParser for: #Character) |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
445 |
|
1419 | 446 |
"Modified: / 15-03-2012 / 00:11:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
447 |
"Modified (format): / 15-03-2012 / 08:35:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
448 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
449 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
450 |
!JavaParserI methodsFor:'grammar-literals-floating'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
451 |
|
1419 | 452 |
floatingPointLiteral |
453 |
^ (JavaTokenParser for: #Float) / |
|
454 |
(JavaTokenParser for: #Double) |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
455 |
|
1419 | 456 |
"Modified: / 15-03-2012 / 00:03:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
457 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
458 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
459 |
!JavaParserI methodsFor:'grammar-literals-integer'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
460 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
461 |
integerLiteral |
1419 | 462 |
^ (JavaTokenParser for: #Integer) / |
463 |
(JavaTokenParser for: #LongInteger) |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
464 |
|
1419 | 465 |
"Modified: / 15-03-2012 / 00:00:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
466 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
467 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
468 |
!JavaParserI methodsFor:'grammar-literals-null'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
469 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
470 |
nullLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
471 |
|
1419 | 472 |
^ JavaTokenParser for: #null |
473 |
||
474 |
"Modified: / 14-03-2012 / 23:22:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
475 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
476 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
477 |
!JavaParserI methodsFor:'grammar-literals-string'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
478 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
479 |
stringLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
480 |
|
1419 | 481 |
^ JavaTokenParser for: #String |
482 |
||
483 |
"Modified: / 14-03-2012 / 23:42:45 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
484 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
485 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
486 |
!JavaParserI methodsFor:'grammar-separators'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
487 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
488 |
separator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
489 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
490 |
"should it be: |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
491 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
492 |
| separatorParsers | |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
493 |
separatorParsers := separators keysSortedSafely |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
494 |
collect: [:eachKey | separators at: eachKey ]. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
495 |
^ (separatorParsers reduce: [ :a :b | a / b ]) token trimBlanks |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
496 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
497 |
for consistency to keywords and operators ?" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
498 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
499 |
^"self asToken: "(PPPredicateObjectParser anyOf: '(){}[];,.' ) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
500 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
501 |
"Modified: / 09-03-2012 / 20:49:15 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
502 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
503 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
504 |
!JavaParserI methodsFor:'grammar-unicode-escapes'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
505 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
506 |
hexDigit |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
507 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
508 |
^#hex asParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
509 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
510 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
511 |
rawInputCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
512 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
513 |
^#any asParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
514 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
515 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
516 |
unicodeEscape |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
517 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
518 |
^ $\ asParser , unicodeMarker , hexDigit , hexDigit , hexDigit , hexDigit |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
519 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
520 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
521 |
unicodeInputCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
522 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
523 |
^ unicodeEscape / rawInputCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
524 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
525 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
526 |
unicodeMarker |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
527 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
528 |
^$u asParser plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
529 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
530 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
531 |
!JavaParserI methodsFor:'grammar-whiteSpace'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
532 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
533 |
whiteSpace |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
534 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
535 |
^ (Character space asParser ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
536 |
(Character tab asParser ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
537 |
((Character value: 12) asParser ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
538 |
lineTerminator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
539 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
540 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
541 |
!JavaParserI methodsFor:'initialization'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
542 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
543 |
initialize |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
544 |
|
1412 | 545 |
super initialize. |
546 |
"/self initializeStartingAt: #start. |
|
547 |
||
548 |
self initializeKeywords. |
|
549 |
self initializeOperators. |
|
550 |
self initializeSeparators. |
|
551 |
||
552 |
"Modified: / 10-03-2012 / 12:13:15 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
553 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
554 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
555 |
initializeKeywords |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
556 |
|
1412 | 557 |
| values | |
558 |
keywords := Dictionary new. |
|
559 |
values := #('abstract' 'assert' 'boolean' 'break' 'byte' 'case' 'catch' 'char' 'class' 'const' |
|
560 |
'continue' 'default' 'do' 'double' 'else' 'enum' 'extends' 'final' 'finally' 'float' |
|
561 |
'for' 'if' 'goto' 'implements' 'import' 'instanceof' 'int' 'interface' 'long' 'native' |
|
562 |
'new' 'package' 'private' 'protected' 'public' 'return' 'short' 'static' 'strictfp' 'super' |
|
563 |
'switch' 'synchronized' 'this' 'throw' 'throws' 'transient' 'try' 'void' 'volatile' 'while'). |
|
564 |
||
565 |
values do: [:eachKeyword | |
|
566 |
keywords at: eachKeyword |
|
567 |
put: (PPUnresolvedParser named: ('keyword', eachKeyword first asUppercase asString , eachKeyword allButFirst)) |
|
568 |
]. |
|
569 |
||
570 |
keywords keysAndValuesDo: [:key :value | |
|
571 |
(keywords at: key) def: key asParser trim |
|
572 |
] |
|
573 |
||
574 |
"Modified: / 10-03-2012 / 13:16:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
575 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
576 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
577 |
initializeOperators |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
578 |
|
1412 | 579 |
| values | |
580 |
operators := Dictionary new. |
|
581 |
values := #( '>>>=' '>>>' '>>=' '>>' '>=' '>' '<<=' '<<' '<=' '<' '++' '+=' '+' '--' '-=' '-' '&&' '&=' '&' |
|
582 |
'||' '|=' '|' '*=' '*' '%=' '%' '/=' '/' '^=' '^' '!!=' '!!' '==' '=' '~' '?' ':' '@' ). |
|
583 |
||
584 |
values do: [:eachOperator | |
|
585 |
operators at: eachOperator |
|
586 |
put: (PPUnresolvedParser named: ('operator', eachOperator asString)) |
|
587 |
]. |
|
588 |
||
589 |
operators keysAndValuesDo: [:key :value | |
|
590 |
(operators at: key) def: (key asParser trim)] |
|
591 |
||
592 |
"Modified: / 10-03-2012 / 13:16:28 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
593 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
594 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
595 |
initializeSeparators |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
596 |
|
1412 | 597 |
| values | |
598 |
separators := Dictionary new. |
|
599 |
values := #( '(' ')' '{' '}' '[' ']' ';' ',' '.' ). |
|
600 |
||
601 |
values do: [:eachSeparator | |
|
602 |
separators at: eachSeparator |
|
603 |
put: (PPUnresolvedParser named: ('separator', eachSeparator asString)) |
|
604 |
]. |
|
605 |
||
606 |
separators keysAndValuesDo: [:key :value | |
|
607 |
(separators at: key) def: (key asParser trim)] |
|
608 |
||
609 |
"Modified: / 10-03-2012 / 13:16:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1419 | 610 |
! |
611 |
||
612 |
initializeStartingAt: aSymbol |
|
613 |
| allVariableNames ignoredVariableNames productionIndexesAndNames debugger | |
|
614 |
self initialize. |
|
615 |
||
1485 | 616 |
"/debugger := PPDebugger new. |
1419 | 617 |
"find all the productions that need to be initialized" |
618 |
allVariableNames := self class allInstVarNames |
|
619 |
collect: [ :each | each asSymbol ]. |
|
620 |
ignoredVariableNames := self class ignoredNames |
|
621 |
collect: [ :each | each asSymbol ]. |
|
622 |
productionIndexesAndNames := ((1 to: self class instSize) |
|
623 |
collect: [ :index | index -> (allVariableNames at: index) ]) |
|
624 |
reject: [ :assoc | ignoredVariableNames includes: assoc value ]. |
|
625 |
||
626 |
"initialize productions with an undefined parser to be replaced later" |
|
627 |
parser := PPUnresolvedParser named: aSymbol. |
|
628 |
productionIndexesAndNames do: [ :assoc | |
|
629 |
self instVarAt: assoc key put: (PPUnresolvedParser named: assoc value) ]. |
|
630 |
parser def: (self perform: aSymbol). |
|
631 |
||
632 |
"resolve unresolved parsers with their actual implementation" |
|
633 |
productionIndexesAndNames do: [ :assoc | |
|
634 |
(self respondsTo: assoc value) |
|
635 |
ifFalse: [ self error: 'Unable to initialize ' , assoc value printString ] |
|
636 |
ifTrue: [ (self instVarAt: assoc key) def: |
|
1421
d68e361680e9
Parser improved, now it parser whole java.lang (code block skipped for now)
vranyj1
parents:
1420
diff
changeset
|
637 |
"/ (PPDebuggingParser parser: |
1419 | 638 |
((self perform: assoc value) name: assoc value; yourself) |
1421
d68e361680e9
Parser improved, now it parser whole java.lang (code block skipped for now)
vranyj1
parents:
1420
diff
changeset
|
639 |
"/ debugger: debugger) |
1419 | 640 |
] ] |
641 |
||
642 |
"Created: / 12-03-2012 / 16:51:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1412 | 643 |
! ! |
644 |
||
1420 | 645 |
!JavaParserI methodsFor:'parsing'! |
646 |
||
647 |
parse: anObject |
|
648 |
"Parse anObject with the receiving parser and answer the parse-result or an instance of PPFailure." |
|
649 |
||
1424
9d8337007106
Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents:
1421
diff
changeset
|
650 |
| scanner | |
9d8337007106
Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents:
1421
diff
changeset
|
651 |
|
9d8337007106
Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents:
1421
diff
changeset
|
652 |
(anObject isKindOf: JavaScanner) ifFalse:[ |
9d8337007106
Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents:
1421
diff
changeset
|
653 |
scanner := JavaScanner for: anObject readStream. |
9d8337007106
Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents:
1421
diff
changeset
|
654 |
] ifTrue:[ |
9d8337007106
Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents:
1421
diff
changeset
|
655 |
scanner := anObject |
9d8337007106
Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents:
1421
diff
changeset
|
656 |
]. |
9d8337007106
Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents:
1421
diff
changeset
|
657 |
|
9d8337007106
Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents:
1421
diff
changeset
|
658 |
^super parse: scanner |
1420 | 659 |
|
660 |
"Created: / 15-03-2012 / 11:10:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
661 |
! ! |
|
662 |
||
1412 | 663 |
!JavaParserI methodsFor:'querying'! |
664 |
||
665 |
productionAt: aSymbol ifAbsent: aBlock |
|
666 |
"Answer the production named aSymbol, if there is no such production answer the result of evaluating aBlock." |
|
667 |
||
668 |
parser isNil ifTrue:[ |
|
669 |
self initializeStartingAt: aSymbol. |
|
670 |
]. |
|
671 |
^super productionAt: aSymbol ifAbsent: aBlock |
|
672 |
||
673 |
"Created: / 10-03-2012 / 12:15:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
674 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
675 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
676 |
!JavaParserI methodsFor:'utility'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
677 |
|
1415 | 678 |
asToken:aParser |
679 |
^aParser |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
680 |
|
1415 | 681 |
"Created: / 11-03-2012 / 08:43:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
682 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
683 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
684 |
emptySquaredParenthesis |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
685 |
|
1419 | 686 |
^ (self tokenFor:$[) , (self tokenFor:$]) |
1415 | 687 |
|
688 |
"Created: / 11-03-2012 / 00:02:09 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
689 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
690 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
691 |
tokenFor: aString |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
692 |
|
1419 | 693 |
^aString size == 1 ifTrue:[ |
694 |
JavaTokenParser for: aString first |
|
1412 | 695 |
] ifFalse:[ |
1419 | 696 |
JavaTokenParser for: aString |
1412 | 697 |
] |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
698 |
|
1415 | 699 |
|
1419 | 700 |
"/ | p | |
701 |
"/ |
|
702 |
"/ p := keywords at: aString ifAbsent:[nil]. |
|
703 |
"/ p notNil ifTrue:[ ^ self asToken: p ]. |
|
704 |
"/ |
|
705 |
"/ p := operators at: aString ifAbsent:[nil]. |
|
706 |
"/ p notNil ifTrue:[ ^ self asToken: p ]. |
|
707 |
"/ |
|
708 |
"/ p := separators at: aString ifAbsent:[nil]. |
|
709 |
"/ p notNil ifTrue:[ ^ self asToken: p ]. |
|
710 |
"/ |
|
711 |
"/ self error: 'Should not be reached' |
|
1415 | 712 |
|
1419 | 713 |
"Modified: / 15-03-2012 / 08:53:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1415 | 714 |
! ! |
715 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
716 |
!JavaParserI class methodsFor:'documentation'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
717 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
718 |
version_SVN |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
719 |
^ '$Id$' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
720 |
! ! |