diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-13 14:13:00 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-13 14:13:00 +0000 |
| commit | 3b4e89d96afe203bb0e8b5b331bb30d1193d0831 (patch) | |
| tree | 273802efdf5962d82ad0d7691d286ff6b8b9edd2 /doc/language/cpsc-keyword-class.7.md | |
| parent | 05cdcb6a1cc3d4de3a0b3d12d4babcd6438b4754 (diff) | |
Document supported pseudocode with section 7 language manuals
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat (limited to 'doc/language/cpsc-keyword-class.7.md')
| -rw-r--r-- | doc/language/cpsc-keyword-class.7.md | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/doc/language/cpsc-keyword-class.7.md b/doc/language/cpsc-keyword-class.7.md new file mode 100644 index 0000000..7ff32ba --- /dev/null +++ b/doc/language/cpsc-keyword-class.7.md @@ -0,0 +1,43 @@ +% CPSC-KEYWORD-CLASS(7) + +# NAME + +cpsc-keyword-class - define a class with public and private fields + +# SYNOPSIS + +```text +CLASS name + PUBLIC field : type + PRIVATE field : type +ENDCLASS +``` + +# DESCRIPTION + +Declare a class at top level with at least one field. Every field explicitly +requires PUBLIC or PRIVATE, without DECLARE. This differs from guide +section 10's default-public rule. ENDCLASS closes the declaration. + +Classes use record value semantics: zero initialization, whole-value copying, +arrays, pointers, and ordinary function/procedure parameters. Only PUBLIC +fields can be accessed externally. PRIVATE fields still initialize and copy +with the whole value. Methods, constructors, destructors, NEW, INHERITS, +and array fields are unsupported. + +# EXAMPLE + +```text +CLASS Person + PUBLIC Name : STRING + PRIVATE Age : INTEGER +ENDCLASS +DECLARE PersonValue : Person +PersonValue.Name <- "Alice" +OUTPUT PersonValue.Name +``` + +# SEE ALSO + +[cpsc-language-overview(7)](cpsc-language-overview.7.md), [cpsc-keyword-type(7)](cpsc-keyword-type.7.md), [cpsc-keyword-declare(7)](cpsc-keyword-declare.7.md). + |
