[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/parser-generator f940be9 033/434: Added list of functio
From: |
ELPA Syncer |
Subject: |
[elpa] externals/parser-generator f940be9 033/434: Added list of functions and usage examples |
Date: |
Mon, 29 Nov 2021 15:59:03 -0500 (EST) |
branch: externals/parser-generator
commit f940be9d4398e6477de791152011caf8d009a1e8
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Added list of functions and usage examples
---
README.md | 30 ++++++++++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 6c2a381..d06fc41 100644
--- a/README.md
+++ b/README.md
@@ -62,13 +62,13 @@ A production consists of a list of at least two elements.
The first element is t
Example, production `S -> A | B` is defined as:
``` emacs-lisp
-(S A B)
+'(S A B)
```
Another example, production `S -> IF "{" EXPRESSION "}" | EXIT` is declared as:
``` emacs-lisp
-(S (IF "{" EXPRESSION "}") EXIT)
+'(S (IF "{" EXPRESSION "}") EXIT)
```
### Look-ahead number
@@ -79,6 +79,32 @@ Is a simple integer above zero.
The start symbol is either a string or a symbol and should exists in the list
of productions as the LHS.
+## Functions
+
+### Calculate FIRST(k, S)
+
+Calculate first `k` terminals of sentential-form `S`, example:
+
+``` emacs-lisp
+(parser--set-grammar '((S A B C) (a b c) ((S (A B)) (A (B a) e) (B (C b) C) (C
c e)) S) 2)
+(should
+ (equal
+ '((a) (a c) (a b) (c a) (b a) (e) (c) (b) (c b))
+ (parser--first 'S)))
+```
+
+### Calculate E-FREE-FIRST(k, S)
+
+Calculate e-free-first `k` terminals of sentential-form `S`, example:
+
+``` emacs-lisp
+(parser--set-grammar '((S A B C) (a b c) ((S (A B)) (A (B a) e) (B (C b) C) (C
c e)) S) 2)
+(should
+ (equal
+ '((c b) (c a))
+ (parser--e-free-first 'S)))
+```
+
## Test
Run in terminal `make clean && make tests && make compile`
- [elpa] externals/parser-generator 8e436df 056/434: More tweaking, (continued)
- [elpa] externals/parser-generator 8e436df 056/434: More tweaking, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator a60952c 057/434: More debugging of new algorithm, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator ab0559d 060/434: More work, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator d7f43d7 066/434: Sorting lr-items for prefix before return, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator ca85ef4 068/434: Created TODO items, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator b73c4ed 072/434: Made e-symbol customizable, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 55bf9a9 073/434: Removed references to 'e, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 01df803 051/434: Improved documentation, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 3e1f2b6 058/434: Passed first for calculating valid LR-sets for viable prefix γ, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 51cab75 061/434: More debugging, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator f940be9 033/434: Added list of functions and usage examples,
ELPA Syncer <=
- [elpa] externals/parser-generator b8d6476 038/434: Setting look-ahead-number clears cache storage, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 2829d36 039/434: More work on FOLLOW, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 0f8b422 043/434: Added another unit test for follow function, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator f8f5fe2 046/434: Started on function to calculate lk-items for a viable prefix, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 8d0a93e 053/434: More work on algorithm, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 6d2e231 059/434: Added two more failing valid LR-set calculation tests, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 15dc472 067/434: Added TODO items, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 44eb5a3 062/434: Passing unit test for V(e) and V(S), ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator a7d1cc0 070/434: Updated README, ELPA Syncer, 2021/11/29
- [elpa] externals/parser-generator 3373881 085/434: More work on GOTO-table generation, ELPA Syncer, 2021/11/29