From eb098a6fac066da3c2a8a4d118c1c5582d6cd701 Mon Sep 17 00:00:00 2001 From: Dmitry Boulytchev Date: Sun, 31 Oct 2021 15:34:34 +0300 Subject: [PATCH] Merged PR from Lama --- lama-spec.pdf | Bin 264076 -> 264741 bytes runtime/Std.i | 2 ++ runtime/runtime.c | 10 ++++++++++ runtime/runtime.h | 1 + spec/08.standard_library.tex | 4 ++++ src/version.ml | 2 +- 6 files changed, 18 insertions(+), 1 deletion(-) diff --git a/lama-spec.pdf b/lama-spec.pdf index 237cb300633774d825afffb940e251c20717d67f..5362cfcb5aad0d56f05188136e77f81de2120d38 100644 GIT binary patch delta 41048 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 JvW^Pge*-R^23Y_A delta 40527 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 SMvDs)781Z=W|q^C$N3M0%^UIn diff --git a/runtime/Std.i b/runtime/Std.i index 1ac1a69ee..ff5588005 100644 --- a/runtime/Std.i +++ b/runtime/Std.i @@ -54,3 +54,5 @@ F,kindOf; F,compareTags; F,flatCompare; F,tagHash; +F,uppercase; +F,lowercase; diff --git a/runtime/runtime.c b/runtime/runtime.c index 6f8c35c1e..ba9224121 100644 --- a/runtime/runtime.c +++ b/runtime/runtime.c @@ -566,6 +566,16 @@ static void stringcat (void *p) { } } +extern int Luppercase (void *v) { + ASSERT_UNBOXED("Luppercase:1", v); + return BOX(toupper ((int) UNBOX(v))); +} + +extern int Llowercase (void *v) { + ASSERT_UNBOXED("Llowercase:1", v); + return BOX(tolower ((int) UNBOX(v))); +} + extern int LmatchSubString (char *subj, char *patt, int pos) { data *p = TO_DATA(patt), *s = TO_DATA(subj); int n; diff --git a/runtime/runtime.h b/runtime/runtime.h index 16609672c..677429fd7 100644 --- a/runtime/runtime.h +++ b/runtime/runtime.h @@ -12,6 +12,7 @@ # include # include # include +# include # define WORD_SIZE (CHAR_BIT * sizeof(int)) diff --git a/spec/08.standard_library.tex b/spec/08.standard_library.tex index 207a0e207..19d4ada2b 100644 --- a/spec/08.standard_library.tex +++ b/spec/08.standard_library.tex @@ -12,6 +12,10 @@ is added implicitly by the compiler and can not be specified by an end user. The following declarations are accessible: +\descr{\lstinline|fun uppercase (n)|}{Convert \lstinline|n|, treated as ASCII code, into the code of the same symbol in upper case.} + +\descr{\lstinline|fun lowercase (n)|}{Convert \lstinline|n|, treated as ASCII code, into the code of the same symbol in lower case.} + \descr{\lstinline|fun assert (n, s, ...)|}{Asserts that \lstinline|n| is non-zero; otherwise raises \lstinline|failure| with a corresponding error message.} diff --git a/src/version.ml b/src/version.ml index 993b5c0f5..da4a1149e 100644 --- a/src/version.ml +++ b/src/version.ml @@ -1 +1 @@ -let version = "Version 1.10, 4d56ccc06, Sun Oct 3 17:10:21 2021 +0300" +let version = "Version 1.10, 594fa7bf8, Sat Oct 30 19:24:25 2021 +0300"