mirror of
https://github.com/pragma-/pbot.git
synced 2024-11-26 05:49:27 +01:00
compiler_vm: Add $channel argument to separate snippet history into per-channel/nick files
This commit is contained in:
parent
921c9917a5
commit
a5ae7478e1
@ -13,7 +13,7 @@ use warnings;
|
|||||||
# These are set automatically by the build/commit script
|
# These are set automatically by the build/commit script
|
||||||
use constant {
|
use constant {
|
||||||
BUILD_NAME => "PBot",
|
BUILD_NAME => "PBot",
|
||||||
BUILD_REVISION => 502,
|
BUILD_REVISION => 503,
|
||||||
BUILD_DATE => "2014-03-04",
|
BUILD_DATE => "2014-03-04",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1851,10 +1851,10 @@ action: /say C89/C90 draft: http://flash-gordon.me.uk/ansi.c.txt or http://web.a
|
|||||||
created_on: 1236861685
|
created_on: 1236861685
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_in: pragma-
|
last_referenced_in: pragma-
|
||||||
last_referenced_on: 1393877069.42851
|
last_referenced_on: 1393946502.21155
|
||||||
owner: Wulf4
|
owner: Wulf4
|
||||||
rate_limit: 15
|
rate_limit: 15
|
||||||
ref_count: 97
|
ref_count: 98
|
||||||
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
||||||
type: text
|
type: text
|
||||||
|
|
||||||
@ -7185,34 +7185,34 @@ action_with_args: /say $nick, $answers
|
|||||||
created_on: 1193948417
|
created_on: 1193948417
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_in: ##c
|
last_referenced_in: ##c
|
||||||
last_referenced_on: 1393901895.20933
|
last_referenced_on: 1393945309.2847
|
||||||
owner: pragma_
|
owner: pragma_
|
||||||
rate_limit: 0
|
rate_limit: 0
|
||||||
ref_count: 1303
|
ref_count: 1304
|
||||||
ref_user: puish!~jgb@unaffiliated/jonbryan
|
ref_user: cousteau!~cousteau@138.100.74.81
|
||||||
type: text
|
type: text
|
||||||
|
|
||||||
<:(>
|
<:(>
|
||||||
action: /call :)
|
action: /call :)
|
||||||
created_on: 1180052710
|
created_on: 1180052710
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_on: 1390399438.41235
|
last_referenced_on: 1393961635.61896
|
||||||
owner: pragma_
|
owner: pragma_
|
||||||
rate_limit: 15
|
rate_limit: 15
|
||||||
ref_count: 27
|
ref_count: 28
|
||||||
ref_user: rie!~chatzilla@p2003004ACE51B43792E6BAFFFE5389F3.dip0.t-ipconnect.de
|
ref_user: nCrazed!~nCrazed@5.2.16.190
|
||||||
type: text
|
type: text
|
||||||
|
|
||||||
<:)>
|
<:)>
|
||||||
action: /say $faces
|
action: /say $faces
|
||||||
created_on: 1109365121
|
created_on: 1109365121
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_in: rob``
|
last_referenced_in: ##c
|
||||||
last_referenced_on: 1390851212.03434
|
last_referenced_on: 1393961635.63607
|
||||||
owner: pragma_
|
owner: pragma_
|
||||||
rate_limit: 15
|
rate_limit: 15
|
||||||
ref_count: 152
|
ref_count: 153
|
||||||
ref_user: rob``!~rob@gtng-4db047dd.pool.mediaWays.net
|
ref_user: nCrazed!~nCrazed@5.2.16.190
|
||||||
type: text
|
type: text
|
||||||
|
|
||||||
<:-(>
|
<:-(>
|
||||||
@ -8557,11 +8557,11 @@ type: text
|
|||||||
action: c11std.pl
|
action: c11std.pl
|
||||||
created_on: 1326727233.54048
|
created_on: 1326727233.54048
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_in: ##c
|
last_referenced_in: pragma-
|
||||||
last_referenced_on: 1393889491.09541
|
last_referenced_on: 1393959075.38608
|
||||||
owner: pragma_
|
owner: pragma_
|
||||||
rate_limit: 0
|
rate_limit: 0
|
||||||
ref_count: 1136
|
ref_count: 1141
|
||||||
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
||||||
type: module
|
type: module
|
||||||
|
|
||||||
@ -8703,14 +8703,16 @@ ref_user: pragma_
|
|||||||
type: text
|
type: text
|
||||||
|
|
||||||
<cc>
|
<cc>
|
||||||
action: /call compiler $nick
|
action: /call compiler $nick $channel
|
||||||
created_on: 1272176634
|
created_on: 1272176634
|
||||||
|
edited_by: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
||||||
|
edited_on: 1393967703.12375
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_on: 1393921443.89722
|
last_referenced_on: 1393967711.47421
|
||||||
owner: pragma_
|
owner: pragma_
|
||||||
preserve_whitespace: 1
|
preserve_whitespace: 1
|
||||||
rate_limit: 4
|
rate_limit: 4
|
||||||
ref_count: 37728
|
ref_count: 37763
|
||||||
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
||||||
type: text
|
type: text
|
||||||
|
|
||||||
@ -8764,10 +8766,10 @@ type: text
|
|||||||
action: /call factchange
|
action: /call factchange
|
||||||
created_on: 1277259441.33026
|
created_on: 1277259441.33026
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_on: 1393300207.62137
|
last_referenced_on: 1393967703.11071
|
||||||
owner: pbot3
|
owner: pbot3
|
||||||
rate_limit: 15
|
rate_limit: 15
|
||||||
ref_count: 236
|
ref_count: 238
|
||||||
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
||||||
type: text
|
type: text
|
||||||
|
|
||||||
@ -8972,10 +8974,10 @@ action: compiler_client.pl
|
|||||||
created_on: 1291939583.25391
|
created_on: 1291939583.25391
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_in: pragma-
|
last_referenced_in: pragma-
|
||||||
last_referenced_on: 1393921443.9184
|
last_referenced_on: 1393967711.49546
|
||||||
owner: pragma_
|
owner: pragma_
|
||||||
rate_limit: 0
|
rate_limit: 0
|
||||||
ref_count: 30569
|
ref_count: 30604
|
||||||
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
||||||
type: module
|
type: module
|
||||||
|
|
||||||
@ -9637,11 +9639,11 @@ type: text
|
|||||||
action: /call factfind
|
action: /call factfind
|
||||||
created_on: 1277784994.65625
|
created_on: 1277784994.65625
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_on: 1393744259.21007
|
last_referenced_on: 1393951484.46497
|
||||||
owner: pbot3
|
owner: pbot3
|
||||||
rate_limit: 15
|
rate_limit: 15
|
||||||
ref_count: 358
|
ref_count: 359
|
||||||
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
ref_user: lemonade`!~lemonade`@pool-108-28-100-56.washdc.fios.verizon.net
|
||||||
type: text
|
type: text
|
||||||
|
|
||||||
<floating>
|
<floating>
|
||||||
@ -10125,12 +10127,12 @@ action: /say To learn all about me, see http://www.iso-9899.info/wiki/Candide
|
|||||||
action_with_args: /say To learn all about $args, see http://www.iso-9899.info/wiki/Candide#$args
|
action_with_args: /say To learn all about $args, see http://www.iso-9899.info/wiki/Candide#$args
|
||||||
created_on: 1109792986
|
created_on: 1109792986
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_in: lemonade`
|
last_referenced_in: ##c
|
||||||
last_referenced_on: 1393639199.45894
|
last_referenced_on: 1393933113.36018
|
||||||
owner: NeverDream
|
owner: NeverDream
|
||||||
rate_limit: 0
|
rate_limit: 0
|
||||||
ref_count: 1224
|
ref_count: 1226
|
||||||
ref_user: lemonade`!~lemonade`@pool-108-28-100-56.washdc.fios.verizon.net
|
ref_user: dozn!~dozn@24-207-52-240.eastlink.ca
|
||||||
type: text
|
type: text
|
||||||
|
|
||||||
<herring>
|
<herring>
|
||||||
@ -11010,12 +11012,12 @@ type: text
|
|||||||
action: man.pl
|
action: man.pl
|
||||||
created_on: 1107137901
|
created_on: 1107137901
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_in: puish
|
last_referenced_in: ##c
|
||||||
last_referenced_on: 1393565259.68701
|
last_referenced_on: 1393945292.18739
|
||||||
owner: pragma_
|
owner: pragma_
|
||||||
rate_limit: 15
|
rate_limit: 15
|
||||||
ref_count: 1361
|
ref_count: 1362
|
||||||
ref_user: puish!~jgb@unaffiliated/jonbryan
|
ref_user: cousteau!~cousteau@138.100.74.81
|
||||||
type: module
|
type: module
|
||||||
|
|
||||||
<manpage>
|
<manpage>
|
||||||
@ -12290,12 +12292,12 @@ type: text
|
|||||||
action: /say $args
|
action: /say $args
|
||||||
created_on: 1251663502
|
created_on: 1251663502
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_in: ##c
|
last_referenced_in: pragma-
|
||||||
last_referenced_on: 1393702026.66878
|
last_referenced_on: 1393967745.99187
|
||||||
owner: pragma_
|
owner: pragma_
|
||||||
rate_limit: 0
|
rate_limit: 0
|
||||||
ref_count: 808
|
ref_count: 814
|
||||||
ref_user: fisted!~fisted@unaffiliated/fisted
|
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
||||||
type: text
|
type: text
|
||||||
|
|
||||||
<scheme>
|
<scheme>
|
||||||
@ -12459,10 +12461,10 @@ type: regex
|
|||||||
action: /call factshow
|
action: /call factshow
|
||||||
created_on: 1277259146.86343
|
created_on: 1277259146.86343
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_on: 1393928620.05921
|
last_referenced_on: 1393967768.1747
|
||||||
owner: pbot3
|
owner: pbot3
|
||||||
rate_limit: 15
|
rate_limit: 15
|
||||||
ref_count: 186
|
ref_count: 194
|
||||||
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
||||||
type: text
|
type: text
|
||||||
|
|
||||||
@ -12933,11 +12935,11 @@ type: text
|
|||||||
action: /call 8ball
|
action: /call 8ball
|
||||||
created_on: 1360662740.86483
|
created_on: 1360662740.86483
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_on: 1389897389.91006
|
last_referenced_on: 1393945309.26443
|
||||||
owner: pragma-
|
owner: pragma-
|
||||||
rate_limit: 15
|
rate_limit: 15
|
||||||
ref_count: 2
|
ref_count: 3
|
||||||
ref_user: zid`!zid@laiz.stalker.fi
|
ref_user: cousteau!~cousteau@138.100.74.81
|
||||||
type: text
|
type: text
|
||||||
|
|
||||||
<that's>
|
<that's>
|
||||||
@ -13398,8 +13400,8 @@ ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
|||||||
type: text
|
type: text
|
||||||
|
|
||||||
<version>
|
<version>
|
||||||
action: /say PBot revision 494 2014-03-01
|
action: /say PBot revision 501 2014-03-04
|
||||||
created_on: 1393838096.62111
|
created_on: 1393968046.58128
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_in: lemonade`
|
last_referenced_in: lemonade`
|
||||||
last_referenced_on: 1393639215.26177
|
last_referenced_on: 1393639215.26177
|
||||||
@ -13940,8 +13942,10 @@ ref_user: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
|||||||
type: text
|
type: text
|
||||||
|
|
||||||
<{>
|
<{>
|
||||||
action: /call compiler_block $nick
|
action: /call compiler_block $nick $channel
|
||||||
created_on: 1329860884.76944
|
created_on: 1329860884.76944
|
||||||
|
edited_by: pragma-!~chaos@unaffiliated/pragmatic-chaos
|
||||||
|
edited_on: 1393967624.45297
|
||||||
enabled: 1
|
enabled: 1
|
||||||
last_referenced_in: pragma_
|
last_referenced_in: pragma_
|
||||||
last_referenced_on: 1393297892.74508
|
last_referenced_on: 1393297892.74508
|
||||||
|
@ -21,6 +21,7 @@ if(not defined $sock) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
my $nick = shift @ARGV;
|
my $nick = shift @ARGV;
|
||||||
|
my $channel = shift @ARGV;
|
||||||
my $code = join ' ', @ARGV;
|
my $code = join ' ', @ARGV;
|
||||||
|
|
||||||
#$code = "{ $code";
|
#$code = "{ $code";
|
||||||
@ -32,7 +33,7 @@ if($code =~ s/-lang=([^ ]+)//) {
|
|||||||
$lang = uc $1;
|
$lang = uc $1;
|
||||||
}
|
}
|
||||||
|
|
||||||
print $sock "compile:$nick:$lang\n";
|
print $sock "compile:$nick:$channel:$lang\n";
|
||||||
print $sock "$code\n";
|
print $sock "$code\n";
|
||||||
print $sock "compile:end\n";
|
print $sock "compile:end\n";
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@ if(not defined $sock) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
my $nick = shift @ARGV;
|
my $nick = shift @ARGV;
|
||||||
|
my $channel = shift @ARGV;
|
||||||
my $code = join ' ', @ARGV;
|
my $code = join ' ', @ARGV;
|
||||||
|
|
||||||
my $lang = "C11";
|
my $lang = "C11";
|
||||||
@ -29,7 +30,7 @@ if($code =~ s/-lang=([^ ]+)//) {
|
|||||||
$lang = uc $1;
|
$lang = uc $1;
|
||||||
}
|
}
|
||||||
|
|
||||||
print $sock "compile:$nick:$lang\n";
|
print $sock "compile:$nick:$channel:$lang\n";
|
||||||
print $sock "$code\n";
|
print $sock "$code\n";
|
||||||
print $sock "compile:end\n";
|
print $sock "compile:end\n";
|
||||||
|
|
||||||
|
@ -178,6 +178,7 @@ sub compiler_server {
|
|||||||
eval {
|
eval {
|
||||||
my $lang;
|
my $lang;
|
||||||
my $nick;
|
my $nick;
|
||||||
|
my $channel;
|
||||||
my $code = "";
|
my $code = "";
|
||||||
|
|
||||||
local $SIG{ALRM} = sub { die 'Timed-out'; };
|
local $SIG{ALRM} = sub { die 'Timed-out'; };
|
||||||
@ -196,13 +197,10 @@ sub compiler_server {
|
|||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
|
|
||||||
$code = quotemeta($code);
|
|
||||||
print "Attempting compile...\n";
|
print "Attempting compile...\n";
|
||||||
alarm 0;
|
alarm 0;
|
||||||
my $tnick = quotemeta($nick);
|
|
||||||
my $tlang = quotemeta($lang);
|
|
||||||
|
|
||||||
my ($ret, $result) = execute("./compiler_vm_client.pl $tnick -lang=$tlang $code");
|
my ($ret, $result) = execute("./compiler_vm_client.pl \Q$nick\E \Q$channel\E -lang=\Q$lang\E \Q$code\E");
|
||||||
|
|
||||||
if(not defined $ret) {
|
if(not defined $ret) {
|
||||||
#print "parent continued\n";
|
#print "parent continued\n";
|
||||||
@ -234,9 +232,10 @@ sub compiler_server {
|
|||||||
exit $ret;
|
exit $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($line =~ /compile:([^:]+):(.*)$/) {
|
if($line =~ /compile:([^:]+):([^:]+):(.*)$/) {
|
||||||
$nick = $1;
|
$nick = $1;
|
||||||
$lang = $2;
|
$channel = $2;
|
||||||
|
$lang = $3;
|
||||||
$code = "";
|
$code = "";
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
@ -29,9 +29,9 @@ my %languages = (
|
|||||||
);
|
);
|
||||||
|
|
||||||
my %preludes = (
|
my %preludes = (
|
||||||
'C99' => "#define _XOPEN_SOURCE 9001\n#define __USE_XOPEN\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unistd.h>\n#include <math.h>\n#include <limits.h>\n#include <sys/types.h>\n#include <stdint.h>\n#include <stdbool.h>\n#include <stddef.h>\n#include <stdarg.h>\n#include <ctype.h>\n#include <inttypes.h>\n#include <float.h>\n#include <errno.h>\n#include <time.h>\n#include <assert.h>\n#include <prelude.h>\n\n",
|
'C99' => "#define _XOPEN_SOURCE 9001\n#define __USE_XOPEN\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unistd.h>\n#include <math.h>\n#include <limits.h>\n#include <sys/types.h>\n#include <stdint.h>\n#include <stdbool.h>\n#include <stddef.h>\n#include <stdarg.h>\n#include <ctype.h>\n#include <inttypes.h>\n#include <float.h>\n#include <errno.h>\n#include <time.h>\n#include <assert.h>\n#include <signal.h>\n#include <prelude.h>\n\n",
|
||||||
'C11' => "#define _XOPEN_SOURCE 9001\n#define __USE_XOPEN\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unistd.h>\n#include <math.h>\n#include <limits.h>\n#include <sys/types.h>\n#include <stdint.h>\n#include <stdbool.h>\n#include <stddef.h>\n#include <stdarg.h>\n#include <stdnoreturn.h>\n#include <stdalign.h>\n#include <ctype.h>\n#include <inttypes.h>\n#include <float.h>\n#include <errno.h>\n#include <time.h>\n#include <assert.h>\n#include <complex.h>\n#include <prelude.h>\n\n",
|
'C11' => "#define _XOPEN_SOURCE 9001\n#define __USE_XOPEN\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unistd.h>\n#include <math.h>\n#include <limits.h>\n#include <sys/types.h>\n#include <stdint.h>\n#include <stdbool.h>\n#include <stddef.h>\n#include <stdarg.h>\n#include <stdnoreturn.h>\n#include <stdalign.h>\n#include <ctype.h>\n#include <inttypes.h>\n#include <float.h>\n#include <errno.h>\n#include <time.h>\n#include <assert.h>\n#include <complex.h>\n#include <signal.h>\n#include <prelude.h>\n\n",
|
||||||
'C89' => "#define _XOPEN_SOURCE 9001\n#define __USE_XOPEN\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unistd.h>\n#include <math.h>\n#include <limits.h>\n#include <sys/types.h>\n#include <stdint.h>\n#include <errno.h>\n#include <ctype.h>\n#include <assert.h>\n#include <prelude.h>\n\n",
|
'C89' => "#define _XOPEN_SOURCE 9001\n#define __USE_XOPEN\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unistd.h>\n#include <math.h>\n#include <limits.h>\n#include <sys/types.h>\n#include <stdint.h>\n#include <errno.h>\n#include <ctype.h>\n#include <assert.h>\n#include <signal.h>\n#include <prelude.h>\n\n",
|
||||||
);
|
);
|
||||||
|
|
||||||
sub pretty {
|
sub pretty {
|
||||||
@ -139,18 +139,20 @@ sub compile {
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($#ARGV < 1) {
|
if($#ARGV < 2) {
|
||||||
print "Usage: cc [-compiler -options] <code> [-stdin=input]\n";
|
print "Usage: cc [-compiler -options] <code> [-stdin=input]\n";
|
||||||
|
# usage for shell: cc <nick> <channel> [-compiler -options] <code> [-stdin=input]
|
||||||
exit 0;
|
exit 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $nick = shift @ARGV;
|
my $nick = shift @ARGV;
|
||||||
|
my $channel = lc shift @ARGV;
|
||||||
my $code = join ' ', @ARGV;
|
my $code = join ' ', @ARGV;
|
||||||
my @last_code;
|
my @last_code;
|
||||||
|
|
||||||
print " code: [$code]\n" if $debug;
|
print " code: [$code]\n" if $debug;
|
||||||
|
|
||||||
if(open FILE, "< last_code.txt") {
|
if(open FILE, "< history/$channel.hist") {
|
||||||
while(my $line = <FILE>) {
|
while(my $line = <FILE>) {
|
||||||
chomp $line;
|
chomp $line;
|
||||||
push @last_code, $line;
|
push @last_code, $line;
|
||||||
@ -598,7 +600,7 @@ if($save_last_code) {
|
|||||||
unshift @last_code, $extracted_args . (length $args ? $args . ' ' . $code : $code);
|
unshift @last_code, $extracted_args . (length $args ? $args . ' ' . $code : $code);
|
||||||
}
|
}
|
||||||
|
|
||||||
open FILE, "> last_code.txt";
|
open FILE, "> history/$channel.hist";
|
||||||
|
|
||||||
my $i = 0;
|
my $i = 0;
|
||||||
foreach my $line (@last_code) {
|
foreach my $line (@last_code) {
|
||||||
|
Loading…
Reference in New Issue
Block a user