aboutsummaryrefslogtreecommitdiff
path: root/pseudocode-lib
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-30 14:31:07 +0000
committer_ov4 <ov4@ov4.org>2026-10-30 14:31:07 +0000
commit0cf54b4f77ccf8376341950b02ceb7c1d1268ed7 (patch)
treeeebbba01063451c28f0a2e1cc048215f50beb98f /pseudocode-lib
parent4cb0d9b196008bc55dbfcdac1f9211dbbc879895 (diff)
refactor(strings): construct string values implicitly from raw literals
Keep double-quoted literals and text constants as C_STRING values. Use marked STRING constructors for text and CHAR conversion, preserving string operations and I/O through the existing class machinery. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'pseudocode-lib')
-rw-r--r--pseudocode-lib/string.cps5
1 files changed, 4 insertions, 1 deletions
diff --git a/pseudocode-lib/string.cps b/pseudocode-lib/string.cps
index 96de023..5bff821 100644
--- a/pseudocode-lib/string.cps
+++ b/pseudocode-lib/string.cps
@@ -37,9 +37,12 @@ CLASS STRING
OVERLOAD PROCEDURE NEW(BYREF Other : STRING)
_HANDLE <- _string_impl_copy(Other._HANDLE)
ENDPROCEDURE
- OVERLOAD PROCEDURE NEW(Text : C_STRING)
+ OVERLOAD IMPLICIT PROCEDURE NEW(Text : C_STRING)
_HANDLE <- _string_impl_from_cstr(Text)
ENDPROCEDURE
+ OVERLOAD IMPLICIT PROCEDURE NEW(Ch : CHAR)
+ _HANDLE <- _string_impl_from_count_char((_STRING_C_INTEGER)1, (C_CHAR)Ch)
+ ENDPROCEDURE
OVERLOAD PROCEDURE NEW(Count : INTEGER, Ch : C_CHAR)
_HANDLE <- _string_impl_from_count_char((_STRING_C_INTEGER)Count, Ch)
ENDPROCEDURE