diff --git a/src/lib/system/darwin/clang/x86_64/Args.Mod b/src/lib/system/darwin/clang/x86_64/Args.Mod new file mode 100644 index 00000000..2c0d25b5 --- /dev/null +++ b/src/lib/system/darwin/clang/x86_64/Args.Mod @@ -0,0 +1,65 @@ +MODULE Args; (* jt, 8.12.94 *) + + (* command line argument handling for voc (jet backend) *) + + + IMPORT SYSTEM; + + TYPE + ArgPtr = POINTER TO ARRAY 1024 OF CHAR; + ArgVec = POINTER TO ARRAY 1024 OF ArgPtr; + + VAR argc-: INTEGER; argv-: LONGINT; + (*PROCEDURE -includestdlib() "#include ";*) + PROCEDURE -externgetenv() "extern char *getenv(const char *name);"; (* took this from stdlib.h*) + PROCEDURE -Argc(): INTEGER "SYSTEM_argc"; + PROCEDURE -Argv(): LONGINT "(long)SYSTEM_argv"; + PROCEDURE -getenv(var: ARRAY OF CHAR): ArgPtr + "(Args_ArgPtr)getenv(var)"; + + PROCEDURE Get*(n: INTEGER; VAR val: ARRAY OF CHAR); + VAR av: ArgVec; + BEGIN + IF n < argc THEN av := SYSTEM.VAL(ArgVec, argv); COPY(av[n]^, val) END + END Get; + + PROCEDURE GetInt*(n: INTEGER; VAR val: LONGINT); + VAR s: ARRAY 64 OF CHAR; k, d, i: LONGINT; + BEGIN + s := ""; Get(n, s); i := 0; + IF s[0] = "-" THEN i := 1 END ; + k := 0; d := ORD(s[i]) - ORD("0"); + WHILE (d >= 0 ) & (d <= 9) DO k := k*10 + d; INC(i); d := ORD(s[i]) - ORD("0") END ; + IF s[0] = "-" THEN d := -d; DEC(i) END ; + IF i > 0 THEN val := k END + END GetInt; + + PROCEDURE Pos*(s: ARRAY OF CHAR): INTEGER; + VAR i: INTEGER; arg: ARRAY 256 OF CHAR; + BEGIN + i := 0; Get(i, arg); + WHILE (i < argc) & (s # arg) DO INC(i); Get(i, arg) END ; + RETURN i + END Pos; + + PROCEDURE GetEnv*(var: ARRAY OF CHAR; VAR val: ARRAY OF CHAR); + VAR p: ArgPtr; + BEGIN + p := getenv(var); + IF p # NIL THEN COPY(p^, val) END + END GetEnv; + + PROCEDURE getEnv*(var: ARRAY OF CHAR; VAR val: ARRAY OF CHAR): BOOLEAN; + VAR p: ArgPtr; + BEGIN + p := getenv(var); + IF p # NIL THEN + COPY(p^, val); + RETURN TRUE + ELSE + RETURN FALSE + END + END getEnv; + +BEGIN argc := Argc(); argv := Argv() +END Args. diff --git a/src/lib/system/freebsd/clang/x86_64/Args.Mod b/src/lib/system/freebsd/clang/x86_64/Args.Mod new file mode 100644 index 00000000..2c0d25b5 --- /dev/null +++ b/src/lib/system/freebsd/clang/x86_64/Args.Mod @@ -0,0 +1,65 @@ +MODULE Args; (* jt, 8.12.94 *) + + (* command line argument handling for voc (jet backend) *) + + + IMPORT SYSTEM; + + TYPE + ArgPtr = POINTER TO ARRAY 1024 OF CHAR; + ArgVec = POINTER TO ARRAY 1024 OF ArgPtr; + + VAR argc-: INTEGER; argv-: LONGINT; + (*PROCEDURE -includestdlib() "#include ";*) + PROCEDURE -externgetenv() "extern char *getenv(const char *name);"; (* took this from stdlib.h*) + PROCEDURE -Argc(): INTEGER "SYSTEM_argc"; + PROCEDURE -Argv(): LONGINT "(long)SYSTEM_argv"; + PROCEDURE -getenv(var: ARRAY OF CHAR): ArgPtr + "(Args_ArgPtr)getenv(var)"; + + PROCEDURE Get*(n: INTEGER; VAR val: ARRAY OF CHAR); + VAR av: ArgVec; + BEGIN + IF n < argc THEN av := SYSTEM.VAL(ArgVec, argv); COPY(av[n]^, val) END + END Get; + + PROCEDURE GetInt*(n: INTEGER; VAR val: LONGINT); + VAR s: ARRAY 64 OF CHAR; k, d, i: LONGINT; + BEGIN + s := ""; Get(n, s); i := 0; + IF s[0] = "-" THEN i := 1 END ; + k := 0; d := ORD(s[i]) - ORD("0"); + WHILE (d >= 0 ) & (d <= 9) DO k := k*10 + d; INC(i); d := ORD(s[i]) - ORD("0") END ; + IF s[0] = "-" THEN d := -d; DEC(i) END ; + IF i > 0 THEN val := k END + END GetInt; + + PROCEDURE Pos*(s: ARRAY OF CHAR): INTEGER; + VAR i: INTEGER; arg: ARRAY 256 OF CHAR; + BEGIN + i := 0; Get(i, arg); + WHILE (i < argc) & (s # arg) DO INC(i); Get(i, arg) END ; + RETURN i + END Pos; + + PROCEDURE GetEnv*(var: ARRAY OF CHAR; VAR val: ARRAY OF CHAR); + VAR p: ArgPtr; + BEGIN + p := getenv(var); + IF p # NIL THEN COPY(p^, val) END + END GetEnv; + + PROCEDURE getEnv*(var: ARRAY OF CHAR; VAR val: ARRAY OF CHAR): BOOLEAN; + VAR p: ArgPtr; + BEGIN + p := getenv(var); + IF p # NIL THEN + COPY(p^, val); + RETURN TRUE + ELSE + RETURN FALSE + END + END getEnv; + +BEGIN argc := Argc(); argv := Argv() +END Args. diff --git a/src/lib/system/darwin/clang/Args.Mod b/src/lib/system/linux/clang/armv6j_hardfp/Args.Mod similarity index 100% rename from src/lib/system/darwin/clang/Args.Mod rename to src/lib/system/linux/clang/armv6j_hardfp/Args.Mod diff --git a/src/lib/system/freebsd/clang/Args.Mod b/src/lib/system/linux/clang/powerpc/Args.Mod similarity index 100% rename from src/lib/system/freebsd/clang/Args.Mod rename to src/lib/system/linux/clang/powerpc/Args.Mod diff --git a/src/lib/system/linux/clang/Args.Mod b/src/lib/system/linux/clang/x86/Args.Mod similarity index 100% rename from src/lib/system/linux/clang/Args.Mod rename to src/lib/system/linux/clang/x86/Args.Mod diff --git a/src/lib/system/linux/clang/x86_64/Args.Mod b/src/lib/system/linux/clang/x86_64/Args.Mod new file mode 100644 index 00000000..0e90a48b --- /dev/null +++ b/src/lib/system/linux/clang/x86_64/Args.Mod @@ -0,0 +1,65 @@ +MODULE Args; (* jt, 8.12.94 *) + + (* command line argument handling for voc (jet backend) *) + + + IMPORT SYSTEM; + + TYPE + ArgPtr = POINTER TO ARRAY 1024 OF CHAR; + ArgVec = POINTER TO ARRAY 1024 OF ArgPtr; + + VAR argc-:INTEGER; argv-: LONGINT; + (*PROCEDURE -includestdlib() "#include ";*) + PROCEDURE -externgetenv() "extern char *getenv(const char *name);"; (* took this from stdlib.h*) + PROCEDURE -Argc(): INTEGER "SYSTEM_argc"; + PROCEDURE -Argv(): LONGINT "(long)SYSTEM_argv"; + PROCEDURE -getenv(var: ARRAY OF CHAR): ArgPtr + "(Args_ArgPtr)getenv(var)"; + + PROCEDURE Get*(n: INTEGER; VAR val: ARRAY OF CHAR); + VAR av: ArgVec; + BEGIN + IF n < argc THEN av := SYSTEM.VAL(ArgVec, argv); COPY(av[n]^, val) END + END Get; + + PROCEDURE GetInt*(n: INTEGER; VAR val: LONGINT); + VAR s: ARRAY 64 OF CHAR; k, d, i: LONGINT; + BEGIN + s := ""; Get(n, s); i := 0; + IF s[0] = "-" THEN i := 1 END ; + k := 0; d := ORD(s[i]) - ORD("0"); + WHILE (d >= 0 ) & (d <= 9) DO k := k*10 + d; INC(i); d := ORD(s[i]) - ORD("0") END ; + IF s[0] = "-" THEN d := -d; DEC(i) END ; + IF i > 0 THEN val := k END + END GetInt; + + PROCEDURE Pos*(s: ARRAY OF CHAR): INTEGER; + VAR i: INTEGER; arg: ARRAY 256 OF CHAR; + BEGIN + i := 0; Get(i, arg); + WHILE (i < argc) & (s # arg) DO INC(i); Get(i, arg) END ; + RETURN i + END Pos; + + PROCEDURE GetEnv*(var: ARRAY OF CHAR; VAR val: ARRAY OF CHAR); + VAR p: ArgPtr; + BEGIN + p := getenv(var); + IF p # NIL THEN COPY(p^, val) END + END GetEnv; + + PROCEDURE getEnv*(var: ARRAY OF CHAR; VAR val: ARRAY OF CHAR): BOOLEAN; + VAR p: ArgPtr; + BEGIN + p := getenv(var); + IF p # NIL THEN + COPY(p^, val); + RETURN TRUE + ELSE + RETURN FALSE + END + END getEnv; + +BEGIN argc := Argc(); argv := Argv() +END Args. diff --git a/src/lib/system/linux/gcc/Args.Mod b/src/lib/system/linux/gcc/armv6j_hardfp/Args.Mod similarity index 100% rename from src/lib/system/linux/gcc/Args.Mod rename to src/lib/system/linux/gcc/armv6j_hardfp/Args.Mod diff --git a/src/lib/system/linux/gcc/powerpc/Args.Mod b/src/lib/system/linux/gcc/powerpc/Args.Mod new file mode 100644 index 00000000..c6b7b56e --- /dev/null +++ b/src/lib/system/linux/gcc/powerpc/Args.Mod @@ -0,0 +1,65 @@ +MODULE Args; (* jt, 8.12.94 *) + + (* command line argument handling for voc (jet backend) *) + + + IMPORT SYSTEM; + + TYPE + ArgPtr = POINTER TO ARRAY 1024 OF CHAR; + ArgVec = POINTER TO ARRAY 1024 OF ArgPtr; + + VAR argc-, argv-: LONGINT; + (*PROCEDURE -includestdlib() "#include ";*) + PROCEDURE -externgetenv() "extern char *getenv(const char *name);"; (* took this from stdlib.h*) + PROCEDURE -Argc(): INTEGER "SYSTEM_argc"; + PROCEDURE -Argv(): LONGINT "(long)SYSTEM_argv"; + PROCEDURE -getenv(var: ARRAY OF CHAR): ArgPtr + "(Args_ArgPtr)getenv(var)"; + + PROCEDURE Get*(n: INTEGER; VAR val: ARRAY OF CHAR); + VAR av: ArgVec; + BEGIN + IF n < argc THEN av := SYSTEM.VAL(ArgVec, argv); COPY(av[n]^, val) END + END Get; + + PROCEDURE GetInt*(n: INTEGER; VAR val: LONGINT); + VAR s: ARRAY 64 OF CHAR; k, d, i: LONGINT; + BEGIN + s := ""; Get(n, s); i := 0; + IF s[0] = "-" THEN i := 1 END ; + k := 0; d := ORD(s[i]) - ORD("0"); + WHILE (d >= 0 ) & (d <= 9) DO k := k*10 + d; INC(i); d := ORD(s[i]) - ORD("0") END ; + IF s[0] = "-" THEN d := -d; DEC(i) END ; + IF i > 0 THEN val := k END + END GetInt; + + PROCEDURE Pos*(s: ARRAY OF CHAR): INTEGER; + VAR i: INTEGER; arg: ARRAY 256 OF CHAR; + BEGIN + i := 0; Get(i, arg); + WHILE (i < argc) & (s # arg) DO INC(i); Get(i, arg) END ; + RETURN i + END Pos; + + PROCEDURE GetEnv*(var: ARRAY OF CHAR; VAR val: ARRAY OF CHAR); + VAR p: ArgPtr; + BEGIN + p := getenv(var); + IF p # NIL THEN COPY(p^, val) END + END GetEnv; + + PROCEDURE getEnv*(var: ARRAY OF CHAR; VAR val: ARRAY OF CHAR): BOOLEAN; + VAR p: ArgPtr; + BEGIN + p := getenv(var); + IF p # NIL THEN + COPY(p^, val); + RETURN TRUE + ELSE + RETURN FALSE + END + END getEnv; + +BEGIN argc := Argc(); argv := Argv() +END Args. diff --git a/src/lib/system/linux/gcc/x86/Args.Mod b/src/lib/system/linux/gcc/x86/Args.Mod new file mode 100644 index 00000000..c6b7b56e --- /dev/null +++ b/src/lib/system/linux/gcc/x86/Args.Mod @@ -0,0 +1,65 @@ +MODULE Args; (* jt, 8.12.94 *) + + (* command line argument handling for voc (jet backend) *) + + + IMPORT SYSTEM; + + TYPE + ArgPtr = POINTER TO ARRAY 1024 OF CHAR; + ArgVec = POINTER TO ARRAY 1024 OF ArgPtr; + + VAR argc-, argv-: LONGINT; + (*PROCEDURE -includestdlib() "#include ";*) + PROCEDURE -externgetenv() "extern char *getenv(const char *name);"; (* took this from stdlib.h*) + PROCEDURE -Argc(): INTEGER "SYSTEM_argc"; + PROCEDURE -Argv(): LONGINT "(long)SYSTEM_argv"; + PROCEDURE -getenv(var: ARRAY OF CHAR): ArgPtr + "(Args_ArgPtr)getenv(var)"; + + PROCEDURE Get*(n: INTEGER; VAR val: ARRAY OF CHAR); + VAR av: ArgVec; + BEGIN + IF n < argc THEN av := SYSTEM.VAL(ArgVec, argv); COPY(av[n]^, val) END + END Get; + + PROCEDURE GetInt*(n: INTEGER; VAR val: LONGINT); + VAR s: ARRAY 64 OF CHAR; k, d, i: LONGINT; + BEGIN + s := ""; Get(n, s); i := 0; + IF s[0] = "-" THEN i := 1 END ; + k := 0; d := ORD(s[i]) - ORD("0"); + WHILE (d >= 0 ) & (d <= 9) DO k := k*10 + d; INC(i); d := ORD(s[i]) - ORD("0") END ; + IF s[0] = "-" THEN d := -d; DEC(i) END ; + IF i > 0 THEN val := k END + END GetInt; + + PROCEDURE Pos*(s: ARRAY OF CHAR): INTEGER; + VAR i: INTEGER; arg: ARRAY 256 OF CHAR; + BEGIN + i := 0; Get(i, arg); + WHILE (i < argc) & (s # arg) DO INC(i); Get(i, arg) END ; + RETURN i + END Pos; + + PROCEDURE GetEnv*(var: ARRAY OF CHAR; VAR val: ARRAY OF CHAR); + VAR p: ArgPtr; + BEGIN + p := getenv(var); + IF p # NIL THEN COPY(p^, val) END + END GetEnv; + + PROCEDURE getEnv*(var: ARRAY OF CHAR; VAR val: ARRAY OF CHAR): BOOLEAN; + VAR p: ArgPtr; + BEGIN + p := getenv(var); + IF p # NIL THEN + COPY(p^, val); + RETURN TRUE + ELSE + RETURN FALSE + END + END getEnv; + +BEGIN argc := Argc(); argv := Argv() +END Args. diff --git a/src/lib/system/linux/gcc/x86_64/Args.Mod b/src/lib/system/linux/gcc/x86_64/Args.Mod new file mode 100644 index 00000000..2c0d25b5 --- /dev/null +++ b/src/lib/system/linux/gcc/x86_64/Args.Mod @@ -0,0 +1,65 @@ +MODULE Args; (* jt, 8.12.94 *) + + (* command line argument handling for voc (jet backend) *) + + + IMPORT SYSTEM; + + TYPE + ArgPtr = POINTER TO ARRAY 1024 OF CHAR; + ArgVec = POINTER TO ARRAY 1024 OF ArgPtr; + + VAR argc-: INTEGER; argv-: LONGINT; + (*PROCEDURE -includestdlib() "#include ";*) + PROCEDURE -externgetenv() "extern char *getenv(const char *name);"; (* took this from stdlib.h*) + PROCEDURE -Argc(): INTEGER "SYSTEM_argc"; + PROCEDURE -Argv(): LONGINT "(long)SYSTEM_argv"; + PROCEDURE -getenv(var: ARRAY OF CHAR): ArgPtr + "(Args_ArgPtr)getenv(var)"; + + PROCEDURE Get*(n: INTEGER; VAR val: ARRAY OF CHAR); + VAR av: ArgVec; + BEGIN + IF n < argc THEN av := SYSTEM.VAL(ArgVec, argv); COPY(av[n]^, val) END + END Get; + + PROCEDURE GetInt*(n: INTEGER; VAR val: LONGINT); + VAR s: ARRAY 64 OF CHAR; k, d, i: LONGINT; + BEGIN + s := ""; Get(n, s); i := 0; + IF s[0] = "-" THEN i := 1 END ; + k := 0; d := ORD(s[i]) - ORD("0"); + WHILE (d >= 0 ) & (d <= 9) DO k := k*10 + d; INC(i); d := ORD(s[i]) - ORD("0") END ; + IF s[0] = "-" THEN d := -d; DEC(i) END ; + IF i > 0 THEN val := k END + END GetInt; + + PROCEDURE Pos*(s: ARRAY OF CHAR): INTEGER; + VAR i: INTEGER; arg: ARRAY 256 OF CHAR; + BEGIN + i := 0; Get(i, arg); + WHILE (i < argc) & (s # arg) DO INC(i); Get(i, arg) END ; + RETURN i + END Pos; + + PROCEDURE GetEnv*(var: ARRAY OF CHAR; VAR val: ARRAY OF CHAR); + VAR p: ArgPtr; + BEGIN + p := getenv(var); + IF p # NIL THEN COPY(p^, val) END + END GetEnv; + + PROCEDURE getEnv*(var: ARRAY OF CHAR; VAR val: ARRAY OF CHAR): BOOLEAN; + VAR p: ArgPtr; + BEGIN + p := getenv(var); + IF p # NIL THEN + COPY(p^, val); + RETURN TRUE + ELSE + RETURN FALSE + END + END getEnv; + +BEGIN argc := Argc(); argv := Argv() +END Args. diff --git a/vocstatic.linux.gcc.x86_64.REMOVED.git-id b/vocstatic.linux.gcc.x86_64.REMOVED.git-id index 2851a28b..4e53133c 100644 --- a/vocstatic.linux.gcc.x86_64.REMOVED.git-id +++ b/vocstatic.linux.gcc.x86_64.REMOVED.git-id @@ -1 +1 @@ -da9e240374a49ee39c08857a483a931dcbd48906 \ No newline at end of file +7fb043555ff9a58049dfa0758bc95ce058c619e1 \ No newline at end of file