| <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="This module generates AST datatype used by rust-analyzer."><title>xtask::codegen::grammar - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="xtask" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module grammar</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../xtask/index.html">xtask</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module grammar</a></h2><h3><a href="#modules">Module Items</a></h3><ul class="block"><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#constants" title="Constants">Constants</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In xtask::<wbr>codegen</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">xtask</a>::<wbr><a href="../index.html">codegen</a></div><h1>Module <span>grammar</span> <button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/xtask/codegen/grammar.rs.html#1-1169">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>This module generates AST datatype used by rust-analyzer.</p> |
| <p>Specifically, it generates the <code>SyntaxKind</code> enum and a number of newtype |
| wrappers around <code>SyntaxNode</code> which implement <code>syntax::AstNode</code>.</p> |
| </div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">ยง</a></h2><dl class="item-table"><dt><a class="mod" href="ast_src/index.html" title="mod xtask::codegen::grammar::ast_src">ast_src</a><span title="Restricted Visibility"> ๐</span> </dt><dd>Defines input for code generation process.</dd></dl><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">ยง</a></h2><dl class="item-table"><dt><a class="constant" href="constant.TRAITS.html" title="constant xtask::codegen::grammar::TRAITS">TRAITS</a><span title="Restricted Visibility"> ๐</span> </dt></dl><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">ยง</a></h2><dl class="item-table"><dt><a class="fn" href="fn.clean_token_name.html" title="fn xtask::codegen::grammar::clean_token_name">clean_<wbr>token_<wbr>name</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.deduplicate_fields.html" title="fn xtask::codegen::grammar::deduplicate_fields">deduplicate_<wbr>fields</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.extract_enum_traits.html" title="fn xtask::codegen::grammar::extract_enum_traits">extract_<wbr>enum_<wbr>traits</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.extract_enums.html" title="fn xtask::codegen::grammar::extract_enums">extract_<wbr>enums</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.extract_struct_trait.html" title="fn xtask::codegen::grammar::extract_struct_trait">extract_<wbr>struct_<wbr>trait</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.extract_struct_traits.html" title="fn xtask::codegen::grammar::extract_struct_traits">extract_<wbr>struct_<wbr>traits</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.generate.html" title="fn xtask::codegen::grammar::generate">generate</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.generate_nodes.html" title="fn xtask::codegen::grammar::generate_nodes">generate_<wbr>nodes</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.generate_syntax_kinds.html" title="fn xtask::codegen::grammar::generate_syntax_kinds">generate_<wbr>syntax_<wbr>kinds</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.generate_tokens.html" title="fn xtask::codegen::grammar::generate_tokens">generate_<wbr>tokens</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.lower.html" title="fn xtask::codegen::grammar::lower">lower</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.lower_enum.html" title="fn xtask::codegen::grammar::lower_enum">lower_<wbr>enum</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.lower_rule.html" title="fn xtask::codegen::grammar::lower_rule">lower_<wbr>rule</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.lower_separated_list.html" title="fn xtask::codegen::grammar::lower_separated_list">lower_<wbr>separated_<wbr>list</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.pluralize.html" title="fn xtask::codegen::grammar::pluralize">pluralize</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.to_lower_snake_case.html" title="fn xtask::codegen::grammar::to_lower_snake_case">to_<wbr>lower_<wbr>snake_<wbr>case</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.to_pascal_case.html" title="fn xtask::codegen::grammar::to_pascal_case">to_<wbr>pascal_<wbr>case</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.to_upper_snake_case.html" title="fn xtask::codegen::grammar::to_upper_snake_case">to_<wbr>upper_<wbr>snake_<wbr>case</a><span title="Restricted Visibility"> ๐</span> </dt><dt><a class="fn" href="fn.write_doc_comment.html" title="fn xtask::codegen::grammar::write_doc_comment">write_<wbr>doc_<wbr>comment</a><span title="Restricted Visibility"> ๐</span> </dt></dl></section></div></main></body></html> |