[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] scratch/last-cedet-merge 95f8a69 29/37: semantic: More C g
From: |
David Engster |
Subject: |
[Emacs-diffs] scratch/last-cedet-merge 95f8a69 29/37: semantic: More C grammar optimizations |
Date: |
Sun, 22 Jan 2017 21:26:33 +0000 (UTC) |
branch: scratch/last-cedet-merge
commit 95f8a69de77772c005b1a239fa89ae702f34964b
Author: Eric Ludlam <address@hidden>
Commit: David Engster <address@hidden>
semantic: More C grammar optimizations
* admin/grammars/c.by (declmods): Optimize out 2nd match to DECLMOD.
(varnamelist, opt-varnamelist-more): Optimize out 2nd match for a variable
name into 'opt-varnamelist-more'.
(namespace-symbol, opt-namespace-symbol-more): Optimize out 2nd match
for the template specifier.
---
admin/grammars/c.by | 28 ++++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/admin/grammars/c.by b/admin/grammars/c.by
index 2b05d8a..06d58bd 100644
--- a/admin/grammars/c.by
+++ b/admin/grammars/c.by
@@ -639,8 +639,6 @@ STARMOD
declmods
: DECLMOD declmods
( ,(cons ,(car ,$1) $2 ) )
- | DECLMOD
- ( ,$1 )
| ;;EMPTY
()
;
@@ -941,10 +939,15 @@ varname-opt-initializer
;
varnamelist
- : opt-ref varname varname-opt-initializer COMA varnamelist
- ( ,(cons (append $2 $3) $5) )
- | opt-ref varname varname-opt-initializer
- ( (append $2 $3) )
+ : opt-ref varname varname-opt-initializer opt-varnamelist-more
+ ( ,(cons (append $2 $3) (car $4) ))
+ ;
+
+opt-varnamelist-more
+ : COMA varnamelist
+ ( $2 )
+ | ;; EMPTY
+ ()
;
;; Klaus Berndl: Is necessary to parse stuff like
@@ -955,10 +958,15 @@ varnamelist
;; symbol<template-spec>::symbol1<template-spec1>::test_iterator
;; but better parsing too much than to less
namespace-symbol
- : symbol opt-template-specifier COLON COLON namespace-symbol
- ( (concat $1 "::" (car $5)) )
- | symbol opt-template-specifier
- ( $1 )
+ : symbol opt-template-specifier opt-namespace-symbol-more
+ ( (concat $1 (car $3) ) )
+ ;
+
+opt-namespace-symbol-more
+ : COLON COLON namespace-symbol
+ ( (concat "::" (car $3)) )
+ | ;; empty
+ ( "" )
;
;; Don't pull an optional template specifier at the end of the
- [Emacs-diffs] scratch/last-cedet-merge fdd5968 15/37: semantic: New function to calculate scope around tag, (continued)
- [Emacs-diffs] scratch/last-cedet-merge fdd5968 15/37: semantic: New function to calculate scope around tag, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 8daca76 30/37: semantic: C grammar optimizations, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 40dd3d9 02/37: semantic: Do not add enum-type for every type, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge a7276f6 08/37: ; semantic: Add TODO comment regarding arg indexing, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 5d6f4b8 05/37: EDE: Fix slot type in ede-proj-target-makefile, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge ec4505d 17/37: semantic: Accept FLAGS in texinfo-mode for analyzing completions, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 0391760 13/37: semantic: Do not strip '*' from operator, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge c2d4ad8 23/37: semantic: Update keybinings for grammar mode, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 7308eaf 18/37: semantic: Accept FLAGS parameter for makefile-mode for analyzing completions, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge cc30b46 11/37: EDE: Move ede-global-list-sanity-check to ede/files.el, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 95f8a69 29/37: semantic: More C grammar optimizations,
David Engster <=
- [Emacs-diffs] scratch/last-cedet-merge 2b42323 35/37: EDE: Fix for project detection, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge b4d1399 14/37: EDE: Rework config file detection, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge deaa8c9 24/37: semantic: New function to find library with macro definition, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 6b57c5b 20/37: semantic: Introduce `semantic-analyze-tag-type-members', David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 0a2b38b 26/37: EDE: Expand file name, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge fb127f2 34/37: semantic: C grammar fixes, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge f11e08f 10/37: semantic: Fix wisent parser recursion, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 47471b9 12/37: EDE: Add missing require and silence byte compiler, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 6ca095c 21/37: semantic: Add autoload for Add autoload for `semantic-analyze-debug-assist', David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 5cb7aed 22/37: semantic: New c-mode override for analyzing tag type members, David Engster, 2017/01/22