;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\302%\207" [require cl-lib tuareg custom-declare-group tuareg-menhir nil "Major mode to edit Menhir source files." :group] 6) (defvar tuareg-menhir-mode-syntax-table (byte-code "\301!\302\303\304#\210\302\305\306#\210\207" [tuareg-mode-syntax-table make-syntax-table modify-syntax-entry 47 ". 124b" 10 "> b"] 5)) #@47 Return non-nil if point is within OCaml code. (defalias 'tuareg-menhir--in-ocaml-p #[0 "\300\301 8@\211\205 \211f\302=\207" [9 syntax-ppss 123] 3 (#$ . 461)]) (defconst tuareg-menhir--keywords '("parameter" "token" "nonassoc" "left" "right" "type" "start" "on_error_reduce")) (byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\307%\210\300\313\302\303\314DD\315\306\307%\207" [custom-declare-variable tuareg-menhir-basic-indent funcall function #[0 "\300\207" [2] 1] "Default basic indentation step for Menhir files." :type integer tuareg-menhir-rule-indent #[0 "\207" [tuareg-menhir-basic-indent] 1] "Indentation column of rules." tuareg-menhir-action-indent #[0 "\207" [tuareg-menhir-basic-indent] 1] "Indentation action w.r.t rules."] 6) (defalias 'tuareg-menhir--indent-column #[0 "\212\302 \210\303\304w\210\305\306!\203\307\202)\305\310!\203\202)\305\311!\203( \\\202)\307)\207" [tuareg-menhir-rule-indent tuareg-menhir-action-indent beginning-of-line " " nil looking-at "\\(?:\\sw\\|\\s_\\)+:" 0 "|" "{"] 2]) (defalias 'tuareg-menhir--indent-ocaml #[0 "\305\306\307\310 ,\207" [tuareg-smie-grammar smie-backward-token-function smie-forward-token-function smie-grammar smie-rules-function tuareg-smie-rules tuareg-smie-forward-token tuareg-smie-backward-token smie-indent-line] 4]) #@20 (fn &optional _) (defalias 'tuareg-menhir--indent #[256 "\212\300 \210\301 )\203 \302 \207\303 \212\304\305x\210n)\203\306!\207\212\306!)\207" [beginning-of-line tuareg-menhir--in-ocaml-p tuareg-menhir--indent-ocaml tuareg-menhir--indent-column " " nil indent-line-to] 4 (#$ . 1805)]) (defvar tuareg-menhir-font-lock-keywords (byte-code "\301\302\303!\304Q\305B\306BB\207" [tuareg-menhir--keywords ("^\\(\\(?:\\sw\\|\\s_\\)+\\):" (1 font-lock-function-name-face)) "^%\\(?:%\\|" regexp-opt "\\_>\\)" ((0 font-lock-builtin-face)) (("%\\(?:prec\\|public\\|inline\\)\\_>" (0 (unless (tuareg-menhir--in-ocaml-p) font-lock-builtin-face))))] 4)) (defvar tuareg-menhir-imenu-generic-expression '((nil "^\\(\\(?:\\sw\\|\\s_\\)+\\):" 1))) (add-to-list 'auto-mode-alist '("\\.mly\\'" . tuareg-menhir-mode)) (defvar tuareg-menhir-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [tuareg-menhir-mode-hook variable-documentation put "Hook run after entering Menhir mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp tuareg-menhir-mode-map definition-name tuareg-menhir-mode] 4) (defvar tuareg-menhir-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [tuareg-menhir-mode-abbrev-table tuareg-menhir-mode-map variable-documentation put purecopy "Keymap for `tuareg-menhir-mode'." boundp tuareg-menhir-mode-syntax-table definition-name tuareg-menhir-mode (lambda (#1=#:def-tmp-var) (defvar tuareg-menhir-mode-syntax-table #1#)) make-syntax-table "Syntax table for `tuareg-menhir-mode'." (lambda (#1#) (defvar tuareg-menhir-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `tuareg-menhir-mode'." derived-mode-parent prog-mode] 5) #@254 Major mode to edit Menhir (and Ocamlyacc) files. In addition to any hooks its parent mode `prog-mode' might have run, this mode runs the hook `tuareg-menhir-mode-hook', as the final or penultimate step during initialization. \{tuareg-menhir-mode-map} (defalias 'tuareg-menhir-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R (=\204R\326 \325(C#\210\327 !\210\330\f!\210 (\306\331!\210\332\306\333!\210\334\306\335!\210\336\306\337!\210\340\306\341!\210\342!\306\343!\210\344#\306\345!\210)%)\346\347!\207" [delay-mode-hooks major-mode mode-name tuareg-menhir-mode-map tuareg-menhir-mode-syntax-table tuareg-menhir-mode-abbrev-table make-local-variable t prog-mode tuareg-menhir-mode "Menhir" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table indent-line-function tuareg-menhir--indent comment-start "/* " comment-end " */" comment-start-skip "\\(?:[(/]\\*+\\|//+\\)[ ]*" comment-end-skip "[ ]*\\(?:\\*+[/)]\\)?" font-lock-defaults (tuareg-menhir-font-lock-keywords) imenu-generic-expression run-mode-hooks tuareg-menhir-mode-hook local-abbrev-table tuareg-menhir-imenu-generic-expression] 5 (#$ . 3853) nil]) (provide 'tuareg-menhir)