စံကား

Reference

Reserved words

Each word Zaka gives a meaning to, with an English reading.

These words have a fixed meaning in Zaka, so a program cannot use them as names. A word made of nothing but reserved words, such as ထက်ကြီးသည် or တန်ဖိုးကို, is split into them. To use one of these as a name all the same, wrap it in backticks (`ကြီး`); see Names.

Particles

WordReads asUsed in
သည်(subject); also a polite endingParticles
ကို(object)Particles
နှင့်"and", "with"Arithmetic, Comparison
၏"of"Arithmetic
ဖြင့်"with", "through"Arithmetic, Writing integers
ထက်"than"Comparison
အောက်"below"Comparison
ဟု"so" (quoting)Printing, Changing a variable
အဖြစ်"as", "into"Converting between kinds
ပါ, ပါသည်polite endingsParticles
တို့ကို, တို့ဖြင့်close a list of parameters / argumentsParameters
လက်ခံပြီး"accepting ... and"Parameters
မှ, အထိ, စီ, အနေဖြင့်"from", "up to", "each", "as"Counted loops
ဖြစ်ကာ, ဖြစ်ပြီး"being ... and"Generic loops
ပြီးလျှင်"when done"Generic loops
ဘယ်သို့, ညာသို့"to the left", "to the right"Bitwise operators
ဘစ်"bit"Integers, Bitwise operators

Verbs that make a value

WordReads asOperatorPage
ပေါင်းလဒ်"sum"+Arithmetic
နုတ်လဒ်"difference"-Arithmetic
မြှောက်လဒ်"product"*Arithmetic
စားသော စားလဒ်"quotient"/Arithmetic
စားသော စားကြွင်း"remainder"%Arithmetic
ဘစ်အလိုက် ဆုံလဒ်"bitwise meeting"&Bitwise operators
ဘစ်အလိုက် ပေါင်းစုလဒ်"bitwise union"|Bitwise operators
ဘစ်အလိုက် ခြားနားလဒ်"bitwise difference"^Bitwise operators
ဘစ်အလိုက် ပြောင်းပြန်ပြောင်းလဒ်"bitwise flip"~Bitwise operators
ရွေ့သောရလဒ်"moved result"<<, >>Bitwise operators
ညီ, မညီ"equal", "not equal"==, !=Comparison
ကြီး, မကြီး"greater", "not greater">, <=Comparison
ငယ်, မငယ်"less", "not less"<, >=Comparison
ပြောင်းလဲသော ရလဒ်"changed result"Converting between kinds
လုပ်ဆောင်သော ရလဒ်"result of running"Results
ဖြစ်၍"and"; also joins the kind and the value in a declaration&&Logic, Variables
သို့မဟုတ်"or"||Logic
မဟုတ်"not"!Logic
အနုတ်"minus"- (in front)Arithmetic

Verbs that make a statement

WordReads asPage
ပြသပါ"please show"Printing
ထားပါ"please set"Changing a variable
ဖြစ်ပါစေ"let it be"Variables
လုပ်ဆောင်ပါ"please run"Functions
ရလဒ်အဖြစ် ပြန်ပေးပါ"give back as the result"Results
ပြန်ပေးပါ"please return"Functions
ပြန်ပေးမည်"will return"Results
ရပ်ပါ"please stop"Break and continue
ကျော်ပါ"please skip"Break and continue

Blocks and control flow

WordReads asPage
အောက်ပါတို့ကို လုပ်ဆောင်ပါ"please do the following"Blocks and scope
အောက်ပါတို့ကို လုပ်ဆောင်မည်"will do the following"Functions
အောက်ပါတို့ကို လုပ်ဆောင်ကာ"doing the following, ..."Results
လုပ်ဆောင်စရာများ ပြီးပါပြီး"the tasks are done" (four spellings)Blocks and scope
အကယ်၍"if"If and else
လျှင်, ဖြစ်လျှင်"then"If and else
ထိုသို့မဟုတ်ဘဲ"if not so, but" (else if)If and else
သို့မဟုတ်ပါက"otherwise" (else)If and else
နေသရွေ့, ဖြစ်နေသရွေ့"as long as"While loops
ရေတွက်၍, တိုး၍, လျှော့၍"counting", "increasing", "decreasing"Counted loops
ကွင်းဆက်"loop"Break and continue
နောက်တစ်ကြိမ်ဆီသို့"to the next round"Break and continue

Kinds, declarations and values

WordReads asPage
ကိန်းပြည့်"integer"Integers
ဒဿမကိန်း"decimal number"Decimal numbers
စာလုံး"character"Characters
မှန်မှားတန်ဖိုး, ဘူလီယန်"true/false value", "boolean"True and false
လက္ခဏာရှိ, လက္ခဏာမဲ့"signed", "unsigned"Integers
အခြေ"base"Writing integers
ကိန်းရှင်"variable"Variables
ကိန်းသေ"constant"Constants
လုပ်ဆောင်ချက်"function"Functions
ရလဒ်"result"Results
မှန်, မမှန်"true", "false"True and false
မှတ်ချက်"note" (comment)Comments

Pointers and the heap

WordReads asPage
လိပ်စာ"address": after <kind> it makes a pointer kind (<kind> လိပ်စာ, then ၏ လိပ်စာ for each further level); on its own it is the opaque pointer kind; after a name (x ၏ လိပ်စာ, or &x) it takes the addressPointers and the heap
တန်ဖိုး"value": dereference, as in p ၏ တန်ဖိုး (or *p); also တန်ဖိုးသည် in a declarationPointers and the heap, Variables
ဗလာ"blank": the null pointerPointers and the heap
ငှားထားသော"lent": in front of a pointer kind, the pointer borrows what it points atOwnership and borrowing
တန်ဖိုးအငှား"the value, on loan": ပ ၏ တန်ဖိုးအငှား lends the block ပ ownsOwnership and borrowing
လိပ်စာအကြမ်း"raw address": a pointer level the compiler does not followOwnership and borrowing
အရွယ်အစား"size": the size of a kind in octets, as in <kind> ၏ အရွယ်အစားThe heap
မင်မိုရီ, မှတ်ဉာဏ်"RAM" (two interchangeable spellings)The heap
ဘိုက်စာ"octets' worth", as in n ဘိုက်စာThe heap
ခုစာ"items' worth", as in <kind> n ခုစာThe heap
မင်မိုရီ … နေရာယူ၍ လိပ်စာကို … တွင် သိမ်းထားမည်"taking … of heap room, keep the address in …" (allocate)The heap
… လိပ်စာရှိကို မင်မိုရီ … ဖြစ်အောင် နေရာအချဲ့အချုံ့လုပ်မည်"grow or shrink the space at … so that it is …" (resize)Growing and shrinking
… လိပ်စာရှိ မင်မိုရီကို ပြန်လည်စွန့်လွှတ်မည်"release the block at …" (free)The heap

The words inside the three statements (နေရာယူ၍, တွင်, သိမ်းထားမည်, လိပ်စာရှိ, ဖြစ်အောင်, နေရာအချဲ့အချုံ့လုပ်မည်, ပြန်လည်စွန့်လွှတ်မည်) are reserved on their own as well.

Written and spoken endings

Each reserved word that ends in the written …မည် also accepts the spoken …မယ်, and the two spellings mean the same. This covers the three heap statements above and the older လုပ်ဆောင်မည် (in အောက်ပါတို့ကို လုပ်ဆောင်မည်) and ပြန်ပေးမည်: အောက်ပါတို့ကို လုပ်ဆောင်မယ် and ပြန်ပေးမယ် work too.

Lists

WordReads asPage
စာရင်း"list": after <kind> it makes a list kind (<kind> စာရင်း, or <kind> ၏ စာရင်း); တို့ပါသော စာရင်း closes a list literalLists
အကွက်"cell": x ၏ အကွက် i is cell i, counted from 0; အကွက် n ခုရှိသော gives the count of a list kindLists
ခုမြောက်"-th": x ၏ n ခုမြောက်အကွက် is cell n, counted from 1Lists
ခုရှိသော, ရှိသော"that has", in အကွက် n ခုရှိသော <kind> စာရင်းLists
အကွက်အရေအတွက်"cell count", in x ၏ အကွက်အရေအတွက်Lists
စာရင်းအလွတ်"blank list": each cell at its defaultLists
တို့ပါသော"that hold these", before စာရင်း in a list literalLists