Commit 3ced5caa authored by Vinicius Jose Latorre's avatar Vinicius Jose Latorre
Browse files

New: Header/Footer comment & Log messages

parent f4d70220
2007-07-26 Vinicius Jose Latorre <viniciusjl@ig.com.br>
* progmodes/ebnf-abn.el (ebnf-abn-skip-comment):
* progmodes/ebnf-bnf.el (ebnf-bnf-skip-comment):
* progmodes/ebnf-dtd.el (ebnf-dtd-skip-comment):
* progmodes/ebnf-ebx.el (ebnf-ebx-skip-comment):
* progmodes/ebnf-iso.el (ebnf-iso-skip-comment):
* progmodes/ebnf-yac.el (ebnf-yac-skip-comment): New version.
New command actions for EPS header and EPS footer.
* progmodes/ebnf2ps.el: New command actions for EPS header and EPS
footer. Fix some problems with one-or-more, zero-or-more and
alternative constructions generation. Some log messages
implementation. Doc fix.
(ebnf-version): New version 4.4.
(ebnf-eps-header-font, ebnf-eps-header, ebnf-eps-footer-font)
(ebnf-eps-footer, ebnf-log): New options.
(ebnf-find-style, ebnf-eps-header-footer, ebnf-eps-header)
(ebnf-eps-footer, ebnf-eps-string, ebnf-eps-header-footer-comment)
(ebnf-eps-header-footer-p, ebnf-eps-header-comment)
(ebnf-eps-footer-comment, ebnf-eps-header-footer-file)
(ebnf-eps-header-footer-set, ebnf-log-header, ebnf-log): New funs.
(ebnf-style-custom-list, ebnf-style-database): Put new values.
(ebnf-print-directory, ebnf-print-file, ebnf-print-buffer)
(ebnf-print-region, ebnf-spool-directory, ebnf-spool-file)
(ebnf-spool-buffer, ebnf-spool-region, ebnf-eps-directory)
(ebnf-eps-file, ebnf-eps-buffer, ebnf-eps-region)
(ebnf-syntax-directory, ebnf-syntax-file, ebnf-syntax-buffer)
(ebnf-syntax-region, ebnf-parse-and-sort, ebnf-begin-job)
(ebnf-dimensions, ebnf-production-dimension, ebnf-terminal-dimension)
(ebnf-non-terminal-dimension, ebnf-special-dimension)
(ebnf-terminal-dimension1, ebnf-repeat-dimension)
(ebnf-except-dimension, ebnf-alternative-dimension)
(ebnf-optional-dimension, ebnf-one-or-more-dimension)
(ebnf-zero-or-more-dimension, ebnf-sequence-dimension): Insert log
message fun.
(ebnf-setup, ebnf-generate-one-or-more, ebnf-generate-zero-or-more)
(ebnf-begin-job, ebnf-begin-file, ebnf-eps-finish-and-write)
(ebnf-insert-ebnf-prologue, ebnf-production-dimension)
(ebnf-terminal-dimension1, ebnf-alternative-dimension)
(ebnf-one-or-more-dimension, ebnf-zero-or-more-dimension)
(ebnf-eps-add-context, ebnf-eps-add-production): Fix code.
(ebnf-eps-filename, ebnf-trim-right): Replace `?\s' by `?\ ' to keep
compatibility with Emacs 20 & 21.
(ebnf-eps-header-comment, ebnf-eps-footer-comment)
(ebnf-eps-file-alist, ebnf-basic-width-extra)
(ebnf-basic-empty-height): New vars.
(ebnf-prologue): Fix PostScript code.
(ebnf-make-empty, ebnf-make-terminal1, ebnf-make-or-more1)
(ebnf-make-production, ebnf-make-alternative, ebnf-make-optional)
(ebnf-make-except, ebnf-make-repeat, ebnf-make-sequence)
(ebnf-make-dup-sequence, ebnf-token-alternative): Add comments.
2007-07-25 Glenn Morris <rgm@gnu.org>
* Relicense all FSF files to GPLv3 or later.
......
......@@ -6,7 +6,7 @@
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Keywords: wp, ebnf, PostScript
;; Version: 1.1
;; Version: 1.2
;; This file is part of GNU Emacs.
......@@ -589,6 +589,12 @@ See documentation for variable `ebnf-abn-lex'."
;; close EPS file
((and ebnf-eps-executing (= (following-char) ?\]))
(ebnf-eps-remove-context (ebnf-abn-eps-filename)))
;; EPS header
((and ebnf-eps-executing (= (following-char) ?H))
(ebnf-eps-header-comment (ebnf-abn-eps-filename)))
;; EPS footer
((and ebnf-eps-executing (= (following-char) ?F))
(ebnf-eps-footer-comment (ebnf-abn-eps-filename)))
;; any other action in comment
(t
(setq ebnf-action (aref ebnf-comment-table (following-char)))
......
......@@ -6,7 +6,7 @@
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Keywords: wp, ebnf, PostScript
;; Version: 1.9
;; Version: 1.10
;; This file is part of GNU Emacs.
......@@ -537,6 +537,12 @@ See documentation for variable `ebnf-bnf-lex'."
;; close EPS file
((and ebnf-eps-executing (= (following-char) ?\]))
(ebnf-eps-remove-context (ebnf-bnf-eps-filename)))
;; EPS header
((and ebnf-eps-executing (= (following-char) ?H))
(ebnf-eps-header-comment (ebnf-bnf-eps-filename)))
;; EPS footer
((and ebnf-eps-executing (= (following-char) ?F))
(ebnf-eps-footer-comment (ebnf-bnf-eps-filename)))
;; any other action in comment
(t
(setq ebnf-action (aref ebnf-comment-table (following-char)))
......
......@@ -6,7 +6,7 @@
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Keywords: wp, ebnf, PostScript
;; Version: 1.0
;; Version: 1.1
;; This file is part of GNU Emacs.
......@@ -1306,6 +1306,12 @@ See documentation for variable `ebnf-dtd-lex'."
;; close EPS file
((and ebnf-eps-executing (= (following-char) ?\]))
(ebnf-eps-remove-context (ebnf-dtd-eps-filename)))
;; EPS header
((and ebnf-eps-executing (= (following-char) ?H))
(ebnf-eps-header-comment (ebnf-dtd-eps-filename)))
;; EPS footer
((and ebnf-eps-executing (= (following-char) ?F))
(ebnf-eps-footer-comment (ebnf-dtd-eps-filename)))
;; any other action in comment
(t
(setq ebnf-action (aref ebnf-comment-table (following-char))))
......
......@@ -6,7 +6,7 @@
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Keywords: wp, ebnf, PostScript
;; Version: 1.1
;; Version: 1.2
;; This file is part of GNU Emacs.
......@@ -539,6 +539,12 @@ See documentation for variable `ebnf-ebx-lex'."
;; close EPS file
((and ebnf-eps-executing (= (following-char) ?\]))
(ebnf-eps-remove-context (ebnf-ebx-eps-filename)))
;; EPS header
((and ebnf-eps-executing (= (following-char) ?H))
(ebnf-eps-header-comment (ebnf-ebx-eps-filename)))
;; EPS footer
((and ebnf-eps-executing (= (following-char) ?F))
(ebnf-eps-footer-comment (ebnf-ebx-eps-filename)))
;; any other action in comment
(t
(setq ebnf-action (aref ebnf-comment-table (following-char))))
......
;;; ebnf-iso.el --- parser for ISO EBNF
;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Keywords: wp, ebnf, PostScript
;; Version: 1.8
;; Version: 1.9
;; This file is part of GNU Emacs.
......@@ -504,6 +504,12 @@ See documentation for variable `ebnf-iso-lex'."
;; close EPS file
((and ebnf-eps-executing (= (following-char) ?\]))
(ebnf-eps-remove-context (ebnf-iso-eps-filename)))
;; EPS header
((and ebnf-eps-executing (= (following-char) ?H))
(ebnf-eps-header-comment (ebnf-iso-eps-filename)))
;; EPS footer
((and ebnf-eps-executing (= (following-char) ?F))
(ebnf-eps-footer-comment (ebnf-iso-eps-filename)))
;; any other action in comment
(t
(setq ebnf-action (aref ebnf-comment-table (following-char))))
......
......@@ -6,7 +6,7 @@
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Keywords: wp, ebnf, PostScript
;; Version: 1.3
;; Version: 1.4
;; This file is part of GNU Emacs.
......@@ -459,6 +459,12 @@ See documentation for variable `ebnf-yac-lex'."
;; close EPS file
((and ebnf-eps-executing (= (following-char) ?\]))
(ebnf-eps-remove-context (ebnf-yac-eps-filename)))
;; EPS header
((and ebnf-eps-executing (= (following-char) ?H))
(ebnf-eps-header-comment (ebnf-yac-eps-filename)))
;; EPS footer
((and ebnf-eps-executing (= (following-char) ?F))
(ebnf-eps-footer-comment (ebnf-yac-eps-filename)))
;; any other action in comment
(t
(setq ebnf-action (aref ebnf-comment-table (following-char))))
......
;;; ebnf2ps.el --- translate an EBNF to a syntactic chart on PostScript
;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Keywords: wp, ebnf, PostScript
;; Version: 4.3
;; Version: 4.4
;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
;; This file is part of GNU Emacs.
......@@ -26,8 +26,8 @@
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
(defconst ebnf-version "4.3"
"ebnf2ps.el, v 4.3 <2006/09/26 vinicius>
(defconst ebnf-version "4.4"
"ebnf2ps.el, v 4.4 <2007/02/12 vinicius>
Vinicius's last change version. When reporting bugs, please also
report the version of Emacs, if any, that ebnf2ps was running with.
......@@ -448,6 +448,24 @@ Please send all bug fixes and enhancements to
;; `ebnf-eps-region' execution.
;; It's an error to try to close a not opened EPS file.
;;
;; ;Hheader generate a header in current EPS file. The header string can
;; have the following formats:
;;
;; %% prints a % character.
;;
;; %H prints the `ebnf-eps-header' (which see) value.
;;
;; %F prints the `ebnf-eps-footer' (which see) value.
;;
;; Any other format is ignored, that is, if, for example, it's
;; used %s then %s characters are stripped out from the header.
;; If header is an empty string, no header is generated until a
;; non-empty header is specified or `ebnf-eps-header' has a
;; non-empty string value.
;;
;; ;Ffooter generate a footer in current EPS file. Similar to ;H action
;; comment.
;;
;; So if you have:
;;
;; (setq ebnf-horizontal-orientation nil)
......@@ -546,6 +564,16 @@ Please send all bug fixes and enhancements to
;; The production A is generated in both files ebnf--AA.eps and ebnf--BB.eps.
;;
;;
;; Log Messages
;; ------------
;;
;; The buffer *Ebnf2ps Log* is where the ebnf2ps log messages are inserted.
;; These messages are intended to help debugging ebnf2ps.
;;
;; The log messages are enabled by `ebnf-log' option (which see). The default
;; value is nil, that is, no log messages are generated.
;;
;;
;; Utilities
;; ---------
;;
......@@ -723,6 +751,14 @@ Please send all bug fixes and enhancements to
;;
;; `ebnf-eps-prefix' Specify EPS prefix file name.
;;
;; `ebnf-eps-header-font' Specify EPS header font.
;;
;; `ebnf-eps-header' Specify EPS header.
;;
;; `ebnf-eps-footer-font' Specify EPS footer font.
;;
;; `ebnf-eps-footer' Specify EPS footer.
;;
;; `ebnf-use-float-format' Non-nil means use `%f' float format.
;;
;; `ebnf-stop-on-error' Non-nil means signal error and stop.
......@@ -735,6 +771,8 @@ Please send all bug fixes and enhancements to
;; `ebnf-optimize' Non-nil means optimize syntactic chart
;; of rules.
;;
;; `ebnf-log' Non-nil means generate log messages.
;;
;; To set the above options you may:
;;
;; a) insert the code in your ~/.emacs, like:
......@@ -787,6 +825,9 @@ Please send all bug fixes and enhancements to
;; To help to handle this situation, ebnf2ps has the following commands to
;; handle styles:
;;
;; `ebnf-find-style' Return style definition if NAME is already defined;
;; otherwise, return nil.
;;
;; `ebnf-insert-style' Insert a new style NAME with inheritance INHERITS and
;; values VALUES.
;;
......@@ -1879,6 +1920,126 @@ See `ebnf-eps-buffer' and `ebnf-eps-region' commands."
:group 'ebnf2ps)
(defcustom ebnf-eps-header-font '(11 Helvetica "Black" "White" bold)
"*Specify EPS header font.
See documentation for `ebnf-production-font'.
See `ebnf-eps-buffer' and `ebnf-eps-region' commands."
:type '(list :tag "EPS Header Font"
(number :tag "Font Size")
(symbol :tag "Font Name")
(choice :tag "Foreground Color"
(string :tag "Name")
(other :tag "Default" nil))
(choice :tag "Background Color"
(string :tag "Name")
(other :tag "Default" nil))
(repeat :tag "Font Attributes" :inline t
(choice (const bold) (const italic)
(const underline) (const strikeout)
(const overline) (const shadow)
(const box) (const outline))))
:version "22"
:group 'ebnf2ps)
(defcustom ebnf-eps-header nil
"*Specify EPS header.
The value should be a string, a symbol or nil.
String is inserted unchanged.
For symbol bounded to a function, the function is called and should return a
string. For symbol bounded to a value, the value should be a string.
If symbol is unbounded, it is silently ignored.
Empty string or nil mean that no header will be generated.
Note that when the header action comment (;H in EBNF syntax) is specified, the
string in the header action comment is processed and, if it returns a non-empty
string, it's used to generate the header. The header action comment accepts
the following formats:
%% prints a % character.
%H prints the `ebnf-eps-header' value.
%F prints the `ebnf-eps-footer' (which see) value.
Any other format is ignored, that is, if, for example, it's used %s then %s
characters are stripped out from the header. If header action comment is an
empty string, no header is generated until a non-empty header is specified or
`ebnf-eps-header' has a non-empty string value."
:type '(repeat (choice :menu-tag "EPS Header"
:tag "EPS Header"
string symbol (const :tag "No Header" nil )))
:version "22"
:group 'ebnf2ps)
(defcustom ebnf-eps-footer-font '(7 Helvetica "Black" "White" bold)
"*Specify EPS footer font.
See documentation for `ebnf-production-font'.
See `ebnf-eps-buffer' and `ebnf-eps-region' commands."
:type '(list :tag "EPS Footer Font"
(number :tag "Font Size")
(symbol :tag "Font Name")
(choice :tag "Foreground Color"
(string :tag "Name")
(other :tag "Default" nil))
(choice :tag "Background Color"
(string :tag "Name")
(other :tag "Default" nil))
(repeat :tag "Font Attributes" :inline t
(choice (const bold) (const italic)
(const underline) (const strikeout)
(const overline) (const shadow)
(const box) (const outline))))
:version "22"
:group 'ebnf2ps)
(defcustom ebnf-eps-footer nil
"*Specify EPS footer.
The value should be a string, a symbol or nil.
String is inserted unchanged.
For symbol bounded to a function, the function is called and should return a
string. For symbol bounded to a value, the value should be a string.
If symbol is unbounded, it is silently ignored.
Empty string or nil mean that no footer will be generated.
Note that when the footer action comment (;F in EBNF syntax) is specified, the
string in the footer action comment is processed and, if it returns a non-empty
string, it's used to generate the footer. The footer action comment accepts
the following formats:
%% prints a % character.
%H prints the `ebnf-eps-header' (which see) value.
%F prints the `ebnf-eps-footer' value.
Any other format is ignored, that is, if, for example, it's used %s then %s
characters are stripped out from the footer. If footer action comment is an
empty string, no footer is generated until a non-empty footer is specified or
`ebnf-eps-footer' has a non-empty string value."
:type '(repeat (choice :menu-tag "EPS Footer"
:tag "EPS Footer"
string symbol (const :tag "No Footer" nil )))
:version "22"
:group 'ebnf2ps)
(defcustom ebnf-entry-percentage 0.5 ; middle
"*Specify entry height on alternatives.
......@@ -2019,6 +2180,16 @@ The above optimizations are specially useful when `ebnf-syntax' is `yacc'."
:version "20"
:group 'ebnf-optimization)
(defcustom ebnf-log nil
"*Non-nil means generate log messages.
The log messages are generated into the buffer *Ebnf2ps Log*.
These messages are intended to help debugging ebnf2ps."
:type 'boolean
:version "22"
:group 'ebnf2ps)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; To make this file smaller, some commands go in a separate file.
......@@ -2063,6 +2234,7 @@ See also `ebnf-print-buffer'."
(interactive
(list (read-file-name "Directory containing EBNF files (print): "
nil default-directory)))
(ebnf-log-header "(ebnf-print-directory %S)" directory)
(ebnf-directory 'ebnf-print-buffer directory))
......@@ -2075,6 +2247,7 @@ killed after process termination.
See also `ebnf-print-buffer'."
(interactive "fEBNF file to generate PostScript and print from: ")
(ebnf-log-header "(ebnf-print-file %S %S)" file do-not-kill-buffer-when-done)
(ebnf-file 'ebnf-print-buffer file do-not-kill-buffer-when-done))
......@@ -2091,6 +2264,7 @@ is nil, send the image to the printer. If FILENAME is a string, save
the PostScript image in a file with that name. If FILENAME is a
number, prompt the user for the name of the file to save in."
(interactive (list (ps-print-preprint current-prefix-arg)))
(ebnf-log-header "(ebnf-print-buffer %S)" filename)
(ebnf-print-region (point-min) (point-max) filename))
......@@ -2099,6 +2273,7 @@ number, prompt the user for the name of the file to save in."
"Generate and print a PostScript syntactic chart image of the region.
Like `ebnf-print-buffer', but prints just the current region."
(interactive (list (point) (mark) (ps-print-preprint current-prefix-arg)))
(ebnf-log-header "(ebnf-print-region %S %S %S)" from to filename)
(run-hooks 'ebnf-hook)
(or (ebnf-spool-region from to)
(ps-do-despool filename)))
......@@ -2117,6 +2292,7 @@ See also `ebnf-spool-buffer'."
(interactive
(list (read-file-name "Directory containing EBNF files (spool): "
nil default-directory)))
(ebnf-log-header "(ebnf-spool-directory %S)" directory)
(ebnf-directory 'ebnf-spool-buffer directory))
......@@ -2129,6 +2305,7 @@ killed after process termination.
See also `ebnf-spool-buffer'."
(interactive "fEBNF file to generate PostScript and spool from: ")
(ebnf-log-header "(ebnf-spool-file %S %S)" file do-not-kill-buffer-when-done)
(ebnf-file 'ebnf-spool-buffer file do-not-kill-buffer-when-done))
......@@ -2140,6 +2317,7 @@ local buffer to be sent to the printer later.
Use the command `ebnf-despool' to send the spooled images to the printer."
(interactive)
(ebnf-log-header "(ebnf-spool-buffer)")
(ebnf-spool-region (point-min) (point-max)))
......@@ -2150,6 +2328,7 @@ Like `ebnf-spool-buffer', but spools just the current region.
Use the command `ebnf-despool' to send the spooled images to the printer."
(interactive "r")
(ebnf-log-header "(ebnf-spool-region %S)" from to)
(ebnf-generate-region from to 'ebnf-generate))
......@@ -2166,6 +2345,7 @@ See also `ebnf-eps-buffer'."
(interactive
(list (read-file-name "Directory containing EBNF files (EPS): "
nil default-directory)))
(ebnf-log-header "(ebnf-eps-directory %S)" directory)
(ebnf-directory 'ebnf-eps-buffer directory))
......@@ -2178,6 +2358,7 @@ killed after EPS generation.
See also `ebnf-eps-buffer'."
(interactive "fEBNF file to generate EPS file from: ")
(ebnf-log-header "(ebnf-eps-file %S %S)" file do-not-kill-buffer-when-done)
(ebnf-file 'ebnf-eps-buffer file do-not-kill-buffer-when-done))
......@@ -2200,8 +2381,9 @@ The EPS file name has the following form:
file name used in this case will be \"ebnf--A_B_+_C.eps\".
WARNING: This function does *NOT* ask any confirmation to override existing
files."
files."
(interactive)
(ebnf-log-header "(ebnf-eps-buffer)")
(ebnf-eps-region (point-min) (point-max)))
......@@ -2224,8 +2406,9 @@ The EPS file name has the following form:
file name used in this case will be \"ebnf--A_B_+_C.eps\".
WARNING: This function does *NOT* ask any confirmation to override existing
files."
files."
(interactive "r")
(ebnf-log-header "(ebnf-eps-region %S %S)" from to)
(let ((ebnf-eps-executing t))
(ebnf-generate-region from to 'ebnf-generate-eps)))
......@@ -2247,6 +2430,7 @@ See also `ebnf-syntax-buffer'."
(interactive
(list (read-file-name "Directory containing EBNF files (syntax): "
nil default-directory)))
(ebnf-log-header "(ebnf-syntax-directory %S)" directory)
(ebnf-directory 'ebnf-syntax-buffer directory))
......@@ -2259,6 +2443,7 @@ killed after syntax checking.
See also `ebnf-syntax-buffer'."
(interactive "fEBNF file to check syntax: ")
(ebnf-log-header "(ebnf-syntax-file %S %S)" file do-not-kill-buffer-when-done)
(ebnf-file 'ebnf-syntax-buffer file do-not-kill-buffer-when-done))
......@@ -2266,13 +2451,15 @@ See also `ebnf-syntax-buffer'."
(defun ebnf-syntax-buffer ()
"Do a syntactic analysis of the current buffer."
(interactive)
(ebnf-log-header "(ebnf-syntax-buffer)")
(ebnf-syntax-region (point-min) (point-max)))
;;;###autoload
(defun ebnf-syntax-region (from to)
"Do a syntactic analysis of region."
"Do a syntactic analysis of a region."
(interactive "r")
(ebnf-log-header "(ebnf-syntax-region %S %S)" from to)
(ebnf-generate-region from to nil))
......@@ -2287,6 +2474,8 @@ See also `ebnf-syntax-buffer'."
"
;;; ebnf2ps.el version %s
;;; Emacs version %S
\(setq ebnf-special-show-delimiter %S
ebnf-special-font %s
ebnf-special-shape %s
......@@ -2333,20 +2522,28 @@ See also `ebnf-syntax-buffer'."
ebnf-iso-normalize-p %S
ebnf-file-suffix-regexp %S
ebnf-eps-prefix %S
ebnf-eps-header-font %s
ebnf-eps-header %s
ebnf-eps-footer-font %s
ebnf-eps-footer %s
ebnf-entry-percentage %S
ebnf-color-p %S
ebnf-line-width %S
ebnf-line-color %S
ebnf-arrow-extra-width %S
ebnf-arrow-scale %S
ebnf-debug-ps %S
ebnf-use-float-format %S
ebnf-stop-on-error %S
ebnf-yac-ignore-error-recovery %S
ebnf-ignore-empty-rule %S
ebnf-optimize %S)
ebnf-optimize %S
ebnf-log %S)
;;; ebnf2ps.el - end of settings
"
ebnf-version
emacs-version
ebnf-special-show-delimiter
(ps-print-quote ebnf-special-font)
(ps-print-quote ebnf-special-shape)
......@@ -2393,16 +2590,23 @@ See also `ebnf-syntax-buffer'."
ebnf-iso-normalize-p
ebnf-file-suffix-regexp
ebnf-eps-prefix
(ps-print-quote ebnf-eps-header-font)
(ps-print-quote ebnf-eps-header)
(ps-print-quote ebnf-eps-footer-font)
(ps-print-quote ebnf-eps-footer)
ebnf-entry-percentage
ebnf-color-p
ebnf-line-width
ebnf-line-color
ebnf-arrow-extra-width
ebnf-arrow-scale
ebnf-debug-ps
ebnf-use-float-format
ebnf-stop-on-error
ebnf-yac-ignore-error-recovery
ebnf-ignore-empty-rule
ebnf-optimize))
ebnf-optimize
ebnf-log))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
......@@ -2465,6 +2669,10 @@ See also `ebnf-syntax-buffer'."
ebnf-iso-normalize-p
ebnf-file-suffix-regexp
ebnf-eps-prefix
ebnf-eps-header-font
ebnf-eps-header
ebnf-eps-footer-font
ebnf-eps-footer
ebnf-entry-percentage
ebnf-color-p
ebnf-line-width
......@@ -2528,6 +2736,10 @@ See also `ebnf-syntax-buffer'."
(ebnf-iso-normalize-p . nil)
(ebnf-file-suffix-regexp . "\.[Bb][Nn][Ff]$")
(ebnf-eps-prefix . "ebnf--")
(ebnf-eps-header-font . '(11 Helvetica "Black" "White" bold))
(ebnf-eps-header . nil)
(ebnf-eps-footer-font . '(7 Helvetica "Black" "White" bold))
(ebnf-eps-footer . nil)
(ebnf-entry-percentage . 0.5)
(ebnf-color-p . (or (fboundp 'x-color-values) ; Emacs
(fboundp 'color-instance-rgb-components))) ; XEmacs
......@@ -2600,6 +2812,15 @@ Don't use this variable directly. Use functions `ebnf-insert-style',
;; Style commands
;;;###autoload
(defun ebnf-find-style (name)
"Return style definition if NAME is already defined; otherwise, return nil.
See `ebnf-style-database' documentation."
(interactive "SStyle name: ")