From 4ce39e4fc1de9536de7dedfe91b6dee38dec76ae Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Thu, 1 Oct 2026 01:04:30 +0200 Subject: WIP sym + cgen --- examples/alias.prose | 9 --------- examples/alias.prs | 9 +++++++++ examples/argcv.prose | 8 -------- examples/argcv.prs | 8 ++++++++ examples/c.prose | 27 --------------------------- examples/c.prs | 27 +++++++++++++++++++++++++++ examples/call.prose | 18 ------------------ examples/call.prs | 17 +++++++++++++++++ examples/from.prose | 19 ------------------- examples/from.prs | 19 +++++++++++++++++++ examples/hello.prose | 7 ------- examples/hello.prs | 20 ++++++++++++++++++++ 12 files changed, 100 insertions(+), 88 deletions(-) delete mode 100644 examples/alias.prose create mode 100644 examples/alias.prs delete mode 100644 examples/argcv.prose create mode 100644 examples/argcv.prs delete mode 100644 examples/c.prose create mode 100644 examples/c.prs delete mode 100644 examples/call.prose create mode 100644 examples/call.prs delete mode 100644 examples/from.prose create mode 100644 examples/from.prs delete mode 100644 examples/hello.prose create mode 100644 examples/hello.prs (limited to 'examples') diff --git a/examples/alias.prose b/examples/alias.prose deleted file mode 100644 index 0fae9a6..0000000 --- a/examples/alias.prose +++ /dev/null @@ -1,9 +0,0 @@ -public function main - types - mytype alias pointer to array of 8 word - linkage - status word - storage - myvar mytype - procedure returning status - set status to 0 diff --git a/examples/alias.prs b/examples/alias.prs new file mode 100644 index 0000000..0fae9a6 --- /dev/null +++ b/examples/alias.prs @@ -0,0 +1,9 @@ +public function main + types + mytype alias pointer to array of 8 word + linkage + status word + storage + myvar mytype + procedure returning status + set status to 0 diff --git a/examples/argcv.prose b/examples/argcv.prose deleted file mode 100644 index da50b59..0000000 --- a/examples/argcv.prose +++ /dev/null @@ -1,8 +0,0 @@ -public function main - linkage - argc word - argv pointer to array of etc byte - status word - procedure using argc argv returning status - display "argc is " argc ", argv is " argv - set status to 0 diff --git a/examples/argcv.prs b/examples/argcv.prs new file mode 100644 index 0000000..da50b59 --- /dev/null +++ b/examples/argcv.prs @@ -0,0 +1,8 @@ +public function main + linkage + argc word + argv pointer to array of etc byte + status word + procedure using argc argv returning status + display "argc is " argc ", argv is " argv + set status to 0 diff --git a/examples/c.prose b/examples/c.prose deleted file mode 100644 index 8224fb5..0000000 --- a/examples/c.prose +++ /dev/null @@ -1,27 +0,0 @@ -* C interoperatibility example (without imports) -public function main - types - socket prototype - linkage - domain word - type word - protocol word - fd word - procedure using domain type protocol returning fd - - close prototype - linkage - fd word - status word - procedure using fd returning status - - AF_INET constant to 2 - SOCK_STREAM constant to 2 - linkage - status word - storage - fd word - procedure returning status - call socket using AF_INET SOCK_STREAM 0 returning fd - display "fd is " fd - call close using fd returning status diff --git a/examples/c.prs b/examples/c.prs new file mode 100644 index 0000000..8224fb5 --- /dev/null +++ b/examples/c.prs @@ -0,0 +1,27 @@ +* C interoperatibility example (without imports) +public function main + types + socket prototype + linkage + domain word + type word + protocol word + fd word + procedure using domain type protocol returning fd + + close prototype + linkage + fd word + status word + procedure using fd returning status + + AF_INET constant to 2 + SOCK_STREAM constant to 2 + linkage + status word + storage + fd word + procedure returning status + call socket using AF_INET SOCK_STREAM 0 returning fd + display "fd is " fd + call close using fd returning status diff --git a/examples/call.prose b/examples/call.prose deleted file mode 100644 index d90ccff..0000000 --- a/examples/call.prose +++ /dev/null @@ -1,18 +0,0 @@ -* function calls -function foo - linkage - myparam word - ret word - procedure using myparam returning ret - display "myparam is " myparam - set ret to 0 - -public function main - linkage - status word - storage - myvar word - procedure returning status - set myvar to 123 - call foo using myvar returning status - display "status is " status diff --git a/examples/call.prs b/examples/call.prs new file mode 100644 index 0000000..3c7d9c4 --- /dev/null +++ b/examples/call.prs @@ -0,0 +1,17 @@ +* function calls +function foo + linkage + a word + b word + c word + d word + procedure using a b c returning d + +public function main + types + foo prototype + procedure + storage + myfoo foo + procedure + call foo using a b c returning d diff --git a/examples/from.prose b/examples/from.prose deleted file mode 100644 index 746371d..0000000 --- a/examples/from.prose +++ /dev/null @@ -1,19 +0,0 @@ -* 'from' loop example -function foo - procedure - from 0 to 3 - display "\tfoo" - end - -public function main - linkage - status word - storage - iterator ulong - procedure returning status - from 0 to 8 - display "hello" - call foo - end - - set status to 0 diff --git a/examples/from.prs b/examples/from.prs new file mode 100644 index 0000000..746371d --- /dev/null +++ b/examples/from.prs @@ -0,0 +1,19 @@ +* 'from' loop example +function foo + procedure + from 0 to 3 + display "\tfoo" + end + +public function main + linkage + status word + storage + iterator ulong + procedure returning status + from 0 to 8 + display "hello" + call foo + end + + set status to 0 diff --git a/examples/hello.prose b/examples/hello.prose deleted file mode 100644 index 00c0fe1..0000000 --- a/examples/hello.prose +++ /dev/null @@ -1,7 +0,0 @@ -* hello world example -public function main - linkage - status word - procedure returning status - display "hello world" - set status to 0 diff --git a/examples/hello.prs b/examples/hello.prs new file mode 100644 index 0000000..4ba371a --- /dev/null +++ b/examples/hello.prs @@ -0,0 +1,20 @@ +* hello world example + +public function main + globals + myptr pointer to int + types + socket prototype + linkage + fd int + procedure returning fd + + vfprintf prototype + procedure + + myalias alias int + procedure + display "socket=" socket etc + display ", vfprintf=" vfprintf + display "this is a string" + display cast "this is a string" to pointer to void -- cgit v1.2.3