mirror of
				https://github.com/pragma-/pbot.git
				synced 2025-10-31 06:37:35 +01:00 
			
		
		
		
	compiler_vm: -input flag once again works with all languages
This commit is contained in:
		
							parent
							
								
									4c9496a2b3
								
							
						
					
					
						commit
						ff2beb1f14
					
				| @ -35,6 +35,20 @@ sub initialize { | ||||
| sub preprocess { | ||||
|   my $self = shift; | ||||
| 
 | ||||
|   my $input = $self->{input}; | ||||
|   $input = "" if not defined $input; | ||||
| 
 | ||||
|   print "writing input [$input]\n"; | ||||
| 
 | ||||
|   $input =~ s/(?<!\\)\\n/\n/mg; | ||||
|   $input =~ s/(?<!\\)\\r/\r/mg; | ||||
|   $input =~ s/(?<!\\)\\t/\t/mg; | ||||
|   $input =~ s/(?<!\\)\\b/\b/mg; | ||||
| 
 | ||||
|   open(my $fh, '>', '.input'); | ||||
|   print $fh "$input\n"; | ||||
|   close $fh; | ||||
| 
 | ||||
|   if ($self->{code} =~ m/print_last_statement\(.*\);$/m) { | ||||
|     # remove print_last_statement wrapper in order to get warnings/errors from last statement line | ||||
|     my $code = $self->{code}; | ||||
| @ -63,7 +77,7 @@ sub preprocess { | ||||
|     close $fh; | ||||
| 
 | ||||
|     print "Executing [$self->{cmdline}]\n"; | ||||
|     my ($retval, $result) = $self->execute(60, "date -s \@$self->{date} > /dev/null; ulimit -t 5; $self->{cmdline}"); | ||||
|     my ($retval, $result) = $self->execute(60, "date -s \@$self->{date} > /dev/null; ulimit -t 5; $self->{cmdline} < .input"); | ||||
|     $self->{output} = $result; | ||||
|     $self->{error}  = $retval; | ||||
|   } | ||||
| @ -71,21 +85,6 @@ sub preprocess { | ||||
| 
 | ||||
| sub postprocess { | ||||
|   my $self = shift; | ||||
| 
 | ||||
|   my $input = $self->{input}; | ||||
| 
 | ||||
|   print "writing input [$input]\n"; | ||||
| 
 | ||||
|   $input =~ s/(?<!\\)\\n/\n/mg; | ||||
|   $input =~ s/(?<!\\)\\r/\r/mg; | ||||
|   $input =~ s/(?<!\\)\\t/\t/mg; | ||||
|   $input =~ s/(?<!\\)\\b/\b/mg; | ||||
|   | ||||
|   $input =~ s/\\\\/\\/mg; | ||||
| 
 | ||||
|   open(my $fh, '>', '.input'); | ||||
|   print $fh "$input\n"; | ||||
|   close $fh; | ||||
| } | ||||
| 
 | ||||
| sub execute { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Pragmatic Software
						Pragmatic Software