Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
ProofScriptParser
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
24
Issues
24
List
Boards
Labels
Service Desk
Milestones
Merge Requests
4
Merge Requests
4
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sarah.grebing
ProofScriptParser
Commits
a7bc41b8
Commit
a7bc41b8
authored
Nov 01, 2017
by
Alexander Weigl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Diffing and UI improvements
parent
90894510
Pipeline
#15062
failed with stage
in 1 minute and 49 seconds
Changes
25
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
519 additions
and
40 deletions
+519
-40
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ASTDiff.java
...rc/main/java/edu/kit/iti/formal/psdbg/parser/ASTDiff.java
+155
-0
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/ASTNode.java
...ain/java/edu/kit/iti/formal/psdbg/parser/ast/ASTNode.java
+4
-0
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/AssignmentStatement.java
.../kit/iti/formal/psdbg/parser/ast/AssignmentStatement.java
+13
-0
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/CallStatement.java
...va/edu/kit/iti/formal/psdbg/parser/ast/CallStatement.java
+12
-1
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/CaseStatement.java
...va/edu/kit/iti/formal/psdbg/parser/ast/CaseStatement.java
+11
-0
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/CasesStatement.java
...a/edu/kit/iti/formal/psdbg/parser/ast/CasesStatement.java
+17
-0
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/ClosesCase.java
.../java/edu/kit/iti/formal/psdbg/parser/ast/ClosesCase.java
+11
-0
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/DefaultCaseStatement.java
...kit/iti/formal/psdbg/parser/ast/DefaultCaseStatement.java
+18
-0
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/GoalSelector.java
...ava/edu/kit/iti/formal/psdbg/parser/ast/GoalSelector.java
+12
-0
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/GuardedCaseStatement.java
...kit/iti/formal/psdbg/parser/ast/GuardedCaseStatement.java
+10
-0
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/Parameters.java
.../java/edu/kit/iti/formal/psdbg/parser/ast/Parameters.java
+27
-6
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/ProofScript.java
...java/edu/kit/iti/formal/psdbg/parser/ast/ProofScript.java
+14
-0
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/RepeatStatement.java
.../edu/kit/iti/formal/psdbg/parser/ast/RepeatStatement.java
+2
-0
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/Signature.java
...n/java/edu/kit/iti/formal/psdbg/parser/ast/Signature.java
+8
-7
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/Statements.java
.../java/edu/kit/iti/formal/psdbg/parser/ast/Statements.java
+19
-3
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/TryCase.java
...ain/java/edu/kit/iti/formal/psdbg/parser/ast/TryCase.java
+2
-0
lang/src/test/java/edu/kit/iti/formal/psdbg/parser/ASTDiffTest.java
...est/java/edu/kit/iti/formal/psdbg/parser/ASTDiffTest.java
+29
-0
lang/src/test/resources/edu/kit/iti/formal/psdbg/parser/test_diff_1.kps
...resources/edu/kit/iti/formal/psdbg/parser/test_diff_1.kps
+18
-0
lang/src/test/resources/edu/kit/iti/formal/psdbg/parser/test_diff_2.kps
...resources/edu/kit/iti/formal/psdbg/parser/test_diff_2.kps
+21
-0
rt-key/src/main/java/edu/kit/iti/formal/psdbg/interpreter/KeYProofFacade.java
.../edu/kit/iti/formal/psdbg/interpreter/KeYProofFacade.java
+2
-2
rt-key/src/main/java/edu/kit/iti/formal/psdbg/interpreter/funchdl/RuleCommandHandler.java
.../formal/psdbg/interpreter/funchdl/RuleCommandHandler.java
+5
-1
ui/src/main/java/edu/kit/iti/formal/psdbg/gui/controller/DebuggerMain.java
...edu/kit/iti/formal/psdbg/gui/controller/DebuggerMain.java
+92
-3
ui/src/main/java/edu/kit/iti/formal/psdbg/gui/controls/SequentView.java
...va/edu/kit/iti/formal/psdbg/gui/controls/SequentView.java
+2
-0
ui/src/main/resources/edu/kit/iti/formal/psdbg/examples/agatha/script.kps
...urces/edu/kit/iti/formal/psdbg/examples/agatha/script.kps
+0
-2
ui/src/main/resources/edu/kit/iti/formal/psdbg/gui/controller/DebuggerMain.fxml
...edu/kit/iti/formal/psdbg/gui/controller/DebuggerMain.fxml
+15
-15
No files found.
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ASTDiff.java
0 → 100644
View file @
a7bc41b8
package
edu.kit.iti.formal.psdbg.parser
;
import
edu.kit.iti.formal.psdbg.parser.ast.*
;
public
class
ASTDiff
implements
Visitor
<
ASTNode
>
{
private
ASTNode
other
;
private
ProofScript
newScript
;
@Override
public
ProofScript
visit
(
ProofScript
proofScript
)
{
newScript
=
new
ProofScript
();
newScript
.
setName
(
proofScript
.
getName
());
newScript
.
setSignature
(
proofScript
.
getSignature
());
other
=
((
ProofScript
)
other
).
getBody
();
newScript
.
setBody
(
visit
(
newScript
.
getBody
()));
return
newScript
;
}
@Override
public
ASTNode
visit
(
AssignmentStatement
assign
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
BinaryExpression
e
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
MatchExpression
match
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
TermLiteral
term
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
StringLiteral
string
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
Variable
variable
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
BooleanLiteral
bool
)
{
return
null
;
}
@Override
public
Statements
visit
(
Statements
statements
)
{
Statements
s
=
new
Statements
();
Statements
other
=
(
Statements
)
this
.
other
;
assert
statements
.
size
()
<=
other
.
size
();
int
i
=
0
;
for
(;
i
<
statements
.
size
();
i
++)
{
if
(
statements
.
get
(
i
).
eq
(
other
.
get
(
i
)))
{
break
;
}
}
for
(
int
j
=
i
;
j
<
other
.
size
();
j
++)
{
s
.
add
(
other
.
get
(
i
));
}
return
s
;
}
@Override
public
ASTNode
visit
(
IntegerLiteral
integer
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
CasesStatement
cases
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
DefaultCaseStatement
defCase
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
CallStatement
call
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
TheOnlyStatement
theOnly
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
ForeachStatement
foreach
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
RepeatStatement
repeat
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
Signature
signature
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
Parameters
parameters
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
UnaryExpression
e
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
TryCase
TryCase
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
GuardedCaseStatement
guardedCaseStatement
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
CaseStatement
caseStatement
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
SubstituteExpression
subst
)
{
return
null
;
}
@Override
public
ASTNode
visit
(
ClosesCase
closesCase
)
{
return
null
;
}
public
ProofScript
diff
(
ProofScript
old
,
ProofScript
rev
)
{
other
=
rev
;
return
(
ProofScript
)
visit
(
old
);
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/ASTNode.java
View file @
a7bc41b8
...
...
@@ -125,4 +125,8 @@ public abstract class ASTNode<T extends ParserRuleContext>
}
while
(
n
!=
null
);
return
true
;
}
public
boolean
eq
(
ASTNode
other
)
{
return
equals
(
other
);
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/AssignmentStatement.java
View file @
a7bc41b8
...
...
@@ -74,4 +74,17 @@ public class AssignmentStatement
return
type
!=
null
;
}
@Override
public
boolean
eq
(
ASTNode
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
if
(!
super
.
equals
(
o
))
return
false
;
AssignmentStatement
that
=
(
AssignmentStatement
)
o
;
if
(!
getLhs
().
eq
(
that
.
getLhs
()))
return
false
;
if
(!
getRhs
().
eq
(
that
.
getRhs
()))
return
false
;
return
getType
()
!=
null
?
getType
().
equals
(
that
.
getType
())
:
that
.
getType
()
==
null
;
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/CallStatement.java
View file @
a7bc41b8
...
...
@@ -64,9 +64,20 @@ public class CallStatement extends Statement<ScriptLanguageParser.ScriptCommandC
*/
@Override
public
CallStatement
copy
()
{
CallStatement
s
=
new
CallStatement
(
command
,
parameters
.
copy
());
s
.
setRuleContext
(
this
.
getRuleContext
());
return
s
;
}
@Override
public
boolean
eq
(
ASTNode
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
if
(!
super
.
equals
(
o
))
return
false
;
CallStatement
that
=
(
CallStatement
)
o
;
if
(!
getCommand
().
equals
(
that
.
getCommand
()))
return
false
;
return
getParameters
().
equals
(
that
.
getParameters
());
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/CaseStatement.java
View file @
a7bc41b8
...
...
@@ -53,4 +53,15 @@ public abstract class CaseStatement extends Statement<ScriptLanguageParser.Cases
*/
@Override
public
abstract
CaseStatement
copy
();
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
if
(!
super
.
equals
(
o
))
return
false
;
CaseStatement
that
=
(
CaseStatement
)
o
;
return
getBody
().
eq
(
that
.
getBody
());
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/CasesStatement.java
View file @
a7bc41b8
...
...
@@ -66,4 +66,21 @@ public class CasesStatement extends Statement<ScriptLanguageParser.CasesStmtCont
c
.
setRuleContext
(
this
.
ruleContext
);
return
c
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
if
(!
super
.
equals
(
o
))
return
false
;
CasesStatement
that
=
(
CasesStatement
)
o
;
for
(
int
i
=
0
;
i
<
cases
.
size
();
i
++)
{
if
(!
cases
.
get
(
i
).
eq
(
that
.
cases
.
get
(
i
)))
return
false
;
}
return
getDefCaseStmt
()
!=
null
?
getDefCaseStmt
().
eq
(
that
.
getDefCaseStmt
())
:
that
.
getDefCaseStmt
()
==
null
;
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/ClosesCase.java
View file @
a7bc41b8
...
...
@@ -44,4 +44,15 @@ public class ClosesCase extends CaseStatement {
return
cs
;
}
@Override
public
boolean
eq
(
ASTNode
o
)
{
if
(
this
==
o
)
return
true
;
if
(!(
o
instanceof
ClosesCase
))
return
false
;
if
(!
super
.
equals
(
o
))
return
false
;
ClosesCase
that
=
(
ClosesCase
)
o
;
return
getClosesGuard
()
!=
null
?
getClosesGuard
().
eq
(
that
.
getClosesGuard
())
:
that
.
getClosesGuard
()
==
null
;
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/DefaultCaseStatement.java
View file @
a7bc41b8
...
...
@@ -37,6 +37,24 @@ public class DefaultCaseStatement extends Statement<ScriptLanguageParser.StmtLis
dcs
.
setRuleContext
(
this
.
ruleContext
);
return
dcs
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
if
(!
super
.
equals
(
o
))
return
false
;
DefaultCaseStatement
that
=
(
DefaultCaseStatement
)
o
;
return
getBody
().
eq
(
that
.
getBody
());
}
@Override
public
int
hashCode
()
{
int
result
=
super
.
hashCode
();
result
=
31
*
result
+
getBody
().
hashCode
();
return
result
;
}
}
...
...
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/GoalSelector.java
View file @
a7bc41b8
...
...
@@ -40,4 +40,16 @@ public abstract class GoalSelector<T extends ParserRuleContext>
@Getter
@Setter
@NonNull
private
Statements
body
=
new
Statements
();
@Override
public
boolean
eq
(
ASTNode
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
if
(!
super
.
equals
(
o
))
return
false
;
GoalSelector
<?>
that
=
(
GoalSelector
<?>)
o
;
return
getBody
()
!=
null
?
getBody
().
eq
(
that
.
getBody
())
:
that
.
getBody
()
==
null
;
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/GuardedCaseStatement.java
View file @
a7bc41b8
...
...
@@ -37,5 +37,15 @@ public class GuardedCaseStatement extends CaseStatement {
return
scs
;
}
@Override
public
boolean
eq
(
ASTNode
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
if
(!
super
.
equals
(
o
))
return
false
;
GuardedCaseStatement
that
=
(
GuardedCaseStatement
)
o
;
return
getGuard
().
eq
(
that
.
getGuard
());
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/Parameters.java
View file @
a7bc41b8
...
...
@@ -23,7 +23,6 @@ package edu.kit.iti.formal.psdbg.parser.ast;
*/
import
edu.kit.iti.formal.psdbg.parser.ScriptLanguageParser
;
import
edu.kit.iti.formal.psdbg.parser.Visitor
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -46,11 +45,13 @@ import java.util.function.Function;
public
class
Parameters
extends
ASTNode
<
ScriptLanguageParser
.
ParametersContext
>
{
private
final
Map
<
Variable
,
Expression
>
parameters
=
new
LinkedHashMap
<>();
@Override
public
<
T
>
T
accept
(
Visitor
<
T
>
visitor
)
{
@Override
public
<
T
>
T
accept
(
Visitor
<
T
>
visitor
)
{
return
visitor
.
visit
(
this
);
}
@Override
public
Parameters
copy
()
{
@Override
public
Parameters
copy
()
{
Parameters
p
=
new
Parameters
();
forEach
((
k
,
v
)
->
p
.
put
(
k
.
copy
(),
v
.
copy
()));
p
.
setRuleContext
(
this
.
getRuleContext
());
...
...
@@ -152,4 +153,24 @@ public class Parameters extends ASTNode<ScriptLanguageParser.ParametersContext>
return
parameters
.
merge
(
key
,
value
,
remappingFunction
);
}
@Override
public
boolean
eq
(
ASTNode
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
if
(!
super
.
equals
(
o
))
return
false
;
Parameters
that
=
(
Parameters
)
o
;
for
(
Map
.
Entry
<
Variable
,
Expression
>
e
:
that
.
parameters
.
entrySet
())
{
if
(!
e
.
getValue
().
eq
(
get
(
e
.
getKey
())))
return
false
;
}
for
(
Map
.
Entry
<
Variable
,
Expression
>
e
:
parameters
.
entrySet
())
{
if
(!
e
.
getValue
().
eq
(
that
.
get
(
e
.
getKey
())))
return
false
;
}
return
true
;
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/ProofScript.java
View file @
a7bc41b8
...
...
@@ -59,4 +59,18 @@ public class ProofScript extends ASTNode<ScriptLanguageParser.ScriptContext> {
}
@Override
public
boolean
eq
(
ASTNode
o
)
{
if
(
this
==
o
)
return
true
;
if
(!(
o
instanceof
ProofScript
))
return
false
;
if
(!
super
.
equals
(
o
))
return
false
;
ProofScript
that
=
(
ProofScript
)
o
;
if
(
getName
()
!=
null
?
!
getName
().
equals
(
that
.
getName
())
:
that
.
getName
()
!=
null
)
return
false
;
if
(
getSignature
()
!=
null
?
!
getSignature
().
eq
(
that
.
getSignature
())
:
that
.
getSignature
()
!=
null
)
return
false
;
return
getBody
()
!=
null
?
getBody
().
eq
(
that
.
getBody
())
:
that
.
getBody
()
==
null
;
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/RepeatStatement.java
View file @
a7bc41b8
...
...
@@ -59,4 +59,6 @@ public class RepeatStatement extends GoalSelector<ScriptLanguageParser.RepeatStm
rs
.
setRuleContext
(
this
.
ruleContext
);
return
rs
;
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/Signature.java
View file @
a7bc41b8
...
...
@@ -23,7 +23,6 @@ package edu.kit.iti.formal.psdbg.parser.ast;
*/
import
edu.kit.iti.formal.psdbg.parser.ScriptLanguageParser
;
import
edu.kit.iti.formal.psdbg.parser.Visitor
;
import
edu.kit.iti.formal.psdbg.parser.types.Type
;
...
...
@@ -42,16 +41,18 @@ import java.util.function.Function;
* @author Alexander Weigl
* @version 1 (29.04.17)
*/
@EqualsAndHashCode
(
callSuper
=
false
,
of
=
"sig"
)
@EqualsAndHashCode
(
callSuper
=
false
,
of
=
"sig"
)
@ToString
public
class
Signature
extends
ASTNode
<
ScriptLanguageParser
.
ArgListContext
>
implements
Map
<
Variable
,
Type
>
{
private
final
Map
<
Variable
,
Type
>
sig
=
new
LinkedHashMap
<>();
@Override
public
<
T
>
T
accept
(
Visitor
<
T
>
visitor
)
{
@Override
public
<
T
>
T
accept
(
Visitor
<
T
>
visitor
)
{
return
visitor
.
visit
(
this
);
}
@Override
public
Signature
copy
()
{
@Override
public
Signature
copy
()
{
Signature
signature
=
new
Signature
();
forEach
((
k
,
v
)
->
signature
.
put
(
k
.
copy
(),
v
));
signature
.
setRuleContext
(
this
.
ruleContext
);
...
...
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/Statements.java
View file @
a7bc41b8
...
...
@@ -161,15 +161,18 @@ public class Statements extends ASTNode<ScriptLanguageParser.StmtListContext>
statements
.
forEach
(
action
);
}
@Override
public
String
toString
()
{
@Override
public
String
toString
()
{
return
"Statements{"
+
"statements="
+
statements
+
'}'
;
}
@Override
public
<
T
>
T
accept
(
Visitor
<
T
>
visitor
)
{
@Override
public
<
T
>
T
accept
(
Visitor
<
T
>
visitor
)
{
return
visitor
.
visit
(
this
);
}
@Override
public
Statements
copy
()
{
@Override
public
Statements
copy
()
{
Statements
s
=
new
Statements
();
forEach
(
e
->
{
Statement
ecopy
=
e
.
copy
();
...
...
@@ -180,4 +183,17 @@ public class Statements extends ASTNode<ScriptLanguageParser.StmtListContext>
return
s
;
}
@Override
public
boolean
eq
(
ASTNode
o
)
{
if
(
this
==
o
)
return
true
;
if
(!(
o
instanceof
Statements
))
return
false
;
if
(!
super
.
equals
(
o
))
return
false
;
Statements
that
=
(
Statements
)
o
;
for
(
int
i
=
0
;
i
<
statements
.
size
();
i
++)
{
if
(!
statements
.
get
(
i
).
eq
(
that
.
statements
.
get
(
i
)))
{
return
false
;
}
}
return
true
;
}
}
lang/src/main/java/edu/kit/iti/formal/psdbg/parser/ast/TryCase.java
View file @
a7bc41b8
...
...
@@ -31,4 +31,6 @@ public class TryCase extends CaseStatement {
tc
.
setRuleContext
(
this
.
getRuleContext
());
return
tc
;
}
}
lang/src/test/java/edu/kit/iti/formal/psdbg/parser/ASTDiffTest.java
0 → 100644
View file @
a7bc41b8
package
edu.kit.iti.formal.psdbg.parser
;
import
edu.kit.iti.formal.psdbg.parser.ast.ProofScript
;
import
org.junit.Test
;
import
java.io.File
;
import
java.io.IOException
;
import
java.util.List
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
public
class
ASTDiffTest
{
private
static
final
String
PREFIX
=
"src/test/resources/edu/kit/iti/formal/psdbg/parser"
;
@Test
public
void
testDiff1
()
throws
IOException
{
List
<
ProofScript
>
o
=
Facade
.
getAST
(
new
File
(
PREFIX
,
"test_diff_1.kps"
));
ASTDiff
astDiff
=
new
ASTDiff
();
ProofScript
res
=
astDiff
.
diff
(
o
.
get
(
0
),
o
.
get
(
1
));
assertEquals
(
o
.
get
(
2
).
accept
(
new
PrettyPrinter
()),
res
.
accept
(
new
PrettyPrinter
())
);
}
}
\ No newline at end of file
lang/src/test/resources/edu/kit/iti/formal/psdbg/parser/test_diff_1.kps
0 → 100644
View file @
a7bc41b8
script A() {
A;
B;
C;
D;
}
script A() {
A;
B;
C;
D;
E;F;
}
script A() {
E;F;
}
lang/src/test/resources/edu/kit/iti/formal/psdbg/parser/test_diff_2.kps
0 → 100644
View file @
a7bc41b8
script A() {
A;
B;
C;
cases {
case x=2:
a;
}
}
script A() {
A;
B;
C;
F;
}
script A() {
E;F;
}
rt-key/src/main/java/edu/kit/iti/formal/psdbg/interpreter/KeYProofFacade.java
View file @
a7bc41b8
...
...
@@ -71,12 +71,12 @@ public class KeYProofFacade {
/**
* reload the current proof. synchronously because only the first load is slow.
*/
public
void
reload
()
throws
ProofInputException
,
ProblemLoaderException
{
public
void
reload
(
File
problemFile
)
throws
ProofInputException
,
ProblemLoaderException
{
if
(
contract
.
get
()
!=
null
)
{
// reinstante the contract
setProof
(
getEnvironment
().
createProof
(
contract
.
get
().
getProofObl
(
getEnvironment
().
getServices
())));
}
else
{
setProof
(
KeYApi
.
loadFromKeyFile
(
pro
of
.
get
().
getProofFile
()
).
getLoadedProof
().
getProof
());
setProof
(
KeYApi
.
loadFromKeyFile
(
pro
blemFile
).
getLoadedProof
().
getProof
());
}
}
...
...
rt-key/src/main/java/edu/kit/iti/formal/psdbg/interpreter/funchdl/RuleCommandHandler.java
View file @
a7bc41b8
...
...
@@ -16,6 +16,8 @@ import edu.kit.iti.formal.psdbg.interpreter.exceptions.ScriptCommandNotApplicabl
import
edu.kit.iti.formal.psdbg.parser.ast.CallStatement
;
import
lombok.Getter
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.key_project.util.collection.ImmutableList
;
import
java.util.HashMap
;
...
...
@@ -27,6 +29,8 @@ import java.util.Map;
*/