Download Latest Version speljs-0.3.A.zip (2.6 MB)
Email in envelope

Get an email when there's a new version of Human Speakable Programming Language

Home / sysh
Name Modified Size InfoDownloads / Week
Parent folder
sysh-0.4.1.9.8.7.1.tbz2 2013-12-28 1.0 MB
sysh-0.4.1.9.8.1.3.tbz2 2013-09-22 1.2 MB
roadmap.txt 2013-04-23 19.7 kB
readme.txt 2013-04-23 6.6 kB
sysh-0.4.1.9.4.D.tbz2 2013-04-23 1.1 MB
sysh-0.4.1.8.F.tbz2 2013-03-15 1.0 MB
sysh-0.4.1.8.6.tbz2 2013-02-01 958.2 kB
sysh-0.4.1.8.3.2.tbz2 2012-12-30 2.7 MB
sysh-0.4.1.8.3.1.tbz2 2012-12-28 2.3 MB
sysh-0.4.1.8.1.tbz2 2012-12-19 2.3 MB
sysh-0.4.1.8.tbz2 2012-10-09 869.0 kB
sysh-0.4.1.7.7.tbz2 2012-06-23 852.3 kB
sysh-0.4.1.7.2.tbz2 2012-06-15 815.2 kB
sysh-0.4.1.7.tbz2 2012-06-07 574.7 kB
sysh-0.4.1.0.7.tbz2 2012-06-07 494.9 kB
sysh-0.4.1.6.C.tbz2 2012-05-31 561.2 kB
sysh-0.4.1.6.5.tbz2 2012-05-16 402.5 kB
sysh-0.4.1.6.4.tbz2 2012-05-12 393.7 kB
sysh-0.4.1.6.tbz2 2012-04-13 157.9 kB
sysh-0.4.1.5.1.tbz2 2012-04-12 153.4 kB
sysh-0.4.1.5.tbz2 2011-12-23 155.8 kB
sysh-0.4.1.4.tbz2 2011-12-03 158.5 kB
sysh-0.4.1.3.8.tbz2 2011-11-30 157.8 kB
sysh-0.4.1.3.5.tbz2 2011-11-01 149.8 kB
sysh-0.4.1.3.1.tbz2 2011-11-01 148.2 kB
sysh-0.4.1.2.1.tbz2 2011-10-29 146.3 kB
sysh-0.4.1.2.tbz2 2011-10-28 142.3 kB
sysh-0.4.1.1.4.tbz2 2011-10-26 145.8 kB
sysh-0.4.1.1.tbz2 2011-10-26 145.7 kB
sysh-0.4.1.0.6.tbz2 2011-08-08 473.5 kB
0.4.1.0.tbz2 2011-01-25 349.0 kB
sysh-0.4.1.0.tbz2 2011-01-05 385.2 kB
sysh-0.4.1.tbz2 2011-01-05 349.0 kB
sysh-0.4.0.5.tar.bz2 2010-11-15 277.3 kB
sysh-0.4.0.tar.bz2 2010-11-08 255.0 kB
design.txt 2010-10-09 4.7 kB
sysh.tar.gz 2010-10-08 21.0 kB
Totals: 37 Items   21.3 MB 0
sysh 
translated means speak-listen or language
human-speakable-programming-language


*********
contents be
*********
  directory structure
 install on linux
 install on windows
 user-info
 roadmap
 developer-info
 acknowledgments
 review

**************
directory structure
********************
0/  readme
1/  source
2/  binaries and scripts
3/  changelogs
4/  roadmap
5/  docs
6/  screenshots 
7/  translations
8/  website
B/  articles
D/  licence and policies



 
*************
 install on linux
******************
  requires bash (bourne-again shell)
	nasm assembler http://www.nasm.us/ , 
	binutils (ld) and linux kernel calls
	with x86 instruction set (intel/amd processor or emulator).
   for api generation grep and pcregrep required.
	

  cd sysh/2/bin
  ./make.sh will compile and take you into interperter
  executable is bin/sysh

  try out some of the commands listed in the Demo Preview section of this readme
*******************
 install on windows
*******************
 get linux emulator like cygwin http://www.cygwin.com/ ,
 and follow linux instructions

***********
user-info
***********

grammar structure. 
Since subject-object-verb is more common,
and is easier to make programing code for.
sysh currently uses post-positional syntax.
So instead of "from the Earth", it's "Earth the from". 

grammar vocabulary

Sysh uses an isolating case-grammar, 
so there is a word for each grammatical case. 
where a grammatical case is a word like "to", "of", "for", "by".

English uses many case-grammar words, 
but uses place-grammar for subject and object.
In Sysh the word for subject is "su" and for object is "bo".
For example,  "we go to the store",  is "we su store the bo go be"
 

Running the program.
you type in a command,
the computer as self answers. 

in a terminal shell in this directory type
./make.sh

---------------
Demo Preview
--------------

to test basic helo and exit do
hello be ya
bye be do

to test basic output
hello bo say be do 

to test addition
note that numbers run from right to left,
and have the word nu following them to designate as numbers.
c nu bo 04 nu to add be do

to test compare
love bo love to compare be word by do
11 nu bo 7 nu to compare be number by do

to write to (emulated 32-bit) register 
helo nu bo 0 re to write be do

to say from (emulated) register
0 re from say be do

to see bytes in numeric form
0 re bo convert be number to do

to say from memory
00B8408 nu from say be do

to find address of recent word in book
test bo what be do

to test writing to file
you yo hello world! :-) bo filename.txt file to write be do
me yo hello world! :-) bo filename.txt file to write be  hello world! :-)   so ya
the file created is in bin/  in this case it is bin/filename.txt  with the contents demonstrated by so

to test saying or reading from file
	test.txt file from say be do

to test loving or compiling from file
	test.txt file from love be do

to test factorial label example
	factorial.txt file from love be do

to test conditional statements.
	love bo love to compare be do
	equal if compare works bo say be do
can do switch/case statments by
	happy bo compare be do
	sad if :-( bo say be do
	happy if :-) bo say be do

to see contents of memory or book catalog
	catalog book from say be do

to see contents of user history
	user book from say be do

to make a label
	name su label be ya
to get pointer or po of label
	name la bo say be do

to test label jump
		name su	label be ya
		name la bo say be do 
		end be do
		name la to jump be do

to test variables
		something su 33 nu bo var be do
		something va bo say be do  
		something va bo 4 nu to add be do

to convert a number to a string variable
	44 nu bo word to convert be do

	resultnum su 44 nu bo var be do
	resultword su var be do
	resultnum va bo word to convert be resultword va so do

to set quiet mode, where only say outputs to screen
		voice bo quiet to mode be do
to return to verbose or debugging mode
		voice bo verbose to mode be do

to start a new book
	book name su book be do

to forget a book
	book name book bo forget be do

they are then marked as "free" insead of "book" in the catalog

to extend a book
	book name book bo 0002 nu till extend be do
note 0002 is equivalent to 0x2000  bytes, and can be any number

a note on quotes:
The kind of quotes implemented is the lojban foreign language quotes style.
It's interesting as it's actually an infinite quoting mechanism, 
since you can literally make new quotes with it.

an example quo contents quo te   is a quote, containing the word contents,  
the quote_word is quo in this case,  though " contents " te can work just as easily as any combination.

instead of having escape sequences, can simply have quotes comprised of glyphs 
which are not found in the text as solitary words.


********
roadmap
********

see roadmap.txt

**************
developer info
***************
to debug requires gdb can use ./debug.sh in 2/bin to start it up

grammar-structure

because of subject-object-verb,
the initial words are helpful descriptors,
the last word in a noun-group is the most important,
typically indicating the underlying process or result.
In example "spaceClear" clears, "spaceFind", finds. 

source files are in src/
the main one is sysh.asm
then interpret.asm

can compile new version with ./2/bin/run.sh in base directory
the executable or binary shall be ./2/bin/sysh 
can go into gnu debbugging mode with ./2/bin/debug.sh in base directory

Porting Guide
if to other operating system, the kernel is lin_io.asm and lin_sys.asm,
if to other processing bits, cpu.asm

Grammar
Scanner is lower level, getting the word kinda stuff
Parser is mid level, operating with the word



*****************
acknowledgements 
*****************
authored by Andrii Zvorygin
jonesforth is the initial code example
supported by #forth and #asm irc channels from irc.freenode.net network.
consulted by father Igor Zvorygin about computer-programming.
inspired by Ben Goertzel AGI academic guru and part-time mentor.


***************************
review
***********************
what have you learned?

how do you feel about speakable programming?

Are you inspired by new vocabulary?

How about grammar conventions?

and of course,
using a command line,
on linux or an emulator.

perhaps you'd like to delve a little deeper,
and look at and improve the code to suit we with you?

rememeber to learn from those who have come before,
as they have the knowledge to give of what they have achieved.

review for building your knowledge, skills and abilities. 
Source: readme.txt, updated 2013-04-23