Lines Matching defs:EvalResult

41     identifiers: &'ident HashMap<Vec<u8>, EvalResult>,
52 pub enum EvalResult {
65 if let EvalResult::$e(v) = self {
74 impl EvalResult {
81 fn as_numeric(self) -> Option<EvalResult> {
83 EvalResult::Int(_) | EvalResult::Float(_) => Some(self),
89 impl From<Vec<u8>> for EvalResult {
90 fn from(s: Vec<u8>) -> EvalResult {
91 EvalResult::Str(s)
162 impl<'a> AddAssign<&'a EvalResult> for EvalResult {
163 fn add_assign(&mut self, rhs: &'a EvalResult) {
164 use self::EvalResult::*;
174 impl<'a> BitAndAssign<&'a EvalResult> for EvalResult {
175 fn bitand_assign(&mut self, rhs: &'a EvalResult) {
176 use self::EvalResult::*;
183 impl<'a> BitOrAssign<&'a EvalResult> for EvalResult {
184 fn bitor_assign(&mut self, rhs: &'a EvalResult) {
185 use self::EvalResult::*;
192 impl<'a> BitXorAssign<&'a EvalResult> for EvalResult {
193 fn bitxor_assign(&mut self, rhs: &'a EvalResult) {
194 use self::EvalResult::*;
201 impl<'a> DivAssign<&'a EvalResult> for EvalResult {
202 fn div_assign(&mut self, rhs: &'a EvalResult) {
203 use self::EvalResult::*;
213 impl<'a> MulAssign<&'a EvalResult> for EvalResult {
214 fn mul_assign(&mut self, rhs: &'a EvalResult) {
215 use self::EvalResult::*;
225 impl<'a> RemAssign<&'a EvalResult> for EvalResult {
226 fn rem_assign(&mut self, rhs: &'a EvalResult) {
227 use self::EvalResult::*;
237 impl<'a> ShlAssign<&'a EvalResult> for EvalResult {
238 fn shl_assign(&mut self, rhs: &'a EvalResult) {
239 use self::EvalResult::*;
246 impl<'a> ShrAssign<&'a EvalResult> for EvalResult {
247 fn shr_assign(&mut self, rhs: &'a EvalResult) {
248 use self::EvalResult::*;
255 impl<'a> SubAssign<&'a EvalResult> for EvalResult {
256 fn sub_assign(&mut self, rhs: &'a EvalResult) {
257 use self::EvalResult::*;
268 fn unary_op(input: (&[u8], EvalResult)) -> Option<EvalResult> {
269 use self::EvalResult::*;
285 ) -> impl FnMut(I) -> nom::IResult<I, EvalResult, E>
287 F: FnMut(I) -> nom::IResult<I, EvalResult, E>,
289 nom::combinator::map_opt(f, EvalResult::as_numeric)
293 fn unary(self, input: &'_ [Token]) -> CResult<'_, EvalResult> {
305 fn mul_div_rem(self, input: &'_ [Token]) -> CResult<'_, EvalResult> {
312 |mut acc, (op, val): (&[u8], EvalResult)| {
324 fn add_sub(self, input: &'_ [Token]) -> CResult<'_, EvalResult> {
331 |mut acc, (op, val): (&[u8], EvalResult)| {
342 fn shl_shr(self, input: &'_ [Token]) -> CResult<'_, EvalResult> {
349 |mut acc, (op, val): (&[u8], EvalResult)| {
360 fn and(self, input: &'_ [Token]) -> CResult<'_, EvalResult> {
365 |mut acc, val: EvalResult| {
372 fn xor(self, input: &'_ [Token]) -> CResult<'_, EvalResult> {
377 |mut acc, val: EvalResult| {
384 fn or(self, input: &'_ [Token]) -> CResult<'_, EvalResult> {
389 |mut acc, val: EvalResult| {
397 fn numeric_expr(self, input: &'_ [Token]) -> CResult<'_, EvalResult> {
407 fn identifier(self, input: &'_ [Token]) -> CResult<'_, EvalResult> {
431 fn literal(self, input: &'_ [Token]) -> CResult<'_, EvalResult> {
452 map_opt(|i| self.literal(i), EvalResult::as_str),
453 map_opt(|i| self.identifier(i), EvalResult::as_str),
459 fn concat_str(self, input: &'_ [Token]) -> CResult<'_, EvalResult> {
474 fn expr(self, input: &'_ [Token]) -> CResult<'_, EvalResult> {
485 fn macro_definition(self, input: &'_ [Token]) -> CResult<'_, (&'_ [u8], EvalResult)> {
505 pub fn new(identifiers: &HashMap<Vec<u8>, EvalResult>) -> IdentifierParser<'_> {
513 pub fn expr<'a>(&self, input: &'a [Token]) -> CResult<'a, EvalResult> {
537 pub fn macro_definition<'a>(&self, input: &'a [Token]) -> CResult<'a, (&'a [u8], EvalResult)> {
546 pub fn expr(input: &[Token]) -> CResult<'_, EvalResult> {
558 pub fn macro_definition(input: &[Token]) -> CResult<'_, (&'_ [u8], EvalResult)> {
573 /// use cexpr::expr::{IdentifierParser, EvalResult, fn_macro_declaration};
594 /// (arg.to_owned(), EvalResult::Str(b"test".to_vec()))
599 /// assert_eq!(evaluated, EvalResult::Str(b"testsuffix".to_vec()));