Finshed up the regex backend

This commit is contained in:
Dan Hirsch 2013-04-26 20:36:54 -07:00
parent 204147a3d2
commit 13088c9d7a
39 changed files with 481 additions and 250 deletions

View file

@ -1,36 +1,36 @@
digraph {
graph [rankdir=LR];
subgraph complete {
node [color="gray",fontcolor="gray"];
glue;
regex_svm;
regex_rvm;
}
/* The end result of the milestone, along with the subtasks listed */
milestone2 [color="green",style="filled"];
llk -> milestone2;
lr -> milestone2;
lalr8_gen -> lr;
glr_gen -> lr;
lr_driver -> lr;
regex -> milestone2;
glue -> milestone2; // Meredith knows what glue referred to here.
tests -> milestone2;
regex_gen -> regex; // partially done
regex_driver -> regex;
regex_svm -> regex_driver;
regex_rvm -> regex_driver;
regex_svm_actions -> regex_driver;
llk_driver -> llk;
llk_gen -> llk;
/*
*
*/
desugaring -> llk_gen;
desugaring -> lalr8_gen;
desugaring -> glr_gen;
subgraph complete {
node [color="gray",fontcolor="gray"];
glue;
regex_svm;
regex_rvm;
desugaring; // Needs merged.
}
/* The end result of the milestone, along with the subtasks listed */
milestone2 [color="green",style="filled"];
llk -> milestone2;
lr -> milestone2;
lalr8_gen -> lr; // Generate parse tables for LALR(8)
glr_gen -> lr; // Generate parse tables for GLR
llk_gen -> llk; // Generate parse tables for LL(k)
lr_driver -> lr; // Write driver for all LR-type algs; analagous to SVM and RVM implementations
llk_driver -> llk; // Write driver for LL(k)
regex -> milestone2;
glue -> milestone2;
tests -> milestone2;
regex_gen -> regex; // should be mostly done; the rest is concurrent with regex_svm_actions
regex_driver -> regex;
regex_svm -> regex_driver;
regex_rvm -> regex_driver;
regex_svm_actions -> regex_driver; // 1 for each way that an HParsedToken can be extracted from the stack.
/*
*
*/
desugaring -> llk_gen;
desugaring -> lalr8_gen;
desugaring -> glr_gen;
}

65
docs/milestone3.dot Normal file
View file

@ -0,0 +1,65 @@
digraph {
graph [rankdir=LR];
subgraph complete {
node [color="gray",fontcolor="gray"];
}
subgraph groups {
node [color="blue",fontcolor="blue"];
cpp;
python;
ruby;
go;
php;
dotnet;
}
milestone3 [color="green",style="filled"];
function_desc_fmt -> function_descs;
function_desc_fmt -> binding_generator;
binding_generator -> cpp_gen;
binding_generator -> python_gen;
binding_generator -> ruby_gen;
binding_generator -> go_gen;
binding_generator -> php_gen;
binding_generator -> dotnet_gen;
function_descs -> cpp_gen;
function_descs -> python_gen;
function_descs -> ruby_gen;
function_descs -> go_gen;
function_descs -> php_gen;
function_descs -> dotnet_gen;
// Plugins to generate a type of code
cpp_gen -> cpp;
python_gen -> python;
ruby_gen -> ruby;
go_gen -> go;
php_gen -> php;
dotnet_gen -> dotnet;
// base code... developed concurrently with _gen's
cpp_base -> cpp;
python_base -> python;
ruby_base -> ruby;
go_base -> go;
php_base -> php;
dotnet_base -> dotnet;
// Bindings for various languages. These are just groupings.
cpp -> milestone3;
python -> milestone3;
ruby -> milestone3;
go -> milestone3;
php -> milestone3;
dotnet -> milestone3;
}