[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 8120895 03/96: Fixed parser generation and au
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode 8120895 03/96: Fixed parser generation and automatically cleans bytecode when generating parser |
Date: |
Fri, 29 Oct 2021 11:14:26 -0400 (EDT) |
branch: externals/phps-mode
commit 8120895ab474a418b5168ba05687785155ab5a95
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Fixed parser generation and automatically cleans bytecode when generating
parser
---
admin/phps-mode-automation.el | 63 ++++++++++++++++++++++++++-----------------
1 file changed, 39 insertions(+), 24 deletions(-)
diff --git a/admin/phps-mode-automation.el b/admin/phps-mode-automation.el
index a2b2ebf..5aef02c 100644
--- a/admin/phps-mode-automation.el
+++ b/admin/phps-mode-automation.el
@@ -135,37 +135,52 @@
"parser-generator-lr--production-number-precedence-type: %S"
parser-generator-lr--production-number-precedence-type))
- (when (fboundp 'parser-generator-lr--generate-goto-tables)
- (let ((table-lr-items
- (parser-generator-lr--generate-goto-tables)))
- (message
- "table-lr-items: %S"
- table-lr-items)
- (when (boundp 'parser-generator-lr--goto-tables)
- (message
- "parser-generator-lr--goto-tables: %S"
- parser-generator-lr--goto-tables))
- (when (boundp 'parser-generator-lr--distinct-goto-tables)
- (message
- "parser-generator-lr--distinct-goto-tables: %S"
- parser-generator-lr--distinct-goto-tables))
- (when (fboundp 'parser-generator-lr--generate-action-tables)
- (parser-generator-lr--generate-action-tables table-lr-items)
- (when (boundp 'parser-generator-lr--action-tables)
+ ;; Only generate LR-items, GOTO-tables and ACTION-tables if we are
lacking it
+ (if (and
+ (boundp 'parser-generator-lr--goto-tables)
+ parser-generator-lr--goto-tables
+ (boundp 'parser-generator-lr--distinct-goto-tables)
+ parser-generator-lr--distinct-goto-tables
+ (boundp 'parser-generator-lr--action-tables)
+ parser-generator-lr--action-tables
+ (boundp 'parser-generator-lr--distinct-action-tables)
+ parser-generator-lr--distinct-action-tables)
+ (message "Parser tables are defined - skipping generation")
+ (progn
+ (message "Parser tables are not defined - generating..")
+ (when (fboundp 'parser-generator-lr--generate-goto-tables)
+ (let ((table-lr-items
+ (parser-generator-lr--generate-goto-tables)))
(message
- "parser-generator-lr--action-tables: %S"
- parser-generator-lr--action-tables))
- (when (boundp 'parser-generator-lr--distinct-action-tables)
- (message
- "parser-generator-lr--distinct-action-tables: %S"
- parser-generator-lr--distinct-action-tables))))))
+ "table-lr-items: %S"
+ table-lr-items)
+ (when (boundp 'parser-generator-lr--goto-tables)
+ (message
+ "parser-generator-lr--goto-tables: %S"
+ parser-generator-lr--goto-tables))
+ (when (boundp 'parser-generator-lr--distinct-goto-tables)
+ (message
+ "parser-generator-lr--distinct-goto-tables: %S"
+ parser-generator-lr--distinct-goto-tables))
+ (when (fboundp 'parser-generator-lr--generate-action-tables)
+ (parser-generator-lr--generate-action-tables table-lr-items)
+ (when (boundp 'parser-generator-lr--action-tables)
+ (message
+ "parser-generator-lr--action-tables: %S"
+ parser-generator-lr--action-tables))
+ (when (boundp 'parser-generator-lr--distinct-action-tables)
+ (message
+ "parser-generator-lr--distinct-action-tables: %S"
+ parser-generator-lr--distinct-action-tables))))))))
+
+ ;; NOTE This does not work if functions above are byte-compiled
;; Export
(let ((export (parser-generator-lr-export-to-elisp "phps-mode-parser")))
(generate-new-buffer "*PHP Parser*")
(switch-to-buffer "*PHP Parser*")
(insert export)
- (write-file (expand-file-name "../phps-mode-parser.el"))
+ (write-file (expand-file-name "./phps-mode-parser.el"))
(kill-buffer)
(message "export: %s" export))
- [elpa] externals/phps-mode updated (b7b4706 -> efeaadd), Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 8120895 03/96: Fixed parser generation and automatically cleans bytecode when generating parser,
Christian Johansson <=
- [elpa] externals/phps-mode 3421b6a 01/96: Improved parser generator location, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 60344ea 02/96: Improved recovery in automation by dumping generated data, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode f4c9f8b 04/96: Added generated parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode d2872f7 05/96: Started on parser test, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 7a0eecd 07/96: First test passing for parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 2189d31 11/96: Fixes for lexer in parser to handle T_CLOSE_TAG, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 50ed917 12/96: Using non-parser mode for lexer, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode c15fa0c 10/96: Using parser-mode for lexer, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode ab56c99 13/96: More work on debugging parser-lexer, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 1dd3bd3 06/96: More working on trying to get parser test working, Christian Johansson, 2021/10/29