aboutsummaryrefslogtreecommitdiff
path: root/src/monkey/seaspider/org/gnunet/seaspider/parser/visitors/GJDepthFirst.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/monkey/seaspider/org/gnunet/seaspider/parser/visitors/GJDepthFirst.java')
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/parser/visitors/GJDepthFirst.java837
1 files changed, 837 insertions, 0 deletions
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/parser/visitors/GJDepthFirst.java b/src/monkey/seaspider/org/gnunet/seaspider/parser/visitors/GJDepthFirst.java
new file mode 100644
index 000000000..2ac3fd812
--- /dev/null
+++ b/src/monkey/seaspider/org/gnunet/seaspider/parser/visitors/GJDepthFirst.java
@@ -0,0 +1,837 @@
1//
2// Generated by JTB 1.3.2
3//
4
5package org.gnunet.seaspider.parser.visitors;
6import org.gnunet.seaspider.parser.nodes.*;
7
8import java.util.*;
9
10/**
11 * Provides default methods which visit each node in the tree in depth-first
12 * order. Your visitors may extend this class.
13 */
14public class GJDepthFirst<R,A> implements GJVisitor<R,A> {
15 //
16 // Auto class visitors--probably don't need to be overridden.
17 //
18 public R visit(NodeList n, A argu) {
19 R _ret=null;
20 int _count=0;
21 for ( Enumeration<Node> e = n.elements(); e.hasMoreElements(); ) {
22 e.nextElement().accept(this,argu);
23 _count++;
24 }
25 return _ret;
26 }
27
28 public R visit(NodeListOptional n, A argu) {
29 if ( n.present() ) {
30 R _ret=null;
31 int _count=0;
32 for ( Enumeration<Node> e = n.elements(); e.hasMoreElements(); ) {
33 e.nextElement().accept(this,argu);
34 _count++;
35 }
36 return _ret;
37 }
38 else
39 return null;
40 }
41
42 public R visit(NodeOptional n, A argu) {
43 if ( n.present() )
44 return n.node.accept(this,argu);
45 else
46 return null;
47 }
48
49 public R visit(NodeSequence n, A argu) {
50 R _ret=null;
51 int _count=0;
52 for ( Enumeration<Node> e = n.elements(); e.hasMoreElements(); ) {
53 e.nextElement().accept(this,argu);
54 _count++;
55 }
56 return _ret;
57 }
58
59 public R visit(NodeToken n, A argu) { return null; }
60
61 //
62 // User-generated visitor methods below
63 //
64
65 /**
66 * <PRE>
67 * f0 -> ( ExternalDeclaration() )+
68 * </PRE>
69 */
70 public R visit(TranslationUnit n, A argu) {
71 R _ret=null;
72 n.f0.accept(this, argu);
73 return _ret;
74 }
75
76 /**
77 * <PRE>
78 * f0 -> ( StorageClassSpecifier() )*
79 * f1 -> ( FunctionDeclaration() | StructOrUnionSpecifier() | VariableDeclaration() | TypeDeclaration() )
80 * </PRE>
81 */
82 public R visit(ExternalDeclaration n, A argu) {
83 R _ret=null;
84 n.f0.accept(this, argu);
85 n.f1.accept(this, argu);
86 return _ret;
87 }
88
89 /**
90 * <PRE>
91 * f0 -> TypeSpecifier()
92 * f1 -> &lt;IDENTIFIER&gt;
93 * f2 -> "("
94 * f3 -> [ ParameterList() ]
95 * f4 -> ")"
96 * f5 -> ( ";" | CompoundStatement() )
97 * </PRE>
98 */
99 public R visit(FunctionDeclaration n, A argu) {
100 R _ret=null;
101 n.f0.accept(this, argu);
102 n.f1.accept(this, argu);
103 n.f2.accept(this, argu);
104 n.f3.accept(this, argu);
105 n.f4.accept(this, argu);
106 n.f5.accept(this, argu);
107 return _ret;
108 }
109
110 /**
111 * <PRE>
112 * f0 -> ( &lt;STATIC&gt; | &lt;EXTERN&gt; )
113 * </PRE>
114 */
115 public R visit(StorageClassSpecifier n, A argu) {
116 R _ret=null;
117 n.f0.accept(this, argu);
118 return _ret;
119 }
120
121 /**
122 * <PRE>
123 * f0 -> &lt;TYPEDEF&gt;
124 * f1 -> ( DataType() | FunctionType() )
125 * f2 -> ";"
126 * </PRE>
127 */
128 public R visit(TypeDeclaration n, A argu) {
129 R _ret=null;
130 n.f0.accept(this, argu);
131 n.f1.accept(this, argu);
132 n.f2.accept(this, argu);
133 return _ret;
134 }
135
136 /**
137 * <PRE>
138 * f0 -> StructOrUnionSpecifier()
139 * f1 -> &lt;IDENTIFIER&gt;
140 * </PRE>
141 */
142 public R visit(DataType n, A argu) {
143 R _ret=null;
144 n.f0.accept(this, argu);
145 n.f1.accept(this, argu);
146 return _ret;
147 }
148
149 /**
150 * <PRE>
151 * f0 -> TypeSpecifier()
152 * f1 -> "("
153 * f2 -> "*"
154 * f3 -> &lt;IDENTIFIER&gt;
155 * f4 -> ")"
156 * f5 -> "("
157 * f6 -> [ ParameterList() ]
158 * f7 -> ")"
159 * </PRE>
160 */
161 public R visit(FunctionType n, A argu) {
162 R _ret=null;
163 n.f0.accept(this, argu);
164 n.f1.accept(this, argu);
165 n.f2.accept(this, argu);
166 n.f3.accept(this, argu);
167 n.f4.accept(this, argu);
168 n.f5.accept(this, argu);
169 n.f6.accept(this, argu);
170 n.f7.accept(this, argu);
171 return _ret;
172 }
173
174 /**
175 * <PRE>
176 * f0 -> ParameterDeclaration()
177 * f1 -> ( "," ParameterDeclaration() )*
178 * f2 -> [ "," "..." ]
179 * </PRE>
180 */
181 public R visit(ParameterList n, A argu) {
182 R _ret=null;
183 n.f0.accept(this, argu);
184 n.f1.accept(this, argu);
185 n.f2.accept(this, argu);
186 return _ret;
187 }
188
189 /**
190 * <PRE>
191 * f0 -> TypeSpecifier()
192 * f1 -> &lt;IDENTIFIER&gt;
193 * f2 -> [ Array() ]
194 * </PRE>
195 */
196 public R visit(ParameterDeclaration n, A argu) {
197 R _ret=null;
198 n.f0.accept(this, argu);
199 n.f1.accept(this, argu);
200 n.f2.accept(this, argu);
201 return _ret;
202 }
203
204 /**
205 * <PRE>
206 * f0 -> VariableClassSpecifier()
207 * f1 -> TypeSpecifier()
208 * f2 -> InitDeclaratorList()
209 * f3 -> ";"
210 * </PRE>
211 */
212 public R visit(VariableDeclaration n, A argu) {
213 R _ret=null;
214 n.f0.accept(this, argu);
215 n.f1.accept(this, argu);
216 n.f2.accept(this, argu);
217 n.f3.accept(this, argu);
218 return _ret;
219 }
220
221 /**
222 * <PRE>
223 * f0 -> [ &lt;STATIC&gt; ]
224 * f1 -> VariableDeclaration()
225 * </PRE>
226 */
227 public R visit(LocalVariableDeclaration n, A argu) {
228 R _ret=null;
229 n.f0.accept(this, argu);
230 n.f1.accept(this, argu);
231 return _ret;
232 }
233
234 /**
235 * <PRE>
236 * f0 -> ( &lt;AUTO&gt; | &lt;REGISTER&gt; )*
237 * </PRE>
238 */
239 public R visit(VariableClassSpecifier n, A argu) {
240 R _ret=null;
241 n.f0.accept(this, argu);
242 return _ret;
243 }
244
245 /**
246 * <PRE>
247 * f0 -> [ &lt;CONST&gt; ]
248 * f1 -> ( &lt;VOID&gt; | &lt;CHAR&gt; | &lt;SHORT&gt; [ &lt;INT&gt; ] | &lt;INT&gt; | &lt;LONG&gt; [ &lt;LONG&gt; ] | &lt;FLOAT&gt; | &lt;DOUBLE&gt; | ( &lt;SIGNED&gt; | &lt;UNSIGNED&gt; ) [ &lt;CHAR&gt; | &lt;SHORT&gt; [ &lt;INT&gt; ] | &lt;INT&gt; | &lt;LONG&gt; [ &lt;LONG&gt; ] ] | StructOrUnionSpecifier() | EnumSpecifier() | &lt;IDENTIFIER&gt; )
249 * f2 -> [ Pointer() ]
250 * f3 -> [ Array() ]
251 * </PRE>
252 */
253 public R visit(TypeSpecifier n, A argu) {
254 R _ret=null;
255 n.f0.accept(this, argu);
256 n.f1.accept(this, argu);
257 n.f2.accept(this, argu);
258 n.f3.accept(this, argu);
259 return _ret;
260 }
261
262 /**
263 * <PRE>
264 * f0 -> [ &lt;CONST&gt; ]
265 * f1 -> ( &lt;VOID&gt; | &lt;CHAR&gt; | &lt;SHORT&gt; [ &lt;INT&gt; ] | &lt;INT&gt; | &lt;LONG&gt; [ &lt;LONG&gt; ] | &lt;FLOAT&gt; | &lt;DOUBLE&gt; | ( &lt;SIGNED&gt; | &lt;UNSIGNED&gt; ) [ &lt;CHAR&gt; | &lt;SHORT&gt; [ &lt;INT&gt; ] | &lt;INT&gt; | &lt;LONG&gt; [ &lt;LONG&gt; ] ] | StructOrUnionSpecifier() | EnumSpecifier() )
266 * f2 -> [ Pointer() ]
267 * f3 -> [ Array() ]
268 * </PRE>
269 */
270 public R visit(NoIdentifierTypeSpecifier n, A argu) {
271 R _ret=null;
272 n.f0.accept(this, argu);
273 n.f1.accept(this, argu);
274 n.f2.accept(this, argu);
275 n.f3.accept(this, argu);
276 return _ret;
277 }
278
279 /**
280 * <PRE>
281 * f0 -> StructOrUnion() [ &lt;IDENTIFIER&gt; ] "{" StructDeclarationList() "}"
282 * | StructOrUnion() &lt;IDENTIFIER&gt;
283 * </PRE>
284 */
285 public R visit(StructOrUnionSpecifier n, A argu) {
286 R _ret=null;
287 n.f0.accept(this, argu);
288 return _ret;
289 }
290
291 /**
292 * <PRE>
293 * f0 -> ( &lt;STRUCT&gt; | &lt;UNION&gt; )
294 * </PRE>
295 */
296 public R visit(StructOrUnion n, A argu) {
297 R _ret=null;
298 n.f0.accept(this, argu);
299 return _ret;
300 }
301
302 /**
303 * <PRE>
304 * f0 -> ( StructDeclaration() )+
305 * </PRE>
306 */
307 public R visit(StructDeclarationList n, A argu) {
308 R _ret=null;
309 n.f0.accept(this, argu);
310 return _ret;
311 }
312
313 /**
314 * <PRE>
315 * f0 -> InitDeclarator()
316 * f1 -> ( "," InitDeclarator() )*
317 * </PRE>
318 */
319 public R visit(InitDeclaratorList n, A argu) {
320 R _ret=null;
321 n.f0.accept(this, argu);
322 n.f1.accept(this, argu);
323 return _ret;
324 }
325
326 /**
327 * <PRE>
328 * f0 -> &lt;IDENTIFIER&gt;
329 * f1 -> [ Array() ]
330 * f2 -> [ "=" Initializer() ]
331 * </PRE>
332 */
333 public R visit(InitDeclarator n, A argu) {
334 R _ret=null;
335 n.f0.accept(this, argu);
336 n.f1.accept(this, argu);
337 n.f2.accept(this, argu);
338 return _ret;
339 }
340
341 /**
342 * <PRE>
343 * f0 -> TypeSpecifier()
344 * f1 -> &lt;IDENTIFIER&gt;
345 * f2 -> [ Array() | ":" ConstantExpression() ]
346 * f3 -> [ &lt;IDENTIFIER&gt; ]
347 * f4 -> ";"
348 * </PRE>
349 */
350 public R visit(StructDeclaration n, A argu) {
351 R _ret=null;
352 n.f0.accept(this, argu);
353 n.f1.accept(this, argu);
354 n.f2.accept(this, argu);
355 n.f3.accept(this, argu);
356 n.f4.accept(this, argu);
357 return _ret;
358 }
359
360 /**
361 * <PRE>
362 * f0 -> &lt;ENUM&gt;
363 * f1 -> ( [ &lt;IDENTIFIER&gt; ] "{" EnumeratorList() "}" | &lt;IDENTIFIER&gt; )
364 * </PRE>
365 */
366 public R visit(EnumSpecifier n, A argu) {
367 R _ret=null;
368 n.f0.accept(this, argu);
369 n.f1.accept(this, argu);
370 return _ret;
371 }
372
373 /**
374 * <PRE>
375 * f0 -> Enumerator()
376 * f1 -> ( "," Enumerator() )*
377 * </PRE>
378 */
379 public R visit(EnumeratorList n, A argu) {
380 R _ret=null;
381 n.f0.accept(this, argu);
382 n.f1.accept(this, argu);
383 return _ret;
384 }
385
386 /**
387 * <PRE>
388 * f0 -> &lt;IDENTIFIER&gt;
389 * f1 -> [ "=" ConstantExpression() ]
390 * </PRE>
391 */
392 public R visit(Enumerator n, A argu) {
393 R _ret=null;
394 n.f0.accept(this, argu);
395 n.f1.accept(this, argu);
396 return _ret;
397 }
398
399 /**
400 * <PRE>
401 * f0 -> "*"
402 * f1 -> [ &lt;CONST&gt; ]
403 * f2 -> [ Pointer() ]
404 * </PRE>
405 */
406 public R visit(Pointer n, A argu) {
407 R _ret=null;
408 n.f0.accept(this, argu);
409 n.f1.accept(this, argu);
410 n.f2.accept(this, argu);
411 return _ret;
412 }
413
414 /**
415 * <PRE>
416 * f0 -> &lt;IDENTIFIER&gt;
417 * f1 -> ( "," &lt;IDENTIFIER&gt; )*
418 * </PRE>
419 */
420 public R visit(IdentifierList n, A argu) {
421 R _ret=null;
422 n.f0.accept(this, argu);
423 n.f1.accept(this, argu);
424 return _ret;
425 }
426
427 /**
428 * <PRE>
429 * f0 -> ( AssignmentExpression() | "{" InitializerList() [ "," ] "}" )
430 * </PRE>
431 */
432 public R visit(Initializer n, A argu) {
433 R _ret=null;
434 n.f0.accept(this, argu);
435 return _ret;
436 }
437
438 /**
439 * <PRE>
440 * f0 -> Initializer()
441 * f1 -> ( "," Initializer() )*
442 * </PRE>
443 */
444 public R visit(InitializerList n, A argu) {
445 R _ret=null;
446 n.f0.accept(this, argu);
447 n.f1.accept(this, argu);
448 return _ret;
449 }
450
451 /**
452 * <PRE>
453 * f0 -> "["
454 * f1 -> [ ConstantExpression() ]
455 * f2 -> "]"
456 * </PRE>
457 */
458 public R visit(Array n, A argu) {
459 R _ret=null;
460 n.f0.accept(this, argu);
461 n.f1.accept(this, argu);
462 n.f2.accept(this, argu);
463 return _ret;
464 }
465
466 /**
467 * <PRE>
468 * f0 -> ( LabeledStatement() | ExpressionStatement() | CompoundStatement() | SelectionStatement() | IterationStatement() | JumpStatement() )
469 * </PRE>
470 */
471 public R visit(Statement n, A argu) {
472 R _ret=null;
473 n.f0.accept(this, argu);
474 return _ret;
475 }
476
477 /**
478 * <PRE>
479 * f0 -> ( &lt;IDENTIFIER&gt; ":" Statement() | &lt;CASE&gt; ConstantExpression() ":" Statement() | &lt;DFLT&gt; ":" Statement() )
480 * </PRE>
481 */
482 public R visit(LabeledStatement n, A argu) {
483 R _ret=null;
484 n.f0.accept(this, argu);
485 return _ret;
486 }
487
488 /**
489 * <PRE>
490 * f0 -> [ Expression() ]
491 * f1 -> ";"
492 * </PRE>
493 */
494 public R visit(ExpressionStatement n, A argu) {
495 R _ret=null;
496 n.f0.accept(this, argu);
497 n.f1.accept(this, argu);
498 return _ret;
499 }
500
501 /**
502 * <PRE>
503 * f0 -> "{"
504 * f1 -> ( LocalVariableDeclaration() | Statement() )*
505 * f2 -> "}"
506 * </PRE>
507 */
508 public R visit(CompoundStatement n, A argu) {
509 R _ret=null;
510 n.f0.accept(this, argu);
511 n.f1.accept(this, argu);
512 n.f2.accept(this, argu);
513 return _ret;
514 }
515
516 /**
517 * <PRE>
518 * f0 -> ( &lt;IF&gt; "(" Expression() ")" Statement() [ &lt;ELSE&gt; Statement() ] | &lt;SWITCH&gt; "(" Expression() ")" Statement() )
519 * </PRE>
520 */
521 public R visit(SelectionStatement n, A argu) {
522 R _ret=null;
523 n.f0.accept(this, argu);
524 return _ret;
525 }
526
527 /**
528 * <PRE>
529 * f0 -> ( &lt;WHILE&gt; "(" Expression() ")" Statement() | &lt;DO&gt; Statement() &lt;WHILE&gt; "(" Expression() ")" ";" | &lt;FOR&gt; "(" [ Expression() ] ";" [ Expression() ] ";" [ Expression() ] ")" Statement() )
530 * </PRE>
531 */
532 public R visit(IterationStatement n, A argu) {
533 R _ret=null;
534 n.f0.accept(this, argu);
535 return _ret;
536 }
537
538 /**
539 * <PRE>
540 * f0 -> ( &lt;GOTO&gt; &lt;IDENTIFIER&gt; ";" | &lt;CONTINUE&gt; ";" | &lt;BREAK&gt; ";" | &lt;RETURN&gt; [ Expression() ] ";" )
541 * </PRE>
542 */
543 public R visit(JumpStatement n, A argu) {
544 R _ret=null;
545 n.f0.accept(this, argu);
546 return _ret;
547 }
548
549 /**
550 * <PRE>
551 * f0 -> AssignmentExpression()
552 * f1 -> ( "," AssignmentExpression() )*
553 * </PRE>
554 */
555 public R visit(Expression n, A argu) {
556 R _ret=null;
557 n.f0.accept(this, argu);
558 n.f1.accept(this, argu);
559 return _ret;
560 }
561
562 /**
563 * <PRE>
564 * f0 -> UnaryExpression() AssignmentOperator() AssignmentExpression()
565 * | ConditionalExpression()
566 * </PRE>
567 */
568 public R visit(AssignmentExpression n, A argu) {
569 R _ret=null;
570 n.f0.accept(this, argu);
571 return _ret;
572 }
573
574 /**
575 * <PRE>
576 * f0 -> ( "=" | "*=" | "/=" | "%=" | "+=" | "-=" | "&lt;&lt;=" | "&gt;&gt;=" | "&=" | "^=" | "|=" )
577 * </PRE>
578 */
579 public R visit(AssignmentOperator n, A argu) {
580 R _ret=null;
581 n.f0.accept(this, argu);
582 return _ret;
583 }
584
585 /**
586 * <PRE>
587 * f0 -> LogicalORExpression()
588 * f1 -> [ "?" Expression() ":" ConditionalExpression() ]
589 * </PRE>
590 */
591 public R visit(ConditionalExpression n, A argu) {
592 R _ret=null;
593 n.f0.accept(this, argu);
594 n.f1.accept(this, argu);
595 return _ret;
596 }
597
598 /**
599 * <PRE>
600 * f0 -> ConditionalExpression()
601 * </PRE>
602 */
603 public R visit(ConstantExpression n, A argu) {
604 R _ret=null;
605 n.f0.accept(this, argu);
606 return _ret;
607 }
608
609 /**
610 * <PRE>
611 * f0 -> LogicalANDExpression()
612 * f1 -> [ "||" LogicalORExpression() ]
613 * </PRE>
614 */
615 public R visit(LogicalORExpression n, A argu) {
616 R _ret=null;
617 n.f0.accept(this, argu);
618 n.f1.accept(this, argu);
619 return _ret;
620 }
621
622 /**
623 * <PRE>
624 * f0 -> InclusiveORExpression()
625 * f1 -> [ "&&" LogicalANDExpression() ]
626 * </PRE>
627 */
628 public R visit(LogicalANDExpression n, A argu) {
629 R _ret=null;
630 n.f0.accept(this, argu);
631 n.f1.accept(this, argu);
632 return _ret;
633 }
634
635 /**
636 * <PRE>
637 * f0 -> ExclusiveORExpression()
638 * f1 -> [ "|" InclusiveORExpression() ]
639 * </PRE>
640 */
641 public R visit(InclusiveORExpression n, A argu) {
642 R _ret=null;
643 n.f0.accept(this, argu);
644 n.f1.accept(this, argu);
645 return _ret;
646 }
647
648 /**
649 * <PRE>
650 * f0 -> ANDExpression()
651 * f1 -> [ "^" ExclusiveORExpression() ]
652 * </PRE>
653 */
654 public R visit(ExclusiveORExpression n, A argu) {
655 R _ret=null;
656 n.f0.accept(this, argu);
657 n.f1.accept(this, argu);
658 return _ret;
659 }
660
661 /**
662 * <PRE>
663 * f0 -> EqualityExpression()
664 * f1 -> [ "&" ANDExpression() ]
665 * </PRE>
666 */
667 public R visit(ANDExpression n, A argu) {
668 R _ret=null;
669 n.f0.accept(this, argu);
670 n.f1.accept(this, argu);
671 return _ret;
672 }
673
674 /**
675 * <PRE>
676 * f0 -> RelationalExpression()
677 * f1 -> [ ( "==" | "!=" ) EqualityExpression() ]
678 * </PRE>
679 */
680 public R visit(EqualityExpression n, A argu) {
681 R _ret=null;
682 n.f0.accept(this, argu);
683 n.f1.accept(this, argu);
684 return _ret;
685 }
686
687 /**
688 * <PRE>
689 * f0 -> ShiftExpression()
690 * f1 -> [ ( "&lt;" | "&gt;" | "&lt;=" | "&gt;=" ) RelationalExpression() ]
691 * </PRE>
692 */
693 public R visit(RelationalExpression n, A argu) {
694 R _ret=null;
695 n.f0.accept(this, argu);
696 n.f1.accept(this, argu);
697 return _ret;
698 }
699
700 /**
701 * <PRE>
702 * f0 -> AdditiveExpression()
703 * f1 -> [ ( "&lt;&lt;" | "&gt;&gt;" ) ShiftExpression() ]
704 * </PRE>
705 */
706 public R visit(ShiftExpression n, A argu) {
707 R _ret=null;
708 n.f0.accept(this, argu);
709 n.f1.accept(this, argu);
710 return _ret;
711 }
712
713 /**
714 * <PRE>
715 * f0 -> MultiplicativeExpression()
716 * f1 -> [ ( "+" | "-" ) AdditiveExpression() ]
717 * </PRE>
718 */
719 public R visit(AdditiveExpression n, A argu) {
720 R _ret=null;
721 n.f0.accept(this, argu);
722 n.f1.accept(this, argu);
723 return _ret;
724 }
725
726 /**
727 * <PRE>
728 * f0 -> CastExpression()
729 * f1 -> [ ( "*" | "/" | "%" ) MultiplicativeExpression() ]
730 * </PRE>
731 */
732 public R visit(MultiplicativeExpression n, A argu) {
733 R _ret=null;
734 n.f0.accept(this, argu);
735 n.f1.accept(this, argu);
736 return _ret;
737 }
738
739 /**
740 * <PRE>
741 * f0 -> ( "(" TypeSpecifier() ")" CastExpression() | UnaryExpression() )
742 * </PRE>
743 */
744 public R visit(CastExpression n, A argu) {
745 R _ret=null;
746 n.f0.accept(this, argu);
747 return _ret;
748 }
749
750 /**
751 * <PRE>
752 * f0 -> ( PostfixExpression() | "++" UnaryExpression() | "--" UnaryExpression() | UnaryOperator() CastExpression() | &lt;SIZEOF&gt; ( UnaryExpression() | "(" TypeSpecifier() ")" ) )
753 * </PRE>
754 */
755 public R visit(UnaryExpression n, A argu) {
756 R _ret=null;
757 n.f0.accept(this, argu);
758 return _ret;
759 }
760
761 /**
762 * <PRE>
763 * f0 -> ( "&" | "*" | "+" | "-" | "~" | "!" )
764 * </PRE>
765 */
766 public R visit(UnaryOperator n, A argu) {
767 R _ret=null;
768 n.f0.accept(this, argu);
769 return _ret;
770 }
771
772 /**
773 * <PRE>
774 * f0 -> PrimaryExpression()
775 * f1 -> ( "[" Expression() "]" | "(" [ ArgumentExpressionList() ] ")" | "." &lt;IDENTIFIER&gt; | "-&gt;" &lt;IDENTIFIER&gt; | "++" | "--" )*
776 * </PRE>
777 */
778 public R visit(PostfixExpression n, A argu) {
779 R _ret=null;
780 n.f0.accept(this, argu);
781 n.f1.accept(this, argu);
782 return _ret;
783 }
784
785 /**
786 * <PRE>
787 * f0 -> &lt;IDENTIFIER&gt;
788 * | Constant()
789 * | "(" Expression() ")"
790 * </PRE>
791 */
792 public R visit(PrimaryExpression n, A argu) {
793 R _ret=null;
794 n.f0.accept(this, argu);
795 return _ret;
796 }
797
798 /**
799 * <PRE>
800 * f0 -> AssignmentOrTypeExpression()
801 * f1 -> ( "," AssignmentOrTypeExpression() )*
802 * </PRE>
803 */
804 public R visit(ArgumentExpressionList n, A argu) {
805 R _ret=null;
806 n.f0.accept(this, argu);
807 n.f1.accept(this, argu);
808 return _ret;
809 }
810
811 /**
812 * <PRE>
813 * f0 -> NoIdentifierTypeSpecifier()
814 * | AssignmentExpression()
815 * </PRE>
816 */
817 public R visit(AssignmentOrTypeExpression n, A argu) {
818 R _ret=null;
819 n.f0.accept(this, argu);
820 return _ret;
821 }
822
823 /**
824 * <PRE>
825 * f0 -> &lt;INTEGER_LITERAL&gt;
826 * | &lt;FLOATING_POINT_LITERAL&gt;
827 * | &lt;CHARACTER_LITERAL&gt;
828 * | &lt;STRING_LITERAL&gt;
829 * </PRE>
830 */
831 public R visit(Constant n, A argu) {
832 R _ret=null;
833 n.f0.accept(this, argu);
834 return _ret;
835 }
836
837}