lib_ruby_parser/lexer/
yylval.rs

1use crate::lexer::*;
2use crate::Bytes;
3use crate::TokenBuf;
4
5impl Lexer {
6    pub(crate) fn set_yylval_id(&mut self, id: &str) {
7        println_if_debug_lexer!("set_yylval_id({})", id);
8        self.lval = Some(Bytes::new(Vec::from(id)));
9    }
10
11    pub(crate) fn set_yylval_literal(&mut self, value: &TokenBuf) {
12        println_if_debug_lexer!(
13            "set_yylval_literal({:#?}) ptok = {}, pcur = {}",
14            value,
15            self.buffer.ptok,
16            self.buffer.pcur
17        );
18        self.lval = Some(value.bytes.clone());
19    }
20
21    pub(crate) fn set_yylval_num(&mut self, flags: String) {
22        println_if_debug_lexer!("set_yylval_num {:#?}", flags);
23        self.lval = Some(Bytes::new(Vec::from(flags)));
24    }
25
26    pub(crate) fn set_yylval_str(&mut self, value: &TokenBuf) {
27        println_if_debug_lexer!("set_yylval_str {:#?}", value);
28        self.lval = Some(value.bytes.clone());
29    }
30
31    pub(crate) fn set_yylval_name(&mut self) {
32        println_if_debug_lexer!("set_yyval_name({:#?})", self.tokenbuf);
33        self.lval = Some(self.tokenbuf.bytes.clone());
34    }
35}