From 104ff522c43fabc7c284fc38a46d17c16fe114d1 Mon Sep 17 00:00:00 2001
From: Ludovic Pouzenc <ludovic@pouzenc.fr>
Date: Wed, 1 Aug 2012 20:24:03 +0000
Subject: Ecriure d'un squelette de l'outil de compilation. Une première
 instance sera implémentée pour le framework CakePHP. Pour l'instant les
 méthodes abstraites sont des bouchons qui ne permettent même pas de couvrir
 tout le code de la classe abstraite.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

git-svn-id: file:///var/svn/2012-php-weave/trunk@5 d972a294-176a-4cf9-8ea1-fcd5b0c30f5c
---
 poc/poc02-compiling-cake/src/php-weave/main.php | 62 ++-----------------------
 1 file changed, 4 insertions(+), 58 deletions(-)

(limited to 'poc/poc02-compiling-cake/src/php-weave/main.php')

diff --git a/poc/poc02-compiling-cake/src/php-weave/main.php b/poc/poc02-compiling-cake/src/php-weave/main.php
index 2a4df55..da94bbe 100644
--- a/poc/poc02-compiling-cake/src/php-weave/main.php
+++ b/poc/poc02-compiling-cake/src/php-weave/main.php
@@ -1,64 +1,10 @@
 <?php
-require '../vendor/nikic/php-parser/lib/bootstrap.php';
-require './visitors.inc.php';
+require_once './cakephp_weaver.class.php';
 
 ini_set('xdebug.max_nesting_level', 2000);
 
-function dbg($indent, $text) {
-	for($i=0;$i<$indent;$i++) echo ".";
-	echo "$text\n";
-}
-
-function recursive_parse($src_filepath, $stmts1_filepath, $stmts2_filepath, $level=0) {
-	global $parser,$nodeDumper;
-
-	try {
-		dbg($level,"Parsing '$src_filepath'");
-		$stmts = $parser->parse(file_get_contents($src_filepath));
-
-		if (strlen($stmts1_filepath) > 0 ) {
-			dbg($level,"Dumping1 '$src_filepath' AST to '$stmts1_filepath'");
-			file_put_contents($stmts1_filepath, $nodeDumper->dump($stmts));
-		}
-
-		dbg($level,"Transforming '$src_filepath'");
-		$traverser = new PHPParser_NodeTraverser;
-/*
-		$traverser->addVisitor(new PHPParser_NodeVisitor_NameResolver);
-		$traverser->addVisitor(new NodeVisitor_NamespaceConverter);
-*/
-		// FIXME : getcwd is quick and dirty here
-		$traverser->addVisitor(new NodeVisitor_PreprocessInclude($level, getcwd(), $src_filepath));
-		$stmts = $traverser->traverse($stmts);
-		$traverser=null; //Destroy
-
-		if (strlen($stmts2_filepath) > 0) {	
-			dbg($level,"Dumping2 '$src_filepath' AST to '$stmts2_filepath'");
-			file_put_contents($stmts2_filepath, $nodeDumper->dump($stmts));
-		}
-
-	} catch (PHPParser_Error $e) {
-	    echo 'Parse Error: ', $e->getMessage();
-	}
-	return $stmts;
-}
-
-
 // Main
-$src_filepath = "./main.php";
-#$src_filepath = "./to_parse.php";
-$stmts1_filepath = "out/stmts1.ast";
-$stmts2_filepath = "out/stmts2.ast";
-$dest_filepath = "out/result.php";
-
-$parser = new PHPParser_Parser(new PHPParser_Lexer);
-$nodeDumper = new PHPParser_NodeDumper;
-
-$level=0;
-$stmts=recursive_parse($src_filepath, $stmts1_filepath, $stmts2_filepath);
-
-dbg(0,"Outputing '$dest_filepath'");
-$prettyPrinter = new PHPParser_PrettyPrinter_Zend;
-file_put_contents($dest_filepath, "<?php\n" . $prettyPrinter->prettyPrint($stmts) . "\n?>");
-
+$weaver=new CakePHPWeaver;
+$weaver->runAllSteps("../workdir/in", "../workdir/cache", "../workdir/out");
+ 
 ?>
-- 
cgit v1.2.3