master
rs 66 lines 3.01 KB
Raw
1 use std::env;
2 use std::fs::File;
3 use std::io::{BufWriter, Write};
4 use std::path::Path;
5
6 fn main() {
7 let path = Path::new(&env::var("OUT_DIR").unwrap()).join("tokens.rs");
8 let mut file = BufWriter::new(File::create(&path).unwrap());
9
10 writeln!(
11 &mut file,
12 "static COMMAND_MAP: phf::Map<&'static [u8], Token> = {};",
13 phf_codegen::Map::<&[u8]>::new()
14 .entry(b"CHART", "Token::Chart")
15 .entry(b"CHART_DEFINITION_END", "Token::ChartDefinitionEnd")
16 .entry(b"DIMENSION", "Token::Dimension")
17 .entry(b"BEGIN", "Token::Begin")
18 .entry(b"END", "Token::End")
19 .entry(b"SET", "Token::Set")
20 .entry(b"FLUSH", "Token::Flush")
21 .entry(b"DISABLE", "Token::Disable")
22 .entry(b"VARIABLE", "Token::Variable")
23 .entry(b"LABEL", "Token::Label")
24 .entry(b"OVERWRITE", "Token::Overwrite")
25 .entry(b"CLABEL", "Token::Clabel")
26 .entry(b"CLABEL_COMMIT", "Token::ClabelCommit")
27 .entry(b"EXIT", "Token::Exit")
28 .entry(b"BEGIN2", "Token::Begin2")
29 .entry(b"SET2", "Token::Set2")
30 .entry(b"END2", "Token::End2")
31 .entry(b"HOST_DEFINE", "Token::HostDefine")
32 .entry(b"HOST_DEFINE_END", "Token::HostDefineEnd")
33 .entry(b"HOST_LABEL", "Token::HostLabel")
34 .entry(b"HOST", "Token::Host")
35 .entry(b"REPLAY_CHART", "Token::ReplayChart")
36 .entry(b"RBEGIN", "Token::Rbegin")
37 .entry(b"RSET", "Token::Rset")
38 .entry(b"RDSTATE", "Token::RdState")
39 .entry(b"RSSTATE", "Token::RsState")
40 .entry(b"REND", "Token::Rend")
41 .entry(b"FUNCTION", "Token::Function")
42 .entry(b"FUNCTION_RESULT_BEGIN", "Token::FunctionResultBegin")
43 .entry(b"FUNCTION_RESULT_END", "Token::FunctionResultEnd")
44 .entry(b"FUNCTION_PAYLOAD", "Token::FunctionPayloadBegin")
45 .entry(b"FUNCTION_PAYLOAD_END", "Token::FunctionPayloadEnd")
46 .entry(b"FUNCTION_CANCEL", "Token::FunctionCancel")
47 .entry(b"FUNCTION_PROGRESS", "Token::FunctionProgress")
48 .entry(b"QUIT", "Token::Quit")
49 .entry(b"CONFIG", "Token::Config")
50 .entry(b"NODE_ID", "Token::NodeId")
51 .entry(b"CLAIMED_ID", "Token::ClaimedId")
52 .entry(b"JSON", "Token::Json")
53 .entry(b"JSON_PAYLOAD_END", "Token::JsonPayloadEnd")
54 .entry(b"STREAM_PATH", "Token::StreamPath")
55 .entry(b"ML_MODEL", "Token::MlModel")
56 .entry(b"TRUST_DURATIONS", "Token::TrustDurations")
57 .entry(b"DYNCFG_ENABLE", "Token::DynCfg")
58 .entry(b"DYNCFG_REGISTER_MODULE", "Token::DynCfgRegisterModule")
59 .entry(b"DYNCFG_REGISTER_JOB", "Token::DynCfgRegisterJob")
60 .entry(b"DYNCFG_RESET", "Token::DynCfgReset")
61 .entry(b"REPORT_JOB_STATUS", "Token::ReportJobStatus")
62 .entry(b"DELETE_JOB", "Token::DeleteJob")
63 .build()
64 )
65 .unwrap();
66 }