From 410b46ebfbb373a9a91ab02f1cdacd829c92b70a Mon Sep 17 00:00:00 2001 From: VSteveHL Date: Fri, 8 Aug 2025 01:30:22 +0800 Subject: [PATCH] add a script to extract reference-identifier-type --- analysis/identifier/rules/define-syntax.sls | 2 +- analysis/identifier/rules/library-import.sls | 1 + .../rules/r7rs/define-library-import.sls | 1 + analysis/identifier/rules/r7rs/define.sls | 2 +- extract-reference-identifier-type.sh | 16 ++++++++++++++++ 5 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 extract-reference-identifier-type.sh diff --git a/analysis/identifier/rules/define-syntax.sls b/analysis/identifier/rules/define-syntax.sls index a65d81d6..28569fd6 100644 --- a/analysis/identifier/rules/define-syntax.sls +++ b/analysis/identifier/rules/define-syntax.sls @@ -15,7 +15,7 @@ (scheme-langserver virtual-file-system file-node)) ; reference-identifier-type include -; syntax-parameter syntax-variable +; syntax-parameter syntax-variable syntax parameter (define (define-syntax-process root-file-node root-library-node document index-node) (let* ([ann (index-node-datum/annotations index-node)] [library-identifiers (get-nearest-ancestor-library-identifier index-node)] diff --git a/analysis/identifier/rules/library-import.sls b/analysis/identifier/rules/library-import.sls index 593166ed..aae850bd 100644 --- a/analysis/identifier/rules/library-import.sls +++ b/analysis/identifier/rules/library-import.sls @@ -20,6 +20,7 @@ (scheme-langserver virtual-file-system document) (scheme-langserver virtual-file-system file-node)) +; reference-identifier-type include ; pointer (define (library-import-process root-file-node root-library-node document index-node) (let* ([ann (index-node-datum/annotations index-node)] diff --git a/analysis/identifier/rules/r7rs/define-library-import.sls b/analysis/identifier/rules/r7rs/define-library-import.sls index e20bae8f..28619180 100644 --- a/analysis/identifier/rules/r7rs/define-library-import.sls +++ b/analysis/identifier/rules/r7rs/define-library-import.sls @@ -15,6 +15,7 @@ (scheme-langserver virtual-file-system document) (scheme-langserver virtual-file-system file-node)) +; reference-identifier-type include ; pointer (define (library-import-process-r7rs root-file-node root-library-node document index-node) (let* ([ann (index-node-datum/annotations index-node)] diff --git a/analysis/identifier/rules/r7rs/define.sls b/analysis/identifier/rules/r7rs/define.sls index bb7ae1a0..1b55005c 100644 --- a/analysis/identifier/rules/r7rs/define.sls +++ b/analysis/identifier/rules/r7rs/define.sls @@ -15,7 +15,7 @@ (scheme-langserver virtual-file-system file-node)) ; reference-identifier-type include -; procedure parameter variable +; procedure parameter (define (define-r7rs-process root-file-node root-library-node document index-node) (let* ([ann (index-node-datum/annotations index-node)] [expression (annotation-stripped ann)]) diff --git a/extract-reference-identifier-type.sh b/extract-reference-identifier-type.sh new file mode 100644 index 00000000..02c2bc84 --- /dev/null +++ b/extract-reference-identifier-type.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +TARGET_DIR="analysis/identifier/rules" +TARGET_COMMENT="; reference-identifier-type include" + +find "$TARGET_DIR" -type f -name "*.sls" |\ +xargs grep --no-filename -A 1 "$TARGET_COMMENT" |\ +grep -v "$TARGET_COMMENT" |\ +grep -v -- "^--$" |\ +grep '^;' |\ +sed 's/^;//' |\ +tr ' ' '\n' |\ +grep -v '^$' |\ +sort -u + +# |\ awk '{print "(equal? \x27" $1 " (identifier-reference-type identifier))"}' \ No newline at end of file