Variable: semantic-grammar-wy--parse-table
semantic-grammar-wy--parse-table is a variable defined in
grm-wy-boot.el.gz.
Value
Large value
[[((default . error) ($$use_names . 1) ($$put_values . 2)
($$put_names . 3) ($$rule . 4) ($$nonterminal . 5)
($$declaration . 6) ($$epilogue . 7) ($$prologue . 8)
($$grammar . 9))
((default . error) (SYMBOL . 19) (LBRACE . 20) (RBRACE . 21))
((default . error) (SYMBOL . 23) (LBRACE . 24) (RBRACE . 25))
((default . error) (SYMBOL . 28) (LBRACE . 29) (RBRACE . 30)
(LT . 31))
((default . rhs:0)) ((default . error) (SYMBOL . 37))
((default . error) (DEFAULT-PREC . 39) (NO-DEFAULT-PREC . 40)
(KEYWORD . 41) (LANGUAGEMODE . 42) (LEFT . 43) (NONASSOC . 44)
(PACKAGE . 45) (EXPECTEDCONFLICTS . 46) (PROVIDE . 47) (PUT . 48)
(QUOTEMODE . 49) (RIGHT . 50) (SCOPESTART . 51) (START . 52)
(TOKEN . 53) (TYPE . 54) (USE-MACROS . 55))
((default . error) (EPILOGUE . 74))
((default . error) (PROLOGUE . 76))
((default . error) (DEFAULT-PREC . 39) (NO-DEFAULT-PREC . 40)
(KEYWORD . 41) (LANGUAGEMODE . 42) (LEFT . 43) (NONASSOC . 44)
(PACKAGE . 45) (EXPECTEDCONFLICTS . 46) (PROVIDE . 47) (PUT . 48)
(QUOTEMODE . 49) (RIGHT . 50) (SCOPESTART . 51) (START . 52)
(TOKEN . 53) (TYPE . 54) (USE-MACROS . 55) (SYMBOL . 37)
(PERCENT_PERCENT . 78) (PROLOGUE . 76) (EPILOGUE . 74))
((default . $STARTS:8)) ((default . $STARTS:7))
((default . $STARTS:6)) ((default . $STARTS:5))
((default . $STARTS:4)) ((default . $STARTS:3))
((default . $STARTS:2)) ((default . $STARTS:1))
((default . $STARTS:0)) ((default . use_names:2))
((default . use_names:0)) ((default . use_names:1))
((default . $use_names:0))
((default . error) (STRING . 84) (SYMBOL . 85) (PREFIXED_LIST . 86)
(SEXP . 87) (PAREN_BLOCK . 88))
((default . put_values:0)) ((default . put_values:1))
((default . $put_values:0)) ((default . put_values:2))
((default . put_name:0)) ((default . put_names:0))
((default . put_names:1)) ((default . error) (SYMBOL . 90))
((default . $put_names:0)) ((default . put_names:2))
((default . put_name:1)) ((default . $rule:0))
((default . rule:0) (PREC . 91) (SYMBOL . 92) (CHARACTER . 93)
(PREFIXED_LIST . 94) (PAREN_BLOCK . 95) (BRACE_BLOCK . 96))
((default . nonterminal:0)) ((default . $nonterminal:0))
((default . default_prec_decl:0))
((default . no_default_prec_decl:0))
((default . error) (SYMBOL . 100))
((default . error) (SYMBOL . 101)) ((default . associativity:0))
((default . associativity:2)) ((default . error) (SYMBOL . 104))
((default . error) (SYMBOL . 101))
((default . error) (SYMBOL . 106))
((default . error) (SYMBOL . 28) (BRACE_BLOCK . 107) (LT . 31))
((default . error) (SYMBOL . 110)) ((default . associativity:1))
((default . error) (SYMBOL . 111))
((default . error) (SYMBOL . 101))
((default . token_type_opt:0) (LT . 31))
((default . error) (LT . 31)) ((default . error) (SYMBOL . 116))
((default . $declaration:0)) ((default . declaration:0))
((default . decl:0)) ((default . decl:1)) ((default . decl:2))
((default . decl:3)) ((default . decl:4)) ((default . decl:5))
((default . decl:6)) ((default . token_type_opt:0) (LT . 31))
((default . decl:7)) ((default . decl:9)) ((default . decl:8))
((default . decl:10)) ((default . decl:11)) ((default . decl:12))
((default . decl:13)) ((default . decl:14)) ((default . epilogue:0))
((default . $epilogue:0)) ((default . prologue:0))
((default . $prologue:0)) ((default . grammar:4))
((default . $grammar:0)) ((default . grammar:0))
((default . grammar:1)) ((default . grammar:2))
((default . grammar:3)) ((default . any_value:1))
((default . any_value:0)) ((default . any_value:3))
((default . any_value:4)) ((default . any_value:2))
((default . put_value:0)) ((default . error) (GT . 118))
((default . error) (SYMBOL . 92) (CHARACTER . 93))
((default . item:0)) ((default . item:1)) ((default . action:1))
((default . action:0)) ((default . action:2)) ((default . rhs:2))
((default . rhs:1)) ((default . error) (COLON . 120))
((default . error) (STRING . 121)) ((default . lifo_symbols:1))
((default . languagemode_decl:0))
((default . symbols:0) (SYMBOL . 123)) ((default . package_decl:0))
((default . expectedconflicts_decl:0)) ((default . provide_decl:0))
((default . put_name_list:0))
((default . error) (SYMBOL . 23) (BRACE_BLOCK . 124))
((default . error) (SYMBOL . 23) (BRACE_BLOCK . 124))
((default . quotemode_decl:0)) ((default . scopestart_decl:0))
((default . start_decl:0)) ((default . error) (SYMBOL . 129))
((default . token_type_opt:1))
((default . plist_opt:0) (SYMBOL . 23))
((default . error) (BRACE_BLOCK . 134))
((default . error) (SYMBOL . 92) (CHARACTER . 93))
((default . token_type:0)) ((default . rhs:3)) ((default . rhs:0))
((default . string_value:0)) ((default . keyword_decl:0))
((default . lifo_symbols:0)) ((default . put_value_list:0))
((default . put_decl:3)) ((default . put_decl:2))
((default . put_decl:1)) ((default . put_decl:0))
((default . lifo_symbols:1) (STRING . 121))
((default . token_decl:1)) ((default . plist:1))
((default . type_decl:0)) ((default . plist_opt:1) (SYMBOL . 23))
((default . use_name_list:0)) ((default . use_macros_decl:0))
((default . precedence_decl:0))
((default . items:0) (SYMBOL . 92) (CHARACTER . 93))
((default . lifo_items:1)) ((default . error) (SEMI . 145))
((default . rules:0) (OR . 146)) ((default . lifo_rules:1))
((default . token_decl:0)) ((default . plist:0))
((default . lifo_items:0)) ((default . nonterminal:1))
((default . rhs:0)) ((default . lifo_rules:0))
((default . error) ($EOI . 149)) ((default . error) ($EOI . 150))
((default . accept))]
[(($STARTS . 148) ($grammar . 18) ($prologue . 17) ($epilogue . 16)
($declaration . 15) ($nonterminal . 14) ($rule . 13)
($put_names . 12) ($put_values . 11) ($use_names . 10))
((use_names . 22)) ((put_value . 27) (put_values . 26))
((token_type . 34) (put_name . 33) (put_names . 32))
((rhs . 36) (rule . 35)) ((nonterminal . 38))
((use_macros_decl . 73) (type_decl . 72) (token_decl . 71)
(keyword_decl . 70) (start_decl . 69) (quotemode_decl . 68)
(scopestart_decl . 67) (put_decl . 66) (associativity . 65)
(precedence_decl . 64) (provide_decl . 63)
(expectedconflicts_decl . 62) (package_decl . 61)
(languagemode_decl . 60) (no_default_prec_decl . 59)
(default_prec_decl . 58) (decl . 57) (declaration . 56))
((epilogue . 75)) ((prologue . 77))
((nonterminal . 83) (use_macros_decl . 73) (type_decl . 72)
(token_decl . 71) (keyword_decl . 70) (start_decl . 69)
(quotemode_decl . 68) (scopestart_decl . 67) (put_decl . 66)
(associativity . 65) (precedence_decl . 64) (provide_decl . 63)
(expectedconflicts_decl . 62) (package_decl . 61)
(languagemode_decl . 60) (no_default_prec_decl . 59)
(default_prec_decl . 58) (decl . 57) (declaration . 82)
(epilogue . 81) (prologue . 80) (grammar . 79))
nil nil nil nil nil nil nil nil nil nil nil nil nil
((any_value . 89)) nil nil nil nil nil nil nil nil nil nil nil nil
((item . 98) (action . 97)) ((@1 . 99)) nil nil nil nil
((lifo_symbols . 103) (symbols . 102)) nil nil nil
((lifo_symbols . 103) (symbols . 105)) nil
((token_type . 34) (put_name . 109) (put_name_list . 108)) nil nil
nil ((lifo_symbols . 103) (symbols . 112))
((token_type . 114) (token_type_opt . 113)) ((token_type . 115)) nil
nil nil nil nil nil nil nil nil nil
((token_type . 114) (token_type_opt . 117)) nil nil nil nil nil nil
nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
nil nil ((item . 119)) nil nil nil nil nil nil nil nil
((string_value . 122)) nil nil nil nil nil nil nil
((put_value . 126) (put_value_list . 125))
((put_value . 128) (put_value_list . 127)) nil nil nil
((lifo_symbols . 103) (symbols . 130)) nil
((plist . 133) (plist_opt . 132) (put_value . 131))
((use_name_list . 135))
((item . 138) (lifo_items . 137) (items . 136)) nil nil
((rhs . 36) (rule . 141) (lifo_rules . 140) (rules . 139)) nil nil
nil nil nil nil nil nil ((string_value . 142)) nil nil nil
((put_value . 143)) nil nil nil ((item . 144)) nil nil nil nil nil
nil nil nil ((rhs . 36) (rule . 147)) nil nil nil nil]
((grammar . $$grammar) (prologue . $$prologue)
(epilogue . $$epilogue) (declaration . $$declaration)
(nonterminal . $$nonterminal) (rule . $$rule)
(put_names . $$put_names) (put_values . $$put_values)
(use_names . $$use_names))
#<obarray n=112>]
Documentation
Parser table.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/grm-wy-boot.el.gz
(defconst semantic-grammar-wy--parse-table
(wisent-compiled-grammar
((DEFAULT-PREC NO-DEFAULT-PREC KEYWORD LANGUAGEMODE LEFT NONASSOC
PACKAGE EXPECTEDCONFLICTS PROVIDE PREC PUT QUOTEMODE
RIGHT SCOPESTART START TOKEN TYPE USE-MACROS STRING
SYMBOL PERCENT_PERCENT CHARACTER PREFIXED_LIST SEXP
PROLOGUE EPILOGUE PAREN_BLOCK BRACE_BLOCK LPAREN
RPAREN LBRACE RBRACE COLON SEMI OR LT GT)
nil
(grammar ((prologue)) ((epilogue)) ((declaration)) ((nonterminal))
((PERCENT_PERCENT)))
(prologue
((PROLOGUE) (wisent-raw-tag (semantic-tag-new-code "prologue" nil))))
(epilogue
((EPILOGUE) (wisent-raw-tag (semantic-tag-new-code "epilogue" nil))))
(declaration ((decl) (eval $1 t)))
(decl ((default_prec_decl)) ((no_default_prec_decl))
((languagemode_decl)) ((package_decl))
((expectedconflicts_decl)) ((provide_decl))
((precedence_decl)) ((put_decl)) ((quotemode_decl))
((scopestart_decl)) ((start_decl)) ((keyword_decl))
((token_decl)) ((type_decl)) ((use_macros_decl)))
(default_prec_decl
((DEFAULT-PREC)
`(wisent-raw-tag
(semantic-tag "default-prec" 'assoc :value '("t")))))
(no_default_prec_decl
((NO-DEFAULT-PREC)
`(wisent-raw-tag
(semantic-tag "default-prec" 'assoc :value '("nil")))))
(languagemode_decl
((LANGUAGEMODE symbols)
`(wisent-raw-tag
(semantic-tag ',(car $2) 'languagemode :rest ',(cdr $2)))))
(package_decl
((PACKAGE SYMBOL)
`(wisent-raw-tag (semantic-tag-new-package ',$2 nil))))
(expectedconflicts_decl
((EXPECTEDCONFLICTS symbols)
`(wisent-raw-tag
(semantic-tag ',(car $2) 'expectedconflicts :rest ',(cdr $2)))))
(provide_decl
((PROVIDE SYMBOL) `(wisent-raw-tag (semantic-tag ',$2 'provide))))
(precedence_decl
((associativity token_type_opt items)
`(wisent-raw-tag (semantic-tag ',$1 'assoc :type ',$2 :value ',$3))))
(associativity ((LEFT) (progn "left")) ((RIGHT) (progn "right"))
((NONASSOC) (progn "nonassoc")))
(put_decl
((PUT put_name put_value)
`(wisent-raw-tag (semantic-tag ',$2 'put :value ',(list $3))))
((PUT put_name put_value_list)
`(wisent-raw-tag (semantic-tag ',$2 'put :value ',$3)))
((PUT put_name_list put_value)
`(wisent-raw-tag
(semantic-tag ',(car $2) 'put :rest ',(cdr $2) :value
',(list $3))))
((PUT put_name_list put_value_list)
`(wisent-raw-tag
(semantic-tag ',(car $2) 'put :rest ',(cdr $2) :value ',$3))))
(put_name_list
((BRACE_BLOCK)
(mapcar #'semantic-tag-name
(semantic-parse-region (car $region1) (cdr $region1)
'put_names 1))))
(put_names ((LBRACE) nil) ((RBRACE) nil)
((put_name) (wisent-raw-tag (semantic-tag $1 'put-name))))
(put_name ((SYMBOL)) ((token_type)))
(put_value_list
((BRACE_BLOCK)
(mapcar #'semantic-tag-code-detail
(semantic-parse-region (car $region1) (cdr $region1)
'put_values 1))))
(put_values ((LBRACE) nil) ((RBRACE) nil)
((put_value)
(wisent-raw-tag (semantic-tag-new-code "put-value" $1))))
(put_value ((SYMBOL any_value) (cons $1 $2)))
(scopestart_decl
((SCOPESTART SYMBOL)
`(wisent-raw-tag (semantic-tag ',$2 'scopestart))))
(quotemode_decl
((QUOTEMODE SYMBOL)
`(wisent-raw-tag (semantic-tag ',$2 'quotemode))))
(start_decl
((START symbols)
`(wisent-raw-tag (semantic-tag ',(car $2) 'start :rest ',(cdr $2)))))
(keyword_decl
((KEYWORD SYMBOL string_value)
`(wisent-raw-tag (semantic-tag ',$2 'keyword :value ',$3))))
(token_decl
((TOKEN token_type_opt SYMBOL string_value)
`(wisent-raw-tag
(semantic-tag ',$3 ',(if $2 'token 'keyword) :type ',$2 :value
',$4)))
((TOKEN token_type_opt symbols)
`(wisent-raw-tag
(semantic-tag ',(car $3) 'token :type ',$2 :rest ',(cdr $3)))))
(token_type_opt (nil) ((token_type)))
(token_type ((LT SYMBOL GT) (progn $2)))
(type_decl
((TYPE token_type plist_opt)
`(wisent-raw-tag (semantic-tag ',$2 'type :value ',$3))))
(plist_opt (nil) ((plist)))
(plist ((plist put_value) (append (list $2) $1))
((put_value) (list $1)))
(use_name_list
((BRACE_BLOCK)
(mapcar #'semantic-tag-name
(semantic-parse-region (car $region1) (cdr $region1)
'use_names 1))))
(use_names ((LBRACE) nil) ((RBRACE) nil)
((SYMBOL) (wisent-raw-tag (semantic-tag $1 'use-name))))
(use_macros_decl
((USE-MACROS SYMBOL use_name_list)
`(wisent-raw-tag
(semantic-tag "macro" 'macro :type ',$2 :value ',$3))))
(string_value ((STRING) (read $1)))
(any_value ((SYMBOL)) ((STRING)) ((PAREN_BLOCK)) ((PREFIXED_LIST))
((SEXP)))
(symbols ((lifo_symbols) (nreverse $1)))
(lifo_symbols ((lifo_symbols SYMBOL) (cons $2 $1))
((SYMBOL) (list $1)))
(nonterminal
((SYMBOL
(setq semantic-grammar-wy--nterm $1 semantic-grammar-wy--rindx 0)
COLON rules SEMI)
(wisent-raw-tag (semantic-tag $1 'nonterminal :children $4))))
(rules ((lifo_rules) (apply #'nconc (nreverse $1))))
(lifo_rules ((lifo_rules OR rule) (cons $3 $1)) ((rule) (list $1)))
(rule
((rhs)
(let*
((nterm semantic-grammar-wy--nterm)
(rindx semantic-grammar-wy--rindx) (rhs $1) comps prec action
elt)
(setq semantic-grammar-wy--rindx (1+ semantic-grammar-wy--rindx))
(while rhs
(setq elt (car rhs) rhs (cdr rhs))
(cond
((vectorp elt)
(if prec
(error "Duplicate %%prec in `%s:%d' rule" nterm rindx))
(setq prec (aref elt 0)))
((consp elt)
(if (or action comps)
(setq comps (cons elt comps) semantic-grammar-wy--rindx
(1+ semantic-grammar-wy--rindx))
(setq action (car elt))))
(t (setq comps (cons elt comps)))))
(wisent-cook-tag
(wisent-raw-tag
(semantic-tag (format "%s:%d" nterm rindx) 'rule :type
(if comps "group" "empty") :value comps :prec
prec :expr action))))))
(rhs (nil) ((rhs item) (cons $2 $1))
((rhs action) (cons (list $2) $1))
((rhs PREC item) (cons (vector $3) $1)))
(action ((PAREN_BLOCK)) ((PREFIXED_LIST))
((BRACE_BLOCK)
(format "(progn\n%s)"
(let ((s $1))
(if (string-match "^{[
\n ]*" s)
(setq s (substring s (match-end 0))))
(if (string-match "[
\n ]*}$" s)
(setq s (substring s 0 (match-beginning 0))))
s))))
(items ((lifo_items) (nreverse $1)))
(lifo_items ((lifo_items item) (cons $2 $1)) ((item) (list $1)))
(item ((SYMBOL)) ((CHARACTER))))
(grammar prologue epilogue declaration nonterminal rule put_names
put_values use_names))
"Parser table.")