[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] scratch/last-cedet-merge 95f8a69 29/50: semantic: More C g
From: |
David Engster |
Subject: |
[Emacs-diffs] scratch/last-cedet-merge 95f8a69 29/50: semantic: More C grammar optimizations |
Date: |
Wed, 25 Jan 2017 22:15:22 +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 5776e7c 06/50: EDE: Fallback to project-linux-build-directory-default if necessary, (continued)
- [Emacs-diffs] scratch/last-cedet-merge 5776e7c 06/50: EDE: Fallback to project-linux-build-directory-default if necessary, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 05d6b4b 03/50: semantic: Apply enum-type to all members, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge fa84466 07/50: semantic: Fix current symbol info, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge a7276f6 08/50: ; semantic: Add TODO comment regarding arg indexing, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 307b510 09/50: semantic: Deal with missing prefix when completing symbol, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge fdd5968 15/50: semantic: New function to calculate scope around tag, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge ebc59a5 19/50: semantic: Accept FLAGS parameter for srecode-template-mode, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 47471b9 12/50: EDE: Add missing require and silence byte compiler, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 7308eaf 18/50: semantic: Accept FLAGS parameter for makefile-mode for analyzing completions, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge b4d1399 14/50: EDE: Rework config file detection, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 95f8a69 29/50: semantic: More C grammar optimizations,
David Engster <=
- [Emacs-diffs] scratch/last-cedet-merge deaa8c9 24/50: semantic: New function to find library with macro definition, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 0391760 13/50: semantic: Do not strip '*' from operator, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 6ca095c 21/50: semantic: Add autoload for Add autoload for `semantic-analyze-debug-assist', David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge f3674d0 33/50: semantic: Parse C++ override/final correctly, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge fb127f2 34/50: semantic: C grammar fixes, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge cc30b46 11/50: EDE: Move ede-global-list-sanity-check to ede/files.el, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 5cb7aed 22/50: semantic: New c-mode override for analyzing tag type members, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge c2d4ad8 23/50: semantic: Update keybinings for grammar mode, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 03c5f0d 25/50: semantic: Add more syntax modifications for scheme lexer, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 6b57c5b 20/50: semantic: Introduce `semantic-analyze-tag-type-members', David Engster, 2017/01/25