Variable: prolog-smie-grammar

prolog-smie-grammar is a variable defined in prolog.el.gz.

Value

Large value
(("." -10000 -10000)
 ("?-" nil -1200)
 (":-" -1200 -1200)
 ("-->" -1200 -1200)
 ("discontiguous" nil -1150)
 ("dynamic" nil -1150)
 ("meta_predicate" nil -1150)
 ("module_transparent" nil -1150)
 ("multifile" nil -1150)
 ("public" nil -1150)
 ("|" -1105 -1105)
 (";" -1100 -1100)
 ("*->" -1050 -1050)
 ("->" -1050 -1050)
 ("," -1000 -1000)
 ("\\+" nil -900)
 ("=" -700 -700)
 ("\\=" -700 -700)
 ("=.." -700 -700)
 ("==" -700 -700)
 ("\\==" -700 -700)
 ("@<" -700 -700)
 ("@=<" -700 -700)
 ("@>" -700 -700)
 ("@>=" -700 -700)
 ("is" -700 -700)
 ("=:=" -700 -700)
 ("=\\=" -700 -700)
 ("<" -700 -700)
 ("=<" -700 -700)
 (">" -700 -700)
 (">=" -700 -700)
 (":" -600 -600)
 ("+" -500 -500)
 ("-" -500 -500)
 ("/\\" -500 -500)
 ("\\/" -500 -500)
 ("*" -400 -400)
 ("/" -400 -400)
 ("//" -400 -400)
 ("rem" -400 -400)
 ("mod" -400 -400)
 ("<<" -400 -400)
 (">>" -400 -400)
 ("**" -200 -200)
 ("^" -200 -200)
 (:smie-closer-alist
  (t . ".")))

Documentation

Precedence levels of infix operators.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/prolog.el.gz
(defconst prolog-smie-grammar
  ;; Rather than construct the operator levels table from the BNF,
  ;; we directly provide the operator precedences from GNU Prolog's
  ;; manual (7.14.10 op/3).  The only problem is that GNU Prolog's
  ;; manual uses precedence levels in the opposite sense (higher
  ;; numbers bind less tightly) than SMIE, so we use negative numbers.
  '(("." -10000 -10000)
    ("?-" nil -1200)
    (":-" -1200 -1200)
    ("-->" -1200 -1200)
    ("discontiguous" nil -1150)
    ("dynamic" nil -1150)
    ("meta_predicate" nil -1150)
    ("module_transparent" nil -1150)
    ("multifile" nil -1150)
    ("public" nil -1150)
    ("|" -1105 -1105)
    (";" -1100 -1100)
    ("*->" -1050 -1050)
    ("->" -1050 -1050)
    ("," -1000 -1000)
    ("\\+" nil -900)
    ("=" -700 -700)
    ("\\=" -700 -700)
    ("=.." -700 -700)
    ("==" -700 -700)
    ("\\==" -700 -700)
    ("@<" -700 -700)
    ("@=<" -700 -700)
    ("@>" -700 -700)
    ("@>=" -700 -700)
    ("is" -700 -700)
    ("=:=" -700 -700)
    ("=\\=" -700 -700)
    ("<" -700 -700)
    ("=<" -700 -700)
    (">" -700 -700)
    (">=" -700 -700)
    (":" -600 -600)
    ("+" -500 -500)
    ("-" -500 -500)
    ("/\\" -500 -500)
    ("\\/" -500 -500)
    ("*" -400 -400)
    ("/" -400 -400)
    ("//" -400 -400)
    ("rem" -400 -400)
    ("mod" -400 -400)
    ("<<" -400 -400)
    (">>" -400 -400)
    ("**" -200 -200)
    ("^" -200 -200)
    ;; Prefix
    ;; ("+" 200 200)
    ;; ("-" 200 200)
    ;; ("\\" 200 200)
    (:smie-closer-alist (t . "."))
    )
  "Precedence levels of infix operators.")