]> code.delx.au - gnu-emacs/blob - lisp/cedet/semantic/wisent/javat-wy.el
9057ee9fd45b665217ebb57e4a7c09d30fced283
[gnu-emacs] / lisp / cedet / semantic / wisent / javat-wy.el
1 ;;; semantic/wisent/javat-wy.el --- Generated parser support file
2
3 ;; Copyright (C) 2002, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
4
5 ;; This file is part of GNU Emacs.
6
7 ;; GNU Emacs is free software: you can redistribute it and/or modify
8 ;; it under the terms of the GNU General Public License as published by
9 ;; the Free Software Foundation, either version 3 of the License, or
10 ;; (at your option) any later version.
11
12 ;; GNU Emacs is distributed in the hope that it will be useful,
13 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;; GNU General Public License for more details.
16
17 ;; You should have received a copy of the GNU General Public License
18 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
19
20 ;;; Commentary:
21 ;;
22 ;; This file was generated from etc/grammars/java-tags.wy.
23
24 ;;; Code:
25
26 (require 'semantic/lex)
27
28 \f
29 ;;; Prologue
30 ;;
31 \f
32 ;;; Declarations
33 ;;
34 (defconst wisent-java-tags-wy--keyword-table
35 (semantic-lex-make-keyword-table
36 '(("abstract" . ABSTRACT)
37 ("boolean" . BOOLEAN)
38 ("break" . BREAK)
39 ("byte" . BYTE)
40 ("case" . CASE)
41 ("catch" . CATCH)
42 ("char" . CHAR)
43 ("class" . CLASS)
44 ("const" . CONST)
45 ("continue" . CONTINUE)
46 ("default" . DEFAULT)
47 ("do" . DO)
48 ("double" . DOUBLE)
49 ("else" . ELSE)
50 ("extends" . EXTENDS)
51 ("final" . FINAL)
52 ("finally" . FINALLY)
53 ("float" . FLOAT)
54 ("for" . FOR)
55 ("goto" . GOTO)
56 ("if" . IF)
57 ("implements" . IMPLEMENTS)
58 ("import" . IMPORT)
59 ("instanceof" . INSTANCEOF)
60 ("int" . INT)
61 ("interface" . INTERFACE)
62 ("long" . LONG)
63 ("native" . NATIVE)
64 ("new" . NEW)
65 ("package" . PACKAGE)
66 ("private" . PRIVATE)
67 ("protected" . PROTECTED)
68 ("public" . PUBLIC)
69 ("return" . RETURN)
70 ("short" . SHORT)
71 ("static" . STATIC)
72 ("strictfp" . STRICTFP)
73 ("super" . SUPER)
74 ("switch" . SWITCH)
75 ("synchronized" . SYNCHRONIZED)
76 ("this" . THIS)
77 ("throw" . THROW)
78 ("throws" . THROWS)
79 ("transient" . TRANSIENT)
80 ("try" . TRY)
81 ("void" . VOID)
82 ("volatile" . VOLATILE)
83 ("while" . WHILE)
84 ("@author" . _AUTHOR)
85 ("@version" . _VERSION)
86 ("@param" . _PARAM)
87 ("@return" . _RETURN)
88 ("@exception" . _EXCEPTION)
89 ("@throws" . _THROWS)
90 ("@see" . _SEE)
91 ("@since" . _SINCE)
92 ("@serial" . _SERIAL)
93 ("@serialData" . _SERIALDATA)
94 ("@serialField" . _SERIALFIELD)
95 ("@deprecated" . _DEPRECATED))
96 '(("@deprecated" javadoc
97 (seq 12 usage
98 (type function variable)
99 opt t))
100 ("@serialField" javadoc
101 (seq 11 usage
102 (variable)
103 opt t))
104 ("@serialData" javadoc
105 (seq 10 usage
106 (function)
107 opt t))
108 ("@serial" javadoc
109 (seq 9 usage
110 (variable)
111 opt t))
112 ("@since" javadoc
113 (seq 8 usage
114 (type function variable)
115 opt t))
116 ("@see" javadoc
117 (seq 7 usage
118 (type function variable)
119 opt t with-ref t))
120 ("@throws" javadoc
121 (seq 6 usage
122 (function)
123 with-name t))
124 ("@exception" javadoc
125 (seq 5 usage
126 (function)
127 with-name t))
128 ("@return" javadoc
129 (seq 4 usage
130 (function)))
131 ("@param" javadoc
132 (seq 3 usage
133 (function)
134 with-name t))
135 ("@version" javadoc
136 (seq 2 usage
137 (type)))
138 ("@author" javadoc
139 (seq 1 usage
140 (type)))
141 ("while" summary "while (<expr>) <stmt> | do <stmt> while (<expr>);")
142 ("volatile" summary "Field declaration modifier: volatile <type> <name> ...")
143 ("void" summary "Method return type: void <name> ...")
144 ("try" summary "try {<stmts>} [catch(<parm>) {<stmts>} ...] [finally {<stmts>}]")
145 ("transient" summary "Field declaration modifier: transient <type> <name> ...")
146 ("throws" summary "Method|Constructor declaration: throws <classType>, ...")
147 ("throw" summary "throw <expr> ;")
148 ("synchronized" summary "synchronized (<expr>) ... | Method decl. modifier: synchronized <type> <name> ...")
149 ("switch" summary "switch(<expr>) {[case <const-expr>: <stmts> ...] [default: <stmts>]}")
150 ("strictfp" summary "Declaration modifier: strictfp {class|interface|<type>} <name> ...")
151 ("static" summary "Declaration modifier: static {class|interface|<type>} <name> ...")
152 ("short" summary "Integral primitive type (-32768 to 32767)")
153 ("return" summary "return [<expr>] ;")
154 ("public" summary "Access level modifier: public {class|interface|<type>} <name> ...")
155 ("protected" summary "Access level modifier: protected {class|interface|<type>} <name> ...")
156 ("private" summary "Access level modifier: private {class|interface|<type>} <name> ...")
157 ("package" summary "Package declaration: package <name>")
158 ("native" summary "Method declaration modifier: native <type> <name> ...")
159 ("long" summary "Integral primitive type (-9223372036854775808 to 9223372036854775807)")
160 ("interface" summary "Interface declaration: interface <name>")
161 ("int" summary "Integral primitive type (-2147483648 to 2147483647)")
162 ("import" summary "Import package declarations: import <package>")
163 ("implements" summary "Class SuperInterfaces declaration: implements <name> [, ...]")
164 ("if" summary "if (<expr>) <stmt> [else <stmt>]")
165 ("goto" summary "Unused reserved word")
166 ("for" summary "for ([<init-expr>]; [<expr>]; [<update-expr>]) <stmt>")
167 ("float" summary "Primitive floating-point type (single-precision 32-bit IEEE 754)")
168 ("finally" summary "try {<stmts>} ... finally {<stmts>}")
169 ("final" summary "Class|Member declaration modifier: final {class|<type>} <name> ...")
170 ("extends" summary "SuperClass|SuperInterfaces declaration: extends <name> [, ...]")
171 ("else" summary "if (<expr>) <stmt> else <stmt>")
172 ("double" summary "Primitive floating-point type (double-precision 64-bit IEEE 754)")
173 ("do" summary "do <stmt> while (<expr>);")
174 ("default" summary "switch(<expr>) { ... default: <stmts>}")
175 ("continue" summary "continue [<label>] ;")
176 ("const" summary "Unused reserved word")
177 ("class" summary "Class declaration: class <name>")
178 ("char" summary "Integral primitive type ('\000' to '￿') (0 to 65535)")
179 ("catch" summary "try {<stmts>} catch(<parm>) {<stmts>} ... ")
180 ("case" summary "switch(<expr>) {case <const-expr>: <stmts> ... }")
181 ("byte" summary "Integral primitive type (-128 to 127)")
182 ("break" summary "break [<label>] ;")
183 ("boolean" summary "Primitive logical quantity type (true or false)")
184 ("abstract" summary "Class|Method declaration modifier: abstract {class|<type>} <name> ...")))
185 "Table of language keywords.")
186
187 (defconst wisent-java-tags-wy--token-table
188 (semantic-lex-make-type-table
189 '(("unicode"
190 (unicodecharacter))
191 ("number"
192 (NUMBER_LITERAL))
193 ("string"
194 (STRING_LITERAL))
195 ("symbol"
196 (IDENTIFIER))
197 ("punctuation"
198 (COMP . "~")
199 (OROR . "||")
200 (OREQ . "|=")
201 (OR . "|")
202 (XOREQ . "^=")
203 (XOR . "^")
204 (QUESTION . "?")
205 (URSHIFTEQ . ">>>=")
206 (URSHIFT . ">>>")
207 (RSHIFTEQ . ">>=")
208 (RSHIFT . ">>")
209 (GTEQ . ">=")
210 (GT . ">")
211 (EQEQ . "==")
212 (EQ . "=")
213 (LTEQ . "<=")
214 (LSHIFTEQ . "<<=")
215 (LSHIFT . "<<")
216 (LT . "<")
217 (SEMICOLON . ";")
218 (COLON . ":")
219 (DIVEQ . "/=")
220 (DIV . "/")
221 (DOT . ".")
222 (MINUSEQ . "-=")
223 (MINUSMINUS . "--")
224 (MINUS . "-")
225 (COMMA . ",")
226 (PLUSEQ . "+=")
227 (PLUSPLUS . "++")
228 (PLUS . "+")
229 (MULTEQ . "*=")
230 (MULT . "*")
231 (ANDEQ . "&=")
232 (ANDAND . "&&")
233 (AND . "&")
234 (MODEQ . "%=")
235 (MOD . "%")
236 (NOTEQ . "!=")
237 (NOT . "!"))
238 ("close-paren"
239 (RBRACK . "]")
240 (RBRACE . "}")
241 (RPAREN . ")"))
242 ("open-paren"
243 (LBRACK . "[")
244 (LBRACE . "{")
245 (LPAREN . "("))
246 ("block"
247 (BRACK_BLOCK . "(LBRACK RBRACK)")
248 (BRACE_BLOCK . "(LBRACE RBRACE)")
249 (PAREN_BLOCK . "(LPAREN RPAREN)")))
250 '(("keyword" :declared t)
251 ("unicode" syntax "\\\\u[0-9a-f][0-9a-f][0-9a-f][0-9a-f]")
252 ("unicode" :declared t)
253 ("number" :declared t)
254 ("string" :declared t)
255 ("symbol" :declared t)
256 ("punctuation" :declared t)
257 ("block" :declared t)))
258 "Table of lexical tokens.")
259
260 (defconst wisent-java-tags-wy--parse-table
261 (progn
262 (eval-when-compile
263 (require 'semantic/wisent/comp))
264 (wisent-compile-grammar
265 '((PAREN_BLOCK BRACE_BLOCK BRACK_BLOCK LPAREN RPAREN LBRACE RBRACE LBRACK RBRACK NOT NOTEQ MOD MODEQ AND ANDAND ANDEQ MULT MULTEQ PLUS PLUSPLUS PLUSEQ COMMA MINUS MINUSMINUS MINUSEQ DOT DIV DIVEQ COLON SEMICOLON LT LSHIFT LSHIFTEQ LTEQ EQ EQEQ GT GTEQ RSHIFT RSHIFTEQ URSHIFT URSHIFTEQ QUESTION XOR XOREQ OR OREQ OROR COMP IDENTIFIER STRING_LITERAL NUMBER_LITERAL unicodecharacter ABSTRACT BOOLEAN BREAK BYTE CASE CATCH CHAR CLASS CONST CONTINUE DEFAULT DO DOUBLE ELSE EXTENDS FINAL FINALLY FLOAT FOR GOTO IF IMPLEMENTS IMPORT INSTANCEOF INT INTERFACE LONG NATIVE NEW PACKAGE PRIVATE PROTECTED PUBLIC RETURN SHORT STATIC STRICTFP SUPER SWITCH SYNCHRONIZED THIS THROW THROWS TRANSIENT TRY VOID VOLATILE WHILE _AUTHOR _VERSION _PARAM _RETURN _EXCEPTION _THROWS _SEE _SINCE _SERIAL _SERIALDATA _SERIALFIELD _DEPRECATED)
266 nil
267 (compilation_unit
268 ((package_declaration))
269 ((import_declaration))
270 ((type_declaration)))
271 (package_declaration
272 ((PACKAGE qualified_name SEMICOLON)
273 (wisent-raw-tag
274 (semantic-tag-new-package $2 nil))))
275 (import_declaration
276 ((IMPORT qualified_name SEMICOLON)
277 (wisent-raw-tag
278 (semantic-tag-new-include $2 nil)))
279 ((IMPORT qualified_name DOT MULT SEMICOLON)
280 (wisent-raw-tag
281 (semantic-tag-new-include
282 (concat $2 $3 $4)
283 nil))))
284 (type_declaration
285 ((SEMICOLON)
286 nil)
287 ((class_declaration))
288 ((interface_declaration)))
289 (class_declaration
290 ((modifiers_opt CLASS qualified_name superc_opt interfaces_opt class_body)
291 (wisent-raw-tag
292 (semantic-tag-new-type $3 $2 $6
293 (if
294 (or $4 $5)
295 (cons $4 $5))
296 :typemodifiers $1))))
297 (superc_opt
298 (nil)
299 ((EXTENDS qualified_name)
300 (identity $2)))
301 (interfaces_opt
302 (nil)
303 ((IMPLEMENTS qualified_name_list)
304 (nreverse $2)))
305 (class_body
306 ((BRACE_BLOCK)
307 (semantic-parse-region
308 (car $region1)
309 (cdr $region1)
310 'class_member_declaration 1)))
311 (class_member_declaration
312 ((LBRACE)
313 nil)
314 ((RBRACE)
315 nil)
316 ((block)
317 nil)
318 ((static_initializer)
319 nil)
320 ((constructor_declaration))
321 ((interface_declaration))
322 ((class_declaration))
323 ((method_declaration))
324 ((field_declaration)))
325 (interface_declaration
326 ((modifiers_opt INTERFACE IDENTIFIER extends_interfaces_opt interface_body)
327 (wisent-raw-tag
328 (semantic-tag-new-type $3 $2 $5
329 (if $4
330 (cons nil $4))
331 :typemodifiers $1))))
332 (extends_interfaces_opt
333 (nil)
334 ((EXTENDS qualified_name_list)
335 (identity $2)))
336 (interface_body
337 ((BRACE_BLOCK)
338 (semantic-parse-region
339 (car $region1)
340 (cdr $region1)
341 'interface_member_declaration 1)))
342 (interface_member_declaration
343 ((LBRACE)
344 nil)
345 ((RBRACE)
346 nil)
347 ((interface_declaration))
348 ((class_declaration))
349 ((method_declaration))
350 ((field_declaration)))
351 (static_initializer
352 ((STATIC block)))
353 (constructor_declaration
354 ((modifiers_opt constructor_declarator throwsc_opt constructor_body)
355 (wisent-raw-tag
356 (semantic-tag-new-function
357 (car $2)
358 nil
359 (cdr $2)
360 :typemodifiers $1 :throws $3 :constructor-flag t))))
361 (constructor_declarator
362 ((IDENTIFIER formal_parameter_list)
363 (cons $1 $2)))
364 (constructor_body
365 ((block)))
366 (method_declaration
367 ((modifiers_opt VOID method_declarator throwsc_opt method_body)
368 (wisent-raw-tag
369 (semantic-tag-new-function
370 (car $3)
371 $2
372 (cdr $3)
373 :typemodifiers $1 :throws $4)))
374 ((modifiers_opt type method_declarator throwsc_opt method_body)
375 (wisent-raw-tag
376 (semantic-tag-new-function
377 (car $3)
378 $2
379 (cdr $3)
380 :typemodifiers $1 :throws $4))))
381 (method_declarator
382 ((IDENTIFIER formal_parameter_list dims_opt)
383 (cons
384 (concat $1 $3)
385 $2)))
386 (throwsc_opt
387 (nil)
388 ((THROWS qualified_name_list)
389 (nreverse $2)))
390 (qualified_name_list
391 ((qualified_name_list COMMA qualified_name)
392 (cons $3 $1))
393 ((qualified_name)
394 (list $1)))
395 (method_body
396 ((SEMICOLON))
397 ((block)))
398 (block
399 ((BRACE_BLOCK)))
400 (formal_parameter_list
401 ((PAREN_BLOCK)
402 (semantic-parse-region
403 (car $region1)
404 (cdr $region1)
405 'formal_parameters 1)))
406 (formal_parameters
407 ((LPAREN)
408 nil)
409 ((RPAREN)
410 nil)
411 ((formal_parameter COMMA))
412 ((formal_parameter RPAREN)))
413 (formal_parameter
414 ((formal_parameter_modifier_opt type variable_declarator_id)
415 (wisent-raw-tag
416 (semantic-tag-new-variable $3 $2 nil :typemodifiers $1))))
417 (formal_parameter_modifier_opt
418 (nil)
419 ((FINAL)
420 (list $1)))
421 (field_declaration
422 ((modifiers_opt type variable_declarators SEMICOLON)
423 (wisent-raw-tag
424 (semantic-tag-new-variable $3 $2 nil :typemodifiers $1))))
425 (variable_declarators
426 ((variable_declarators COMMA variable_declarator)
427 (progn
428 (setcdr
429 (cdr
430 (car $1))
431 (cdr $region2))
432 (cons $3 $1)))
433 ((variable_declarator)
434 (list $1)))
435 (variable_declarator
436 ((variable_declarator_id EQ variable_initializer)
437 (cons $1 $region))
438 ((variable_declarator_id)
439 (cons $1 $region)))
440 (variable_declarator_id
441 ((IDENTIFIER dims_opt)
442 (concat $1 $2)))
443 (variable_initializer
444 ((expression)))
445 (expression
446 ((expression term))
447 ((term)))
448 (term
449 ((literal))
450 ((operator))
451 ((primitive_type))
452 ((IDENTIFIER))
453 ((BRACK_BLOCK))
454 ((PAREN_BLOCK))
455 ((BRACE_BLOCK))
456 ((NEW))
457 ((CLASS))
458 ((THIS))
459 ((SUPER)))
460 (literal
461 ((STRING_LITERAL))
462 ((NUMBER_LITERAL)))
463 (operator
464 ((NOT))
465 ((PLUS))
466 ((PLUSPLUS))
467 ((MINUS))
468 ((MINUSMINUS))
469 ((NOTEQ))
470 ((MOD))
471 ((MODEQ))
472 ((AND))
473 ((ANDAND))
474 ((ANDEQ))
475 ((MULT))
476 ((MULTEQ))
477 ((PLUSEQ))
478 ((MINUSEQ))
479 ((DOT))
480 ((DIV))
481 ((DIVEQ))
482 ((COLON))
483 ((LT))
484 ((LSHIFT))
485 ((LSHIFTEQ))
486 ((LTEQ))
487 ((EQ))
488 ((EQEQ))
489 ((GT))
490 ((GTEQ))
491 ((RSHIFT))
492 ((RSHIFTEQ))
493 ((URSHIFT))
494 ((URSHIFTEQ))
495 ((QUESTION))
496 ((XOR))
497 ((XOREQ))
498 ((OR))
499 ((OREQ))
500 ((OROR))
501 ((COMP))
502 ((INSTANCEOF)))
503 (primitive_type
504 ((BOOLEAN))
505 ((CHAR))
506 ((LONG))
507 ((INT))
508 ((SHORT))
509 ((BYTE))
510 ((DOUBLE))
511 ((FLOAT)))
512 (modifiers_opt
513 (nil)
514 ((modifiers)
515 (nreverse $1)))
516 (modifiers
517 ((modifiers modifier)
518 (cons $2 $1))
519 ((modifier)
520 (list $1)))
521 (modifier
522 ((STRICTFP))
523 ((VOLATILE))
524 ((TRANSIENT))
525 ((SYNCHRONIZED))
526 ((NATIVE))
527 ((FINAL))
528 ((ABSTRACT))
529 ((STATIC))
530 ((PRIVATE))
531 ((PROTECTED))
532 ((PUBLIC)))
533 (type
534 ((qualified_name dims_opt)
535 (concat $1 $2))
536 ((primitive_type dims_opt)
537 (concat $1 $2)))
538 (qualified_name
539 ((qualified_name DOT IDENTIFIER)
540 (concat $1 $2 $3))
541 ((IDENTIFIER)))
542 (dims_opt
543 (nil
544 (identity ""))
545 ((dims)))
546 (dims
547 ((dims BRACK_BLOCK)
548 (concat $1 "[]"))
549 ((BRACK_BLOCK)
550 (identity "[]"))))
551 '(compilation_unit package_declaration import_declaration class_declaration field_declaration method_declaration formal_parameter constructor_declaration interface_declaration class_member_declaration interface_member_declaration formal_parameters)))
552 "Parser table.")
553
554 (defun wisent-java-tags-wy--install-parser ()
555 "Setup the Semantic Parser."
556 (semantic-install-function-overrides
557 '((parse-stream . wisent-parse-stream)))
558 (setq semantic-parser-name "LALR"
559 semantic--parse-table wisent-java-tags-wy--parse-table
560 semantic-debug-parser-source "wisent-java-tags.wy"
561 semantic-flex-keywords-obarray wisent-java-tags-wy--keyword-table
562 semantic-lex-types-obarray wisent-java-tags-wy--token-table)
563 ;; Collect unmatched syntax lexical tokens
564 (semantic-make-local-hook 'wisent-discarding-token-functions)
565 (add-hook 'wisent-discarding-token-functions
566 'wisent-collect-unmatched-syntax nil t))
567
568 \f
569 ;;; Analyzers
570 ;;
571 (define-lex-keyword-type-analyzer wisent-java-tags-wy--<keyword>-keyword-analyzer
572 "keyword analyzer for <keyword> tokens."
573 "\\(\\sw\\|\\s_\\)+")
574
575 (define-lex-block-type-analyzer wisent-java-tags-wy--<block>-block-analyzer
576 "block analyzer for <block> tokens."
577 "\\s(\\|\\s)"
578 '((("(" LPAREN PAREN_BLOCK)
579 ("{" LBRACE BRACE_BLOCK)
580 ("[" LBRACK BRACK_BLOCK))
581 (")" RPAREN)
582 ("}" RBRACE)
583 ("]" RBRACK))
584 )
585
586 (define-lex-regex-type-analyzer wisent-java-tags-wy--<symbol>-regexp-analyzer
587 "regexp analyzer for <symbol> tokens."
588 "\\(\\sw\\|\\s_\\)+"
589 nil
590 'IDENTIFIER)
591
592 (define-lex-sexp-type-analyzer wisent-java-tags-wy--<string>-sexp-analyzer
593 "sexp analyzer for <string> tokens."
594 "\\s\""
595 'STRING_LITERAL)
596
597 (define-lex-regex-type-analyzer wisent-java-tags-wy--<number>-regexp-analyzer
598 "regexp analyzer for <number> tokens."
599 semantic-lex-number-expression
600 nil
601 'NUMBER_LITERAL)
602
603 (define-lex-string-type-analyzer wisent-java-tags-wy--<punctuation>-string-analyzer
604 "string analyzer for <punctuation> tokens."
605 "\\(\\s.\\|\\s$\\|\\s'\\)+"
606 '((COMP . "~")
607 (OROR . "||")
608 (OREQ . "|=")
609 (OR . "|")
610 (XOREQ . "^=")
611 (XOR . "^")
612 (QUESTION . "?")
613 (URSHIFTEQ . ">>>=")
614 (URSHIFT . ">>>")
615 (RSHIFTEQ . ">>=")
616 (RSHIFT . ">>")
617 (GTEQ . ">=")
618 (GT . ">")
619 (EQEQ . "==")
620 (EQ . "=")
621 (LTEQ . "<=")
622 (LSHIFTEQ . "<<=")
623 (LSHIFT . "<<")
624 (LT . "<")
625 (SEMICOLON . ";")
626 (COLON . ":")
627 (DIVEQ . "/=")
628 (DIV . "/")
629 (DOT . ".")
630 (MINUSEQ . "-=")
631 (MINUSMINUS . "--")
632 (MINUS . "-")
633 (COMMA . ",")
634 (PLUSEQ . "+=")
635 (PLUSPLUS . "++")
636 (PLUS . "+")
637 (MULTEQ . "*=")
638 (MULT . "*")
639 (ANDEQ . "&=")
640 (ANDAND . "&&")
641 (AND . "&")
642 (MODEQ . "%=")
643 (MOD . "%")
644 (NOTEQ . "!=")
645 (NOT . "!"))
646 'punctuation)
647
648 (define-lex-regex-type-analyzer wisent-java-tags-wy--<unicode>-regexp-analyzer
649 "regexp analyzer for <unicode> tokens."
650 "\\\\u[0-9a-f][0-9a-f][0-9a-f][0-9a-f]"
651 nil
652 'unicodecharacter)
653
654 \f
655 ;;; Epilogue
656 ;;
657 ;; Define the lexer for this grammar
658 (define-lex wisent-java-tags-lexer
659 "Lexical analyzer that handles Java buffers.
660 It ignores whitespaces, newlines and comments."
661 semantic-lex-ignore-whitespace
662 semantic-lex-ignore-newline
663 semantic-lex-ignore-comments
664 ;;;; Auto-generated analyzers.
665 wisent-java-tags-wy--<number>-regexp-analyzer
666 wisent-java-tags-wy--<string>-sexp-analyzer
667 ;; Must detect keywords before other symbols
668 wisent-java-tags-wy--<keyword>-keyword-analyzer
669 wisent-java-tags-wy--<symbol>-regexp-analyzer
670 wisent-java-tags-wy--<punctuation>-string-analyzer
671 wisent-java-tags-wy--<block>-block-analyzer
672 ;; In theory, unicode chars should be turned into normal chars
673 ;; and then combined into regular ascii keywords and text. This
674 ;; analyzer just keeps these things from making the lexer go boom.
675 wisent-java-tags-wy--<unicode>-regexp-analyzer
676 ;;;;
677 semantic-lex-default-action)
678
679 (provide 'semantic/wisent/javat-wy)
680
681 ;; arch-tag: b035ba00-e014-4c71-9bc7-a9dbf3d5b911
682 ;;; semantic/wisent/javat-wy.el ends here