aboutsummaryrefslogtreecommitdiff
path: root/pseudocode-lib/_exp_string.cps
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-20 10:56:22 +0000
committer_ov4 <ov4@ov4.org>2026-10-20 10:56:22 +0000
commitcf9af14fe749c52473fdf5a327c3e935e45bf0e7 (patch)
tree4c22c4a919e3da709b16055ff6762ea1195b6237 /pseudocode-lib/_exp_string.cps
parent1ed0e276a37d39386b22b08c1f9e575a8f8f8725 (diff)
feat(library): add experimental string LEFT function
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'pseudocode-lib/_exp_string.cps')
-rw-r--r--pseudocode-lib/_exp_string.cps6
1 files changed, 6 insertions, 0 deletions
diff --git a/pseudocode-lib/_exp_string.cps b/pseudocode-lib/_exp_string.cps
index 369e20f..34b1302 100644
--- a/pseudocode-lib/_exp_string.cps
+++ b/pseudocode-lib/_exp_string.cps
@@ -14,6 +14,7 @@ EXTERN "C" EXTERN_PROCEDURE _exp_string_impl_from_int(_EXP_STRING_HANDLE, _EXP_S
EXTERN "C" EXTERN_PROCEDURE _exp_string_impl_from_real(_EXP_STRING_HANDLE, C_DOUBLE)
EXTERN "C" EXTERN_FUNCTION _exp_string_impl_to_real(_EXP_STRING_HANDLE) RETURNS C_DOUBLE
EXTERN "C" EXTERN_FUNCTION _exp_string_impl_length(_EXP_STRING_HANDLE) RETURNS _EXP_STRING_C_INTEGER
+EXTERN "C" EXTERN_PROCEDURE _exp_string_impl_left(_EXP_STRING_HANDLE, _EXP_STRING_HANDLE, _EXP_STRING_C_INTEGER)
EXTERN "C" EXTERN_PROCEDURE _exp_string_impl_output(_EXP_STRING_HANDLE)
CLASS _EXP_STRING
@@ -65,3 +66,8 @@ ENDFUNCTION
PROCEDURE _EXP_STRING_OUTPUT(S : _EXP_STRING)
CALL _exp_string_impl_output(S._HANDLE)
ENDPROCEDURE
+FUNCTION _EXP_STRING_LEFT(S : _EXP_STRING, Count : INTEGER) RETURNS _EXP_STRING
+ DECLARE Result : _EXP_STRING
+ CALL _exp_string_impl_left(Result._HANDLE, S._HANDLE, (_EXP_STRING_C_INTEGER)Count)
+ RETURN Result
+ENDFUNCTION