[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] scratch/last-cedet-merge 8daca76 30/37: semantic: C gramma
From: |
David Engster |
Subject: |
[Emacs-diffs] scratch/last-cedet-merge 8daca76 30/37: semantic: C grammar optimizations |
Date: |
Sun, 22 Jan 2017 21:26:33 +0000 (UTC) |
branch: scratch/last-cedet-merge
commit 8daca76a3292e7f5faca95628144d2f06972fa93
Author: Eric Ludlam <address@hidden>
Commit: David Engster <address@hidden>
semantic: C grammar optimizations
* admin/grammars/c.by (extern-c, c-or-cpp, opt-extern-c-contents):
Optimize out all the extra EXTERN matches.
---
admin/grammars/c.by | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/admin/grammars/c.by b/admin/grammars/c.by
index 06d58bd..ccdf808 100644
--- a/admin/grammars/c.by
+++ b/admin/grammars/c.by
@@ -240,20 +240,24 @@ extern-c-contents
;
extern-c
- : EXTERN C semantic-list
+ : EXTERN c-or-cpp opt-extern-c-contents
;; Extern C commands which contain a list need to have the
;; entries of the list extracted, and spliced into the main
;; list of entries. This must be done via the function
;; that expands singular nonterminals, such as int x,y;
- (TAG "C" 'extern :members (EXPANDFULL $3 extern-c-contents) )
- | EXTERN CPP semantic-list
- (TAG "C" 'extern :members (EXPANDFULL $3 extern-c-contents) )
- | EXTERN C
- ;; A plain extern "C" call should add something to the token,
- ;; but just strip it from the buffer here for now.
- ( nil )
- | EXTERN CPP
- ( nil )
+ (TAG (car $2) 'extern :members $3)
+ ;
+
+c-or-cpp
+ : C
+ | CPP
+ ;
+
+opt-extern-c-contents
+ : semantic-list
+ (EXPANDFULL $1 extern-c-contents)
+ | ;; EMPTY
+ ()
;
macro
- [Emacs-diffs] branch scratch/last-cedet-merge created (now 74263b1), David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge ca20c99 01/37: semantic: make semanticdb-default-find-index-class buffer-local, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 05d6b4b 03/37: semantic: Apply enum-type to all members, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge e698dc1 04/37: semantic: Add support for typedef references, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 5776e7c 06/37: EDE: Fallback to project-linux-build-directory-default if necessary, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 307b510 09/37: semantic: Deal with missing prefix when completing symbol, David Engster, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge fa84466 07/37: semantic: Fix current symbol info, David Engster, 2017/01/22
- [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 <=
- [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, 2017/01/22
- [Emacs-diffs] scratch/last-cedet-merge 2b42323 35/37: EDE: Fix for project detection, David Engster, 2017/01/22