[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode f82c9a377d 033/212: Re-generated parser to ve
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode f82c9a377d 033/212: Re-generated parser to verify automation functionality, improved automation documentation |
Date: |
Wed, 26 Jan 2022 01:50:20 -0500 (EST) |
branch: externals/phps-mode
commit f82c9a377d508fa9274133c113ac6fc5de6c656a
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Re-generated parser to verify automation functionality, improved automation
documentation
---
admin/phps-mode-automation.el | 2 +-
phps-mode-parser.el | 66 ++++++++++++++++---------------------------
2 files changed, 26 insertions(+), 42 deletions(-)
diff --git a/admin/phps-mode-automation.el b/admin/phps-mode-automation.el
index 2f23f1754d..6d8530d794 100644
--- a/admin/phps-mode-automation.el
+++ b/admin/phps-mode-automation.el
@@ -28,7 +28,7 @@
;; To resume use command: `make parser &> output.txt'
;; and to extract Emacs-Lisp data to separate file run `cat output.txt | grep
-F "-resume" - > resume.el'
;; and then to resume parser-generation run
-;; `emacs -Q -batch -L . -L ~/.emacs.d/emacs-parser-generator -l
phps-mode-lexer.el -l admin/phps-mode-automation.el -eval "(progn (require
'parser-generator-lr)(require 'parser-generator-lr-export))" -l resume.el -eval
"(phps-mode-automation)"'
+;; `rm phps-mode-automation-grammar.elc; emacs -Q -batch -L . -L
~/.emacs.d/emacs-parser-generator -l phps-mode-lexer.el -l
admin/phps-mode-automation.el -eval "(progn (require
'parser-generator-lr)(require 'parser-generator-lr-export))" -l resume.el -eval
"(phps-mode-automation)"'
;;; Code:
diff --git a/phps-mode-parser.el b/phps-mode-parser.el
index 12d43535f5..17f0b372b7 100644
--- a/phps-mode-parser.el
+++ b/phps-mode-parser.el
@@ -34,7 +34,7 @@
"PHPs Parser Error")
-;;; Constants:
+;;; Variables:
(defvar
@@ -98,7 +98,7 @@
"The look-ahead number.")
-;;; Variables:
+;;; Local Variables:
(defvar-local
phps-mode-parser-lex-analyzer--index
@@ -110,46 +110,29 @@
nil
"Non-nil means move index to value.")
+
+;;; Variable Functions:
+
(defvar
phps-mode-parser-lex-analyzer--get-function
- (lambda (token) (let ((start (car (cdr token)))
- (end (cdr (cdr token))))
- (when (<= end (point-max))
- (buffer-substring-no-properties
- start
- end))))
+ (lambda (token) (let ((start (car (cdr token))) (end (cdr (cdr token)))) (if
(<= end (point-max)) (progn (buffer-substring-no-properties start end)))))
"The lex-analyzer get function.")
(defvar
phps-mode-parser-lex-analyzer--function
- (lambda (buffer-index)
- (let ((result (gethash buffer-index phps-mode-parser-tokens))
- (token))
- (when result
- (cond
- ((numberp result)
- (setq
- phps-mode-parser-lex-analyzer--move-to-index-flag
- result))
- ((listp result)
- (setq
- token
- result))))
- token))
+ (lambda (buffer-index) (let ((result (gethash buffer-index
phps-mode-parser-tokens)) (token)) (if result (progn (cond ((numberp result)
(setq phps-mode-parser-lex-analyzer--move-to-index-flag result)) ((listp
result) (setq token result))))) token))
"The lex-analyzer function.")
(defvar
phps-mode-parser-lex-analyzer--reset-function
- (lambda()
- (progn
- ))
+ (lambda nil (progn))
"The lex-analyzer reset function.")
;;; Functions:
-;;; Lex-Analyzer:
+;;; Functions for Lex-Analyzer:
(defun
phps-mode-parser-lex-analyzer--get-function (token)
@@ -270,7 +253,7 @@
(nreverse tokens)))
-;;; Syntax-Analyzer / Parser:
+;;; Functions for Syntax-Analyzer / Parser:
(defun
@@ -476,16 +459,17 @@
;; (c) If f(u) = error, we halt parsing (and, in practice
;; transfer to an error recovery routine).
(signal
- 'error
- (list
- (format
- "Invalid syntax! Expected one of %s found %s at %s"
- possible-look-aheads
- look-ahead
- phps-mode-parser-lex-analyzer--index)
- possible-look-aheads
- look-ahead
- phps-mode-parser-lex-analyzer--index)))
+ 'error
+ (list
+ (format
+ "Invalid syntax! Expected one of %s found %s at %s"
+
+ possible-look-aheads
+ look-ahead
+ phps-mode-parser-lex-analyzer--index)
+ possible-look-aheads
+ look-ahead
+ phps-mode-parser-lex-analyzer--index)))
(cond
@@ -659,10 +643,10 @@
temp-hash-key
translation-symbol-table)))
(push
- (list
- partial-translation
- popped-items-terminals)
- symbol-translations)
+ (list
+ partial-translation
+ popped-items-terminals)
+ symbol-translations)
(puthash
temp-hash-key
symbol-translations
- [elpa] externals/phps-mode 4753734b0a 006/212: Moved syntax coloring to separate file, (continued)
- [elpa] externals/phps-mode 4753734b0a 006/212: Moved syntax coloring to separate file, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode d037aa09bc 023/212: Added bookkeeping via parser SDT foreach ($x as $y) {}, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 3d54b6ff01 022/212: Passed another test for bookkeeping generated via parser SDT, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 442ad93cb2 018/212: Fix for function parameter formatting in AST, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 2a4d5dea37 019/212: Passed bookkeeping of function arguments, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode c29e35fea2 021/212: More work on bookkeeping, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 0daaa97f8d 025/212: SDT for for() loop started, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode fa3681141b 027/212: Passed test for bookkeeping of conditional assignment via parser SDT, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode fc4c763d68 030/212: Added SDT for class properties, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode f7c261cee1 032/212: Generate parser command now compatible with latest emacs-parser-generator, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode f82c9a377d 033/212: Re-generated parser to verify automation functionality, improved automation documentation,
Christian Johansson <=
- [elpa] externals/phps-mode f858060096 034/212: More work on bookkeeping generated from parser SDT, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode c83b1c264e 060/212: Fixed SDT for isset_variables, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 8fa61fa1f2 063/212: Passing bookkeeping of interface method arguments, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 7a636ccd28 078/212: Removed obsolete file parser-grammar-macro.el, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode ee211dac6a 084/212: Started on indentation tests, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode f65ca852cd 092/212: Passed another indent test, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 9a2573939a 094/212: More wrestling, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 7c0cb57312 098/212: Added more multi-line assignment indent tests, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 3a594466d5 100/212: Passed indent test for multi-line assignments, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 7deebc5f79 101/212: Improved indent test descriptions, Christian Johansson, 2022/01/26