1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub struct JuliaRoot {
6 pub statements: Vec<JuliaStatement>,
7}
8
9#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
11pub enum JuliaStatement {
12 Function(JuliaFunction),
13 Expression(JuliaExpression),
14 Error,
15}
16
17#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
19pub struct JuliaFunction {
20 pub name: String,
21 pub body: Vec<JuliaStatement>,
22}
23
24#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
26pub enum JuliaExpression {
27 Identifier(String),
28 Literal(String),
29 Binary { left: Box<JuliaExpression>, op: String, right: Box<JuliaExpression> },
30}