]> code.delx.au - gnu-emacs/blob - lisp/cedet/semantic/wisent/js-wy.el
92c5aa6b0d2030dcf5acb652f94bc6704ccfb1fd
[gnu-emacs] / lisp / cedet / semantic / wisent / js-wy.el
1 ;;; semantic/wisent/js-wy.el --- Generated parser support file
2
3 ;; Copyright (C) 2005, 2009-2012 Free Software Foundation, Inc.
4 ;; Copyright (C) 1998-2011 Ecma International.
5
6 ;; This file is part of GNU Emacs.
7
8 ;; GNU Emacs is free software: you can redistribute it and/or modify
9 ;; it under the terms of the GNU General Public License as published by
10 ;; the Free Software Foundation, either version 3 of the License, or
11 ;; (at your option) any later version.
12
13 ;; GNU Emacs is distributed in the hope that it will be useful,
14 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ;; GNU General Public License for more details.
17
18 ;; You should have received a copy of the GNU General Public License
19 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
20
21 ;;; Commentary:
22 ;;
23 ;; This file was generated from admin/grammars/js.wy.
24
25 ;; It is derived from the grammar in the ECMAScript Language
26 ;; Specification published at
27 ;;
28 ;; http://www.ecma-international.org/publications/standards/Ecma-262.htm
29 ;;
30 ;; and redistributed under the following license:
31 ;;
32 ;; Redistribution and use in source and binary forms, with or without
33 ;; modification, are permitted provided that the following conditions
34 ;; are met:
35 ;;
36 ;; 1. Redistributions of source code must retain the above copyright
37 ;; notice, this list of conditions and the following disclaimer.
38 ;;
39 ;; 2. Redistributions in binary form must reproduce the above
40 ;; copyright notice, this list of conditions and the following
41 ;; disclaimer in the documentation and/or other materials provided
42 ;; with the distribution.
43 ;;
44 ;; 3. Neither the name of the authors nor Ecma International may be
45 ;; used to endorse or promote products derived from this software
46 ;; without specific prior written permission. THIS SOFTWARE IS
47 ;; PROVIDED BY THE ECMA INTERNATIONAL "AS IS" AND ANY EXPRESS OR
48 ;; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
49 ;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
50 ;; ARE DISCLAIMED. IN NO EVENT SHALL ECMA INTERNATIONAL BE LIABLE FOR
51 ;; ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
52 ;; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
53 ;; OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
54 ;; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
55 ;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
56 ;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
57 ;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
58 ;; DAMAGE.
59
60 ;;; Code:
61
62 (require 'semantic/lex)
63 (eval-when-compile (require 'semantic/bovine))
64 \f
65 ;;; Prologue
66 ;;
67 \f
68 ;;; Declarations
69 ;;
70 (defconst wisent-javascript-jv-wy--keyword-table
71 (semantic-lex-make-keyword-table
72 '(("if" . IF)
73 ("break" . BREAK)
74 ("continue" . CONTINUE)
75 ("else" . ELSE)
76 ("for" . FOR)
77 ("function" . FUNCTION)
78 ("this" . THIS)
79 ("return" . RETURN)
80 ("while" . WHILE)
81 ("void" . VOID_SYMBOL)
82 ("new" . NEW)
83 ("delete" . DELETE)
84 ("var" . VAR)
85 ("with" . WITH)
86 ("typeof" . TYPEOF)
87 ("in" . IN))
88 '(("in" summary "in something")
89 ("typeof" summary "typeof ")
90 ("with" summary "with ")
91 ("var" summary "var <variablename> [= value];")
92 ("delete" summary "delete(<objectreference>) - Deletes the object.")
93 ("new" summary "new <objecttype> - Creates a new object.")
94 ("void" summary "Method return type: void <name> ...")
95 ("while" summary "while (<expr>) <stmt> | do <stmt> while (<expr>);")
96 ("return" summary "return [<expr>] ;")
97 ("this" summary "this")
98 ("function" summary "function declaration blah blah")
99 ("for" summary "for ([<init-expr>]; [<expr>]; [<update-expr>]) <stmt>")
100 ("else" summary "if (<expr>) <stmt> else <stmt>")
101 ("continue" summary "continue [<label>] ;")
102 ("break" summary "break [<label>] ;")
103 ("if" summary "if (<expr>) <stmt> [else <stmt>] (jv)")))
104 "Table of language keywords.")
105
106 (defconst wisent-javascript-jv-wy--token-table
107 (semantic-lex-make-type-table
108 '(("<no-type>"
109 (NULL_TOKEN)
110 (QUERY)
111 (TRUE)
112 (FALSE))
113 ("number"
114 (NUMBER))
115 ("string"
116 (STRING))
117 ("symbol"
118 (VARIABLE))
119 ("close-paren"
120 (CLOSE_SQ_BRACKETS . "]")
121 (END_BLOCK . "}")
122 (CLOSE_PARENTHESIS . ")"))
123 ("open-paren"
124 (OPEN_SQ_BRACKETS . "[")
125 (START_BLOCK . "{")
126 (OPEN_PARENTHESIS . "("))
127 ("block"
128 (BRACK_BLOCK . "(OPEN_SQ_BRACKETS CLOSE_SQ_BRACKETS)")
129 (BRACE_BLOCK . "(START_BLOCK END_BLOCK)")
130 (PAREN_BLOCK . "(OPEN_PARENTHESIS CLOSE_PARENTHESIS)"))
131 ("punctuation"
132 (ONES_COMPLIMENT . "~")
133 (SEMICOLON . ";")
134 (LINE_TERMINATOR . "\n")
135 (LESS_THAN . "<")
136 (DOT . ".")
137 (COMMA . ",")
138 (COLON . ":")
139 (DIV . "/")
140 (DECREMENT . "--")
141 (INCREMENT . "++")
142 (PLUS_EQUALS . "+=")
143 (PLUS . "+")
144 (MULTIPLY_EQUALS . "*=")
145 (MULTIPLY . "*")
146 (MOD_EQUALS . "%=")
147 (MOD . "%")
148 (MINUS_EQUALS . "-=")
149 (MINUS . "-")
150 (LS_EQUAL . "<=")
151 (LOGICAL_NOT . "!!")
152 (LOGICAL_OR . "||")
153 (LOGICAL_AND . "&&")
154 (GT_EQUAL . ">=")
155 (GREATER_THAN . ">")
156 (EQUALS . "==")
157 (DIV_EQUALS . "/=")
158 (NOT_EQUAL . "!=")
159 (BITWISE_SHIFT_RIGHT_ZERO_FILL_EQUALS . ">>>=")
160 (BITWISE_SHIFT_RIGHT_ZERO_FILL . ">>>")
161 (BITWISE_SHIFT_RIGHT_EQUALS . ">>=")
162 (BITWISE_SHIFT_RIGHT . ">>")
163 (BITWISE_SHIFT_LEFT_EQUALS . "<<=")
164 (BITWISE_SHIFT_LEFT . "<<")
165 (BITWISE_OR_EQUALS . "|=")
166 (BITWISE_OR . "|")
167 (BITWISE_EXCLUSIVE_OR_EQUALS . "^=")
168 (BITWISE_EXCLUSIVE_OR . "^")
169 (BITWISE_AND_EQUALS . "&=")
170 (BITWISE_AND . "&")
171 (ASSIGN_SYMBOL . "=")))
172 '(("number" :declared t)
173 ("string" :declared t)
174 ("symbol" :declared t)
175 ("keyword" :declared t)
176 ("block" :declared t)
177 ("punctuation" :declared t)))
178 "Table of lexical tokens.")
179
180 (defconst wisent-javascript-jv-wy--parse-table
181 (progn
182 (eval-when-compile
183 (require 'semantic/wisent/comp))
184 (wisent-compile-grammar
185 '((ASSIGN_SYMBOL BITWISE_AND BITWISE_AND_EQUALS BITWISE_EXCLUSIVE_OR BITWISE_EXCLUSIVE_OR_EQUALS BITWISE_OR BITWISE_OR_EQUALS BITWISE_SHIFT_LEFT BITWISE_SHIFT_LEFT_EQUALS BITWISE_SHIFT_RIGHT BITWISE_SHIFT_RIGHT_EQUALS BITWISE_SHIFT_RIGHT_ZERO_FILL BITWISE_SHIFT_RIGHT_ZERO_FILL_EQUALS NOT_EQUAL DIV_EQUALS EQUALS GREATER_THAN GT_EQUAL LOGICAL_AND LOGICAL_OR LOGICAL_NOT LS_EQUAL MINUS MINUS_EQUALS MOD MOD_EQUALS MULTIPLY MULTIPLY_EQUALS PLUS PLUS_EQUALS INCREMENT DECREMENT DIV COLON COMMA DOT LESS_THAN LINE_TERMINATOR SEMICOLON ONES_COMPLIMENT PAREN_BLOCK BRACE_BLOCK BRACK_BLOCK OPEN_PARENTHESIS CLOSE_PARENTHESIS START_BLOCK END_BLOCK OPEN_SQ_BRACKETS CLOSE_SQ_BRACKETS IF BREAK CONTINUE ELSE FOR FUNCTION THIS RETURN WHILE VOID_SYMBOL NEW DELETE VAR WITH TYPEOF IN VARIABLE STRING NUMBER FALSE TRUE QUERY NULL_TOKEN)
186 ((left PLUS MINUS)
187 (left MULTIPLY DIV MOD)
188 (nonassoc FALSE)
189 (nonassoc HIGHER_THAN_FALSE)
190 (nonassoc ELSE)
191 (nonassoc LOWER_THAN_CLOSE_PARENTHESIS)
192 (nonassoc CLOSE_PARENTHESIS))
193 (Program
194 ((SourceElement)))
195 (SourceElement
196 ((Statement))
197 ((FunctionDeclaration)))
198 (Statement
199 ((Block))
200 ((VariableStatement))
201 ((EmptyStatement))
202 ((ExpressionStatement))
203 ((IfStatement))
204 ((IterationExpression))
205 ((ContinueStatement))
206 ((BreakStatement))
207 ((ReturnStatement))
208 ((WithStatement)))
209 (FunctionDeclaration
210 ((FUNCTION VARIABLE FormalParameterListBlock Block)
211 (wisent-raw-tag
212 (semantic-tag-new-function $2 nil $3))))
213 (FormalParameterListBlock
214 ((PAREN_BLOCK)
215 (semantic-parse-region
216 (car $region1)
217 (cdr $region1)
218 'FormalParameterList 1)))
219 (FormalParameterList
220 ((OPEN_PARENTHESIS)
221 nil)
222 ((VARIABLE)
223 (wisent-raw-tag
224 (semantic-tag-new-variable $1 nil nil)))
225 ((CLOSE_PARENTHESIS)
226 nil)
227 ((COMMA)
228 nil))
229 (StatementList
230 ((Statement))
231 ((StatementList Statement)))
232 (Block
233 ((BRACE_BLOCK)))
234 (BlockExpand
235 ((START_BLOCK StatementList END_BLOCK))
236 ((START_BLOCK END_BLOCK)))
237 (VariableStatement
238 ((VAR VariableDeclarationList SEMICOLON)
239 (wisent-raw-tag
240 (semantic-tag-new-variable $2 nil nil))))
241 (VariableDeclarationList
242 ((VariableDeclaration)
243 (list $1))
244 ((VariableDeclarationList COMMA VariableDeclaration)
245 (append $1
246 (list $3))))
247 (VariableDeclaration
248 ((VARIABLE)
249 (append
250 (list $1 nil)
251 $region))
252 ((VARIABLE Initializer)
253 (append
254 (cons $1 $2)
255 $region)))
256 (Initializer
257 ((ASSIGN_SYMBOL AssignmentExpression)
258 (list $2)))
259 (EmptyStatement
260 ((SEMICOLON)))
261 (ExpressionStatement
262 ((Expression SEMICOLON)))
263 (IfStatement
264 ((IF OPEN_PARENTHESIS Expression CLOSE_PARENTHESIS Statement)
265 [HIGHER_THAN_FALSE])
266 ((IF OPEN_PARENTHESIS Expression CLOSE_PARENTHESIS Statement ELSE Statement))
267 ((IF OPEN_PARENTHESIS FALSE CLOSE_PARENTHESIS Statement))
268 ((IF OPEN_PARENTHESIS LeftHandSideExpression AssignmentOperator AssignmentExpression CLOSE_PARENTHESIS Statement)))
269 (IterationExpression
270 ((WHILE OPEN_PARENTHESIS Expression CLOSE_PARENTHESIS Statement)
271 [HIGHER_THAN_FALSE])
272 ((WHILE OPEN_PARENTHESIS FALSE CLOSE_PARENTHESIS Statement))
273 ((WHILE OPEN_PARENTHESIS LeftHandSideExpression AssignmentOperator AssignmentExpression CLOSE_PARENTHESIS Statement))
274 ((FOR OPEN_PARENTHESIS OptionalExpression SEMICOLON OptionalExpression SEMICOLON OptionalExpression CLOSE_PARENTHESIS Statement))
275 ((FOR OPEN_PARENTHESIS VAR VariableDeclarationList SEMICOLON OptionalExpression SEMICOLON OptionalExpression CLOSE_PARENTHESIS Statement))
276 ((FOR OPEN_PARENTHESIS LeftHandSideExpression IN Expression CLOSE_PARENTHESIS Statement))
277 ((FOR OPEN_PARENTHESIS VAR VARIABLE OptionalInitializer IN Expression CLOSE_PARENTHESIS Statement)))
278 (ContinueStatement
279 ((CONTINUE SEMICOLON)))
280 (BreakStatement
281 ((BREAK SEMICOLON)))
282 (ReturnStatement
283 ((RETURN Expression SEMICOLON))
284 ((RETURN SEMICOLON)))
285 (WithStatement
286 ((WITH OPEN_PARENTHESIS Expression CLOSE_PARENTHESIS Statement)))
287 (OptionalInitializer
288 ((Initializer))
289 (nil))
290 (PrimaryExpression
291 ((THIS))
292 ((VARIABLE))
293 ((NUMBER))
294 ((STRING))
295 ((NULL_TOKEN))
296 ((TRUE))
297 ((FALSE))
298 ((OPEN_PARENTHESIS Expression CLOSE_PARENTHESIS)))
299 (MemberExpression
300 ((PrimaryExpression))
301 ((MemberExpression OPEN_SQ_BRACKETS Expression CLOSE_SQ_BRACKETS))
302 ((MemberExpression DOT VARIABLE))
303 ((NEW MemberExpression Arguments)))
304 (NewExpression
305 ((MemberExpression))
306 ((NEW NewExpression)))
307 (CallExpression
308 ((MemberExpression Arguments))
309 ((CallExpression Arguments))
310 ((CallExpression OPEN_SQ_BRACKETS Expression CLOSE_SQ_BRACKETS))
311 ((CallExpression DOT VARIABLE)))
312 (Arguments
313 ((OPEN_PARENTHESIS CLOSE_PARENTHESIS))
314 ((OPEN_PARENTHESIS ArgumentList CLOSE_PARENTHESIS)))
315 (ArgumentList
316 ((AssignmentExpression))
317 ((ArgumentList COMMA AssignmentExpression)))
318 (LeftHandSideExpression
319 ((NewExpression))
320 ((CallExpression)))
321 (PostfixExpression
322 ((LeftHandSideExpression))
323 ((LeftHandSideExpression INCREMENT))
324 ((LeftHandSideExpression DECREMENT)))
325 (UnaryExpression
326 ((PostfixExpression))
327 ((DELETE UnaryExpression))
328 ((VOID_SYMBOL UnaryExpression))
329 ((TYPEOF UnaryExpression))
330 ((INCREMENT UnaryExpression))
331 ((DECREMENT UnaryExpression))
332 ((PLUS UnaryExpression))
333 ((MINUS UnaryExpression))
334 ((ONES_COMPLIMENT UnaryExpression))
335 ((LOGICAL_NOT UnaryExpression)))
336 (MultiplicativeExpression
337 ((UnaryExpression))
338 ((MultiplicativeExpression MULTIPLY UnaryExpression))
339 ((MultiplicativeExpression DIV UnaryExpression))
340 ((MultiplicativeExpression MOD UnaryExpression)))
341 (AdditiveExpression
342 ((MultiplicativeExpression))
343 ((AdditiveExpression PLUS MultiplicativeExpression))
344 ((AdditiveExpression MINUS MultiplicativeExpression)))
345 (ShiftExpression
346 ((AdditiveExpression))
347 ((ShiftExpression BITWISE_SHIFT_LEFT AdditiveExpression))
348 ((ShiftExpression BITWISE_SHIFT_RIGHT AdditiveExpression))
349 ((ShiftExpression BITWISE_SHIFT_RIGHT_ZERO_FILL AdditiveExpression)))
350 (RelationalExpression
351 ((ShiftExpression))
352 ((RelationalExpression LESS_THAN ShiftExpression))
353 ((RelationalExpression GREATER_THAN ShiftExpression))
354 ((RelationalExpression LS_EQUAL ShiftExpression))
355 ((RelationalExpression GT_EQUAL ShiftExpression)))
356 (EqualityExpression
357 ((RelationalExpression))
358 ((EqualityExpression EQUALS RelationalExpression))
359 ((EqualityExpression NOT_EQUAL RelationalExpression)))
360 (BitwiseANDExpression
361 ((EqualityExpression))
362 ((BitwiseANDExpression BITWISE_AND EqualityExpression)))
363 (BitwiseXORExpression
364 ((BitwiseANDExpression))
365 ((BitwiseXORExpression BITWISE_EXCLUSIVE_OR BitwiseANDExpression)))
366 (BitwiseORExpression
367 ((BitwiseXORExpression))
368 ((BitwiseORExpression BITWISE_OR BitwiseXORExpression)))
369 (LogicalANDExpression
370 ((BitwiseORExpression))
371 ((LogicalANDExpression LOGICAL_AND BitwiseORExpression)))
372 (LogicalORExpression
373 ((LogicalANDExpression))
374 ((LogicalORExpression LOGICAL_OR LogicalANDExpression)))
375 (ConditionalExpression
376 ((LogicalORExpression))
377 ((LogicalORExpression QUERY AssignmentExpression COLON AssignmentExpression)))
378 (AssignmentExpression
379 ((ConditionalExpression))
380 ((LeftHandSideExpression AssignmentOperator AssignmentExpression)
381 [LOWER_THAN_CLOSE_PARENTHESIS]))
382 (AssignmentOperator
383 ((ASSIGN_SYMBOL))
384 ((MULTIPLY_EQUALS))
385 ((DIV_EQUALS))
386 ((MOD_EQUALS))
387 ((PLUS_EQUALS))
388 ((MINUS_EQUALS))
389 ((BITWISE_SHIFT_LEFT_EQUALS))
390 ((BITWISE_SHIFT_RIGHT_EQUALS))
391 ((BITWISE_SHIFT_RIGHT_ZERO_FILL_EQUALS))
392 ((BITWISE_AND_EQUALS))
393 ((BITWISE_EXCLUSIVE_OR_EQUALS))
394 ((BITWISE_OR_EQUALS)))
395 (Expression
396 ((AssignmentExpression))
397 ((Expression COMMA AssignmentExpression)))
398 (OptionalExpression
399 ((Expression))
400 (nil)))
401 '(Program FormalParameterList)))
402 "Parser table.")
403
404 (defun wisent-javascript-jv-wy--install-parser ()
405 "Setup the Semantic Parser."
406 (semantic-install-function-overrides
407 '((parse-stream . wisent-parse-stream)))
408 (setq semantic-parser-name "LALR"
409 semantic--parse-table wisent-javascript-jv-wy--parse-table
410 semantic-debug-parser-source "js.wy"
411 semantic-flex-keywords-obarray wisent-javascript-jv-wy--keyword-table
412 semantic-lex-types-obarray wisent-javascript-jv-wy--token-table)
413 ;; Collect unmatched syntax lexical tokens
414 (semantic-make-local-hook 'wisent-discarding-token-functions)
415 (add-hook 'wisent-discarding-token-functions
416 'wisent-collect-unmatched-syntax nil t))
417
418 \f
419 ;;; Analyzers
420 ;;
421 (define-lex-block-type-analyzer wisent-javascript-jv-wy--<block>-block-analyzer
422 "block analyzer for <block> tokens."
423 "\\s(\\|\\s)"
424 '((("(" OPEN_PARENTHESIS PAREN_BLOCK)
425 ("{" START_BLOCK BRACE_BLOCK)
426 ("[" OPEN_SQ_BRACKETS BRACK_BLOCK))
427 (")" CLOSE_PARENTHESIS)
428 ("}" END_BLOCK)
429 ("]" CLOSE_SQ_BRACKETS))
430 )
431
432 (define-lex-regex-type-analyzer wisent-javascript-jv-wy--<symbol>-regexp-analyzer
433 "regexp analyzer for <symbol> tokens."
434 "\\(\\sw\\|\\s_\\)+"
435 nil
436 'VARIABLE)
437
438 (define-lex-regex-type-analyzer wisent-javascript-jv-wy--<number>-regexp-analyzer
439 "regexp analyzer for <number> tokens."
440 semantic-lex-number-expression
441 nil
442 'NUMBER)
443
444 (define-lex-string-type-analyzer wisent-javascript-jv-wy--<punctuation>-string-analyzer
445 "string analyzer for <punctuation> tokens."
446 "\\(\\s.\\|\\s$\\|\\s'\\)+"
447 '((ONES_COMPLIMENT . "~")
448 (SEMICOLON . ";")
449 (LINE_TERMINATOR . "\n")
450 (LESS_THAN . "<")
451 (DOT . ".")
452 (COMMA . ",")
453 (COLON . ":")
454 (DIV . "/")
455 (DECREMENT . "--")
456 (INCREMENT . "++")
457 (PLUS_EQUALS . "+=")
458 (PLUS . "+")
459 (MULTIPLY_EQUALS . "*=")
460 (MULTIPLY . "*")
461 (MOD_EQUALS . "%=")
462 (MOD . "%")
463 (MINUS_EQUALS . "-=")
464 (MINUS . "-")
465 (LS_EQUAL . "<=")
466 (LOGICAL_NOT . "!!")
467 (LOGICAL_OR . "||")
468 (LOGICAL_AND . "&&")
469 (GT_EQUAL . ">=")
470 (GREATER_THAN . ">")
471 (EQUALS . "==")
472 (DIV_EQUALS . "/=")
473 (NOT_EQUAL . "!=")
474 (BITWISE_SHIFT_RIGHT_ZERO_FILL_EQUALS . ">>>=")
475 (BITWISE_SHIFT_RIGHT_ZERO_FILL . ">>>")
476 (BITWISE_SHIFT_RIGHT_EQUALS . ">>=")
477 (BITWISE_SHIFT_RIGHT . ">>")
478 (BITWISE_SHIFT_LEFT_EQUALS . "<<=")
479 (BITWISE_SHIFT_LEFT . "<<")
480 (BITWISE_OR_EQUALS . "|=")
481 (BITWISE_OR . "|")
482 (BITWISE_EXCLUSIVE_OR_EQUALS . "^=")
483 (BITWISE_EXCLUSIVE_OR . "^")
484 (BITWISE_AND_EQUALS . "&=")
485 (BITWISE_AND . "&")
486 (ASSIGN_SYMBOL . "="))
487 'punctuation)
488
489 (define-lex-sexp-type-analyzer wisent-javascript-jv-wy--<string>-sexp-analyzer
490 "sexp analyzer for <string> tokens."
491 "\\s\""
492 'STRING)
493
494 (define-lex-keyword-type-analyzer wisent-javascript-jv-wy--<keyword>-keyword-analyzer
495 "keyword analyzer for <keyword> tokens."
496 "\\(\\sw\\|\\s_\\)+")
497
498 \f
499 ;;; Epilogue
500 ;;
501 ;;here something like:
502 ;;(define-lex wisent-java-tags-lexer
503 ;; should go
504 (define-lex javascript-lexer-jv
505 "javascript thingy"
506 ;;std stuff
507 semantic-lex-ignore-whitespace
508 semantic-lex-ignore-newline
509 semantic-lex-ignore-comments
510
511 ;;stuff generated from the wy file(one for each "type" declaration)
512 wisent-javascript-jv-wy--<number>-regexp-analyzer
513 wisent-javascript-jv-wy--<string>-sexp-analyzer
514
515 wisent-javascript-jv-wy--<keyword>-keyword-analyzer
516
517 wisent-javascript-jv-wy--<symbol>-regexp-analyzer
518 wisent-javascript-jv-wy--<punctuation>-string-analyzer
519 wisent-javascript-jv-wy--<block>-block-analyzer
520
521
522 ;;;;more std stuff
523 semantic-lex-default-action
524 )
525
526 (provide 'semantic/wisent/js-wy)
527
528 ;;; semantic/wisent/js-wy.el ends here