merge(glittershark/achilles): Subtree import at 'b93268085a'

Imported from https://github.com/glittershark/achilles/

git-subtree-dir: users/glittershark/achilles
git-subtree-mainline: 4d193f2395
git-subtree-split: b93268085a
Change-Id: I64a583b454bbe03e20358ad7808939a4cbc212ba
This commit is contained in:
Vincent Ambo 2021-03-15 22:44:28 +02:00
commit b6895a5b30
33 changed files with 4508 additions and 0 deletions

View file

@ -0,0 +1,31 @@
use std::path::PathBuf;
use clap::Clap;
use crate::common::Result;
use crate::compiler::{self, CompilerOptions};
/// Compile a source file
#[derive(Clap)]
pub struct Compile {
/// File to compile
file: PathBuf,
/// Output file
#[clap(short = 'o')]
out_file: PathBuf,
#[clap(flatten)]
options: CompilerOptions,
}
impl Compile {
pub fn run(self) -> Result<()> {
eprintln!(
">>> {} -> {}",
&self.file.to_string_lossy(),
self.out_file.to_string_lossy()
);
compiler::compile_file(&self.file, &self.out_file, &self.options)
}
}