mirror of
https://github.com/azur1s/bobbylisp.git
synced 2024-10-16 02:37:40 -05:00
refactor: remove unused
This commit is contained in:
parent
4879cc2ffc
commit
a5b633a98d
49
src/util.rs
49
src/util.rs
|
@ -1,49 +0,0 @@
|
||||||
use crate::token::Expr::{self, List};
|
|
||||||
|
|
||||||
pub fn cover_paren(s: String) -> String {
|
|
||||||
format!("({})", s)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn unescape(s: String) -> String {
|
|
||||||
let mut result = String::new();
|
|
||||||
let mut i = 0;
|
|
||||||
while i < s.len() {
|
|
||||||
if s.chars().nth(i).unwrap() == '\\' {
|
|
||||||
match s.chars().nth(i + 1).unwrap() {
|
|
||||||
'n' => result.push('\n'),
|
|
||||||
't' => result.push('\t'),
|
|
||||||
'r' => result.push('\r'),
|
|
||||||
'\\' => result.push('\\'),
|
|
||||||
'"' => result.push('"'),
|
|
||||||
_ => result.push(s.chars().nth(i + 1).unwrap()),
|
|
||||||
}
|
|
||||||
i += 2;
|
|
||||||
} else {
|
|
||||||
result.push(s.chars().nth(i).unwrap());
|
|
||||||
i += 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
result
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn unwrap_list_nest(ast: Expr) -> Vec<Expr> {
|
|
||||||
let mut result: Vec<Expr> = Vec::new();
|
|
||||||
|
|
||||||
match ast.clone() {
|
|
||||||
List(l, _) => {
|
|
||||||
for expr in l.iter() {
|
|
||||||
|
|
||||||
result.push(expr.clone());
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
_ => {
|
|
||||||
// This probably will not happen because everything is wrapped
|
|
||||||
// in list. So it would be impossible that the ast is not a list.
|
|
||||||
eprintln!("Possibly a bug in the compiler, you shouln't get this messages.");
|
|
||||||
dbg!(ast);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
result
|
|
||||||
}
|
|
Loading…
Reference in a new issue