This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 »
2581
Announcements / Re: Fresh Topic
« on: August 18, 2009, 07:17:29 am »
I know a certain someone with a top hat fetish.
He also starves bugs to death, though.
Progress:
Parser does everything it used to. Only better, of course, due to extensibility via the CFile parser.
Oh, which means I lied. The parser doesn't support var yet, because var's not a primitive. I'm considering treating it like one, though, so var.whatever never accesses a member of var. Perhaps instead I'll make var's members private, and make sure the parser doesn't abduct any private members.
If you people need something to argue about, I can probably give one of my old controversies that making ENIGMA totally support C has solved... heheheh.
He also starves bugs to death, though.
Progress:
Parser does everything it used to. Only better, of course, due to extensibility via the CFile parser.
Oh, which means I lied. The parser doesn't support var yet, because var's not a primitive. I'm considering treating it like one, though, so var.whatever never accesses a member of var. Perhaps instead I'll make var's members private, and make sure the parser doesn't abduct any private members.
If you people need something to argue about, I can probably give one of my old controversies that making ENIGMA totally support C has solved... heheheh.
2582
Announcements / Re: Fresh Topic
« on: August 17, 2009, 03:33:36 pm »
Fedora isn't working at all, and the more I fight with it the angrier it gets.
I'm gonna reinstall the OS at some point, but for now I'm just working on the parser.
I'm gonna reinstall the OS at some point, but for now I'm just working on the parser.
2583
General ENIGMA / Re: Mixed arrays
« on: August 13, 2009, 04:55:53 pm »
it's supported that since R1... Though it's been recoded multiple times since, so.
2584
Announcements / Re: Fresh Topic
« on: August 13, 2009, 04:51:32 pm »
Tried it? I had to blacklist it. Which fixed nothing. Prime.
2585
Announcements / Re: Fresh Topic
« on: August 13, 2009, 02:11:51 pm »
There's no correct driver
*starts mumbling about the apocalypse*
*starts mumbling about the apocalypse*
2586
Announcements / Re: Subject
« on: August 13, 2009, 02:10:26 pm »
We'll compromise and make the 1.3 release 32 days after the 1.2 release.
2587
Announcements / Re: Fresh Topic
« on: August 13, 2009, 08:38:06 am »
zack--
It has four different pieces, which are basically separate parsers.
One's a syntax checker. It was about 30x faster than Mark's last time I banchmarked.
One's a CFile parser. Its job is to extract definitions from snippets of syntactically correct C++.
One's an expression evaluator. It does mathematics and things that need preprocessed.
This final one is a formatter. Its job is to make sure that even the nastiest GML you can pass it will be syntactically correct C++. It's by far the easiest to write.
Retro--
You can't use '0' to indicate 0x30, if that's what you mean. I might have a setting for that.
Score_under--
That's almost what I did. Instead of allocating things at the beginning, I just write stuff to the same buffer I'm using, since it's 90% removal. When I do that, I'll check if I'm at a begin or end and if so, only write a { or }.
Progress--
I've been trying to get Fedora to work with my graphics card. However, this has only landed me in hell, and I spent basically all of yesterday just trying to fix it. I'll probably give up and either use Ubuntu on my mom's computer, or fix Fedora to work without my card again. -_-
It has four different pieces, which are basically separate parsers.
One's a syntax checker. It was about 30x faster than Mark's last time I banchmarked.
One's a CFile parser. Its job is to extract definitions from snippets of syntactically correct C++.
One's an expression evaluator. It does mathematics and things that need preprocessed.
This final one is a formatter. Its job is to make sure that even the nastiest GML you can pass it will be syntactically correct C++. It's by far the easiest to write.
Retro--
You can't use '0' to indicate 0x30, if that's what you mean. I might have a setting for that.
Score_under--
That's almost what I did. Instead of allocating things at the beginning, I just write stuff to the same buffer I'm using, since it's 90% removal. When I do that, I'll check if I'm at a begin or end and if so, only write a { or }.
Progress--
I've been trying to get Fedora to work with my graphics card. However, this has only landed me in hell, and I spent basically all of yesterday just trying to fix it. I'll probably give up and either use Ubuntu on my mom's computer, or fix Fedora to work without my card again. -_-
2588
Announcements / Re: Fresh Topic
« on: August 12, 2009, 03:41:55 pm »
Game_boy:
Linux is all right, once you finally get it working. And that's never an easy task, it should seem.
Rusky--
Laugh all you want. I like the idea of having the work divided up into different parsers that are meant to do different tasks.
And until you can produce a working token tree parser to do everything mine does--which I promise you'll never be able to do, be it because of impatience or lack of skill which other teams have exhibited even with a parser *generator*--I suggest you just drop it.
In other words,
You'll never get a parser to work as well as mine does. Sure, I could easily turn it into a token tree at this point, or probably a regular token list. But it's much simpler to look at this way, and I'm not allocating structures to hold one fucking byte apiece.
And if your concern is efficiency, I'll smack you. Because the slowest parser is still faster than greased lightning, and the syntax checker (which will be used a lot more often) is unbeatable. Takes const char*, allocates NOTHING. Iterates ONCE.
I don't want to hear about the holy grail of easy-to-write parsers that anyone and their sister can screw up anyway. I just don't.
Retro:
The other releases handled strings the same way, don't worry. They must all be "" for C++, but you can use them just like you do in GM and the parser will handle it.
Linux is all right, once you finally get it working. And that's never an easy task, it should seem.
Rusky--
Laugh all you want. I like the idea of having the work divided up into different parsers that are meant to do different tasks.
And until you can produce a working token tree parser to do everything mine does--which I promise you'll never be able to do, be it because of impatience or lack of skill which other teams have exhibited even with a parser *generator*--I suggest you just drop it.
In other words,
You'll never get a parser to work as well as mine does. Sure, I could easily turn it into a token tree at this point, or probably a regular token list. But it's much simpler to look at this way, and I'm not allocating structures to hold one fucking byte apiece.
And if your concern is efficiency, I'll smack you. Because the slowest parser is still faster than greased lightning, and the syntax checker (which will be used a lot more often) is unbeatable. Takes const char*, allocates NOTHING. Iterates ONCE.
I don't want to hear about the holy grail of easy-to-write parsers that anyone and their sister can screw up anyway. I just don't.
Retro:
The other releases handled strings the same way, don't worry. They must all be "" for C++, but you can use them just like you do in GM and the parser will handle it.
2589
General ENIGMA / Re: I got to thinking.
« on: August 12, 2009, 03:35:40 pm »
Objects have been classes since R1, Russell...
2590
Announcements / Fresh Topic
« on: August 11, 2009, 05:01:38 pm »
That other one wandered off.
Anyway, this is progress:
Parses to
And yes, I know the syntax is invalid. The parser doesn't care.
Here's another:
Becomes
Nothing you didn't see in R3. Except else; else and some indenting.
The difference is the mechanism.
Notice the first statement: int a = 0;
In R3, this was done with some sketchy additions to the parser; it wasn't originally planned to support that. But now it's an official part. What's this mean?
This means that additional types, including structures that I know the more intelligent users will grow to love, can be added and used withing EDL.
What's left:
Make begin and end actually work, instead of acting like a statement XD
switch() magic
with() supermagic (I have the perfect plan)
Re-fetching declared variables (five minute job thanks to the parser's system)
Pass struct{} and the like to CFile parser, as those are its forte
Make sure syntax checker supports struct and the like
I dug up the new instance system. (Irony, yes, but I'll take it).
I've been hopping back and forth between Linux and Windows. I want to re-commit all the code to the SVN to make that process easier. Not to mention it'll make things better for me considering my college schedule I've been sorting out over the last couple of days.
(The thing's terrible. It's like Swiss cheese; three hour gaps on a good day ;_; )
Anyway, what else... Future plans for before the release.
Incorporate at least backgrounds, possibly sounds, but I'm not sure.
Make sure there's an updater. This will make releases cost less blood.
Test the new instance system with various options set (there are three things to set with two or three choices each.)
Implement a derivative of the string class specifically for ENIGMA. (this will fix so much, efficiency wise)
...And that's it. I was expecting more, but the list is looking short. I like that.
Anyway, this is progress:
Code: [Select]
int a = 0 if a = 1 b=2c=3 else d=4 e=5 f='test removal of strings'g="poop" endorphin = /*removal of comments*/ 6 motherlicker = 7 //or eight
end break label: goto label awful_code() a=b=c + d * e / f do do a = b until c until d if 1if 0else else c()return 0 /*
Parses to
Code: [Select]
int a = 0;
if(a = 1)
b = 2;
c = 3;
else d = 4;
e = 5;
f = "test removal of strings";
g = "poop";
endorphin = 6;
motherlicker = 7;
end;
break;
label:
goto label;
awful_code();
a = b = c + d * e / f;
do do a = b;
until(c);
until(d);
if(1)
if(0)
else;
else c();
return 0;
And yes, I know the syntax is invalid. The parser doesn't care.
Here's another:
Code: [Select]
long unsigned int a
b = 0
cd = 'str'+"ing"
do
{
a=b-0c=d-1
while a a--
}
while c
do until 0
with a b.c = e
if d exit
Becomes
Code: [Select]
long unsigned int a;
b = 0;
cd = "string";
do
{
a = b - 0;
c = d - 1;
while(a)
a --;
}
while(c);
with(a)
b . c = e;
if(d)
exit;
Nothing you didn't see in R3. Except else; else and some indenting.
The difference is the mechanism.
Notice the first statement: int a = 0;
In R3, this was done with some sketchy additions to the parser; it wasn't originally planned to support that. But now it's an official part. What's this mean?
This means that additional types, including structures that I know the more intelligent users will grow to love, can be added and used withing EDL.
What's left:
Make begin and end actually work, instead of acting like a statement XD
switch() magic
with() supermagic (I have the perfect plan)
Re-fetching declared variables (five minute job thanks to the parser's system)
Pass struct{} and the like to CFile parser, as those are its forte
Make sure syntax checker supports struct and the like
I dug up the new instance system. (Irony, yes, but I'll take it).
I've been hopping back and forth between Linux and Windows. I want to re-commit all the code to the SVN to make that process easier. Not to mention it'll make things better for me considering my college schedule I've been sorting out over the last couple of days.
(The thing's terrible. It's like Swiss cheese; three hour gaps on a good day ;_; )
Anyway, what else... Future plans for before the release.
Incorporate at least backgrounds, possibly sounds, but I'm not sure.
Make sure there's an updater. This will make releases cost less blood.
Test the new instance system with various options set (there are three things to set with two or three choices each.)
Implement a derivative of the string class specifically for ENIGMA. (this will fix so much, efficiency wise)
...And that's it. I was expecting more, but the list is looking short. I like that.
2591
Announcements / Re: Subject
« on: August 11, 2009, 04:41:13 pm »
People won't even mind the wait, if I finish the updater.
Meaning there'd be a small update every here and there, perhaps even a big one, but it'd eventually need re-published.
Meaning there'd be a small update every here and there, perhaps even a big one, but it'd eventually need re-published.
2592
Announcements / Re: Subject
« on: August 11, 2009, 03:48:06 pm »
I hope so :3
</religious war>, or I'll change all your signatures to state your support for a random religion.
</religious war>, or I'll change all your signatures to state your support for a random religion.
2593
SHUPAER123'S HOME / Re: Linux Game maker
« on: August 10, 2009, 02:08:57 pm »
Let him have his fun.
Free speech, and all that.
Free speech, and all that.
2594
General ENIGMA / Re: C++ operators in EDL
« on: August 10, 2009, 02:06:45 pm »
R4 should handle operators. It basically just has to ignore them; it might not even check that the class has an overload for that operator.
"vec3 v;" will be legal in R4, which is the key.
"vec3 v;" will be legal in R4, which is the key.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 »