Ito ang command na zmakebas na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
zmakebas - i-convert ang text file sa Spectrum Basic na programa
SINOPSIS
zmakebas [-hlr] [-a startline] [-i incr] [-n speccy_filename] [-o output_file] [-s linya]
[input_file]
DESCRIPTION
Ang zmakebas ay nagko-convert ng isang Spectrum Basic na programa na nakasulat bilang isang text file sa isang aktwal na speccy
Basic na file (bilang .TAP file, o opsyonal na raw headerless file). Bilang default, darating ang input
mula sa stdin, at ang output ay mapupunta sa `out.tap'.
Ang paggamit ng zmakebas sa halip na (sabihin) ang pagsulat ng Basic sa isang emulator ay nangangahulugan na maaari kang magsulat
gamit ang isang mas magandang editor, at maaaring gumamit ng mga tool na gumagana sa mga text file, atbp. Gayundin, gamit ang `-l'
opsyon na maaari mong isulat nang walang mga numero ng linya, gamit ang mga label sa kanilang lugar kung saan kinakailangan.
Ang programa ay orihinal na inilaan upang gamitin lamang upang gumawa ng maliit na mga programa ng loader, kaya
hindi nila kailangang maging mga binary na walang mapagkukunan. Gayunpaman, nagpunta ako sa isang patas na dami ng pagsisikap
upang matiyak na gagana rin ito para sa mas malaki, mas seryosong mga programa, para magamit mo rin ito
ang ganyang uri ng bagay.
Opsyon
-a gawin ang nabuong file na awtomatikong magsimula mula sa linya startline. Kung ang `-l' ay tinukoy,
maaari itong maging isang label, ngunit huwag kalimutang isama ang inisyal na `@' upang ituro ito.
-h magbigay ng tulong sa mga opsyon sa command line.
-i sa labels mode, itakda ang line number increment (default 2).
-l gumamit ng mga label sa halip na mga numero ng linya.
-n tukuyin ang filename na gagamitin sa .TAP file (hanggang 10 chars), ibig sabihin, ang filename ang speccy
makikita. Ang default ay isang blangkong filename (10 puwang).
-o output sa output_file sa halip na ang default na `out.tap'. Gamitin ang `-' bilang filename sa
output sa stdout.
-r magsulat ng isang raw na walang header na Basic na file, sa halip na ang default na .TAP file.
-s sa labels mode, itakda ang numero ng panimulang linya (default 10).
INPUT FORMAT
Ang input ay dapat kasing dami ng iyong ita-type sa isang speccy (isang 128, upang maging tumpak), kasama ang
sumusunod na mga pagbubukod:
Binabalewala ang mga linyang nagsisimula sa `#'. Ito ay nagpapahintulot sa iyo na magpasok ng mga komento na hindi
kinopya sa output Basic file.
Binabalewala ang mga blangkong linya.
Binabalewala ang case sa mga keyword - ang `print', `PRINT', at `pRiNt' ay katumbas.
Maaari mong opsyonal na gamitin ang `randomise' bilang alternatibo sa `randomize'.
Maaari kang makakuha ng mga hex na numero sa pamamagitan ng paggamit ng `bin' na may isang C-style hex na numero, hal upang makakuha ng 1234h na gusto mo
gumamit ng `bin 0x1234'. (Lumilitaw ito sa eksaktong form na iyon sa listahan ng speccy, gayunpaman, kaya huwag
gamitin ito kung gusto mong ma-edit ang output program sa isang speccy.)
Maaari kang makakuha ng pound sign (character 96 sa speccy) sa pamamagitan ng paggamit ng backquote (`).
Karaniwang katumbas ng isang linya ng input ang isang linya ng Basic, ngunit maaari mong gamitin ang backslash bilang huli
character ng isang linya upang ipagpatuloy ang (mga) pahayag sa susunod na linya ng pag-input.
Sa halip na literal na maglagay ng mga block graphics character at UDG gaya ng gagawin mo sa a
speccy, dapat kang gumamit ng escape sequence. Nagsisimula ang mga ito sa isang backslash (`\'). Upang makakuha ng isang
UDG, sundan ang backslash na ito gamit ang titik ng UDG, sa hanay na `a' hanggang `u' (`t' at `u'
magkakaroon lamang ng nais na epekto kung ang programa ay tatakbo sa 48k speccy o sa 48k mode,
bagaman); parehong upper at lowercase na gawain. Upang makuha ang simbolo ng copyright, sundan ito ng `*'.
Para makakuha ng block graphics character, sundan ito ng dalawang character na `drawing' nito gamit
mga puwang, tuldok, kudlit at/o tutuldok. (Halimbawa, makakakuha ka ng character 135 na may `\':',
at character 142 na may `\:.'.) Upang makakuha ng literal na `@', sundan ito ng `@'. (Ito ay kailangan
lamang kung ang `-l' na opsyon ay ibinigay, ngunit gumagana ito man o hindi.) Upang tukuyin ang isang literal
walong-bit na character code upang direktang itapon sa Basic na output file (upang gamitin para sa naka-embed na
color control codes at mga katulad nito), gumamit ng mga brace at isang C-syntax number hal. `\{42}' para sa
decimal, at `\{0x42}' para sa hex. Sa wakas, gaya ng dati sa mga ganyang bagay, makakakuha ka ng literal
backslash sa pamamagitan ng pagsunod sa unang backslash sa isa pa.
Kung ang `-l' na opsyon ay ibinigay, ang mga numero ng linya ay dapat tanggalin. Sa halip ang mga ito ay
awtomatikong nabuo sa output, at maaari mong gamitin ang mga label kung kinakailangan
palitan ang mga numero ng linya para sa mga utos na `goto' atbp. Ang isang label ay tinukoy kasama ng teksto
`@label:' sa simula ng isang linya (maaaring unahan ng whitespace). Maaari itong i-refer
sa (bago o pagkatapos) na may `@label'. Anumang napi-print na ASCII na character maliban sa colon at
space ay maaaring gamitin sa isang pangalan ng label. Narito ang isang halimbawa kung paano gumagana ang mga label, na nagpapakita ng parehong
input at (listahan ng) ang output - una, ang input:
goto @foo
i-print ang "hindi nakikita"
@foo: i-print ang "hello world"
Ngayon ang output:
10 PUMUNTA SA 14
12 I-print ang "hindi nakikita"
14 I-print ang "hello world"
Pansinin ang kaso is makabuluhan para sa mga label; Magkaiba ang `foo' at `FOO'.
Gamitin ang zmakebas online gamit ang mga serbisyo ng onworks.net