Skip to content

Commit 5b48ab5

Browse files
committed
Use new intepret generator
1 parent 8be6d01 commit 5b48ab5

File tree

3 files changed

+2
-121
lines changed

3 files changed

+2
-121
lines changed

Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ version = "0.2.3"
77
FilePathsBase = "48062228-2e41-5def-b9a4-89aafe57970f"
88
HerbCore = "2b23ba43-8213-43cb-b5ea-38c12b45bd45"
99
HerbGrammar = "4ef9e186-2fe5-4b24-8de7-9f7291f24af7"
10+
HerbInterpret = "5bbddadd-02c5-4713-84b8-97364418cca7"
1011
HerbSpecification = "6d54aada-062f-46d8-85cf-a1ceaf058a06"
1112
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
1213
MLStyle = "d8e11817-5142-5d16-987a-aa16d5891078"
@@ -17,6 +18,7 @@ Revise = "295af30f-e4ad-537b-8983-00126c2a3abe"
1718
[compat]
1819
HerbCore = "^0.3.0"
1920
HerbGrammar = "0.6"
21+
HerbInterpret = "0.2.1"
2022
HerbSpecification = "^0.2.0"
2123
ParserCombinator = "2.2.1"
2224
julia = "^1.8"

src/data/SyGuS/PBE_SLIA_Track_2019/string_functions.jl

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -31,46 +31,3 @@ lt_cvc(str1::String, str2::String) = cmp(str1, str2) < 0
3131
leq_cvc(str1::String, str2::String) = cmp(str1, str2) <= 0
3232

3333
isdigit_cvc(str::String) = tryparse(Int, str) !== nothing
34-
35-
36-
"""
37-
interpret_sygus(prog::AbstractRuleNode, grammar_tags::Dict{Int,Any}, input::Dict{Symbol,Any})
38-
39-
Custom intepret function for the SyGuS SLIA benchmark.
40-
"""
41-
function interpret_sygus(prog::AbstractRuleNode, grammar_tags::Dict{Int,Any}, input::Dict{Symbol,Any})
42-
r = get_rule(prog)
43-
c = get_children(prog)
44-
45-
MLStyle.@match grammar_tags[r] begin
46-
:concat_cvc => concat_cvc(interpret_sygus(c[1], grammar_tags), interpret_sygus(c[2], grammar_tags))
47-
:replace_cvc => replace_cvc(interpret_sygus(c[1], grammar_tags), interpret_sygus(c[2], grammar_tags), interpret_sygus(c[3], grammar_tags))
48-
:at_cvc => at_cvc(interpret_sygus(c[1], grammar_tags), interpret_sygus(c[2], grammar_tags))
49-
:int_to_str_cvc => int_to_str_cvc(interpret_sygus(c[1], grammar_tags))
50-
:substr_cvc => substr_cvc(interpret_sygus(c[1], grammar_tags), interpret_sygus(c[2], grammar_tags), interpret_sygus(c[3], grammar_tags))
51-
:len_cvc => len_cvc(interpret_sygus(c[1], grammar_tags))
52-
:str_to_int_cvc => str_to_int_cvc(interpret_sygus(c[1], grammar_tags))
53-
:indexof_cvc => indexof_cvc(interpret_sygus(c[1], grammar_tags), interpret_sygus(c[2], grammar_tags), interpret_sygus(c[3], grammar_tags))
54-
:prefixof_cvc => prefixof_cvc(interpret_sygus(c[1], grammar_tags), interpret_sygus(c[2], grammar_tags))
55-
:suffixof_cvc => suffixof_cvc(interpret_sygus(c[1], grammar_tags), interpret_sygus(c[2], grammar_tags))
56-
:contains_cvc => contains_cvc(interpret_sygus(c[1], grammar_tags), interpret_sygus(c[2], grammar_tags))
57-
58-
:+ => interpret_sygus(c[1], grammar_tags) + interpret_sygus(c[2], grammar_tags)
59-
:- => interpret_sygus(c[1], grammar_tags) - interpret_sygus(c[2], grammar_tags)
60-
:(==) => interpret_sygus(c[1], grammar_tags) == interpret_sygus(c[2], grammar_tags)
61-
62-
:IF => interpret_sygus(c[1], grammar_tags) ? interpret_sygus(c[2], grammar_tags) : interpret_sygus(c[3], grammar_tags)
63-
64-
_ =>
65-
begin
66-
tag = grammar_tags[r]
67-
if tag isa Symbol && occursin("_arg_", String(tag))
68-
# This is an input variable; look it up in the environment
69-
return input[tag]
70-
else
71-
# default behavior
72-
return tag
73-
end
74-
end
75-
end
76-
end

src/utils/interpret_generator.jl

Lines changed: 0 additions & 78 deletions
This file was deleted.

0 commit comments

Comments
 (0)