tcz717 / hc-language

A c-style language used for Human Resource Machine.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hc Language


This is a c-style language used for Human Resource Machine.

Human Resource Machine's steam page

And this project is a compiler for hc.

Example:

//hc
#heap(15)
pre #14=0;
var size@14;
var data@1[8];
loop:main
{
	var in@0=inbox();
	for(var i=size;i!=0;i--)
	{
		if(in==[i])
		{
			coninue:main;
		}
	}
	size++;
    [size]=in;
	outbox(in);
}

It will be converted to Human Resource Machine's Language like following:

-- HUMAN RESOURCE MACHINE PROGRAM --

    JUMP     b
a:
    BUMPUP   14
    COPYFROM 0
    COPYTO   [14]
    OUTBOX  
b:
c:
    INBOX   
    COPYTO   0
    COPYFROM 14
    COPYTO   13
d:
    JUMPZ    a
    COPYFROM 0
    SUB      [13]
    JUMPZ    c
    BUMPDN   13
    JUMP     d

About

A c-style language used for Human Resource Machine.

License:MIT License


Languages

Language:C++ 49.8%Language:Yacc 29.8%Language:Lex 11.2%Language:Makefile 9.2%