Mercurial > emacs
comparison etc/srecode/wisent.srt @ 105407:84fc40980c51
* srecode: New directory for SRecode template files.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 03 Oct 2009 19:28:56 +0000 |
parents | |
children | c6cabc736460 |
comparison
equal
deleted
inserted
replaced
105406:5b8c8cd21526 | 105407:84fc40980c51 |
---|---|
1 ;; wisent.srt --- SRecode templates for Emacs/WISENT grammar files. | |
2 | |
3 ;; Copyright (C) 2007, 2008 Free Software Foundation, Inc. | |
4 | |
5 ;; Author: Eric M. Ludlam <eric@siege-engine.com> | |
6 | |
7 ;; This file is part of GNU Emacs. | |
8 | |
9 ;; GNU Emacs is free software: you can redistribute it and/or modify | |
10 ;; it under the terms of the GNU General Public License as published by | |
11 ;; the Free Software Foundation, either version 3 of the License, or | |
12 ;; (at your option) any later version. | |
13 | |
14 ;; GNU Emacs is distributed in the hope that it will be useful, | |
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 ;; GNU General Public License for more details. | |
18 | |
19 ;; You should have received a copy of the GNU General Public License | |
20 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | |
21 | |
22 set mode "wisent-grammar-mode" | |
23 set comment_start ";;" | |
24 set comment_prefix ";;" | |
25 set comment_end "" | |
26 | |
27 context file | |
28 | |
29 template empty :file :user :time | |
30 "Insert a skeleton for a grammar file." | |
31 ---- | |
32 {{>:filecomment}} | |
33 | |
34 ;;; Commentary: | |
35 ;; | |
36 ;; Parser for {{?TARGETMODE}} mode | |
37 | |
38 %languagemode {{TARGETMODE}}-mode | |
39 %parsetable wisent-{{TARGETMODE}}-parser-tables | |
40 %keywordtable wisent-{{TARGETMODE}}-keywords | |
41 %tokentable wisent-{{TARGETMODE}}-tokens | |
42 %languagemode {{TARGETMODE}}-mode | |
43 %setupfunction wisent-{{TARGETMODE}}-default-setup | |
44 | |
45 %start goal | |
46 | |
47 ;;; KEYWORDS | |
48 %type <keyword> | |
49 | |
50 %% | |
51 | |
52 goal | |
53 : {{^}} | |
54 ; | |
55 | |
56 %% | |
57 (define-lex wisent-{{TARGETMODE}}-lexer | |
58 "Lexical analzer to handle {{TARGETMODE}} buffers." | |
59 ;; semantic-lex-newline | |
60 semantic-lex-ignore-whitespace | |
61 semantic-lex-ignore-newline | |
62 semantic-lex-ignore-comments | |
63 | |
64 semantic-lex-default-action | |
65 ) | |
66 | |
67 ;; {{FILENAME}} ends here | |
68 ---- | |
69 | |
70 context declaration | |
71 | |
72 template function | |
73 ---- | |
74 {{?NAME}} | |
75 : {{^}} | |
76 ; | |
77 ---- | |
78 bind "f" | |
79 | |
80 template keyword | |
81 ---- | |
82 %keyword {{?NAME:upcase}} "{{NAME:downcase}}" | |
83 %put {{NAME:upcase}} summary "{{NAME}} {{^}}" | |
84 ---- | |
85 bind "k" | |
86 | |
87 template token | |
88 ---- | |
89 %type <{{?LEXTOKEN}}> | |
90 %token <{{LEXTOKEN}}> {{LEXTOKEN}} | |
91 ---- | |
92 bind "t" | |
93 | |
94 ;; end |