ENIGMA Forums
General fluff => Announcements => Topic started by: Josh @ Dreamland on January 06, 2012, 09:48:41 am
-
I was working on this new parser yesterday, and I thought it'd be kind of neat to make my AST generator export SVGs. So I did.
So, given this expression: 2 << 1 + 6 / 2 - 2 / 2 << 8 % 5 + 5 / 2
The AST looks like this, step by step:
ast << create_token_dec_literal("2",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_00.svg.png)
ast << create_token_operator("<<",2);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_01.svg.png)
ast << create_token_dec_literal("1",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_02.svg.png)
ast << create_token_operator("+",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_03.svg.png)
ast << create_token_dec_literal("6",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_04.svg.png)
ast << create_token_operator("/",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_05.svg.png)
ast << create_token_dec_literal("2",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_06.svg.png)
ast << create_token_operator("-",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_07.svg.png)
ast << create_token_dec_literal("2",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_08.svg.png)
ast << create_token_operator("/",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_09.svg.png)
ast << create_token_dec_literal("2",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_10.svg.png)
ast << create_token_operator("<<",2);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_11.svg.png)
ast << create_token_dec_literal("8",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_12.svg.png)
ast << create_token_operator("%",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_13.svg.png)
ast << create_token_dec_literal("5",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_14.svg.png)
ast << create_token_operator("+",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_15.svg.png)
ast << create_token_dec_literal("5",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_16.svg.png)
ast << create_token_operator("/",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_17.svg.png)
ast << create_token_dec_literal("2",1);
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_18.svg.png)
neathuh
-
Very nice!
-
ASTs are neat.
(http://digitocero.com/include/exportar-y-visualizar-el-arbol-sintactico-abstractoast-de-gcc/tree.png)
-
Chickens are neat.
(http://www.itsnature.org/wp-content/uploads/2008/02/ostrich-in-addo-park-eastern-cape-south-africa-wl.jpg)
-
(http://dl.dropbox.com/u/1052740/enigma/screens/renders/AST_Gneration/early/PNG/AST_18.svg.png)
(http://www.itsnature.org/wp-content/uploads/2008/02/ostrich-in-addo-park-eastern-cape-south-africa-wl.jpg)
Having trouble seeing a difference here...
-
The second picture has grass in it.
-
Ah. k