[ENIGMA] Parser sneak peek

Posted by JoshDreamland on June 18, 2008, 9:48 p.m.

Yes, that's right. My parser gets to be released for an alpha alpha, because I need data from various tests.

Basically, it's a console window. It'll walk you through what to do.

The requirement is that you have notepad in your system32 folder, or somewhere Windows can find it quickly.

Download it here.

Old one for historical reasons.

Really old one for historical reasons.

<http://64digits.com/users/JoshDreamland/Parser-Alpha-Alpha3.7z>

Please hammer it with all sorts of code, and do not hesitate at all to report anything questionable. Especially the syntax checker.

I worked a couple weeks on that checker, as I underestimated the challenge it'd present.

However, being coded by a human, it should hopefully prove specific enough to have been worth my time.

So yeah. It displays all the info you'll need on it at startup.

So I'll copy it here to take up words.

Quote:
Enigma Development Language

Parser/Syntax checker

THIS IS NOT AN INTERPRETOR

Copyright (C) 2007-2008 Josh Ventura

Welcome to the hijacked Notepad graphical interface for the syntax checker beta.

Treat the window's close button like a syntax check button, cuz, I'm not making my own. >=[

Note: Delete this text BEFORE checking the code, please and thank you. <_<

Additional note: To close this, submit a blank file or close the console window.

In summary, it's just a syntax check and parse.

Tell me if it even looks upsetting to you, though two things to keep in mind are that var[1,2] becomes var(1,2), and that lol.blah becomes int2obj(lol)->blah.

Questionable syntax includes C++ mixes, though casts and names should work. Please don't avoid it just because it seems to be a sore spot.

The point of this test is to be 100% positive there's nothing big I'm missing before the ENIGMA Alpha, R3.

Also in R3, you'll find a way to override some more restrictive GM syntax by switching to C++, though EDL offers most features of C++ anyway. This feature does not come with this alpha, but rest assured it will be in R3.

So, if you intend to compile a game, why don't you run all its code by this parser for me? It'll help us both be sure it'll work in R3, so long as the code to back it up holds. ;)

Thanks much,

Josh

Comments

JoshDreamland 16 years, 5 months ago

Bug one:

After line one, return carriages and newlines are counted into the position.

poultry 16 years, 5 months ago

lol

JoshDreamland 16 years, 5 months ago

yes, lol, I forgot to increment, THEN subtract. Oh well.

Everyone subtract two from the position <_<

melee-master 16 years, 5 months ago

Syntax check returned error on line 0, position 22; or absolute index 22: Too few arguments to function `string_length': Provided 0, requested 1

Close this window to continue. The code was not parsed.

if(string_length("ass") == 3){

//do stuff

}

s 16 years, 5 months ago

Take that Dave, saying Alphas couldn't be public

PY 16 years, 5 months ago

They aren't, this is a beta beta. Silly josh.

Also, it's unbreakable, at least by my hand. I get the idea luda has already broken it, or is he still sleeping? :P

JoshDreamland 16 years, 5 months ago

melee–

Can't even believe I missed that one. >.< That's prolly gonna cause other errors down the line. =\

I'll get the bugs worked out of that.

Rusky 16 years, 5 months ago

no bugs here, just non-existent functions when they were non-existent. except the string_length thing up there.

JoshDreamland 16 years, 5 months ago

Fixed all known bugs.

At this point, you'd be hard pressed to find one. And if you do, it's the syntax checker's fault, cuz the parser will parse it.

Game_boy 16 years, 5 months ago

What does "failed to find syntax file" mean? Where do I enter the code?