-
Couldn't load subscription status.
- Fork 25
1260 cfg semantic domain lite #1735
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
71 commits
Select commit
Hold shift + click to select a range
2fa35b9
WI #1260 Integrate Control Flow Graph
fm-117 3e5e84e
WI #1260 Clean up csproj files for CFG-related projects
fm-117 f314a98
WI #1260 Remove unused members
fm-117 5379e12
WI #1260 Use Container directly instead of a Dictionary
fm-117 c69364f
WI #1260 Use all tests
fm-117 66085bb
WI #1260 Use separate cs files for builder components
fm-117 d0b5737
WI #1260 Fix typos in comments
fm-117 3e058bb
Merge branch 'develop' into 1260_CFG_SemanticDomainLite
fm-117 67a45f0
WI #1267 Fixing nested builder properties from parent
fm-117 11b18e9
WI #1260 CurrentBlock renamed to OriginBlock in contexts
fm-117 fd28473
WI #1260 Type strongly contextual data of multi-branch context
fm-117 7955efc
WI #1260 Remove some useless code
fm-117 d4ae32b
WI #1260 Use HashSet instead of Dictionary to improve readability and…
fm-117 1bb5652
WI #1260 Rename test methods to match file names
fm-117 5ee80f5
WI #1269 Factorize test code
fm-117 8884e95
WI #1269 Remove unused Nist results
fm-117 476f4de
WI #1269 Match solution build configurations with project build confi…
fm-117 41f4d0d
WI #1269 Change test data to minimize warnings
fm-117 53b1ea1
WI #1269 Fix typo in test data
fm-117 63dcd80
WI #1269 Compare diagnostics produced during tests
fm-117 8a0a543
WI #1269 Move test results into input directory to keep all files in …
fm-117 ce087e1
WI #1267 Add new classes for Section/Paragraph/Sentence
fm-117 cb42157
WI #1627 Avoid using symbols in CFG builder
fm-117 ded6692
WI #1267 Rename ProcedureDivisionPartition to ProcedureDivisionRegion
fm-117 8b0f7a2
Merge pull request #1738 from TypeCobolTeam/1260_CFG_SemanticDomainLi…
fm-117 bf03bb7
WI #1267 Add analyzer classes and interfaces
fm-117 6ebbb6e
WI #1267 Rename NodeListener to INodeListener
fm-117 3221a26
WI #1267 Make NodeDispatcher static
fm-117 b9e8e38
WI #1267 Remove AbstractReport class
fm-117 4ff5faa
WI #1267 Merge INodeListener into IProgramClassBuilderNodeListener
fm-117 a5637f9
WI #1267 Add CfgBuildingMode option
fm-117 e2bf976
WI #1267 Make analyzer provider flow through compilation objects
fm-117 4bba5e5
WI #1267 Add analyzer results
fm-117 7f52974
Merge branch 'develop' into 1260_CFG_SemanticDomainLite
fm-117 7aa44f9
Merge branch '1260_CFG_SemanticDomainLite' into 1260_CFG_SemanticDoma…
fm-117 0f89c2b
WI #1267 Use single section/paragraph resolution mechanism for both C…
fm-117 bda590c
Merge branch '1260_CFG_SemanticDomainLite' into 1260_CFG_SemanticDoma…
fm-117 687f399
WI #1267 Remove unused error messages
fm-117 e6752c9
WI #1267 Add parent/children relationships directly on graph object
fm-117 c04ee70
WI #1267 Simplify CFG builder construction
fm-117 d6445de
WI #1267 Add missing statements in Enter/Exit/IsStatement
fm-117 27de692
WI #1267 Use single root block in CFG instead of multiple roots
fm-117 d5cf399
Merge branch '1260_CFG_SemanticDomainLite' into 1260_CFG_SemanticDoma…
fm-117 c6f9dbd
Merge pull request #1740 from TypeCobolTeam/1260_CFG_SemanticDomainLi…
fm-117 6014c43
WI #1627 Remove CfgMode enum
fm-117 6433dee
WI #1267 Collect graphs and diagnostics into a single builder
fm-117 07f3801
WI #1267 Avoid exposing internal builders used by root builder
fm-117 36c0493
WI #1267 Finalize integration of CFG/DFA as an analyzer
fm-117 6a3c8b2
WI #1267 Improve diagnostic message for out-of-bounds PERFORMs
fm-117 0ede890
WI #1267 #1448 Add unit test for procedure declaration order check in…
fm-117 17a6f4a
WI #1267 Add unit test for wrong ALTERs
fm-117 baaf1fb
WI #1267 Fix PERFORM THRU sentence resolution mechanism
fm-117 69643e1
WI #1267 Force block cloning in all PERFORM groups
fm-117 bcb9138
WI #1267 Add more PERFORM THRU tests
fm-117 916f17c
WI #1267 Use Warning instead of Error for premature PERFORM exit
fm-117 9074b49
WI #1267 Add tests for more exception conditions
fm-117 86f84be
WI #1267 Check MultiBranchContext status on node exit
fm-117 5f82586
WI #1269 Use source directory to allow autoreplace in tests
fm-117 4851ca3
WI #1267 Handle mutually exclusive exception conditions
fm-117 1b15533
Merge pull request #1741 from TypeCobolTeam/1260_CFG_SemanticDomainLi…
fm-117 15fa816
Merge branch 'develop' into 1260_CFG_SemanticDomainLite
fm-117 91e701d
WI #1267 Fix iterative and recursive PERFORMs graph building
fm-117 7b94976
WI #1267 Add tests for Extended graph building mode
fm-117 d1bf585
WI #1268 Avoid duplicate outgoing edges in recursive graphs
fm-117 88561a7
WI #1267 Fix recursion detection
fm-117 8425292
WI #1267 Remove unused Explicit CFG building mode
fm-117 cfc7b88
WI #1268 Avoid generating empty subgraphs in dot files
fm-117 c7745c6
WI #1268 Avoid PERFORM blocks relocation inside subgraphs
fm-117 c2a0f8e
Merge pull request #1765 from TypeCobolTeam/1260_CFG_SDLite_Iterative…
fm-117 7b4f5b3
Merge branch 'develop' into 1260_CFG_SemanticDomainLite
fm-117 75fb767
Merge branch 'develop' into 1260_CFG_SemanticDomainLite
fm-117 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| IDENTIFICATION DIVISION. | ||
| PROGRAM-ID. HELLO. | ||
|
|
||
| PROCEDURE DIVISION. | ||
|
|
||
| A-PARA. | ||
| PERFORM DISPLAY 'IN A-PARA' | ||
| END-PERFORM. | ||
| PERFORM C-PARA THRU E-PARA. | ||
| ALTER B-PARA TO PROCEED TO E-PARA. | ||
| B-PARA. GO TO B-PARA. | ||
| DISPLAY 'IN B-PARA'. | ||
| GOBACK. | ||
|
|
||
| C-PARA. | ||
| DISPLAY 'IN C-PARA'. | ||
|
|
||
| D-PARA. | ||
| DISPLAY 'IN D-PARA'. | ||
|
|
||
| E-PARA. | ||
| DISPLAY 'IN E-PARA'. | ||
| END PROGRAM HELLO. | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| --- Diagnostics --- | ||
| Line 10[12,16] <37, Warning, General> - Warning: ALTER should not be used |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,73 @@ | ||
| digraph Cfg { | ||
| compound=true; | ||
| node [ | ||
| shape = "record" | ||
| ] | ||
|
|
||
| edge [ | ||
| arrowtail = "empty" | ||
| ] | ||
| Block0 [ | ||
| label = "{START|}" | ||
| ] | ||
| Block1 [ | ||
| label = "{A-PARA. Block1|}" | ||
| ] | ||
| Block2 [ | ||
| label = "{Block2| PERFORM\l}" | ||
| ] | ||
| Block3 [ | ||
| label = "{Block3| DISPLAY 'IN A-PARA'\l}" | ||
| ] | ||
| Block4 [ | ||
| label = "{Block4|}" | ||
| ] | ||
| Block5 [ | ||
| label = "{A-PARA. Block5|}" | ||
| ] | ||
| Block6 [ | ||
| label = "{Block6| PERFORM C-PARA THRU E-PARA\l}" | ||
| ] | ||
| subgraph cluster_1{ | ||
| color = blue; | ||
| label = "C-PARA"; | ||
| Block17 [ | ||
| label = "{C-PARA. Block17| DISPLAY 'IN C-PARA'\l}" | ||
| ] | ||
| Block18 [ | ||
| label = "{D-PARA. Block18| DISPLAY 'IN D-PARA'\l}" | ||
| ] | ||
| Block19 [ | ||
| label = "{E-PARA. Block19| DISPLAY 'IN E-PARA'\l}" | ||
| ] | ||
|
|
||
| } | ||
| Block6 -> Block17 [style=dashed] | ||
|
|
||
| Block7 [ | ||
| label = "{Block7|}" | ||
| ] | ||
| Block8 [ | ||
| label = "{A-PARA. Block8| ALTER B-PARA TO PROCEED TO E-PARA\l}" | ||
| ] | ||
| Block9 [ | ||
| label = "{B-PARA. Block9| GO TO B-PARA\l}" | ||
| ] | ||
| Block16 [ | ||
| label = "{E-PARA. Block16| DISPLAY 'IN E-PARA'\l}" | ||
| ] | ||
| Block0 -> Block1 | ||
| Block1 -> Block2 | ||
| Block2 -> Block3 | ||
| Block3 -> Block4 | ||
| Block4 -> Block5 | ||
| Block5 -> Block6 | ||
| Block17 -> Block18 | ||
| Block18 -> Block19 | ||
| Block6 -> Block7 | ||
| Block7 -> Block8 | ||
| Block8 -> Block9 | ||
| Block9 -> Block9 | ||
| Block9 -> Block16 | ||
|
|
||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| IDENTIFICATION DIVISION. | ||
| PROGRAM-ID. ALTER1. | ||
| procedure division. | ||
| main section. | ||
|
|
||
| *> And now do some altering. | ||
| entrance. | ||
| ALTER front TO PROCEED TO atstart | ||
| GO TO front | ||
| . | ||
|
|
||
| *> Jump to a part of the front | ||
| front. | ||
| GO TO atstart. | ||
|
|
||
| *> the first part | ||
| atstart. | ||
| ALTER front TO PROCEED to middle | ||
| DISPLAY "This is the start of a changing front" | ||
| GO TO front | ||
| . | ||
|
|
||
| *> the middle bit | ||
| middle. | ||
| ALTER front TO PROCEED to atfinish | ||
| DISPLAY "The front progresses" | ||
| GO TO front | ||
| . | ||
|
|
||
| *> the climatic finish | ||
| atfinish. | ||
| DISPLAY "The front ends, happily ever after" | ||
| . | ||
|
|
||
| *> fall through to the exit | ||
| END PROGRAM ALTER1. | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| --- Diagnostics --- | ||
| Line 8[12,16] <37, Warning, General> - Warning: ALTER should not be used | ||
| Line 18[12,16] <37, Warning, General> - Warning: ALTER should not be used | ||
| Line 25[12,16] <37, Warning, General> - Warning: ALTER should not be used |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| digraph Cfg { | ||
| node [ | ||
| shape = "record" | ||
| ] | ||
|
|
||
| edge [ | ||
| arrowtail = "empty" | ||
| ] | ||
| Block0 [ | ||
| label = "{START|}" | ||
| ] | ||
| Block1 [ | ||
| label = "{ENTRANCE. Block1| ALTER front TO PROCEED TO atstart\l GO TO front\l}" | ||
| ] | ||
| Block3 [ | ||
| label = "{FRONT. Block3| GO TO atstart\l}" | ||
| ] | ||
| Block5 [ | ||
| label = "{ATSTART. Block5| ALTER front TO PROCEED to middle\l DISPLAY \"This is the start of a changing front\"\l GO TO front\l}" | ||
| ] | ||
| Block7 [ | ||
| label = "{MIDDLE. Block7| ALTER front TO PROCEED to atfinish\l DISPLAY \"The front progresses\"\l GO TO front\l}" | ||
| ] | ||
| Block9 [ | ||
| label = "{ATFINISH. Block9| DISPLAY \"The front ends, happily ever after\"\l}" | ||
| ] | ||
| Block0 -> Block1 | ||
| Block1 -> Block3 | ||
| Block3 -> Block5 | ||
| Block3 -> Block7 | ||
| Block3 -> Block9 | ||
| Block5 -> Block3 | ||
| Block7 -> Block3 | ||
|
|
||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| IDENTIFICATION DIVISION. | ||
| PROGRAM-ID. ALTER2. | ||
| procedure division. | ||
| main section. | ||
|
|
||
| *> And now do some altering. | ||
| entrance. | ||
| ALTER front TO PROCEED TO atstart OF MAIN | ||
| GO TO front | ||
| . | ||
|
|
||
| *> Jump to a part of the front | ||
| front. | ||
| GO TO atstart. | ||
|
|
||
| *> the first part | ||
| atstart. | ||
| ALTER front TO PROCEED to middle of MAIN | ||
| DISPLAY "This is the start of a changing front" | ||
| GO TO front | ||
| . | ||
|
|
||
| *> the middle bit | ||
| middle. | ||
| ALTER front TO PROCEED to main::atfinish | ||
| DISPLAY "The front progresses" | ||
| GO TO main::front | ||
| . | ||
|
|
||
| *> the climatic finish | ||
| atfinish. | ||
| DISPLAY "The front ends, happily ever after" | ||
| . | ||
|
|
||
| *> fall through to the exit | ||
| END PROGRAM ALTER2. | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| --- Diagnostics --- | ||
| Line 8[12,16] <37, Warning, General> - Warning: ALTER should not be used | ||
| Line 18[12,16] <37, Warning, General> - Warning: ALTER should not be used | ||
| Line 25[12,16] <37, Warning, General> - Warning: ALTER should not be used |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.