Expand description
A lexer for the Jsonnet language.
§Example
let source = b"local add_one(x) = x + 1; add_one(2)";
let arena = rsjsonnet_lang::arena::Arena::new();
let ast_arena = rsjsonnet_lang::arena::Arena::new();
let str_interner = rsjsonnet_lang::interner::StrInterner::new();
let mut span_mgr = rsjsonnet_lang::span::SpanManager::new();
let (span_ctx, _) = span_mgr.insert_source_context(source.len());
// Create the lexer
let lexer = rsjsonnet_lang::lexer::Lexer::new(
&arena,
&ast_arena,
&str_interner,
&mut span_mgr,
span_ctx,
source,
);
// Lex the whole input.
let tokens = lexer.lex_to_eof(false).unwrap();Structs§
- Lexer
- The lexer. See the module-level documentation for more details.