author | vranyj1 |
Sat, 10 Mar 2012 13:18:15 +0000 | |
branch | jk_new_structure |
changeset 1412 | 93b28a7963b0 |
parent 1406 | f2a792802ba8 |
child 1415 | 6b0bbeb08b5a |
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 |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
19 |
octalEscape zeroToThree input operators separators' |
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 |
||
32 |
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
|
33 |
instanceVariableNames:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
34 |
classVariableNames:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
35 |
poolDictionaries:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
36 |
privateIn:JavaParserI |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
37 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
38 |
|
1406 | 39 |
JavaParserI::SubParser subclass:#MultiLineCommentParser |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
46 |
JavaParserI comment:'' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
47 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
48 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
49 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
50 |
!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
|
51 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
52 |
new |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
53 |
"return an initialized instance" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
54 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
55 |
^ self basicNew initialize. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
56 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
57 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
58 |
!JavaParserI class methodsFor:'accessing'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
59 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
60 |
ignoredNames |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
61 |
"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
|
62 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
63 |
| newArray | |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
64 |
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
|
65 |
newArray |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
66 |
replaceFrom: 1 |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
67 |
to: self namesToIgnore size |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
68 |
with: self namesToIgnore. |
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: (self namesToIgnore size + 1) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
71 |
to: newArray size |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
72 |
with: super ignoredNames. |
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 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
75 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
76 |
namesToIgnore |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
77 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
78 |
^#('keywords' 'operators' 'separators') |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
81 |
!JavaParserI methodsFor:'accessing'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
82 |
|
1412 | 83 |
builder |
84 |
||
85 |
^nil |
|
86 |
||
87 |
"Created: / 10-03-2012 / 12:17:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
88 |
! |
|
89 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
90 |
start |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
91 |
"Default start production." |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
92 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
93 |
^ input end |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
94 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
95 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
96 |
!JavaParserI methodsFor:'grammar-comments'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
97 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
98 |
charactersInLine |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
99 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
100 |
^ inputCharacter plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
101 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
102 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
103 |
comment |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
104 |
"traditional -> /* |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
105 |
endOfLine -> //" |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
106 |
^ traditionalComment / endOfLineComment |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
107 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
108 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
109 |
commentTail |
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 |
^ ('*' asParser , commentTailStar ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
112 |
(notStar , commentTail) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
113 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
114 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
115 |
commentTailStar |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
116 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
117 |
^ ('/' asParser ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
118 |
('*' asParser , commentTailStar ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
119 |
(notStarNotSlash , commentTail ) |
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 |
endOfLineComment |
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 |
^ (SingleLineCommentParser for: self) trim |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
125 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
126 |
"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
|
127 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
128 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
129 |
notStar |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
130 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
131 |
^ lineTerminator / ('*' asParser not , inputCharacter) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
132 |
! |
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 |
notStarNotSlash |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
135 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
136 |
^ 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
|
137 |
! |
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 |
traditionalComment |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
140 |
|
1412 | 141 |
^ (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
|
142 |
|
1412 | 143 |
"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
|
144 |
! ! |
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 |
!JavaParserI methodsFor:'grammar-identifiers'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
147 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
148 |
identifier |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
149 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
150 |
^ 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
|
151 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
152 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
153 |
identifierChars |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
154 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
155 |
^ javaLetter plus , javaLetterOrDigit star |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
156 |
! |
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 |
javaLetter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
159 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
160 |
^ (#letter asParser) / (PPPredicateObjectParser anyOf: '_$') |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
161 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
162 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
163 |
javaLetterOrDigit |
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 |
^ javaLetter / (#digit asParser) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
166 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
167 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
168 |
!JavaParserI methodsFor:'grammar-input'! |
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 |
input |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
171 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
172 |
^ (inputElements optional) , (sub optional) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
173 |
! |
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 |
inputElement |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
176 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
177 |
^ whiteSpace / comment / javaToken |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
178 |
! |
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 |
inputElements |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
181 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
182 |
^ inputElement plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
183 |
! |
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 |
javaToken |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
186 |
"/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
|
187 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
188 |
^ 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
|
189 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
190 |
"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
|
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 |
sub |
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 |
^ (Character value: 26) asParser |
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 |
!JavaParserI methodsFor:'grammar-keywords'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
199 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
200 |
keyword |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
201 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
202 |
| keywordParsers keywordParser | |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
203 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
204 |
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
|
205 |
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
|
206 |
keywordParser := nil. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
207 |
keywordParsers do:[:each| |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
208 |
keywordParser notNil ifTrue:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
209 |
keywordParser := keywordParser / each |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
210 |
] ifFalse:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
211 |
keywordParser := each |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
212 |
] |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
213 |
]. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
214 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
215 |
^ "self asToken: "keywordParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
216 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
217 |
"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
|
218 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
219 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
220 |
operator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
221 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
222 |
| operatorParsers operatorParser | |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
223 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
224 |
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
|
225 |
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
|
226 |
operatorParser := nil. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
227 |
operatorParsers do:[:each| |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
228 |
operatorParser notNil ifTrue:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
229 |
operatorParser := operatorParser / each |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
230 |
] ifFalse:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
231 |
operatorParser := each |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
232 |
] |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
233 |
]. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
234 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
235 |
^ "self asToken: "operatorParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
236 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
237 |
"Modified: / 09-03-2012 / 20:50:35 / 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
|
238 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
239 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
240 |
!JavaParserI methodsFor:'grammar-lineTerminators'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
241 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
242 |
inputCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
243 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
244 |
^(lineTerminator not) , unicodeInputCharacter ==> #second |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
245 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
246 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
247 |
lineTerminator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
248 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
249 |
^ (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
|
250 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
251 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
252 |
!JavaParserI methodsFor:'grammar-literals'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
253 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
254 |
literal |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
255 |
"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
|
256 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
257 |
^" 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
|
258 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
259 |
"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
|
260 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
261 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
262 |
!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
|
263 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
264 |
booleanLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
265 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
266 |
^ ('true' asParser) / ('false' asParser) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
267 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
268 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
269 |
!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
|
270 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
271 |
characterLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
272 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
273 |
^ $' asParser , ( escapeSequence / singleCharacter ), $' asParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
274 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
275 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
276 |
singleCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
277 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
278 |
^( 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
|
279 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
280 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
281 |
!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
|
282 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
283 |
escapeSequence |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
284 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
285 |
^ ($\ asParser , (PPPredicateObjectParser anyOf: 'btnfr""''\' ) ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
286 |
octalEscape |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
287 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
288 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
289 |
octalEscape |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
290 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
291 |
^ $\ 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
|
292 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
293 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
294 |
zeroToThree |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
295 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
296 |
^PPPredicateObjectParser anyOf: '0123' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
297 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
298 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
299 |
!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
|
300 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
301 |
binaryExponent |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
302 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
303 |
^ binaryExponentIndicator , signedInteger |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
304 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
305 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
306 |
binaryExponentIndicator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
307 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
308 |
^ PPPredicateObjectParser anyOf: 'pP' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
309 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
310 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
311 |
decimalFloatingPointLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
312 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
313 |
|dot| |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
314 |
dot := $. asParser. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
315 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
316 |
^ ( ( (dot , digits) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
317 |
/ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
318 |
(digits , dot , digits optional)) , |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
319 |
exponentPart optional , floatTypeSuffix optional ) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
320 |
/ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
321 |
(digits , |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
322 |
( (exponentPart , floatTypeSuffix optional) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
323 |
/ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
324 |
(exponentPart optional , floatTypeSuffix) )) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
325 |
! |
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 |
exponentIndicator |
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 |
^ PPPredicateObjectParser anyOf: 'eE' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
330 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
331 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
332 |
exponentPart |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
333 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
334 |
^ exponentIndicator , signedInteger |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
335 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
336 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
337 |
floatTypeSuffix |
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 |
^ PPPredicateObjectParser anyOf: 'fFdD' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
340 |
! |
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 |
floatingPointLiteral |
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 |
^ hexadecimalFloatingPointLiteral / decimalFloatingPointLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
345 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
346 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
347 |
hexSignificand |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
348 |
|dot| |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
349 |
dot := $. asParser. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
350 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
351 |
^ (hexNumeral , dot optional) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
352 |
($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
|
353 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
354 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
355 |
hexadecimalFloatingPointLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
356 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
357 |
^ hexSignificand , binaryExponent , floatTypeSuffix optional |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
360 |
sign |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
361 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
362 |
^PPPredicateObjectParser anyOf: '-+' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
363 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
364 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
365 |
signedInteger |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
366 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
367 |
^ sign optional , digits |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
368 |
! ! |
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 |
!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
|
371 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
372 |
decimalIntegerLiteral |
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 |
^ decimalNumeral , (integerTypeSuffix optional) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
375 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
376 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
377 |
decimalNumeral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
378 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
379 |
^($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
|
380 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
381 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
382 |
digits |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
383 |
"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
|
384 |
^#digit asParser plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
385 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
386 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
387 |
hexDigits |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
388 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
389 |
^hexDigit plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
390 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
391 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
392 |
hexIntegerLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
393 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
394 |
^ hexNumeral , (integerTypeSuffix optional) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
395 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
396 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
397 |
hexNumeral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
398 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
399 |
^$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
|
400 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
401 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
402 |
integerLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
403 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
404 |
^ hexIntegerLiteral / octalIntegerLiteral / decimalIntegerLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
405 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
406 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
407 |
integerTypeSuffix |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
408 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
409 |
^ PPPredicateObjectParser anyOf: 'lL' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
410 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
411 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
412 |
nonZeroDigit |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
413 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
414 |
^PPPredicateObjectParser anyOf: '123456789'. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
415 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
416 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
417 |
octalDigit |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
418 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
419 |
^PPPredicateObjectParser anyOf: '01234567' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
420 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
421 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
422 |
octalDigits |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
423 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
424 |
^ octalDigit plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
425 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
426 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
427 |
octalIntegerLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
428 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
429 |
^ octalNumeral , (integerTypeSuffix optional) |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
430 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
431 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
432 |
octalNumeral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
433 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
434 |
^($0 asParser) , octalDigits |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
435 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
436 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
437 |
!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
|
438 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
439 |
nullLiteral |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
440 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
441 |
^ 'null' asParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
442 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
443 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
444 |
!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
|
445 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
446 |
stringCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
447 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
448 |
^ ( ( 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
|
449 |
escapeSequence |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
450 |
! |
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 |
stringCharacters |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
453 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
454 |
^ stringCharacter plus |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
455 |
! |
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 |
stringLiteral |
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 |
^ $" asParser , stringCharacters optional , $" asParser |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
460 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
461 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
462 |
!JavaParserI methodsFor:'grammar-separators'! |
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 |
separator |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
465 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
466 |
"should it be: |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
467 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
468 |
| separatorParsers | |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
469 |
separatorParsers := separators keysSortedSafely |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
470 |
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
|
471 |
^ (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
|
472 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
473 |
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
|
474 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
475 |
^"self asToken: "(PPPredicateObjectParser anyOf: '(){}[];,.' ) |
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 |
"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
|
478 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
479 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
480 |
!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
|
481 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
482 |
hexDigit |
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 |
^#hex asParser |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
487 |
rawInputCharacter |
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 |
^#any asParser |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
492 |
unicodeEscape |
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 |
^ $\ 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
|
495 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
496 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
497 |
unicodeInputCharacter |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
498 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
499 |
^ unicodeEscape / rawInputCharacter |
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 |
unicodeMarker |
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 |
^$u asParser plus |
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 |
!JavaParserI methodsFor:'grammar-whiteSpace'! |
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 |
whiteSpace |
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 |
^ (Character space asParser ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
512 |
(Character tab asParser ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
513 |
((Character value: 12) asParser ) / |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
514 |
lineTerminator |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
517 |
!JavaParserI methodsFor:'initialization'! |
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 |
initialize |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
520 |
|
1412 | 521 |
super initialize. |
522 |
"/self initializeStartingAt: #start. |
|
523 |
||
524 |
self initializeKeywords. |
|
525 |
self initializeOperators. |
|
526 |
self initializeSeparators. |
|
527 |
||
528 |
"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
|
529 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
530 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
531 |
initializeKeywords |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
532 |
|
1412 | 533 |
| values | |
534 |
keywords := Dictionary new. |
|
535 |
values := #('abstract' 'assert' 'boolean' 'break' 'byte' 'case' 'catch' 'char' 'class' 'const' |
|
536 |
'continue' 'default' 'do' 'double' 'else' 'enum' 'extends' 'final' 'finally' 'float' |
|
537 |
'for' 'if' 'goto' 'implements' 'import' 'instanceof' 'int' 'interface' 'long' 'native' |
|
538 |
'new' 'package' 'private' 'protected' 'public' 'return' 'short' 'static' 'strictfp' 'super' |
|
539 |
'switch' 'synchronized' 'this' 'throw' 'throws' 'transient' 'try' 'void' 'volatile' 'while'). |
|
540 |
||
541 |
values do: [:eachKeyword | |
|
542 |
keywords at: eachKeyword |
|
543 |
put: (PPUnresolvedParser named: ('keyword', eachKeyword first asUppercase asString , eachKeyword allButFirst)) |
|
544 |
]. |
|
545 |
||
546 |
keywords keysAndValuesDo: [:key :value | |
|
547 |
(keywords at: key) def: key asParser trim |
|
548 |
] |
|
549 |
||
550 |
"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
|
551 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
552 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
553 |
initializeOperators |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
554 |
|
1412 | 555 |
| values | |
556 |
operators := Dictionary new. |
|
557 |
values := #( '>>>=' '>>>' '>>=' '>>' '>=' '>' '<<=' '<<' '<=' '<' '++' '+=' '+' '--' '-=' '-' '&&' '&=' '&' |
|
558 |
'||' '|=' '|' '*=' '*' '%=' '%' '/=' '/' '^=' '^' '!!=' '!!' '==' '=' '~' '?' ':' '@' ). |
|
559 |
||
560 |
values do: [:eachOperator | |
|
561 |
operators at: eachOperator |
|
562 |
put: (PPUnresolvedParser named: ('operator', eachOperator asString)) |
|
563 |
]. |
|
564 |
||
565 |
operators keysAndValuesDo: [:key :value | |
|
566 |
(operators at: key) def: (key asParser trim)] |
|
567 |
||
568 |
"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
|
569 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
570 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
571 |
initializeSeparators |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
572 |
|
1412 | 573 |
| values | |
574 |
separators := Dictionary new. |
|
575 |
values := #( '(' ')' '{' '}' '[' ']' ';' ',' '.' ). |
|
576 |
||
577 |
values do: [:eachSeparator | |
|
578 |
separators at: eachSeparator |
|
579 |
put: (PPUnresolvedParser named: ('separator', eachSeparator asString)) |
|
580 |
]. |
|
581 |
||
582 |
separators keysAndValuesDo: [:key :value | |
|
583 |
(separators at: key) def: (key asParser trim)] |
|
584 |
||
585 |
"Modified: / 10-03-2012 / 13:16:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
586 |
! ! |
|
587 |
||
588 |
!JavaParserI methodsFor:'querying'! |
|
589 |
||
590 |
productionAt: aSymbol ifAbsent: aBlock |
|
591 |
"Answer the production named aSymbol, if there is no such production answer the result of evaluating aBlock." |
|
592 |
||
593 |
parser isNil ifTrue:[ |
|
594 |
self initializeStartingAt: aSymbol. |
|
595 |
]. |
|
596 |
^super productionAt: aSymbol ifAbsent: aBlock |
|
597 |
||
598 |
"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
|
599 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
600 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
601 |
!JavaParserI methodsFor:'utility'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
602 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
603 |
asToken: aParser |
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 |
^aParser "javaToken" |
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 |
"Modified: / 09-03-2012 / 20:50:42 / 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
|
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 |
emptySquaredParenthesis |
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 |
^ self asToken: (((self tokenFor: '['), (self tokenFor: ']'))) |
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 |
tokenFor: aString |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
616 |
|
1412 | 617 |
| p | |
618 |
||
619 |
p := keywords at: aString ifAbsent:[nil]. |
|
620 |
p notNil ifTrue:[ ^ self asToken: p ]. |
|
621 |
||
622 |
p := operators at: aString ifAbsent:[nil]. |
|
623 |
p notNil ifTrue:[ ^ self asToken: p ]. |
|
624 |
||
625 |
p := separators at: aString ifAbsent:[nil]. |
|
626 |
p notNil ifTrue:[ ^ self asToken: p ]. |
|
627 |
||
628 |
self error: 'Should not be reached' |
|
629 |
||
630 |
"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
|
631 |
! ! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
632 |
|
1406 | 633 |
!JavaParserI::SubParser class methodsFor:'instance creation'! |
634 |
||
635 |
for: masterParser |
|
636 |
||
637 |
^self new masterParser: masterParser |
|
638 |
||
639 |
"Created: / 09-03-2012 / 16:59:02 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
640 |
! ! |
|
641 |
||
642 |
!JavaParserI::SubParser methodsFor:'accessing'! |
|
643 |
||
644 |
builder |
|
645 |
^masterParser builder |
|
646 |
||
647 |
"Created: / 09-03-2012 / 16:58:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
648 |
! |
|
649 |
||
650 |
masterParser |
|
651 |
^ masterParser |
|
652 |
! |
|
653 |
||
654 |
masterParser:aJavaPetitParser |
|
655 |
masterParser := aJavaPetitParser. |
|
656 |
! ! |
|
657 |
||
658 |
!JavaParserI::SingleLineCommentParser methodsFor:'parsing'! |
|
659 |
||
660 |
parseOn: aStream |
|
1412 | 661 |
| literal wasStar start end b| |
662 |
wasStar := false. |
|
663 |
start := aStream position + 1. |
|
664 |
||
665 |
(aStream next: 2) = '//' ifFalse: [ |
|
666 |
^ PPFailure message: '// expected' at: aStream position. |
|
667 |
]. |
|
668 |
||
669 |
[literal := aStream next. |
|
670 |
literal = (Character cr) or: [ aStream atEnd ] |
|
671 |
] whileFalse. |
|
672 |
end := aStream position. |
|
673 |
||
674 |
^(b := self builder) notNil ifTrue:[ |
|
675 |
b start: start stop: end line: nil; |
|
676 |
newComment: nil. |
|
677 |
] ifFalse:[ |
|
678 |
nil |
|
679 |
] |
|
1406 | 680 |
|
1412 | 681 |
"Modified: / 10-03-2012 / 12:19:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1406 | 682 |
! ! |
683 |
||
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
684 |
!JavaParserI::MultiLineCommentParser methodsFor:'parsing'! |
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 |
buildNodeFrom: start to: end line: line text: text |
1412 | 687 |
| b | |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
688 |
|
1412 | 689 |
^(b := self builder) notNil ifTrue:[ |
690 |
b start: start stop: end line: line; |
|
691 |
newComment: text. |
|
692 |
] ifFalse:[ |
|
693 |
nil |
|
694 |
] |
|
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
695 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
696 |
"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
|
697 |
"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
|
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 |
checkStart: aStream |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
701 |
^ (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
|
702 |
! |
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 |
parseOn:aStream |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
705 |
| 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
|
706 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
707 |
wasStar := false. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
708 |
line := aStream lineNumber. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
709 |
start := aStream position + 1. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
710 |
(self checkStart:aStream) ifFalse:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
711 |
^ 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
|
712 |
]. |
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 |
aStream atEnd ifTrue:[ |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
715 |
^ 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
|
716 |
]. |
1412 | 717 |
literal := aStream next. |
1403
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
718 |
wasStar and:[ literal = $/ ] |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
719 |
] whileFalse:[ wasStar := literal = $* ]. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
720 |
end := aStream position. |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
721 |
^ 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
|
722 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
723 |
"Modified: / 29-12-2010 / 21:29:26 / Jan Kurs <kurs.jan@post.cz>" |
1412 | 724 |
"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
|
725 |
! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
726 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
727 |
startSequence |
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 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
731 |
!JavaParserI class methodsFor:'documentation'! |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
732 |
|
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
733 |
version_SVN |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
734 |
^ '$Id$' |
1740f7ba7015
Some refactoring in Java parser and highlighter - full Java parser based on PetitParser checked in
vranyj1
parents:
diff
changeset
|
735 |
! ! |