[GODCC][COMMITTED] json.a68: remove unnecessary modes

Jose E. Marchesi jemarch@gnu.org
Tue Mar 18 23:25:58 GMT 2025


---
 src/json.a68 | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/src/json.a68 b/src/json.a68
index edf05ed..e2167e6 100644
--- a/src/json.a68
+++ b/src/json.a68
@@ -16,10 +16,7 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
                      
-MODE JSONVAL = UNION (JSONBOOL,JSONINT,JSONSTR,JSONARR,JSONOBJ),
-     JSONBOOL = BOOL,
-     JSONINT = INT,
-     JSONSTR = STRING,
+MODE JSONVAL = UNION (BOOL,INT,STRING,JSONARR,JSONOBJ),
      JSONARR = STRUCT (REF JSONELM elements),
      JSONOBJ = STRUCT (REF JSONFLD fields),
      JSONELM = STRUCT (JSONVAL value, REF JSONELM next),
@@ -27,9 +24,9 @@ MODE JSONVAL = UNION (JSONBOOL,JSONINT,JSONSTR,JSONARR,JSONOBJ),
 
 PROC json to string = (JSONVAL val) STRING:
    CASE val
-   IN (JSONBOOL b): (b | "true" | "false"),
-      (JSONINT i): itoa (i),
-      (JSONSTR s): """" + s + """",
+   IN (BOOL b): (b | "true" | "false"),
+      (INT i): itoa (i),
+      (STRING s): """" + s + """",
       (JSONARR a): "[" + (REF JSONELM elem := elements OF a, STRING res;
                           FOR i WHILE REF JSONELM (elem) :/=: NIL
                           DO (i > 1 | res +:= ",");
@@ -71,8 +68,8 @@ BEGIN
          ELSE error (msg + ", found '" + ch + "'")
          FI;
 
-      PROC parse number = JSONINT:
-      BEGIN JSONINT num := 0;
+      PROC parse number = INT:
+      BEGIN INT num := 0;
             WHILE num := num * 10 + ABS ch - ABS "0";
                   isdigit (getchar)
             DO SKIP OD;
@@ -80,8 +77,8 @@ BEGIN
             num
       END;
 
-      PROC parse string = JSONSTR:
-      BEGIN JSONSTR res;
+      PROC parse string = STRING:
+      BEGIN STRING res;
             WHILE getchar /= """"
             DO IF ch = eof THEN error ("while parsing string")
                ELIF ch = "\\"
@@ -152,10 +149,10 @@ BEGIN
 END;
 
 PROC json int = (JSONVAL v) INT:
-   (v | (JSONINT i): i | error ("expected integer in json str"); SKIP);
+   (v | (INT i): i | error ("expected integer in json str"); SKIP);
 
 PROC json str = (JSONVAL v) STRING:
-   (v | (JSONSTR s): s | error ("expected string in json str"); SKIP);
+   (v | (STRING s): s | error ("expected string in json str"); SKIP);
 
 PROC json foreach elem = (JSONVAL v, PROC(JSONVAL)VOID h) VOID:
 BEGIN CASE v
-- 
2.30.2



More information about the Algol68 mailing list