author | vranyj1 |
Mon, 12 Mar 2012 09:58:19 +0000 | |
branch | jk_new_structure |
changeset 1416 | 26c10dd1e5c6 |
parent 1415 | 6b0bbeb08b5a |
child 1417 | f4c3f5b90dd8 |
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 |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
10 |
identifierChars javaLetter javaLetterOrDigit keywords |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
11 |
floatingPointLiteral integerLiteral characterLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
12 |
stringLiteral hexIntegerLiteral octalIntegerLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
13 |
decimalIntegerLiteral decimalNumeral integerTypeSuffix hexNumeral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
14 |
octalNumeral nonZeroDigit digits hexDigits octalDigits octalDigit |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
15 |
hexadecimalFloatingPointLiteral decimalFloatingPointLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
16 |
exponentPart floatTypeSuffix exponentIndicator signedInteger sign |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
17 |
hexSignificand binaryExponent binaryExponentIndicator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
18 |
escapeSequence singleCharacter stringCharacters stringCharacter |
1415 | 19 |
octalEscape zeroToThree 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
|
20 |
classVariableNames:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
21 |
poolDictionaries:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
22 |
category:'Languages-Java-Parser' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
23 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
24 |
|
1406 | 25 |
PPParser subclass:#SubParser |
26 |
instanceVariableNames:'masterParser' |
|
27 |
classVariableNames:'' |
|
28 |
poolDictionaries:'' |
|
29 |
privateIn:JavaParserI |
|
30 |
! |
|
31 |
||
1415 | 32 |
JavaParserI::SubParser subclass:#MultiLineCommentParser |
33 |
instanceVariableNames:'' |
|
34 |
classVariableNames:'' |
|
35 |
poolDictionaries:'' |
|
36 |
privateIn:JavaParserI |
|
37 |
! |
|
38 |
||
1406 | 39 |
JavaParserI::SubParser subclass:#SingleLineCommentParser |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
40 |
instanceVariableNames:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
41 |
classVariableNames:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
42 |
poolDictionaries:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
43 |
privateIn:JavaParserI |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
44 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
45 |
|
1415 | 46 |
JavaParserI::SubParser subclass:#BlockParser |
47 |
instanceVariableNames:'openBlockChar closeBlockChar innerBlockCount' |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
48 |
classVariableNames:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
49 |
poolDictionaries:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
50 |
privateIn:JavaParserI |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
51 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
52 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
53 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
54 |
!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
|
55 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
56 |
new |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
57 |
"return an initialized instance" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
58 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
59 |
^ self basicNew initialize. |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
62 |
!JavaParserI class methodsFor:'accessing'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
63 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
64 |
ignoredNames |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
65 |
"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
|
66 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
67 |
| newArray | |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
68 |
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
|
69 |
newArray |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
70 |
replaceFrom: 1 |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
71 |
to: self namesToIgnore size |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
72 |
with: self namesToIgnore. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
73 |
newArray |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
74 |
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
|
75 |
to: newArray size |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
76 |
with: super ignoredNames. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
77 |
^newArray |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
78 |
! |
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 |
namesToIgnore |
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 |
^#('keywords' 'operators' 'separators') |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
83 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
84 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
85 |
!JavaParserI methodsFor:'accessing'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
86 |
|
1412 | 87 |
builder |
88 |
||
89 |
^nil |
|
90 |
||
91 |
"Created: / 10-03-2012 / 12:17:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
92 |
! |
|
93 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
94 |
start |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
95 |
"Default start production." |
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 |
^ input end |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
98 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
99 |
|
1415 | 100 |
!JavaParserI methodsFor:'grammar-blocks'! |
101 |
||
102 |
block |
|
103 |
"Do no parse content of the block" |
|
104 |
^(BlockParser for: self) trim |
|
105 |
||
106 |
"Created: / 11-03-2012 / 13:20:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
107 |
! ! |
|
108 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
109 |
!JavaParserI methodsFor:'grammar-comments'! |
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 |
charactersInLine |
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 |
^ inputCharacter plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
114 |
! |
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 |
comment |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
117 |
"traditional -> /* |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
118 |
endOfLine -> //" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
119 |
^ traditionalComment / endOfLineComment |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
120 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
121 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
122 |
commentTail |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
123 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
124 |
^ ('*' asParser , commentTailStar ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
125 |
(notStar , commentTail) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
126 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
127 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
128 |
commentTailStar |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
129 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
130 |
^ ('/' asParser ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
131 |
('*' asParser , commentTailStar ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
132 |
(notStarNotSlash , commentTail ) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
133 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
134 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
135 |
endOfLineComment |
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 |
^ (SingleLineCommentParser for: self) trim |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
138 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
139 |
"Modified: / 09-03-2012 / 20:28:12 / 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
|
140 |
! |
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 |
notStar |
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 |
^ lineTerminator / ('*' asParser not , inputCharacter) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
145 |
! |
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 |
notStarNotSlash |
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 |
^ 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
|
150 |
! |
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 |
traditionalComment |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
153 |
|
1412 | 154 |
^ (MultiLineCommentParser for: self) trim |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
155 |
|
1412 | 156 |
"Modified: / 10-03-2012 / 12:28:36 / 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
|
157 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
158 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
159 |
!JavaParserI methodsFor:'grammar-identifiers'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
160 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
161 |
identifier |
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 |
^ self asToken: (((keyword not) , (booleanLiteral not) , (nullLiteral not) , identifierChars )) |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
166 |
identifierChars |
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 |
^ javaLetter plus , javaLetterOrDigit star |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
169 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
170 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
171 |
javaLetter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
172 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
173 |
^ (#letter asParser) / (PPPredicateObjectParser anyOf: '_$') |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
174 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
175 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
176 |
javaLetterOrDigit |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
177 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
178 |
^ javaLetter / (#digit asParser) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
179 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
180 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
181 |
!JavaParserI methodsFor:'grammar-input'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
182 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
183 |
input |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
184 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
185 |
^ (inputElements optional) , (sub optional) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
186 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
187 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
188 |
inputElement |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
189 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
190 |
^ whiteSpace / comment / javaToken |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
191 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
192 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
193 |
inputElements |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
194 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
195 |
^ inputElement plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
196 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
197 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
198 |
javaToken |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
199 |
"/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
|
200 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
201 |
^ 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
|
202 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
203 |
"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
|
204 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
205 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
206 |
sub |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
207 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
208 |
^ (Character value: 26) asParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
209 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
210 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
211 |
!JavaParserI methodsFor:'grammar-keywords'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
212 |
|
1415 | 213 |
abstractKW |
214 |
^ 'abstract' asParser trim |
|
215 |
! |
|
216 |
||
217 |
assertKW |
|
218 |
^ 'assert' asParser trim |
|
219 |
! |
|
220 |
||
221 |
booleanKW |
|
222 |
^ 'boolean' asParser trim |
|
223 |
! |
|
224 |
||
225 |
breakKW |
|
226 |
^ 'break' asParser trim |
|
227 |
! |
|
228 |
||
229 |
byteKW |
|
230 |
^ 'byte' asParser trim |
|
231 |
! |
|
232 |
||
233 |
caseKW |
|
234 |
^ 'case' asParser trim |
|
235 |
! |
|
236 |
||
237 |
catchKW |
|
238 |
^ 'catch' asParser trim |
|
239 |
! |
|
240 |
||
241 |
charKW |
|
242 |
^ 'char' asParser trim |
|
243 |
! |
|
244 |
||
245 |
classKW |
|
246 |
^ 'class' asParser trim |
|
247 |
! |
|
248 |
||
249 |
constKW |
|
250 |
^ 'const' asParser trim |
|
251 |
! |
|
252 |
||
253 |
continueKW |
|
254 |
^ 'continue' asParser trim |
|
255 |
! |
|
256 |
||
257 |
defaultKW |
|
258 |
^ 'default' asParser trim |
|
259 |
! |
|
260 |
||
261 |
doKW |
|
262 |
^ 'do' asParser trim |
|
263 |
! |
|
264 |
||
265 |
doubleKW |
|
266 |
^ 'double' asParser trim |
|
267 |
! |
|
268 |
||
269 |
elseKW |
|
270 |
^ 'else' asParser trim |
|
271 |
! |
|
272 |
||
273 |
enumKW |
|
274 |
^ 'enum' asParser trim |
|
275 |
! |
|
276 |
||
277 |
extendsKW |
|
278 |
^ 'extends' asParser trim |
|
279 |
! |
|
280 |
||
281 |
finalKW |
|
282 |
^ 'final' asParser trim |
|
283 |
! |
|
284 |
||
285 |
finallyKW |
|
286 |
^ 'finally' asParser trim |
|
287 |
! |
|
288 |
||
289 |
floatKW |
|
290 |
^ 'float' asParser trim |
|
291 |
! |
|
292 |
||
293 |
forKW |
|
294 |
^ 'for' asParser trim |
|
295 |
! |
|
296 |
||
297 |
gotoKW |
|
298 |
^ 'goto' asParser trim |
|
299 |
! |
|
300 |
||
301 |
ifKW |
|
302 |
^ 'if' asParser trim |
|
303 |
! |
|
304 |
||
305 |
implementsKW |
|
306 |
^ 'implements' asParser trim |
|
307 |
! |
|
308 |
||
309 |
importKW |
|
310 |
^ 'import' asParser trim |
|
311 |
! |
|
312 |
||
313 |
instanceofKW |
|
314 |
^ 'instanceof' asParser trim |
|
315 |
! |
|
316 |
||
317 |
intKW |
|
318 |
^ 'int' asParser trim |
|
319 |
! |
|
320 |
||
321 |
interfaceKW |
|
322 |
^ 'interface' asParser trim |
|
323 |
! |
|
324 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
325 |
keyword |
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 |
| keywordParsers keywordParser | |
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 |
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
|
330 |
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
|
331 |
keywordParser := nil. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
332 |
keywordParsers do:[:each| |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
333 |
keywordParser notNil ifTrue:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
334 |
keywordParser := keywordParser / each |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
335 |
] ifFalse:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
336 |
keywordParser := each |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
337 |
] |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
338 |
]. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
339 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
340 |
^ "self asToken: "keywordParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
341 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
342 |
"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
|
343 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
344 |
|
1415 | 345 |
longKW |
346 |
^ 'long' asParser trim |
|
347 |
! |
|
348 |
||
349 |
nativeKW |
|
350 |
^ 'native' asParser trim |
|
351 |
! |
|
352 |
||
353 |
newKW |
|
354 |
^ 'new' asParser trim |
|
355 |
! |
|
356 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
357 |
operator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
358 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
359 |
| operatorParsers operatorParser | |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
360 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
361 |
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
|
362 |
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
|
363 |
operatorParser := nil. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
364 |
operatorParsers do:[:each| |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
365 |
operatorParser notNil ifTrue:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
366 |
operatorParser := operatorParser / each |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
367 |
] ifFalse:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
368 |
operatorParser := each |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
369 |
] |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
370 |
]. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
371 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
372 |
^ "self asToken: "operatorParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
373 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
374 |
"Modified: / 09-03-2012 / 20:50:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1415 | 375 |
! |
376 |
||
377 |
packageKW |
|
378 |
^ 'package' asParser trim |
|
379 |
! |
|
380 |
||
381 |
privateKW |
|
382 |
^ 'private' asParser trim |
|
383 |
! |
|
384 |
||
385 |
protectedKW |
|
386 |
^ 'protected' asParser trim |
|
387 |
! |
|
388 |
||
389 |
publicKW |
|
390 |
^ 'public' asParser trim |
|
391 |
! |
|
392 |
||
393 |
returnKW |
|
394 |
^ 'return' asParser trim |
|
395 |
! |
|
396 |
||
397 |
shortKW |
|
398 |
^ 'short' asParser trim |
|
399 |
! |
|
400 |
||
401 |
staticKW |
|
402 |
^ 'static' asParser trim |
|
403 |
! |
|
404 |
||
405 |
strictfpKW |
|
406 |
^ 'strictfp' asParser trim |
|
407 |
! |
|
408 |
||
409 |
superKW |
|
410 |
^ 'super' asParser trim |
|
411 |
! |
|
412 |
||
413 |
switchKW |
|
414 |
^ 'switch' asParser trim |
|
415 |
! |
|
416 |
||
417 |
synchronizedKW |
|
418 |
^ 'synchronized' asParser trim |
|
419 |
! |
|
420 |
||
421 |
thisKW |
|
422 |
^ 'this' asParser trim |
|
423 |
! |
|
424 |
||
425 |
throwKW |
|
426 |
^ 'throw' asParser trim |
|
427 |
! |
|
428 |
||
429 |
throwsKW |
|
430 |
^ 'throws' asParser trim |
|
431 |
! |
|
432 |
||
433 |
transientKW |
|
434 |
^ 'transient' asParser trim |
|
435 |
! |
|
436 |
||
437 |
tryKW |
|
438 |
^ 'try' asParser trim |
|
439 |
! |
|
440 |
||
441 |
voidKW |
|
442 |
^ 'void' asParser trim |
|
443 |
! |
|
444 |
||
445 |
volatileKW |
|
446 |
^ 'volatile' asParser trim |
|
447 |
! |
|
448 |
||
449 |
whileKW |
|
450 |
^ 'while' asParser trim |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
451 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
452 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
453 |
!JavaParserI methodsFor:'grammar-lineTerminators'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
454 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
455 |
inputCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
456 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
457 |
^(lineTerminator not) , unicodeInputCharacter ==> #second |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
460 |
lineTerminator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
461 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
462 |
^ (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
|
463 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
464 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
465 |
!JavaParserI methodsFor:'grammar-literals'! |
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 |
literal |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
468 |
"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
|
469 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
470 |
^" 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
|
471 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
472 |
"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
|
473 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
474 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
475 |
!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
|
476 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
477 |
booleanLiteral |
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 |
^ ('true' asParser) / ('false' asParser) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
480 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
481 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
482 |
!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
|
483 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
484 |
characterLiteral |
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 |
^ $' asParser , ( escapeSequence / singleCharacter ), $' asParser |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
489 |
singleCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
490 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
491 |
^( PPPredicateObjectParser anyOf: '''\') not , inputCharacter ==> #second |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
492 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
493 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
494 |
!JavaParserI methodsFor:'grammar-literals-escape'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
495 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
496 |
escapeSequence |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
497 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
498 |
^ ($\ asParser , (PPPredicateObjectParser anyOf: 'btnfr""''\' ) ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
499 |
octalEscape |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
502 |
octalEscape |
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 |
^ $\ asParser , ( (zeroToThree , octalDigit , octalDigit) / (octalDigit , octalDigit optional) ) |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
507 |
zeroToThree |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
508 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
509 |
^PPPredicateObjectParser anyOf: '0123' |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
512 |
!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
|
513 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
514 |
binaryExponent |
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 |
^ binaryExponentIndicator , signedInteger |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
519 |
binaryExponentIndicator |
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 |
^ PPPredicateObjectParser anyOf: 'pP' |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
524 |
decimalFloatingPointLiteral |
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 |
|dot| |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
527 |
dot := $. asParser. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
528 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
529 |
^ ( ( (dot , digits) |
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 |
(digits , dot , digits optional)) , |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
532 |
exponentPart optional , floatTypeSuffix optional ) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
533 |
/ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
534 |
(digits , |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
535 |
( (exponentPart , floatTypeSuffix optional) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
536 |
/ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
537 |
(exponentPart optional , floatTypeSuffix) )) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
538 |
! |
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 |
exponentIndicator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
541 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
542 |
^ PPPredicateObjectParser anyOf: 'eE' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
543 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
544 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
545 |
exponentPart |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
546 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
547 |
^ exponentIndicator , signedInteger |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
548 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
549 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
550 |
floatTypeSuffix |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
551 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
552 |
^ PPPredicateObjectParser anyOf: 'fFdD' |
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 |
floatingPointLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
556 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
557 |
^ hexadecimalFloatingPointLiteral / decimalFloatingPointLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
558 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
559 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
560 |
hexSignificand |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
561 |
|dot| |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
562 |
dot := $. asParser. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
563 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
564 |
^ (hexNumeral , dot optional) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
565 |
($0 asParser , (PPPredicateObjectParser anyOf: 'xX') , hexDigits optional , dot , hexDigits ) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
566 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
567 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
568 |
hexadecimalFloatingPointLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
569 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
570 |
^ hexSignificand , binaryExponent , floatTypeSuffix optional |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
571 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
572 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
573 |
sign |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
574 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
575 |
^PPPredicateObjectParser anyOf: '-+' |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
578 |
signedInteger |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
579 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
580 |
^ sign optional , digits |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
581 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
582 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
583 |
!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
|
584 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
585 |
decimalIntegerLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
586 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
587 |
^ decimalNumeral , (integerTypeSuffix optional) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
588 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
589 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
590 |
decimalNumeral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
591 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
592 |
^($0 asParser) / (nonZeroDigit , digits optional) |
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 |
digits |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
596 |
"digit is already defined, no need to redefine it" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
597 |
^#digit asParser plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
598 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
599 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
600 |
hexDigits |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
601 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
602 |
^hexDigit plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
603 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
604 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
605 |
hexIntegerLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
606 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
607 |
^ hexNumeral , (integerTypeSuffix optional) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
608 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
609 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
610 |
hexNumeral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
611 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
612 |
^$0 asParser, (PPPredicateObjectParser anyOf: 'xX' ), hexDigits |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
613 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
614 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
615 |
integerLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
616 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
617 |
^ hexIntegerLiteral / octalIntegerLiteral / decimalIntegerLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
618 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
619 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
620 |
integerTypeSuffix |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
621 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
622 |
^ PPPredicateObjectParser anyOf: 'lL' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
623 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
624 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
625 |
nonZeroDigit |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
626 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
627 |
^PPPredicateObjectParser anyOf: '123456789'. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
628 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
629 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
630 |
octalDigit |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
631 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
632 |
^PPPredicateObjectParser anyOf: '01234567' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
633 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
634 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
635 |
octalDigits |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
636 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
637 |
^ octalDigit plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
638 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
639 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
640 |
octalIntegerLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
641 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
642 |
^ octalNumeral , (integerTypeSuffix optional) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
643 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
644 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
645 |
octalNumeral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
646 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
647 |
^($0 asParser) , octalDigits |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
648 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
649 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
650 |
!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
|
651 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
652 |
nullLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
653 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
654 |
^ 'null' asParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
655 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
656 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
657 |
!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
|
658 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
659 |
stringCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
660 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
661 |
^ ( ( PPPredicateObjectParser anyOf: '"\') not , inputCharacter ==> #second ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
662 |
escapeSequence |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
663 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
664 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
665 |
stringCharacters |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
666 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
667 |
^ stringCharacter plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
668 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
669 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
670 |
stringLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
671 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
672 |
^ $" asParser , stringCharacters optional , $" asParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
673 |
! ! |
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 |
!JavaParserI methodsFor:'grammar-separators'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
676 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
677 |
separator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
678 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
679 |
"should it be: |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
680 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
681 |
| separatorParsers | |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
682 |
separatorParsers := separators keysSortedSafely |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
683 |
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
|
684 |
^ (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
|
685 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
686 |
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
|
687 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
688 |
^"self asToken: "(PPPredicateObjectParser anyOf: '(){}[];,.' ) |
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 |
"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
|
691 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
692 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
693 |
!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
|
694 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
695 |
hexDigit |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
696 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
697 |
^#hex asParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
698 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
699 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
700 |
rawInputCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
701 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
702 |
^#any asParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
703 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
704 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
705 |
unicodeEscape |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
706 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
707 |
^ $\ 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
|
708 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
709 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
710 |
unicodeInputCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
711 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
712 |
^ unicodeEscape / rawInputCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
713 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
714 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
715 |
unicodeMarker |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
716 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
717 |
^$u asParser plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
718 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
719 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
720 |
!JavaParserI methodsFor:'grammar-whiteSpace'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
721 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
722 |
whiteSpace |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
723 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
724 |
^ (Character space asParser ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
725 |
(Character tab asParser ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
726 |
((Character value: 12) asParser ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
727 |
lineTerminator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
728 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
729 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
730 |
!JavaParserI methodsFor:'initialization'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
731 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
732 |
initialize |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
733 |
|
1412 | 734 |
super initialize. |
735 |
"/self initializeStartingAt: #start. |
|
736 |
||
737 |
self initializeKeywords. |
|
738 |
self initializeOperators. |
|
739 |
self initializeSeparators. |
|
740 |
||
741 |
"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
|
742 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
743 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
744 |
initializeKeywords |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
745 |
|
1412 | 746 |
| values | |
747 |
keywords := Dictionary new. |
|
748 |
values := #('abstract' 'assert' 'boolean' 'break' 'byte' 'case' 'catch' 'char' 'class' 'const' |
|
749 |
'continue' 'default' 'do' 'double' 'else' 'enum' 'extends' 'final' 'finally' 'float' |
|
750 |
'for' 'if' 'goto' 'implements' 'import' 'instanceof' 'int' 'interface' 'long' 'native' |
|
751 |
'new' 'package' 'private' 'protected' 'public' 'return' 'short' 'static' 'strictfp' 'super' |
|
752 |
'switch' 'synchronized' 'this' 'throw' 'throws' 'transient' 'try' 'void' 'volatile' 'while'). |
|
753 |
||
754 |
values do: [:eachKeyword | |
|
755 |
keywords at: eachKeyword |
|
756 |
put: (PPUnresolvedParser named: ('keyword', eachKeyword first asUppercase asString , eachKeyword allButFirst)) |
|
757 |
]. |
|
758 |
||
759 |
keywords keysAndValuesDo: [:key :value | |
|
760 |
(keywords at: key) def: key asParser trim |
|
761 |
] |
|
762 |
||
763 |
"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
|
764 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
765 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
766 |
initializeOperators |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
767 |
|
1412 | 768 |
| values | |
769 |
operators := Dictionary new. |
|
770 |
values := #( '>>>=' '>>>' '>>=' '>>' '>=' '>' '<<=' '<<' '<=' '<' '++' '+=' '+' '--' '-=' '-' '&&' '&=' '&' |
|
771 |
'||' '|=' '|' '*=' '*' '%=' '%' '/=' '/' '^=' '^' '!!=' '!!' '==' '=' '~' '?' ':' '@' ). |
|
772 |
||
773 |
values do: [:eachOperator | |
|
774 |
operators at: eachOperator |
|
775 |
put: (PPUnresolvedParser named: ('operator', eachOperator asString)) |
|
776 |
]. |
|
777 |
||
778 |
operators keysAndValuesDo: [:key :value | |
|
779 |
(operators at: key) def: (key asParser trim)] |
|
780 |
||
781 |
"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
|
782 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
783 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
784 |
initializeSeparators |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
785 |
|
1412 | 786 |
| values | |
787 |
separators := Dictionary new. |
|
788 |
values := #( '(' ')' '{' '}' '[' ']' ';' ',' '.' ). |
|
789 |
||
790 |
values do: [:eachSeparator | |
|
791 |
separators at: eachSeparator |
|
792 |
put: (PPUnresolvedParser named: ('separator', eachSeparator asString)) |
|
793 |
]. |
|
794 |
||
795 |
separators keysAndValuesDo: [:key :value | |
|
796 |
(separators at: key) def: (key asParser trim)] |
|
797 |
||
798 |
"Modified: / 10-03-2012 / 13:16:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
799 |
! ! |
|
800 |
||
801 |
!JavaParserI methodsFor:'querying'! |
|
802 |
||
803 |
productionAt: aSymbol ifAbsent: aBlock |
|
804 |
"Answer the production named aSymbol, if there is no such production answer the result of evaluating aBlock." |
|
805 |
||
806 |
parser isNil ifTrue:[ |
|
807 |
self initializeStartingAt: aSymbol. |
|
808 |
]. |
|
809 |
^super productionAt: aSymbol ifAbsent: aBlock |
|
810 |
||
811 |
"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
|
812 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
813 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
814 |
!JavaParserI methodsFor:'utility'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
815 |
|
1415 | 816 |
asToken:aParser |
817 |
^aParser |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
818 |
|
1415 | 819 |
"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
|
820 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
821 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
822 |
emptySquaredParenthesis |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
823 |
|
1415 | 824 |
^ '[' asParser trim , ']' asParser trim |
825 |
||
826 |
"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
|
827 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
828 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
829 |
tokenFor: aString |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
830 |
|
1412 | 831 |
| p | |
832 |
||
833 |
p := keywords at: aString ifAbsent:[nil]. |
|
834 |
p notNil ifTrue:[ ^ self asToken: p ]. |
|
835 |
||
836 |
p := operators at: aString ifAbsent:[nil]. |
|
837 |
p notNil ifTrue:[ ^ self asToken: p ]. |
|
838 |
||
839 |
p := separators at: aString ifAbsent:[nil]. |
|
840 |
p notNil ifTrue:[ ^ self asToken: p ]. |
|
841 |
||
842 |
self error: 'Should not be reached' |
|
843 |
||
844 |
"Modified: / 10-03-2012 / 11:47:44 / 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
|
845 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
846 |
|
1406 | 847 |
!JavaParserI::SubParser class methodsFor:'instance creation'! |
848 |
||
849 |
for: masterParser |
|
850 |
||
851 |
^self new masterParser: masterParser |
|
852 |
||
853 |
"Created: / 09-03-2012 / 16:59:02 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
854 |
! ! |
|
855 |
||
856 |
!JavaParserI::SubParser methodsFor:'accessing'! |
|
857 |
||
858 |
builder |
|
859 |
^masterParser builder |
|
860 |
||
861 |
"Created: / 09-03-2012 / 16:58:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
862 |
! |
|
863 |
||
864 |
masterParser |
|
865 |
^ masterParser |
|
866 |
! |
|
867 |
||
868 |
masterParser:aJavaPetitParser |
|
869 |
masterParser := aJavaPetitParser. |
|
870 |
! ! |
|
871 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
872 |
!JavaParserI::MultiLineCommentParser methodsFor:'parsing'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
873 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
874 |
buildNodeFrom: start to: end line: line text: text |
1412 | 875 |
| b | |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
876 |
|
1412 | 877 |
^(b := self builder) notNil ifTrue:[ |
878 |
b start: start stop: end line: line; |
|
879 |
newComment: text. |
|
880 |
] ifFalse:[ |
|
881 |
nil |
|
882 |
] |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
883 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
884 |
"Modified: / 29-12-2010 / 21:29:26 / Jan Kurs <kurs.jan@post.cz>" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
885 |
"Created: / 09-03-2012 / 17:05:39 / 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
|
886 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
887 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
888 |
checkStart: aStream |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
889 |
^ (aStream next: self startSequence size) = self startSequence |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
890 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
891 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
892 |
parseOn:aStream |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
893 |
| literal wasStar line start end | |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
894 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
895 |
wasStar := false. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
896 |
line := aStream lineNumber. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
897 |
start := aStream position + 1. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
898 |
(self checkStart:aStream) ifFalse:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
899 |
^ PPFailure message:self startSequence , ' expected' at:aStream position. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
900 |
]. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
901 |
[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
902 |
aStream atEnd ifTrue:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
903 |
^ PPFailure message:'unexpected end of input' at:aStream position. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
904 |
]. |
1412 | 905 |
literal := aStream next. |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
906 |
wasStar and:[ literal = $/ ] |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
907 |
] whileFalse:[ wasStar := literal = $* ]. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
908 |
end := aStream position. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
909 |
^ self buildNodeFrom: start to: end line: nil text: nil. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
910 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
911 |
"Modified: / 29-12-2010 / 21:29:26 / Jan Kurs <kurs.jan@post.cz>" |
1412 | 912 |
"Modified: / 10-03-2012 / 12:34: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
|
913 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
914 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
915 |
startSequence |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
916 |
^ '/*' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
917 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
918 |
|
1415 | 919 |
!JavaParserI::SingleLineCommentParser methodsFor:'parsing'! |
920 |
||
921 |
parseOn: aStream |
|
922 |
| literal wasStar start end b| |
|
923 |
wasStar := false. |
|
924 |
start := aStream position + 1. |
|
925 |
||
926 |
(aStream next: 2) = '//' ifFalse: [ |
|
927 |
^ PPFailure message: '// expected' at: aStream position. |
|
928 |
]. |
|
929 |
||
930 |
[literal := aStream next. |
|
931 |
literal = (Character cr) or: [ aStream atEnd ] |
|
932 |
] whileFalse. |
|
933 |
end := aStream position. |
|
934 |
||
935 |
^(b := self builder) notNil ifTrue:[ |
|
936 |
b start: start stop: end line: nil; |
|
937 |
newComment: nil. |
|
938 |
] ifFalse:[ |
|
939 |
nil |
|
940 |
] |
|
941 |
||
942 |
"Modified: / 10-03-2012 / 12:19:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
943 |
! ! |
|
944 |
||
945 |
!JavaParserI::BlockParser methodsFor:'accessing'! |
|
946 |
||
947 |
closeBlockChar: anObject |
|
948 |
closeBlockChar := anObject |
|
949 |
! |
|
950 |
||
951 |
openBlockChar: anObject |
|
952 |
openBlockChar := anObject |
|
953 |
! ! |
|
954 |
||
955 |
!JavaParserI::BlockParser methodsFor:'initialization'! |
|
956 |
||
957 |
initialize |
|
958 |
innerBlockCount := 0. |
|
959 |
openBlockChar := ${. |
|
960 |
closeBlockChar := $}. |
|
961 |
! ! |
|
962 |
||
963 |
!JavaParserI::BlockParser methodsFor:'parsing'! |
|
964 |
||
965 |
decInnerBlockCount |
|
966 |
innerBlockCount := innerBlockCount - 1. |
|
967 |
! |
|
968 |
||
969 |
incInnerBlockCount |
|
970 |
innerBlockCount := innerBlockCount + 1. |
|
971 |
! |
|
972 |
||
973 |
parseLoop: aStream |
|
974 |
| literal | |
|
975 |
||
976 |
aStream atEnd ifFalse: |
|
977 |
[ |
|
978 |
literal := aStream uncheckedPeek. |
|
979 |
literal = openBlockChar ifTrue: [ self incInnerBlockCount]. |
|
980 |
literal = closeBlockChar ifTrue: [ self decInnerBlockCount]. |
|
981 |
aStream next. |
|
982 |
^true |
|
983 |
]. |
|
984 |
^false |
|
985 |
! |
|
986 |
||
987 |
parseOn: aStream |
|
1416 | 988 |
|
989 |
| openCount peekC | |
|
1415 | 990 |
|
1416 | 991 |
peekC := aStream uncheckedPeek. |
992 |
peekC ~~ openBlockChar ifTrue:[ |
|
993 |
^ PPFailure message: ('unexpected char (got ', peekC, ' expecting ' , openBlockChar , ')') at: aStream position |
|
994 |
]. |
|
995 |
openCount := 1. |
|
996 |
aStream next. |
|
997 |
[ openCount ~~ 0 ] whileTrue:[ |
|
998 |
aStream atEnd ifTrue:[ |
|
999 |
^ PPFailure message: ('unexpected end of input') at: aStream position |
|
1000 |
]. |
|
1001 |
peekC := aStream next. |
|
1002 |
peekC == openBlockChar ifTrue:[ |
|
1003 |
openCount := openCount + 1 |
|
1004 |
] ifFalse:[ |
|
1005 |
peekC == closeBlockChar ifTrue:[ |
|
1006 |
openCount := openCount - 1 |
|
1007 |
]. |
|
1008 |
]. |
|
1009 |
]. |
|
1010 |
"Should return contents..." |
|
1011 |
^nil |
|
1012 |
||
1013 |
" |
|
1014 |
( BlockParser new trim , ';' asParser trim) parse: '{ } ;' |
|
1015 |
||
1016 |
" |
|
1017 |
||
1018 |
"Modified: / 11-03-2012 / 19:12:27 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1415 | 1019 |
! |
1020 |
||
1021 |
zeroBlockCount |
|
1022 |
^ innerBlockCount = 0 |
|
1023 |
! ! |
|
1024 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
1025 |
!JavaParserI class methodsFor:'documentation'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
1026 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
1027 |
version_SVN |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
1028 |
^ '$Id$' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
1029 |
! ! |