3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-10-16 10:49:22 +02:00
pbot/applets/compiler_vm/host/lib/Languages/clisp.pm
Pragmatic Software 33e13fd993 Start refactoring virtual machine (1/3)
This is expected to take three commits to complete. This first initial
commit does the following:

- Begin initial rough-draft of doc/VirtualMachine.md
- Begin initial refactoring of scripts

The next commit will polish up the initial rough-draft and refactoring.

The final commit will quality-check everything and fix anything overlooked.
2022-01-23 07:49:23 -08:00

41 lines
1014 B
Perl
Executable File

#!/usr/bin/env perl
# SPDX-FileCopyrightText: 2021 Pragmatic Software <pragma78@gmail.com>
# SPDX-License-Identifier: MIT
use warnings;
use strict;
package Languages::clisp;
use parent 'Languages::_default';
sub initialize {
my ($self, %conf) = @_;
$self->{sourcefile} = 'prog.lisp';
$self->{execfile} = 'prog.lisp';
$self->{default_options} = '';
$self->{cmdline} = 'clisp $options $sourcefile';
if (length $self->{arguments}) {
$self->{cmdline} .= " $self->{arguments}";
}
$self->{sprunge_lexer} = 'cl';
$self->{cmdline_opening_comment} = "#|=============== CMDLINE ===============\n";
$self->{cmdline_closing_comment} = "================= CMDLINE ===============|#\n";
$self->{output_opening_comment} = "#|=============== OUTPUT ===============\n";
$self->{output_closing_comment} = "================= OUTPUT ===============|#\n";
}
sub postprocess_output {
my $self = shift;
$self->SUPER::postprocess_output;
$self->{output} =~ s/^\n//;
}
1;