1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//! # FrameAssembly
//!
//! A Domain-Specific Language (DSL) for writing deterministic network traffic to `.pcap` files.
//!
//! ## Syntax Guide
//!
//! FrameAssembly uses a strict, keyword-oriented syntax.
//!
//! ### 1. Hosts
//! Hosts act as network endpoints.
//! ```frameassembly
//! HOST example_server { IP 1.2.3.4 MAC 00:11:22:33:44:55 }
//! ```
//!
//! ### 2. Flows
//! Flows encapsulate sequences of packet transmissions between endpoints.
//! ```frameassembly
//! FLOW tcp_handshake(client, server) {
//! client -> server TCP SYN PAYLOAD "Hello"
//! client <- server TCP SYN ACK PAYLOAD "World"
//! client -> server TCP ACK PAYLOAD "!"
//! }
//! ```
//!
//! ### 3. Compile Block
//! The `COMPILE` block executes flows.
//! ```frameassembly
//! COMPILE {
//! LOOP 100 {
//! tcp_handshake(example_client, google_dns)
//! }
//! }
//! ```
extern crate alloc;
/// AST definitions.
/// Backend PCAP generation.
/// Compiler error types.
/// Lexical analysis.
/// Packet building utilities.
/// Parsing utilities.
/// PCAP file writing.
/// SNMP packet builder.
/// SNMPv3 Cryptography.