ASPL لباتASPL 0.7.0

Search documentation

Search starts with current English documentation · ASPL 0.7.0

Enter a complete name such as read_line, or words about a topic.

    العربية
    Source files

    Open one UTF-8 .aspl or .لبات file, up to 1 MiB, in a new draft. It stays in this browser and does not run automatically.

    Source notation

    ASPL 0.7.0 · Current release

    Logical source, digits, and editor conversion.

    On this page

    Source rules

    Source is strict UTF-8 under Unicode 17.0. Identifiers are case-sensitive NFC names, each using one Arabic or Latin script. English keywords and word operators are exact aliases and may mix. Executable digits and punctuation use ASCII; equality, conjunction, and disjunction use matches, and, and or or their Arabic aliases يطابق, تطابق, و, and أو. Numeric prefixes are 0x/0X and 0b/0B, or 0س and 0ث; Arabic hexadecimal uses ا ب ت ث ج ح for values 10 through 15. Statements end with . or ;. Each numeric token stays LTR in logical source order, and display order never changes source bytes.

    Identifiers use the Unicode XID_Start and XID_Continue profile with _; NFC normalization determines identity. A leading UTF-8 BOM is allowed and counts toward source size. Raw NUL is legal inside strings and comments and forbidden outside them. \0 in a string also creates a runtime NUL. Strings and comments keep their contents without normalization. LRM and RLM are allowed only at legal token boundaries, while other forbidden controls fail checking. Diagnostic display exposes controls by code point and name.

    match is also an equality alias. not / لا / ليس / ليست negates a Boolean and can precede equality as in a not match b. != is unequal; ==, &&, and || are invalid.

    Editor digit conversion

    Accepted: Arabic and English keywords and either radix alphabet in one program. Rejected: unconverted non-ASCII digits outside strings and comments, an identifier mixing scripts, or a hexadecimal spelling that mixes alphabets. The editor converts Arabic-Indic and Extended Arabic-Indic digits to ASCII outside strings and comments, and makes invisible controls visible.

    Typing and pasting in the source editor convert digits only outside strings and comments. Source-file import preserves bytes and bypasses that conversion. Program input and numeric parsing do not pass through the editor. RTL or LTR display and copying preserve logical source order.

    Strings and comments

    Strings use double quotes. Escapes are \\, \", \0, \n, \r, \t, and \u{...} for one Unicode scalar in one through six hexadecimal digits. Raw line breaks and unknown escapes fail checking. // starts a line comment; /* ... */ is a non-nesting block comment. See numbers for literals and radix prefixes.

    ASPL 0.7.0 also accepts Arabic escape aliases. Both vocabularies may appear in the same string, and each pair produces identical bytes. The backslash remains the escape introducer; / is ordinary string content.

    English Arabic Value
    \\ \\ Literal backslash
    \" \" Literal double quote
    \0 \ص NUL, U+0000
    \n \س Line feed, U+000A
    \r \ر Carriage return, U+000D
    \t \ت Horizontal tab, U+0009
    \u{...} \ي{...} One Unicode scalar

    \u{...} keeps its ASCII hexadecimal alphabet. \ي{...} accepts ASCII hexadecimal digits plus ا ب ت ث ج ح for values 10 through 15, including combinations of the two alphabets. Both forms require one through six digits, reject surrogate values and values above U+10FFFF, and accept U+0000 in strings. For example, \ي{062ت} and \u{062C} both produce ج. Arabic-Indic digits and separators are invalid in either form. Published 0.6.0 artifacts retain their original escape syntax.

    Release scope and related reading

    This page describes ASPL 0.7.0. The linked MVP text is a historical record, not a complete description of current extensions.

    The numeric extension added radix prefixes and bitwise operators. ==, &&, and || remain invalid. Sum demonstrates mixed vocabulary.

    Browse pages