openinfer-dsl 0.1.3

Rust-embedded DSL for defining OpenInfer graphs with explicit control flow and memory semantics.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use syn::ext::IdentExt;
use syn::parse::{ParseStream, Result};
use syn::{parenthesized, Ident};

pub fn parse_ref_name(input: ParseStream) -> Result<syn::LitStr> {
    let content;
    parenthesized!(content in input);
    if content.peek(syn::LitStr) {
        content.parse()
    } else {
        let ident = Ident::parse_any(&content)?;
        Ok(syn::LitStr::new(&ident.to_string(), ident.span()))
    }
}