From dc52b4fa3cc611e5f078d967800e99425b1cf7cd Mon Sep 17 00:00:00 2001 From: Akemi Izuko Date: Thu, 16 Nov 2023 21:27:59 -0700 Subject: [PATCH] AstBuilder: produce ints and floats --- params.toml | 4 ++-- src/ast_builder.rs | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/params.toml b/params.toml index 4488db3..3a2c575 100644 --- a/params.toml +++ b/params.toml @@ -15,8 +15,8 @@ [statements.gen_decl] gen_boolean = 0.0 gen_character = 0.0 - gen_integer = 0.0 - gen_real = 0.0 + gen_integer = 0.5 + gen_real = 0.5 gen_tuple = 0.0 qual_const = 0.0 qual_var = 0.0 diff --git a/src/ast_builder.rs b/src/ast_builder.rs index b017fec..17db0bf 100644 --- a/src/ast_builder.rs +++ b/src/ast_builder.rs @@ -53,7 +53,16 @@ impl AstBuilder { } fn gen_decl(&mut self) -> Box { - let t = BaseType::Real; + let p: f64 = self.rng.gen(); + let ps = &self.params.statements.gen_decl; + + let t = if p < ps.gen_integer { + BaseType::Int + } else { + BaseType::Real + }; + + let v = self.gen_variable_quantified(t, Quantifier::Const); Box::new(