hey guys,
i am currently making a new programming language. i know what you are thinking, i make a lot of programming languages, and i do. i have a couple reasons for that. i need my practice and every single one of the programming languages that i make are different. this one is am running more like a virtual machine, it will have memory and all of the commands are stored in it. example, if i were to type in the code:
push string 'Hello World'
if would put in the command: push string
and then it would put in after it: Hello World
when i run this, it will look at the instruction and see that it is push string, and then it will look at the next instruction and push it. back on topic.
i am using this system to make variables and have them like classes. so i can type in something like:
var tom,person
tom::age = 6
tom::height = 179
this means that i can store lots of values within the one variable. but if you can see, i have to have the '::'. that is basically because it looks for the characters before the first ':' and the characters after the last ':'. I have tried everything i can. here is the code i have at the moment:
else if (cmd.StartsWith("set "))
{
if (cmd.Contains("::"))
{
cmd = cmd.Substring(cmd.LastIndexOf(' ') + 1);
string Class = cmd.Substring(0, cmd.IndexOf(':'));
string Name = cmd.Substring(cmd.LastIndexOf(':') + 1);
currentClass.Emit(Opcodes.Set);
currentClass.Emit(Class);
currentClass.Emit(Name);
}
else
{
cmd = cmd.Substring(cmd.LastIndexOf(' ') + 1);
string Class = cmd;
string Name = "variable";
currentClass.Emit(Opcodes.Set);
currentClass.Emit(Class);
currentClass.Emit(Name);
}
}
please help!