1 ;;; wisent-cim-wy.el --- Generated parser support file
3 ;; Copyright (C) 2002 David Ponce
5 ;; Author: Eric M. Ludlam <zappo@projectile.siege-engine.com>
6 ;; Created: 2007-06-05 21:46:55-0400
8 ;; X-RCS: $Id: wisent-cim-wy.el,v 1.1 2007-11-26 15:12:29 michaels Exp $
10 ;; This file is not part of GNU Emacs.
12 ;; This program is free software; you can redistribute it and/or
13 ;; modify it under the terms of the GNU General Public License as
14 ;; published by the Free Software Foundation; either version 2, or (at
15 ;; your option) any later version.
17 ;; This software is distributed in the hope that it will be useful,
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 ;; General Public License for more details.
22 ;; You should have received a copy of the GNU General Public License
23 ;; along with GNU Emacs; see the file COPYING. If not, write to the
24 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
25 ;; Boston, MA 02110-1301, USA.
29 ;; PLEASE DO NOT MANUALLY EDIT THIS FILE! It is automatically
30 ;; generated from the grammar file wisent-cim.wy.
42 (defconst wisent-cim-wy--keyword-table
43 (semantic-lex-make-keyword-table 'nil 'nil)
44 "Table of language keywords.")
46 (defconst wisent-cim-wy--token-table
47 (semantic-lex-make-type-table
142 "Table of lexical tokens.")
144 (defconst wisent-cim-wy--parse-table
147 (require 'wisent-comp))
148 (wisent-compile-grammar
149 '((HACTIVATE HAFTER HARRAY HAT HBEFORE HBEGIN HBOOLEAN HCHARACTER HCLASS HCONC HDELAY HDO HELSE HEND HEQ HEXTERNAL HFOR HGE HGO HGOTO HGT HHIDDEN HIF HIN HINNER HINSPECT HINTEGER HIS HLABEL HLE HLONG HLT HNAME HNE HNEW HNONE HNOTEXT HOTHERWISE HPRIOR HPROCEDURE HPROTECTED HQUA HREACTIVATE HREAL HREF HSHORT HSTEP HSWITCH HTEXT HTHEN HTHIS HTO HUNTIL HVALUE HVAR HVIRTUAL HWHEN HWHILE HASSIGNVALUE HASSIGNREF HPAREXPSEPARATOR HLABELSEPARATOR HSTATEMENTSEPARATOR HBEGPAR HENDPAR HEQR HNER HADD HSUB HMUL HDIV HINTDIV HEXP HDOTDOTDOT HIDENTIFIER HBOOLEANKONST HINTEGERKONST HCHARACTERKONST HREALKONST HTEXTKONST)
158 (left HVALRELOPERATOR HREFRELOPERATOR HOBJRELOPERATOR)
162 (left HFACTOROPERATOR)
163 (left HPRIMARYOPERATOR)
170 ((error HSTATEMENTSEPARATOR MBEE_DECLSTMS)))
172 ((HEXTERNAL MBEE_TYPE HPROCEDURE
175 ((HEXTERNAL HIDENTIFIER HPROCEDURE
185 ((EXT_IDENT HOBJRELOPERATOR
187 MBEE_TYPE HPROCEDURE HIDENTIFIER
196 ((EXT_LIST HPAREXPSEPARATOR EXT_ITEM)))
198 ((HIDENTIFIER EXT_IDENT)
214 ((HREF HBEGPAR HIDENTIFIER
240 ((FOR_LIST_ELEMENT HPAREXPSEPARATOR FOR_LIST)
243 ((EXPRESSION MBEE_F_L_EL_R_PT)))
248 ((HSTEP EXPRESSION HUNTIL EXPRESSION)
260 ((HWHEN HIDENTIFIER HDO
264 ((WHEN_CLAUSE_LIST HWHEN HIDENTIFIER HDO
305 ((HWHILE EXPRESSION HDO
309 ((HIF EXPRESSION HTHEN
315 ((HFOR HIDENTIFIER HASSIGN
323 ((HINSPECT EXPRESSION
331 ((HIDENTIFIER HLABELSEPARATOR
335 ((EXPRESSION_SIMP HBEGIN
341 ((EXPRESSION_SIMP HBEGIN error HSTATEMENTSEPARATOR MBEE_DECLSTMS HEND)
343 ((EXPRESSION_SIMP HBEGIN error HEND)
347 ((ACTIVATOR EXPRESSION SCHEDULE)
353 ((MBEE_TYPE HPROCEDURE HIDENTIFIER
357 ((HIDENTIFIER HCLASS NO_TYPE
359 IMPORT_SPEC_MODULE HIDENTIFIER
363 ((HCLASS NO_TYPE HIDENTIFIER
376 ((TYPE HIDENTIFIER MBEE_CONSTANT HPAREXPSEPARATOR
380 ((TYPE HIDENTIFIER MBEE_CONSTANT)
386 ((HSWITCH HIDENTIFIER HASSIGN
393 ((HBEGIN MBEE_DECLSTMS HEND))
394 ((HBEGIN error HSTATEMENTSEPARATOR MBEE_DECLSTMS HEND))
395 ((HBEGIN error HEND)))
402 ((MBEE_DECLSTMSU HSTATEMENTSEPARATOR DECLSTATEMENT)
407 ((MODULS HSTATEMENTSEPARATOR MODULSTATEMENT)
411 ((ARR_SEGMENT_LIST HPAREXPSEPARATOR ARR_SEGMENT)))
413 ((ARRAY_SEGMENT HBEGPAR BAUND_PAIR_LIST HENDPAR)
418 ((ARRAY_SEGMENT_EL HPAREXPSEPARATOR ARRAY_SEGMENT)
426 ((BAUND_PAIR HPAREXPSEPARATOR BAUND_PAIR_LIST)
429 ((EXPRESSION HLABELSEPARATOR EXPRESSION)
434 ((EXPRESSION HPAREXPSEPARATOR SWITCH_LIST)
437 ((MBEE_FMAL_PAR_P HSTATEMENTSEPARATOR
451 ((HBEGPAR NO_TYPE MBEE_LISTV HENDPAR)))
458 ((FPP_CATEG HDOTDOTDOT)
462 HPAREXPSEPARATOR LISTV))
464 ((FPP_SPEC HPAREXPSEPARATOR LISTV)))
466 ((HBEGPAR NO_TYPE FPP_MBEE_LISTV HENDPAR)))
471 ((FPP_CATEG HDOTDOTDOT)
474 ((FPP_SPEC HPAREXPSEPARATOR LISTV)))
476 ((FPP_CATEG SPECIFIER HIDENTIFIER)
478 ((FPP_CATEG FPP_PROC_DECL_IN_SPEC)))
480 ((HNAME HLABELSEPARATOR)
482 ((HVALUE HLABELSEPARATOR)
484 ((HVAR HLABELSEPARATOR)
487 (FPP_PROC_DECL_IN_SPEC
488 ((MBEE_TYPE HPROCEDURE HIDENTIFIER
500 HPAREXPSEPARATOR IDENTIFIER_LISTV)))
508 ((NAME_PART VALUE_PART))
509 ((VALUE_PART NAME_PART))
510 ((NAME_PART VAR_PART))
511 ((VAR_PART NAME_PART))
512 ((VALUE_PART VAR_PART))
513 ((VAR_PART VALUE_PART))
514 ((VAR_PART NAME_PART VALUE_PART))
515 ((NAME_PART VAR_PART VALUE_PART))
516 ((NAME_PART VALUE_PART VAR_PART))
517 ((VAR_PART VALUE_PART NAME_PART))
518 ((VALUE_PART VAR_PART NAME_PART))
519 ((VALUE_PART NAME_PART VAR_PART)))
523 IDENTIFIER_LISTV HSTATEMENTSEPARATOR)))
527 IDENTIFIER_LISTV HSTATEMENTSEPARATOR)))
531 IDENTIFIER_LISTV HSTATEMENTSEPARATOR)))
537 ((SPEC_PART ONE_SPEC)))
539 ((SPECIFIER IDENTIFIER_LIST HSTATEMENTSEPARATOR))
540 ((NO_TYPE HPROCEDURE HIDENTIFIER HOBJRELOPERATOR
542 PROC_DECL_IN_SPEC HSTATEMENTSEPARATOR))
543 ((FPP_PROC_DECL_IN_SPEC HSTATEMENTSEPARATOR))
544 ((MBEE_TYPE HPROCEDURE HIDENTIFIER HSTATEMENTSEPARATOR)
546 ((MBEE_TYPE HPROCEDURE HIDENTIFIER HPAREXPSEPARATOR IDENTIFIER_LIST HSTATEMENTSEPARATOR)
558 ((MBEE_TYPE HPROCEDURE HIDENTIFIER
571 ((PROT_SPECIFIER IDENTIFIER_LIST HSTATEMENTSEPARATOR))
572 ((PROTECTION_PART PROT_SPECIFIER IDENTIFIER_LIST HSTATEMENTSEPARATOR)))
578 ((HHIDDEN HPROTECTED)
580 ((HPROTECTED HHIDDEN)
586 ((HVIRTUAL HLABELSEPARATOR MBEE_SPEC_PART)))
590 ((IDENTIFIER_LIST HPAREXPSEPARATOR HIDENTIFIER)
593 ((HIDENTIFIER MBEE_CONSTANT)
595 ((IDENTIFIER_LISTC HPAREXPSEPARATOR HIDENTIFIER MBEE_CONSTANT)
606 ((HIF EXPRESSION HTHEN EXPRESSION HELSE EXPRESSION)
609 ((EXPRESSION_SIMP HASSIGN EXPRESSION)
611 ((EXPRESSION_SIMP HCONC EXPRESSION_SIMP)
613 ((EXPRESSION_SIMP HOR HELSE EXPRESSION_SIMP)
616 ((EXPRESSION_SIMP HAND HTHEN EXPRESSION_SIMP)
619 ((EXPRESSION_SIMP HEQV EXPRESSION_SIMP)
621 ((EXPRESSION_SIMP HIMP EXPRESSION_SIMP)
623 ((EXPRESSION_SIMP HOR EXPRESSION_SIMP)
625 ((EXPRESSION_SIMP HAND EXPRESSION_SIMP)
627 ((HNOT EXPRESSION_SIMP)
629 ((EXPRESSION_SIMP HVALRELOPERATOR EXPRESSION_SIMP)
631 ((EXPRESSION_SIMP HREFRELOPERATOR EXPRESSION_SIMP)
633 ((EXPRESSION_SIMP HOBJRELOPERATOR EXPRESSION_SIMP)
635 ((HTERMOPERATOR EXPRESSION_SIMP)
638 ((EXPRESSION_SIMP HTERMOPERATOR EXPRESSION_SIMP)
640 ((EXPRESSION_SIMP HFACTOROPERATOR EXPRESSION_SIMP)
642 ((EXPRESSION_SIMP HPRIMARYOPERATOR EXPRESSION_SIMP)
644 ((HBEGPAR EXPRESSION HENDPAR)
663 ((HNEW HIDENTIFIER ARG_R_PT)
665 ((EXPRESSION_SIMP HDOT EXPRESSION_SIMP)
667 ((EXPRESSION_SIMP HQUA HIDENTIFIER)
672 ((HBEGPAR ARGUMENT_LIST HENDPAR)))
676 ((HBEGPAR ARGUMENT_LIST HENDPAR)
681 ((EXPRESSION HPAREXPSEPARATOR ARGUMENT_LIST)
686 (defun wisent-cim-wy--install-parser ()
687 "Setup the Semantic Parser."
688 (semantic-install-function-overrides
689 '((parse-stream . wisent-parse-stream)))
690 (setq semantic-parser-name "LALR"
691 semantic--parse-table wisent-cim-wy--parse-table
692 semantic-debug-parser-source "wisent-cim.wy"
693 semantic-flex-keywords-obarray wisent-cim-wy--keyword-table
694 semantic-lex-types-obarray wisent-cim-wy--token-table)
695 ;; Collect unmatched syntax lexical tokens
696 (semantic-make-local-hook 'wisent-discarding-token-functions)
697 (add-hook 'wisent-discarding-token-functions
698 'wisent-collect-unmatched-syntax nil t))
703 (require 'semantic-lex)
712 (provide 'wisent-cim-wy)
714 ;;; wisent-cim-wy.el ends here