[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/progmodes/ebnf2ps.el [lexbind]
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/progmodes/ebnf2ps.el [lexbind] |
Date: |
Wed, 08 Dec 2004 19:17:37 -0500 |
Index: emacs/lisp/progmodes/ebnf2ps.el
diff -c emacs/lisp/progmodes/ebnf2ps.el:1.11.8.6
emacs/lisp/progmodes/ebnf2ps.el:1.11.8.7
*** emacs/lisp/progmodes/ebnf2ps.el:1.11.8.6 Sat Apr 10 06:14:57 2004
--- emacs/lisp/progmodes/ebnf2ps.el Wed Dec 8 23:36:35 2004
***************
*** 5,11 ****
;; Author: Vinicius Jose Latorre <address@hidden>
;; Maintainer: Vinicius Jose Latorre <address@hidden>
! ;; Time-stamp: <2004/04/04 21:40:30 vinicius>
;; Keywords: wp, ebnf, PostScript
;; Version: 4.2
;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/
--- 5,11 ----
;; Author: Vinicius Jose Latorre <address@hidden>
;; Maintainer: Vinicius Jose Latorre <address@hidden>
! ;; Time-stamp: <2004/11/19 22:30:34 vinicius>
;; Keywords: wp, ebnf, PostScript
;; Version: 4.2
;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/
***************
*** 393,399 ****
;; 6. A = B | . ==> A = [B].
;; 7. A = | B . ==> A = [B].
;;
! ;; factoration:
;; 8. A = B C | B D. ==> A = B (C | D).
;; 9. A = C B | D B. ==> A = (C | D) B.
;; 10. A = B C E | B D E. ==> A = B (C | D) E.
--- 393,399 ----
;; 6. A = B | . ==> A = [B].
;; 7. A = | B . ==> A = [B].
;;
! ;; factorization:
;; 8. A = B C | B D. ==> A = B (C | D).
;; 9. A = C B | D B. ==> A = (C | D) B.
;; 10. A = B C E | B D E. ==> A = B (C | D) E.
***************
*** 1114,1132 ****
;; to avoid gripes with Emacs 20
! (eval-and-compile
! (or (fboundp 'assq-delete-all)
! (defun assq-delete-all (key alist)
! "Delete from ALIST all elements whose car is KEY.
Return the modified alist.
Elements of ALIST that are not conses are ignored."
! (let ((tail alist))
! (while tail
! (if (and (consp (car tail))
! (eq (car (car tail)) key))
! (setq alist (delq (car tail) alist)))
! (setq tail (cdr tail)))
! alist))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--- 1114,1131 ----
;; to avoid gripes with Emacs 20
! (or (fboundp 'assq-delete-all)
! (defun assq-delete-all (key alist)
! "Delete from ALIST all elements whose car is KEY.
Return the modified alist.
Elements of ALIST that are not conses are ignored."
! (let ((tail alist))
! (while tail
! (if (and (consp (car tail))
! (eq (car (car tail)) key))
! (setq alist (delq (car tail) alist)))
! (setq tail (cdr tail)))
! alist)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
***************
*** 1138,1149 ****
--- 1137,1150 ----
(defgroup postscript nil
"PostScript Group"
:tag "PostScript"
+ :version "20"
:group 'emacs)
(defgroup ebnf2ps nil
"Translate an EBNF to a syntactic chart on PostScript"
:prefix "ebnf-"
+ :version "20"
:group 'wp
:group 'postscript)
***************
*** 1152,1157 ****
--- 1153,1159 ----
"Special customization"
:prefix "ebnf-"
:tag "Special"
+ :version "20"
:group 'ebnf2ps)
***************
*** 1159,1164 ****
--- 1161,1167 ----
"Except customization"
:prefix "ebnf-"
:tag "Except"
+ :version "20"
:group 'ebnf2ps)
***************
*** 1166,1171 ****
--- 1169,1175 ----
"Repeat customization"
:prefix "ebnf-"
:tag "Repeat"
+ :version "20"
:group 'ebnf2ps)
***************
*** 1173,1178 ****
--- 1177,1183 ----
"Terminal customization"
:prefix "ebnf-"
:tag "Terminal"
+ :version "20"
:group 'ebnf2ps)
***************
*** 1180,1185 ****
--- 1185,1191 ----
"Non-Terminal customization"
:prefix "ebnf-"
:tag "Non-Terminal"
+ :version "20"
:group 'ebnf2ps)
***************
*** 1187,1192 ****
--- 1193,1199 ----
"Production customization"
:prefix "ebnf-"
:tag "Production"
+ :version "20"
:group 'ebnf2ps)
***************
*** 1194,1199 ****
--- 1201,1207 ----
"Shapes customization"
:prefix "ebnf-"
:tag "Shape"
+ :version "20"
:group 'ebnf2ps)
***************
*** 1201,1206 ****
--- 1209,1215 ----
"Displacement customization"
:prefix "ebnf-"
:tag "Displacement"
+ :version "20"
:group 'ebnf2ps)
***************
*** 1208,1213 ****
--- 1217,1223 ----
"Syntactic customization"
:prefix "ebnf-"
:tag "Syntactic"
+ :version "20"
:group 'ebnf2ps)
***************
*** 1215,1226 ****
--- 1225,1238 ----
"Optimization customization"
:prefix "ebnf-"
:tag "Optimization"
+ :version "20"
:group 'ebnf2ps)
(defcustom ebnf-horizontal-orientation nil
"*Non-nil means productions are drawn horizontally."
:type 'boolean
+ :version "20"
:group 'ebnf-displacement)
***************
*** 1229,1234 ****
--- 1241,1247 ----
It is only used when `ebnf-horizontal-orientation' is non-nil."
:type 'boolean
+ :version "20"
:group 'ebnf-displacement)
***************
*** 1237,1242 ****
--- 1250,1256 ----
Value less or equal to zero forces ebnf2ps to set a proper default value."
:type 'number
+ :version "20"
:group 'ebnf-displacement)
***************
*** 1245,1250 ****
--- 1259,1265 ----
Value less or equal to zero forces ebnf2ps to set a proper default value."
:type 'number
+ :version "20"
:group 'ebnf-displacement)
***************
*** 1258,1269 ****
--- 1273,1286 ----
any other value centralize"
:type '(radio :tag "Sequence Justification"
(const left) (const right) (other :tag "center" center))
+ :version "20"
:group 'ebnf-displacement)
(defcustom ebnf-special-show-delimiter t
"*Non-nil means special delimiter (character `?') is shown."
:type 'boolean
+ :version "20"
:group 'ebnf-special)
***************
*** 1285,1290 ****
--- 1302,1308 ----
(const underline) (const strikeout)
(const overline) (const shadow)
(const box) (const outline))))
+ :version "20"
:group 'ebnf-special)
***************
*** 1294,1317 ****
--- 1312,1339 ----
See documentation for `ebnf-non-terminal-shape'."
:type '(radio :tag "Special Shape"
(const miter) (const round) (const bevel))
+ :version "20"
:group 'ebnf-special)
(defcustom ebnf-special-shadow nil
"*Non-nil means special box will have a shadow."
:type 'boolean
+ :version "20"
:group 'ebnf-special)
(defcustom ebnf-special-border-width 0.5
"*Specify border width for special box."
:type 'number
+ :version "20"
:group 'ebnf-special)
(defcustom ebnf-special-border-color "Black"
"*Specify border color for special box."
:type 'string
+ :version "20"
:group 'ebnf-special)
***************
*** 1333,1338 ****
--- 1355,1361 ----
(const underline) (const strikeout)
(const overline) (const shadow)
(const box) (const outline))))
+ :version "20"
:group 'ebnf-except)
***************
*** 1342,1365 ****
--- 1365,1392 ----
See documentation for `ebnf-non-terminal-shape'."
:type '(radio :tag "Except Shape"
(const miter) (const round) (const bevel))
+ :version "20"
:group 'ebnf-except)
(defcustom ebnf-except-shadow nil
"*Non-nil means except box will have a shadow."
:type 'boolean
+ :version "20"
:group 'ebnf-except)
(defcustom ebnf-except-border-width 0.25
"*Specify border width for except box."
:type 'number
+ :version "20"
:group 'ebnf-except)
(defcustom ebnf-except-border-color "Black"
"*Specify border color for except box."
:type 'string
+ :version "20"
:group 'ebnf-except)
***************
*** 1381,1386 ****
--- 1408,1414 ----
(const underline) (const strikeout)
(const overline) (const shadow)
(const box) (const outline))))
+ :version "20"
:group 'ebnf-repeat)
***************
*** 1390,1413 ****
--- 1418,1445 ----
See documentation for `ebnf-non-terminal-shape'."
:type '(radio :tag "Repeat Shape"
(const miter) (const round) (const bevel))
+ :version "20"
:group 'ebnf-repeat)
(defcustom ebnf-repeat-shadow nil
"*Non-nil means repeat box will have a shadow."
:type 'boolean
+ :version "20"
:group 'ebnf-repeat)
(defcustom ebnf-repeat-border-width 0.0
"*Specify border width for repeat box."
:type 'number
+ :version "20"
:group 'ebnf-repeat)
(defcustom ebnf-repeat-border-color "Black"
"*Specify border color for repeat box."
:type 'string
+ :version "20"
:group 'ebnf-repeat)
***************
*** 1429,1434 ****
--- 1461,1467 ----
(const underline) (const strikeout)
(const overline) (const shadow)
(const box) (const outline))))
+ :version "20"
:group 'ebnf-terminal)
***************
*** 1438,1467 ****
--- 1471,1505 ----
See documentation for `ebnf-non-terminal-shape'."
:type '(radio :tag "Terminal Shape"
(const miter) (const round) (const bevel))
+ :version "20"
:group 'ebnf-terminal)
(defcustom ebnf-terminal-shadow nil
"*Non-nil means terminal box will have a shadow."
:type 'boolean
+ :version "20"
:group 'ebnf-terminal)
(defcustom ebnf-terminal-border-width 1.0
"*Specify border width for terminal box."
:type 'number
+ :version "20"
:group 'ebnf-terminal)
(defcustom ebnf-terminal-border-color "Black"
"*Specify border color for terminal box."
:type 'string
+ :version "20"
:group 'ebnf-terminal)
(defcustom ebnf-production-name-p t
"*Non-nil means production name will be printed."
:type 'boolean
+ :version "20"
:group 'ebnf-production)
***************
*** 1477,1482 ****
--- 1515,1521 ----
(const :tag "Ascending" ascending)
(const :tag "Descending" descending)
(other :tag "No Sort" nil))
+ :version "20"
:group 'ebnf-production)
***************
*** 1519,1524 ****
--- 1558,1564 ----
(const underline) (const strikeout)
(const overline) (const shadow)
(const box) (const outline))))
+ :version "20"
:group 'ebnf-production)
***************
*** 1540,1545 ****
--- 1580,1586 ----
(const underline) (const strikeout)
(const overline) (const shadow)
(const box) (const outline))))
+ :version "20"
:group 'ebnf-non-terminal)
***************
*** 1563,1586 ****
--- 1604,1631 ----
Any other value is treated as `miter'."
:type '(radio :tag "Non-Terminal Shape"
(const miter) (const round) (const bevel))
+ :version "20"
:group 'ebnf-non-terminal)
(defcustom ebnf-non-terminal-shadow nil
"*Non-nil means non-terminal box will have a shadow."
:type 'boolean
+ :version "20"
:group 'ebnf-non-terminal)
(defcustom ebnf-non-terminal-border-width 1.0
"*Specify border width for non-terminal box."
:type 'number
+ :version "20"
:group 'ebnf-non-terminal)
(defcustom ebnf-non-terminal-border-color "Black"
"*Specify border color for non-terminal box."
:type 'string
+ :version "20"
:group 'ebnf-non-terminal)
***************
*** 1637,1642 ****
--- 1682,1688 ----
(const full) (const semi-up-hollow)
(const semi-down-hollow) (const semi-up-full)
(const semi-down-full) (const user))
+ :version "20"
:group 'ebnf-shape)
***************
*** 1646,1651 ****
--- 1692,1698 ----
See documentation for `ebnf-non-terminal-shape'."
:type '(radio :tag "Chart Flow Shape"
(const miter) (const round) (const bevel))
+ :version "20"
:group 'ebnf-shape)
***************
*** 1685,1690 ****
--- 1732,1738 ----
The variable `ebnf-user-arrow' is only used when `ebnf-arrow-shape' is set to
symbol `user'."
:type '(sexp :tag "User Arrow Shape")
+ :version "20"
:group 'ebnf-shape)
***************
*** 1728,1733 ****
--- 1776,1782 ----
:type '(radio :tag "Syntax"
(const ebnf) (const abnf) (const iso-ebnf)
(const yacc) (const ebnfx) (const dtd))
+ :version "20"
:group 'ebnf-syntactic)
***************
*** 1736,1741 ****
--- 1785,1791 ----
It's used only when `ebnf-syntax' is `ebnf'."
:type 'character
+ :version "20"
:group 'ebnf-syntactic)
***************
*** 1744,1749 ****
--- 1794,1800 ----
It's used only when `ebnf-syntax' is `ebnf'."
:type 'character
+ :version "20"
:group 'ebnf-syntactic)
***************
*** 1757,1762 ****
--- 1808,1814 ----
It's used only when `ebnf-syntax' is `ebnf'."
:type '(radio :tag "Terminal Name"
(const nil) regexp)
+ :version "20"
:group 'ebnf-syntactic)
***************
*** 1766,1771 ****
--- 1818,1824 ----
It's only used when `ebnf-terminal-regexp' is non-nil and when `ebnf-syntax'
is
`ebnf'."
:type 'boolean
+ :version "20"
:group 'ebnf-syntactic)
***************
*** 1784,1789 ****
--- 1837,1843 ----
} ==> :)
; ==> ."
:type 'boolean
+ :version "20"
:group 'ebnf-syntactic)
***************
*** 1795,1800 ****
--- 1849,1855 ----
It's only used when `ebnf-syntax' is `iso-ebnf'."
:type 'boolean
+ :version "20"
:group 'ebnf-syntactic)
***************
*** 1803,1808 ****
--- 1858,1864 ----
See `ebnf-eps-directory' command."
:type 'regexp
+ :version "20"
:group 'ebnf2ps)
***************
*** 1811,1816 ****
--- 1867,1873 ----
See `ebnf-eps-buffer' and `ebnf-eps-region' commands."
:type 'string
+ :version "20"
:group 'ebnf2ps)
***************
*** 1819,1824 ****
--- 1876,1882 ----
It must be a float between 0.0 (top) and 1.0 (bottom)."
:type 'number
+ :version "20"
:group 'ebnf2ps)
***************
*** 1826,1831 ****
--- 1884,1890 ----
"*Specify additional border width over default terminal, non-terminal or
special."
:type 'number
+ :version "20"
:group 'ebnf2ps)
***************
*** 1834,1851 ****
--- 1893,1913 ----
(fboundp 'color-instance-rgb-components)) ; XEmacs
"*Non-nil means use color."
:type 'boolean
+ :version "20"
:group 'ebnf2ps)
(defcustom ebnf-line-width 1.0
"*Specify flow line width."
:type 'number
+ :version "20"
:group 'ebnf2ps)
(defcustom ebnf-line-color "Black"
"*Specify flow line color."
:type 'string
+ :version "20"
:group 'ebnf2ps)
***************
*** 1854,1859 ****
--- 1916,1922 ----
It is intended to help PostScript programmers in debugging."
:type 'boolean
+ :version "20"
:group 'ebnf2ps)
***************
*** 1869,1880 ****
--- 1932,1945 ----
when executing ebnf2ps, set `ebnf-use-float-format' to nil."
:type 'boolean
+ :version "20"
:group 'ebnf2ps)
(defcustom ebnf-stop-on-error nil
"*Non-nil means signal error and stop. Nil means signal error and continue."
:type 'boolean
+ :version "20"
:group 'ebnf2ps)
***************
*** 1883,1888 ****
--- 1948,1954 ----
It's only used when `ebnf-syntax' is `yacc'."
:type 'boolean
+ :version "20"
:group 'ebnf-syntactic)
***************
*** 1892,1897 ****
--- 1958,1964 ----
It's interesting to set this variable if your Yacc/Bison grammar has a lot of
middle action rule."
:type 'boolean
+ :version "20"
:group 'ebnf-optimization)
***************
*** 1911,1923 ****
6. A = B | . ==> A = [B].
7. A = | B . ==> A = [B].
! factoration:
8. A = B C | B D. ==> A = B (C | D).
9. A = C B | D B. ==> A = (C | D) B.
10. A = B C E | B D E. ==> A = B (C | D) E.
The above optimizations are specially useful when `ebnf-syntax' is `yacc'."
:type 'boolean
:group 'ebnf-optimization)
--- 1978,1991 ----
6. A = B | . ==> A = [B].
7. A = | B . ==> A = [B].
! factorization:
8. A = B C | B D. ==> A = B (C | D).
9. A = C B | D B. ==> A = (C | D) B.
10. A = B C E | B D E. ==> A = B (C | D) E.
The above optimizations are specially useful when `ebnf-syntax' is `yacc'."
:type 'boolean
+ :version "20"
:group 'ebnf-optimization)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/progmodes/ebnf2ps.el [lexbind],
Miles Bader <=