view etc/srecode/wisent.srt @ 110914:ccdc694ce7bd

More cleanups and minor fixes for Customize. * cus-edit.el (custom-face-edit-fix-value): Use custom-fix-face-spec. * custom.el (custom-push-theme): Cleanup (use cond). (disable-theme): Recompute the saved-face property. (custom-theme-recalc-face): Follow face alias before setting prop. * custom.el (custom-fix-face-spec): New function; code moved from custom-face-edit-fix-value. (custom-push-theme): Use it when checking if a face has been changed outside customize. (custom-available-themes): New function. (load-theme): Use it. * image.el (image-checkbox-checked, image-checkbox-unchecked): New variables, containing checkbox images. * startup.el (fancy-startup-tail): * wid-edit.el (checkbox): Use them.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 11 Oct 2010 00:49:59 -0400
parents 1d1d5d9bd884
children 376148b31b5e
line wrap: on
line source

;; wisent.srt --- SRecode templates for Emacs/WISENT grammar files.

;; Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.

;; Author: Eric M. Ludlam <eric@siege-engine.com>

;; This file is part of GNU Emacs.

;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.

;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.

set mode "wisent-grammar-mode"
set comment_start  ";;"
set comment_prefix  ";;"
set comment_end  ""

context file

template empty :file :user :time
"Insert a skeleton for a grammar file."
----
{{>:filecomment}}

;;; Commentary:
;;
;; Parser for {{?TARGETMODE}} mode

%languagemode {{TARGETMODE}}-mode
%parsetable    wisent-{{TARGETMODE}}-parser-tables
%keywordtable  wisent-{{TARGETMODE}}-keywords
%tokentable    wisent-{{TARGETMODE}}-tokens
%languagemode  {{TARGETMODE}}-mode
%setupfunction wisent-{{TARGETMODE}}-default-setup

%start goal

;;; KEYWORDS
%type <keyword>

%%

goal
  : {{^}}
  ;

%%
(define-lex wisent-{{TARGETMODE}}-lexer
  "Lexical analzer to handle {{TARGETMODE}} buffers."
  ;; semantic-lex-newline
  semantic-lex-ignore-whitespace
  semantic-lex-ignore-newline
  semantic-lex-ignore-comments

  semantic-lex-default-action
  )

;; {{FILENAME}} ends here
----

context declaration

template function
----
{{?NAME}}
  : {{^}}
  ;
----
bind "f"

template keyword
----
%keyword {{?NAME:upcase}} "{{NAME:downcase}}"
%put     {{NAME:upcase}} summary "{{NAME}} {{^}}"
----
bind "k"

template token
----
%type <{{?LEXTOKEN}}>
%token <{{LEXTOKEN}}> {{LEXTOKEN}}
----
bind "t"

;; end