Merge pull request #33 from HTG-YT/master

This commit is contained in:
Able 2021-06-15 04:39:07 -05:00 committed by GitHub
commit a1aa4edc30
5 changed files with 78 additions and 0 deletions

View file

@ -75,6 +75,7 @@ pub enum StmtKind {
Print(Expr), Print(Expr),
Melo(Iden), Melo(Iden),
Rlyeh, Rlyeh,
Rickroll,
} }
impl Stmt { impl Stmt {

View file

@ -305,6 +305,9 @@ impl ExecEnv {
// here at some point. ~~Alex // here at some point. ~~Alex
exit(random()); exit(random());
} }
StmtKind::Rickroll => {
stdout().write_all(include_str!("rickroll").as_bytes()).expect("Failed to write to stdout")
}
} }
Ok(HaltStatus::Finished) Ok(HaltStatus::Finished)

View file

@ -111,6 +111,9 @@ pub enum Token {
#[token("rlyeh")] #[token("rlyeh")]
Rlyeh, Rlyeh,
#[token("rickroll")]
Rickroll,
// Literals // Literals
/// True, False /// True, False
#[regex("true|false", get_bool)] #[regex("true|false", get_bool)]

View file

@ -78,6 +78,10 @@ impl<'source> Parser<'source> {
self.semi_terminated(StmtKind::Rlyeh)?, self.semi_terminated(StmtKind::Rlyeh)?,
start..self.lexer.span().end, start..self.lexer.span().end,
)), )),
Token::Rickroll => Ok(Stmt::new(
self.semi_terminated(StmtKind::Rickroll)?,
start..self.lexer.span().end
)),
Token::Identifier(_) Token::Identifier(_)
| Token::Char | Token::Char

67
src/rickroll Normal file
View file

@ -0,0 +1,67 @@
b"We're no strangers to love
You know the rules and so do I
A full commitments what I'm thinking of
You wouldn't get this from another guy
I just wanna tell you how I'm feeling
Gotta make you understand
Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you
We've known each other for so long
Your heart's been aching but you're too shy to say it
Inside we both know what's been going on
We know the game and we're gonna play it
And if you ask me how I'm feeling
Don't tell me you're too blind to see
Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you
Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you
Never gonna give, never gonna give
(Give you up)
We've known each other for so long
Your heart's been aching but you're too shy to say it
Inside we both know what's been going on
We know the game and we're gonna play it
I just wanna tell you how I'm feeling
Gotta make you understand
Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you
Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you
Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye"