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>
...
@@ -125,4 +125,8 @@ public abstract class ASTNode<T extends ParserRuleContext>
}
while
(
n
!=
null
);
}
while
(
n
!=
null
);
return
true
;
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
...
@@ -74,4 +74,17 @@ public class AssignmentStatement
return
type
!=
null
;
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
...
@@ -64,9 +64,20 @@ public class CallStatement extends Statement<ScriptLanguageParser.ScriptCommandC
*/
*/
@Override
@Override
public
CallStatement
copy
()
{
public
CallStatement
copy
()
{
CallStatement
s
=
new
CallStatement
(
command
,
parameters
.
copy
());
CallStatement
s
=
new
CallStatement
(
command
,
parameters
.
copy
());
s
.
setRuleContext
(
this
.
getRuleContext
());
s
.
setRuleContext
(
this
.
getRuleContext
());
return
s
;
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
...
@@ -53,4 +53,15 @@ public abstract class CaseStatement extends Statement<ScriptLanguageParser.Cases
*/
*/
@Override
public
abstract
CaseStatement
copy
();
@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
...
@@ -66,4 +66,21 @@ public class CasesStatement extends Statement<ScriptLanguageParser.CasesStmtCont
c
.
setRuleContext
(
this
.
ruleContext
);
c
.
setRuleContext
(
this
.
ruleContext
);
return
c
;
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 {
...
@@ -44,4 +44,15 @@ public class ClosesCase extends CaseStatement {
return
cs
;
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
...
@@ -37,6 +37,24 @@ public class DefaultCaseStatement extends Statement<ScriptLanguageParser.StmtLis
dcs
.
setRuleContext
(
this
.
ruleContext
);
dcs
.
setRuleContext
(
this
.
ruleContext
);
return
dcs
;
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>
...
@@ -40,4 +40,16 @@ public abstract class GoalSelector<T extends ParserRuleContext>
@Getter
@Getter
@Setter
@Setter
@NonNull
private
Statements
body
=
new
Statements
();
@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 {
...
@@ -37,5 +37,15 @@ public class GuardedCaseStatement extends CaseStatement {
return
scs
;
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;
...
@@ -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.ScriptLanguageParser
;
import
edu.kit.iti.formal.psdbg.parser.Visitor
;
import
edu.kit.iti.formal.psdbg.parser.Visitor
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
...
@@ -46,11 +45,13 @@ import java.util.function.Function;
...
@@ -46,11 +45,13 @@ import java.util.function.Function;
public
class
Parameters
extends
ASTNode
<
ScriptLanguageParser
.
ParametersContext
>
{
public
class
Parameters
extends
ASTNode
<
ScriptLanguageParser
.
ParametersContext
>
{
private
final
Map
<
Variable
,
Expression
>
parameters
=
new
LinkedHashMap
<>();
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
);
return
visitor
.
visit
(
this
);
}
}
@Override
public
Parameters
copy
()
{
@Override
public
Parameters
copy
()
{
Parameters
p
=
new
Parameters
();
Parameters
p
=
new
Parameters
();
forEach
((
k
,
v
)
->
p
.
put
(
k
.
copy
(),
v
.
copy
()));
forEach
((
k
,
v
)
->
p
.
put
(
k
.
copy
(),
v
.
copy
()));
p
.
setRuleContext
(
this
.
getRuleContext
());
p
.
setRuleContext
(
this
.
getRuleContext
());
...
@@ -152,4 +153,24 @@ public class Parameters extends ASTNode<ScriptLanguageParser.ParametersContext>
...
@@ -152,4 +153,24 @@ public class Parameters extends ASTNode<ScriptLanguageParser.ParametersContext>
return
parameters
.
merge
(
key
,
value
,
remappingFunction
);
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> {
...
@@ -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
...
@@ -59,4 +59,6 @@ public class RepeatStatement extends GoalSelector<ScriptLanguageParser.RepeatStm
rs
.
setRuleContext
(
this
.
ruleContext
);
rs
.
setRuleContext
(
this
.
ruleContext
);
return
rs
;
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;
...
@@ -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.ScriptLanguageParser
;
import
edu.kit.iti.formal.psdbg.parser.Visitor
;
import
edu.kit.iti.formal.psdbg.parser.Visitor
;
import
edu.kit.iti.formal.psdbg.parser.types.Type
;
import
edu.kit.iti.formal.psdbg.parser.types.Type
;
...
@@ -42,16 +41,18 @@ import java.util.function.Function;
...
@@ -42,16 +41,18 @@ import java.util.function.Function;
* @author Alexander Weigl
* @author Alexander Weigl
* @version 1 (29.04.17)
* @version 1 (29.04.17)
*/
*/
@EqualsAndHashCode
(
callSuper
=
false
,
of
=
"sig"
)
@EqualsAndHashCode
(
callSuper
=
false
,
of
=
"sig"
)
@ToString
@ToString
public
class
Signature
extends
ASTNode
<
ScriptLanguageParser
.
ArgListContext
>
implements
Map
<
Variable
,
Type
>
{
public
class
Signature
extends
ASTNode
<
ScriptLanguageParser
.
ArgListContext
>
implements
Map
<
Variable
,
Type
>
{
private
final
Map
<
Variable
,
Type
>
sig
=
new
LinkedHashMap
<>();
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
);
return
visitor
.
visit
(
this
);
}
}
@Override
public
Signature
copy
()
{
@Override
public
Signature
copy
()
{
Signature
signature
=
new
Signature
();
Signature
signature
=
new
Signature
();
forEach
((
k
,
v
)
->
signature
.
put
(
k
.
copy
(),
v
));
forEach
((
k
,
v
)
->
signature
.
put
(
k
.
copy
(),
v
));
signature
.
setRuleContext
(
this
.
ruleContext
);
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>
...
@@ -161,15 +161,18 @@ public class Statements extends ASTNode<ScriptLanguageParser.StmtListContext>
statements
.
forEach
(
action
);
statements
.
forEach
(
action
);
}
}
@Override
public
String
toString
()
{
@Override
public
String
toString
()
{
return
"Statements{"
+
"statements="
+
statements
+
'}'
;
return
"Statements{"
+
"statements="
+
statements
+
'}'
;
}
}
@Override
public
<
T
>
T
accept
(
Visitor
<
T
>
visitor
)
{
@Override
public
<
T
>
T
accept
(
Visitor
<
T
>
visitor
)
{
return
visitor
.
visit
(
this
);
return
visitor
.
visit
(
this
);
}
}
@Override
public
Statements
copy
()
{
@Override
public
Statements
copy
()
{
Statements
s
=
new
Statements
();
Statements
s
=
new
Statements
();
forEach
(
e
->
{
forEach
(
e
->
{
Statement
ecopy
=
e
.
copy
();
Statement
ecopy
=
e
.
copy
();
...
@@ -180,4 +183,17 @@ public class Statements extends ASTNode<ScriptLanguageParser.StmtListContext>
...
@@ -180,4 +183,17 @@ public class Statements extends ASTNode<ScriptLanguageParser.StmtListContext>
return
s
;
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 {
...
@@ -31,4 +31,6 @@ public class TryCase extends CaseStatement {
tc
.
setRuleContext
(
this
.
getRuleContext
());
tc
.
setRuleContext
(
this
.
getRuleContext
());
return
tc
;
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
;