develooper Front page | perl.cvs.parrot | Postings from December 2008

[svn:parrot] r33449 - trunk/compilers/ncigen

From:
tewk
Date:
December 2, 2008 14:38
Subject:
[svn:parrot] r33449 - trunk/compilers/ncigen
Message ID:
20081202223847.75705CB9AF@x12.develooper.com
Author: tewk
Date: Tue Dec  2 14:38:46 2008
New Revision: 33449

Added:
   trunk/compilers/ncigen/compreg.pir
   trunk/compilers/ncigen/sqlite_interface_generator.pl   (contents, props changed)

Log:
[ncigen] perl6 start to autogenerating interfaces


Added: trunk/compilers/ncigen/compreg.pir
==============================================================================
--- (empty file)
+++ trunk/compilers/ncigen/compreg.pir	Tue Dec  2 14:38:46 2008
@@ -0,0 +1,2 @@
+Index: compilers/ncigen/compreg.pir
+===================================================================

Added: trunk/compilers/ncigen/sqlite_interface_generator.pl
==============================================================================
--- (empty file)
+++ trunk/compilers/ncigen/sqlite_interface_generator.pl	Tue Dec  2 14:38:46 2008
@@ -0,0 +1,24 @@
+#!/home/tewk/srcs/parrot/perl6 
+use v6;
+evalfile('./ncigen.pbc', lang => 'Parrot');
+evalfile('./compreg.pir', lang => 'Parrot');
+
+my $fn = @*ARGS[0];
+my $pp_fn = mktempfile('ptemp');
+
+run("gcc -x c -E $fn > $pp_fn");
+my $compiler = compreg('NCIGEN');
+my $ast = $compiler.parse(slurp($pp_fn));
+say +$ast;
+for $ast.item() -> $x {
+  say "====================================================";
+  say $x;
+}
+
+
+
+sub mktempfile($prefix) {
+  sub nonce() { ".{$*PID}." ~ int 1000.rand }
+  $prefix ~ nonce;
+}
+



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About