From 24f1360f694ec0f3e4cfc392a5392fef0576dd13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sun, 18 Sep 2022 22:53:46 +0200 Subject: Move get-forms to module static-util. --- scripts/all-modules.scm | 1 + scripts/get-config.scm | 2 ++ scripts/module-dependants.scm | 3 ++- scripts/module-imports.scm | 3 ++- scripts/module-introspection.scm | 23 +---------------------- scripts/peg-to-graph.scm | 3 ++- scripts/static-util.scm | 9 +++++++++ 7 files changed, 19 insertions(+), 25 deletions(-) create mode 100644 scripts/static-util.scm diff --git a/scripts/all-modules.scm b/scripts/all-modules.scm index b83644e5..613f9db2 100644 --- a/scripts/all-modules.scm +++ b/scripts/all-modules.scm @@ -5,6 +5,7 @@ :use-module (ice-9 match) :use-module (hnh util path) :use-module (module-introspection) + :use-module ((static-util) :select (get-forms)) :export (all-files-and-modules-under-directory all-modules-under-directory fs-find-base fs-find)) diff --git a/scripts/get-config.scm b/scripts/get-config.scm index 7d6abfcd..2409cfc9 100755 --- a/scripts/get-config.scm +++ b/scripts/get-config.scm @@ -20,6 +20,8 @@ (all-modules) (module-introspection) + ((static-util) + :select (get-forms)) ((calp translation) :select (translate)) diff --git a/scripts/module-dependants.scm b/scripts/module-dependants.scm index 87c1f40b..2880446c 100755 --- a/scripts/module-dependants.scm +++ b/scripts/module-dependants.scm @@ -25,7 +25,8 @@ exec $GUILE -e main -s "$0" "$@" (srfi srfi-71) (ice-9 ftw) (texinfo string-utils) - (module-introspection)) + (module-introspection) + ((static-util) :select (get-forms))) (define cstat (make-object-property)) diff --git a/scripts/module-imports.scm b/scripts/module-imports.scm index 6a0a5beb..7e9769d1 100755 --- a/scripts/module-imports.scm +++ b/scripts/module-imports.scm @@ -17,7 +17,8 @@ (use-modules (hnh util) ((srfi srfi-1) :select (lset-difference)) (rnrs lists) - (module-introspection)) + (module-introspection) + ((static-util) :select (get-forms))) ;;; Module use high scores diff --git a/scripts/module-introspection.scm b/scripts/module-introspection.scm index dc430d8a..ba455cfc 100644 --- a/scripts/module-introspection.scm +++ b/scripts/module-introspection.scm @@ -1,38 +1,17 @@ (define-module (module-introspection) :use-module (srfi srfi-1) :use-module (hnh util) - :export (get-forms - uniq - unique-symbols + :export (unique-symbols find-module-declaration module-declaration? )) -(define (get-forms port) - (let loop ((done '())) - (let ((form (read port))) - (if (eof-object? form) - done - (loop (cons form done)))))) - - -(define (uniq lst) - (cond ((null? lst) lst) - ((null? (cdr lst)) lst) - ((and (pair? lst) - (eqv? (car lst) (cadr lst))) - (uniq (cons (car lst) (cddr lst)))) - (else (cons (car lst) - (uniq (cdr lst)))))) - - (define (unique-symbols tree) (uniq (sort* (filter symbol? (flatten tree)) stringstring))) - (define (module-declaration? form) (cond ((null? form) #f) ((not (pair? form)) #f) diff --git a/scripts/peg-to-graph.scm b/scripts/peg-to-graph.scm index 7edcd556..09a36f06 100755 --- a/scripts/peg-to-graph.scm +++ b/scripts/peg-to-graph.scm @@ -9,7 +9,8 @@ exec $GUILE -e main -s "$0" "$@" (use-modules ((graphviz) :prefix #{gv:}#) - ((module-introspection) :select (get-forms unique-symbols)) + ((module-introspection) :select (unique-symbols)) + ((static-util) :select (get-forms)) (srfi srfi-1) (ice-9 match)) diff --git a/scripts/static-util.scm b/scripts/static-util.scm new file mode 100644 index 00000000..7aa3626e --- /dev/null +++ b/scripts/static-util.scm @@ -0,0 +1,9 @@ +(define-module (static-util) + :export (get-forms)) + +(define (get-forms port) + (let loop ((done '())) + (let ((form (read port))) + (if (eof-object? form) + done + (loop (cons form done)))))) -- cgit v1.2.3