Compare commits
165 Commits
b77ee8bbf0
...
egormayoro
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e9d5a2ee70 | ||
|
|
2746d072d4 | ||
| f7005a2735 | |||
|
|
a86a76705e | ||
|
|
7fed8f13c3 | ||
|
|
2aba5e07bf | ||
|
|
601c6b6e88 | ||
|
|
97689d999b | ||
|
|
a85cf28965 | ||
|
|
3c6f5a7a56 | ||
|
|
e7661998fe | ||
|
|
01d769f38b | ||
|
|
63e6d22d49 | ||
| 47e2b961e2 | |||
|
|
b95b336372 | ||
| f35d7cb4bd | |||
| 54615e34d4 | |||
| 8752f4a139 | |||
| 453105d273 | |||
| cad0a0b217 | |||
| 9c0fd40e7b | |||
| c7a31c8bbb | |||
|
|
9900929349 | ||
|
|
e1ba299159 | ||
|
|
8de18d1788 | ||
| 06aabdbee6 | |||
|
|
c6f290bb56 | ||
| 49d3b9b96e | |||
| 280beb13cc | |||
| 3bc9351641 | |||
| 16b2c6b42b | |||
| fe31df0ef2 | |||
|
|
4c8681bfe2 | ||
|
|
d330a6ee23 | ||
|
|
b439759e9b | ||
| b11973cb64 | |||
|
|
df9a9a30bb | ||
|
|
2cd02c295f | ||
|
|
278fc1ff9c | ||
|
|
80eac5b957 | ||
|
|
0c9eed4bb7 | ||
|
|
d3d6d0bec7 | ||
|
|
3095510826 | ||
|
|
85e2a60183 | ||
|
|
68bd21b7b0 | ||
|
|
177433a95b | ||
|
|
29ece9072e | ||
|
|
feafa43f32 | ||
|
|
b8f429256f | ||
|
|
2f53d6ae2e | ||
|
|
65237e4d63 | ||
|
|
7533739488 | ||
| c1d31b809b | |||
| 537f3eb6e9 | |||
| f5f99f6e8a | |||
|
|
fc47a1685c | ||
| 383d8df826 | |||
| ebc5a1cbc1 | |||
|
|
0eee799867 | ||
|
|
50dd54cec1 | ||
|
|
6a59bc0e09 | ||
|
|
9e777ceeab | ||
|
|
10636427ed | ||
|
|
a0704038db | ||
| 623f6c0d73 | |||
|
|
622159cba6 | ||
|
|
db26a2c332 | ||
|
|
8ad19cbfa5 | ||
|
|
1895a4b02a | ||
|
|
623898d913 | ||
|
|
a96a4bcaa6 | ||
|
|
a7764847c4 | ||
|
|
fca4f632e4 | ||
|
|
f53d514a47 | ||
| ae9cc2bf3b | |||
| c6a0c73287 | |||
|
|
db32a3e2b2 | ||
|
|
a0a401c42a | ||
| 8161609173 | |||
| a2e6269508 | |||
|
|
72a1c1d853 | ||
| 5c89299ad5 | |||
|
|
26e36bed46 | ||
|
|
8dcbd587ec | ||
|
|
f7a78f9626 | ||
| fbe22fca43 | |||
| bbb9823f1d | |||
| b454858647 | |||
|
|
ad99446b12 | ||
|
|
d3e8c481d2 | ||
| 4e16638c36 | |||
| 6742932862 | |||
| 8b2e59356a | |||
| f9d52c0c3e | |||
| 537d60222f | |||
| 4eb057731f | |||
| 402ae91c33 | |||
| ba632b29ce | |||
| 18edf55d15 | |||
| c347f56e47 | |||
|
|
8f55c13a0c | ||
| 11e9fab482 | |||
|
|
7ee9d839a1 | ||
|
|
78e9b63331 | ||
|
|
879094a6b7 | ||
|
|
6c16cc5432 | ||
|
|
b1eeac0b10 | ||
| 73d0b201f2 | |||
| 1973d095f5 | |||
|
|
f679666d01 | ||
| 0df1d3d5fe | |||
| 54eb1ecc95 | |||
| b7ebccf045 | |||
|
|
4bcf83f551 | ||
|
|
c548f4ab4c | ||
| 2338156a28 | |||
|
|
718b1738a1 | ||
|
|
0fe97ceb24 | ||
|
|
81725651b1 | ||
|
|
4614e166b4 | ||
|
|
bcecd5460b | ||
|
|
719e3723ae | ||
|
|
12d3c2c8e5 | ||
|
|
a719dea05f | ||
|
|
5f98eaf872 | ||
|
|
e3d77f51f1 | ||
| 738f2c5d12 | |||
|
|
29a8c30370 | ||
|
|
99f5febd58 | ||
|
|
0a4b795900 | ||
|
|
8efd632325 | ||
|
|
5a7d7269cd | ||
|
|
4b7c3d89b0 | ||
|
|
e7990bda0a | ||
|
|
a49f10cb5b | ||
| 636f2b0af1 | |||
|
|
640e34816f | ||
|
|
b88eccaad4 | ||
|
|
7b0cb828a7 | ||
|
|
06980ee344 | ||
|
|
cde49042ae | ||
|
|
dae0afef45 | ||
|
|
41b4649d83 | ||
|
|
b068a49b0b | ||
|
|
5acbd10a26 | ||
|
|
da6685df43 | ||
|
|
9c4993feeb | ||
|
|
7666a6c804 | ||
|
|
79302bf7b7 | ||
|
|
a7f199ad4c | ||
|
|
381e3c5355 | ||
|
|
7eef52eb90 | ||
|
|
6235d11eb7 | ||
|
|
ddec450845 | ||
|
|
024b9581c9 | ||
|
|
d58227bd0c | ||
|
|
43dfc2368a | ||
| 9b12eb20c8 | |||
| bacdc170bc | |||
| bb174e6f72 | |||
| ca05420451 | |||
| d0488339d0 | |||
|
|
d0c7d0ba34 | ||
| eb39eb4b19 | |||
| 7a51067b7a |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -74,6 +74,8 @@ Sapfor/Sapc++/Sapc++/x64/
|
|||||||
Sapfor/Sapc++/x64/
|
Sapfor/Sapc++/x64/
|
||||||
|
|
||||||
/build
|
/build
|
||||||
|
/cmake-build-debug
|
||||||
|
|
||||||
Sapfor/out/
|
Sapfor/out/
|
||||||
Sapfor/_bin/*
|
Sapfor/_bin/*
|
||||||
|
_bin/*
|
||||||
|
|||||||
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[submodule "projects/dvm"]
|
||||||
|
path = projects/dvm
|
||||||
|
url = https://dvmguest:dvmguest@dvm.keldysh.ru/dvm-system/dvm
|
||||||
|
[submodule "projects/libpredictor"]
|
||||||
|
path = projects/libpredictor
|
||||||
|
url = https://dvmguest:dvmguest@dvm.keldysh.ru/sapfor/dvm-perfm
|
||||||
188
CMakeLists.txt
188
CMakeLists.txt
@@ -12,40 +12,30 @@ add_definitions("-D SYS5")
|
|||||||
add_definitions("-D YYDEBUG")
|
add_definitions("-D YYDEBUG")
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_C_STANDARD 17)
|
||||||
|
|
||||||
set(fdvm_include projects/dvm/fdvm/trunk/include)
|
set(fdvm_include projects/dvm/fdvmh/include/fdvmh/)
|
||||||
set(fdvm_sources projects//dvm/fdvm/trunk/fdvm/)
|
set(fdvm_sources projects/dvm/fdvmh/tools/fdvmh/)
|
||||||
set(sage_include_1 projects/dvm/fdvm/trunk/Sage/lib/include)
|
set(sage_include_1 projects/dvm/fdvmh/include/sage/lib/)
|
||||||
set(sage_include_2 projects/dvm/fdvm/trunk/Sage/h/)
|
set(sage_include_2 projects/dvm/fdvmh/include/sage/h/)
|
||||||
set(libdb_sources projects/dvm/fdvm/trunk/Sage/lib/oldsrc)
|
set(libdb_sources projects/dvm/fdvmh/lib/sage/db/)
|
||||||
set(sage_sources projects/dvm/fdvm/trunk/Sage/lib/newsrc)
|
set(sage_sources projects/dvm/fdvmh/lib/sage/sage/)
|
||||||
set(sagepp_sources projects/dvm/fdvm/trunk/Sage/Sage++)
|
set(sagepp_sources projects/dvm/fdvmh/lib/sage/sage++/)
|
||||||
set(parser_sources projects/dvm/fdvm/trunk/parser)
|
set(parser_sources projects/dvm/fdvmh/tools/parser/)
|
||||||
set(pppa_sources projects/dvm/tools/pppa/trunk/src)
|
set(pppa_sources projects/dvm/pppa/src/)
|
||||||
set(zlib_sources projects/dvm/tools/Zlib)
|
set(zlib_sources projects/dvm/third-party/Zlib/)
|
||||||
|
set(libpred_sources projects/libpredictor/src/)
|
||||||
# Read pathes to external sapfor directories
|
set(libpred_include projects/libpredictor/include/)
|
||||||
#if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/projects/paths.txt")
|
|
||||||
# message("Found paths.txt, using custom paths.")
|
|
||||||
# FILE(STRINGS ./projects/paths.txt SAPFOR_PATHS)
|
|
||||||
#else ()
|
|
||||||
# message("Not found paths.txt, using default paths.")
|
|
||||||
# FILE(STRINGS ./projects/paths.default.txt SAPFOR_PATHS)
|
|
||||||
#endif ()
|
|
||||||
|
|
||||||
foreach (NameAndValue ${SAPFOR_PATHS})
|
|
||||||
# Strip leading spaces
|
|
||||||
string(REGEX REPLACE "^[ ]+" "" NameAndValue ${NameAndValue})
|
|
||||||
# Find variable name
|
|
||||||
string(REGEX MATCH "^[^=]+" Name ${NameAndValue})
|
|
||||||
# Find the value
|
|
||||||
string(REPLACE "${Name}=" "" Value ${NameAndValue})
|
|
||||||
# Set the variable, note the ../ because we are deeper than the file
|
|
||||||
set(${Name} "${Value}")
|
|
||||||
message("Using ${Name} ${${Name}}")
|
|
||||||
endforeach ()
|
|
||||||
|
|
||||||
include_directories(src)
|
include_directories(src)
|
||||||
|
include_directories(src/Utils)
|
||||||
|
include_directories(src/SgUtils)
|
||||||
|
include_directories(src/Distribution)
|
||||||
|
include_directories(src/GraphCall)
|
||||||
|
include_directories(src/GraphLoop)
|
||||||
|
include_directories(src/Transformations/ExpressionSubstitution)
|
||||||
|
include_directories(src/Transformations)
|
||||||
|
|
||||||
#Sage lib includes
|
#Sage lib includes
|
||||||
include_directories(${fdvm_include})
|
include_directories(${fdvm_include})
|
||||||
include_directories(${sage_include_1})
|
include_directories(${sage_include_1})
|
||||||
@@ -54,6 +44,8 @@ include_directories(${sage_include_2})
|
|||||||
include_directories(${zlib_sources}/include)
|
include_directories(${zlib_sources}/include)
|
||||||
#PPPA includes
|
#PPPA includes
|
||||||
include_directories(${pppa_sources})
|
include_directories(${pppa_sources})
|
||||||
|
#Libpredictor includes
|
||||||
|
include_directories(${libpred_include})
|
||||||
|
|
||||||
set(PR_PARAM src/ProjectParameters/projectParameters.cpp
|
set(PR_PARAM src/ProjectParameters/projectParameters.cpp
|
||||||
src/ProjectParameters/projectParameters.h)
|
src/ProjectParameters/projectParameters.h)
|
||||||
@@ -97,7 +89,8 @@ set(UTILS src/Utils/AstWrapper.h
|
|||||||
src/Utils/utils.h
|
src/Utils/utils.h
|
||||||
src/Utils/version.h
|
src/Utils/version.h
|
||||||
src/Utils/module_utils.h
|
src/Utils/module_utils.h
|
||||||
src/Utils/module_utils.cpp)
|
src/Utils/module_utils.cpp
|
||||||
|
src/Utils/json.hpp)
|
||||||
|
|
||||||
set(OMEGA src/SageAnalysisTool/OmegaForSage/add-assert.cpp
|
set(OMEGA src/SageAnalysisTool/OmegaForSage/add-assert.cpp
|
||||||
src/SageAnalysisTool/OmegaForSage/affine.cpp
|
src/SageAnalysisTool/OmegaForSage/affine.cpp
|
||||||
@@ -129,7 +122,13 @@ set(OMEGA src/SageAnalysisTool/OmegaForSage/add-assert.cpp
|
|||||||
src/SageAnalysisTool/set.cpp)
|
src/SageAnalysisTool/set.cpp)
|
||||||
|
|
||||||
set(PRIV src/PrivateAnalyzer/private_analyzer.cpp
|
set(PRIV src/PrivateAnalyzer/private_analyzer.cpp
|
||||||
src/PrivateAnalyzer/private_analyzer.h)
|
src/PrivateAnalyzer/private_analyzer.h
|
||||||
|
src/PrivateAnalyzer/private_arrays_search.cpp
|
||||||
|
src/PrivateAnalyzer/private_arrays_search.h
|
||||||
|
src/PrivateAnalyzer/range_structures.cpp
|
||||||
|
src/PrivateAnalyzer/range_structures.h
|
||||||
|
src/PrivateAnalyzer/region.cpp
|
||||||
|
src/PrivateAnalyzer/region.h)
|
||||||
|
|
||||||
set(FDVM ${fdvm_sources}/acc.cpp
|
set(FDVM ${fdvm_sources}/acc.cpp
|
||||||
${fdvm_sources}/acc_across.cpp
|
${fdvm_sources}/acc_across.cpp
|
||||||
@@ -164,40 +163,49 @@ set(PARALLEL_REG src/ParallelizationRegions/ParRegions.cpp
|
|||||||
src/ParallelizationRegions/resolve_par_reg_conflicts.cpp
|
src/ParallelizationRegions/resolve_par_reg_conflicts.cpp
|
||||||
src/ParallelizationRegions/resolve_par_reg_conflicts.h)
|
src/ParallelizationRegions/resolve_par_reg_conflicts.h)
|
||||||
|
|
||||||
set(TR_DEAD_CODE src/Transformations/dead_code.cpp
|
set(TR_DEAD_CODE src/Transformations/DeadCodeRemoving/dead_code.cpp
|
||||||
src/Transformations/dead_code.h)
|
src/Transformations/DeadCodeRemoving/dead_code.h)
|
||||||
set(TR_CP src/Transformations/checkpoints.cpp
|
set(TR_CP src/Transformations/CheckPoints/checkpoints.cpp
|
||||||
src/Transformations/checkpoints.h)
|
src/Transformations/CheckPoints/checkpoints.h)
|
||||||
set(TR_VECTOR src/Transformations/array_assign_to_loop.cpp
|
set(TR_VECTOR src/Transformations/VectorAssignToLoop/array_assign_to_loop.cpp
|
||||||
src/Transformations/array_assign_to_loop.h)
|
src/Transformations/VectorAssignToLoop/array_assign_to_loop.h)
|
||||||
set(TR_ENDDO_LOOP src/Transformations/enddo_loop_converter.cpp
|
set(TR_ENDDO_LOOP src/Transformations/LoopEndDoConverter/enddo_loop_converter.cpp
|
||||||
src/Transformations/enddo_loop_converter.h)
|
src/Transformations/LoopEndDoConverter/enddo_loop_converter.h)
|
||||||
set(TR_LOOP_NEST src/Transformations/loop_transform.cpp
|
set(TR_LOOP_NEST src/Transformations/LoopNesting/loop_transform.cpp
|
||||||
src/Transformations/loop_transform.h)
|
src/Transformations/LoopNesting/loop_transform.h)
|
||||||
set(TR_LOOP_COMB src/Transformations/loops_combiner.cpp
|
set(TR_LOOP_COMB src/Transformations/LoopCombining/loops_combiner.cpp
|
||||||
src/Transformations/loops_combiner.h)
|
src/Transformations/LoopCombining/loops_combiner.h)
|
||||||
set(TR_LOOP_SPLIT src/Transformations/loops_splitter.cpp
|
set(TR_LOOP_SPLIT src/Transformations/LoopSplitting/loops_splitter.cpp
|
||||||
src/Transformations/loops_splitter.h)
|
src/Transformations/LoopSplitting/loops_splitter.h)
|
||||||
set(TR_LOOP_UNROLL src/Transformations/loops_unrolling.cpp
|
set(TR_LOOP_UNROLL src/Transformations/LoopUnrolling/loops_unrolling.cpp
|
||||||
src/Transformations/loops_unrolling.h)
|
src/Transformations/LoopUnrolling/loops_unrolling.h)
|
||||||
set(TR_PRIV_BR src/Transformations/private_arrays_resizing.cpp
|
set(TR_PRIV_BR src/Transformations/PrivateArrayResizing/private_arrays_resizing.cpp
|
||||||
src/Transformations/private_arrays_resizing.h)
|
src/Transformations/PrivateArrayResizing/private_arrays_resizing.h)
|
||||||
set(TR_PRIV_DEL src/Transformations/private_removing.cpp
|
set(TR_PRIV_DEL src/Transformations/PrivateArrayRemoving/private_removing.cpp
|
||||||
src/Transformations/private_removing.h)
|
src/Transformations/PrivateArrayRemoving/private_removing.h)
|
||||||
set(TR_SWAP_ARR_DIMS src/Transformations/swap_array_dims.cpp
|
set(TR_SWAP_ARR_DIMS src/Transformations/ArrayDimsSwapping/swap_array_dims.cpp
|
||||||
src/Transformations/swap_array_dims.h)
|
src/Transformations/ArrayDimsSwapping/swap_array_dims.h)
|
||||||
set(TR_FUNC_DUP src/Transformations/uniq_call_chain_dup.cpp
|
set(TR_FUNC_DUP src/Transformations/FunctionDuplication/uniq_call_chain_dup.cpp
|
||||||
src/Transformations/uniq_call_chain_dup.h)
|
src/Transformations/FunctionDuplication/uniq_call_chain_dup.h)
|
||||||
set(TR_FUNC_PURE src/Transformations/function_purifying.cpp
|
set(TR_FUNC_PURE src/Transformations/FunctionPurifying/function_purifying.cpp
|
||||||
src/Transformations/function_purifying.h)
|
src/Transformations/FunctionPurifying/function_purifying.h)
|
||||||
set(TR_GV src/Transformations/fix_common_blocks.cpp
|
set(TR_GV src/Transformations/GlobalVariables/fix_common_blocks.cpp
|
||||||
src/Transformations/fix_common_blocks.h)
|
src/Transformations/GlobalVariables/fix_common_blocks.h)
|
||||||
set(TR_CONV src/Transformations/convert_to_c.cpp
|
set(TR_CONV src/Transformations/ConvertToC/convert_to_c.cpp
|
||||||
src/Transformations/convert_to_c.h)
|
src/Transformations/ConvertToC/convert_to_c.h)
|
||||||
set(TR_IMPLICIT_NONE src/Transformations/set_implicit_none.cpp
|
set(TR_IMPLICIT_NONE src/Transformations/SetImplicitNone/set_implicit_none.cpp
|
||||||
src/Transformations/set_implicit_none.h)
|
src/Transformations/SetImplicitNone/set_implicit_none.h)
|
||||||
set(TR_REPLACE_ARRAYS_IN_IO src/Transformations/replace_dist_arrays_in_io.cpp
|
set(TR_REPLACE_ARRAYS_IN_IO src/Transformations/ReplaceArraysInIO/replace_dist_arrays_in_io.cpp
|
||||||
src/Transformations/replace_dist_arrays_in_io.h)
|
src/Transformations/ReplaceArraysInIO/replace_dist_arrays_in_io.h)
|
||||||
|
set(TR_EXPR_TRANSFORM src/Transformations/ExpressionSubstitution/control_flow_graph_part.cpp
|
||||||
|
src/Transformations/ExpressionSubstitution/expr_transform.cpp
|
||||||
|
src/Transformations/ExpressionSubstitution/expr_transform.h)
|
||||||
|
set(TR_INLINER src/Transformations/FunctionInlining/inliner.cpp
|
||||||
|
src/Transformations/FunctionInlining/inliner.h)
|
||||||
|
set(TR_RENAME_SYMBOLS src/Transformations/RenameSymbols/rename_symbols.cpp
|
||||||
|
src/Transformations/RenameSymbols/rename_symbols.h)
|
||||||
|
SET(TR_SWAP_OPERATORS src/Transformations/SwapOperators/swap_operators.cpp
|
||||||
|
src/Transformations/SwapOperators/swap_operators.h)
|
||||||
|
|
||||||
set(TRANSFORMS
|
set(TRANSFORMS
|
||||||
${TR_DEAD_CODE}
|
${TR_DEAD_CODE}
|
||||||
@@ -217,10 +225,16 @@ set(TRANSFORMS
|
|||||||
${TR_CONV}
|
${TR_CONV}
|
||||||
${TR_PRIV_DEL}
|
${TR_PRIV_DEL}
|
||||||
${TR_IMPLICIT_NONE}
|
${TR_IMPLICIT_NONE}
|
||||||
${TR_REPLACE_ARRAYS_IN_IO})
|
${TR_REPLACE_ARRAYS_IN_IO}
|
||||||
|
${TR_EXPR_TRANSFORM}
|
||||||
|
${TR_INLINER}
|
||||||
|
${TR_RENAME_SYMBOLS}
|
||||||
|
${TR_SWAP_OPERATORS})
|
||||||
|
|
||||||
set(CFG src/CFGraph/IR.cpp
|
set(CFG src/CFGraph/IR.cpp
|
||||||
src/CFGraph/IR.h
|
src/CFGraph/IR.h
|
||||||
|
src/CFGraph/IR_domTree.cpp
|
||||||
|
src/CFGraph/IR_domTree.h
|
||||||
src/CFGraph/CFGraph.cpp
|
src/CFGraph/CFGraph.cpp
|
||||||
src/CFGraph/CFGraph.h
|
src/CFGraph/CFGraph.h
|
||||||
src/CFGraph/RD_subst.cpp
|
src/CFGraph/RD_subst.cpp
|
||||||
@@ -299,10 +313,6 @@ set(DYNA src/DynamicAnalysis/createParallelRegions.cpp
|
|||||||
src/DynamicAnalysis/gCov_parser.cpp
|
src/DynamicAnalysis/gCov_parser.cpp
|
||||||
src/DynamicAnalysis/gCov_parser_func.h)
|
src/DynamicAnalysis/gCov_parser_func.h)
|
||||||
|
|
||||||
set(EXPR_TRANSFORM src/ExpressionTransform/control_flow_graph_part.cpp
|
|
||||||
src/ExpressionTransform/expr_transform.cpp
|
|
||||||
src/ExpressionTransform/expr_transform.h)
|
|
||||||
|
|
||||||
set(GR_CALL src/GraphCall/graph_calls.cpp
|
set(GR_CALL src/GraphCall/graph_calls.cpp
|
||||||
src/GraphCall/graph_calls.h
|
src/GraphCall/graph_calls.h
|
||||||
src/GraphCall/graph_calls_base.cpp
|
src/GraphCall/graph_calls_base.cpp
|
||||||
@@ -313,18 +323,11 @@ set(GR_LOOP src/GraphLoop/graph_loops_base.cpp
|
|||||||
src/GraphLoop/graph_loops.h
|
src/GraphLoop/graph_loops.h
|
||||||
src/GraphLoop/graph_loops_func.h)
|
src/GraphLoop/graph_loops_func.h)
|
||||||
|
|
||||||
set(INLINER src/Inliner/inliner.cpp
|
|
||||||
src/Inliner/inliner.h)
|
|
||||||
|
|
||||||
set(LOOP_ANALYZER src/LoopAnalyzer/allocations_prepoc.cpp
|
set(LOOP_ANALYZER src/LoopAnalyzer/allocations_prepoc.cpp
|
||||||
src/LoopAnalyzer/dep_analyzer.cpp
|
src/LoopAnalyzer/dep_analyzer.cpp
|
||||||
src/LoopAnalyzer/loop_analyzer.cpp
|
src/LoopAnalyzer/loop_analyzer.cpp
|
||||||
src/LoopAnalyzer/loop_analyzer.h)
|
src/LoopAnalyzer/loop_analyzer.h)
|
||||||
|
|
||||||
set(RENAME_SYMBOLS src/RenameSymbols/rename_symbols.cpp
|
|
||||||
src/RenameSymbols/rename_symbols.h)
|
|
||||||
|
|
||||||
|
|
||||||
set(MAIN src/Sapfor.cpp
|
set(MAIN src/Sapfor.cpp
|
||||||
src/Sapfor.h
|
src/Sapfor.h
|
||||||
src/SapforData.h
|
src/SapforData.h
|
||||||
@@ -333,6 +336,15 @@ set(MAIN src/Sapfor.cpp
|
|||||||
set(PREDICTOR src/Predictor/PredictScheme.cpp
|
set(PREDICTOR src/Predictor/PredictScheme.cpp
|
||||||
src/Predictor/PredictScheme.h)
|
src/Predictor/PredictScheme.h)
|
||||||
|
|
||||||
|
set(LIBPREDICTOR ${libpred_sources}/cluster.cpp
|
||||||
|
${libpred_sources}/predictor.cpp
|
||||||
|
${libpred_sources}/transfer.cpp
|
||||||
|
${libpred_sources}/utils.cpp
|
||||||
|
${libpred_include}/libpredict/predictor.h
|
||||||
|
${libpred_include}/internal/cluster.h
|
||||||
|
${libpred_include}/internal/transfer.h
|
||||||
|
${libpred_include}/internal/utils.h)
|
||||||
|
|
||||||
set(PROJ_MAN src/ProjectManipulation/ParseFiles.cpp
|
set(PROJ_MAN src/ProjectManipulation/ParseFiles.cpp
|
||||||
src/ProjectManipulation/ParseFiles.h
|
src/ProjectManipulation/ParseFiles.h
|
||||||
src/ProjectManipulation/StdCapture.h
|
src/ProjectManipulation/StdCapture.h
|
||||||
@@ -405,12 +417,9 @@ set(SOURCE_EXE
|
|||||||
${DISTR}
|
${DISTR}
|
||||||
${DVMH_REG}
|
${DVMH_REG}
|
||||||
${DYNA}
|
${DYNA}
|
||||||
${EXPR_TRANSFORM}
|
|
||||||
${GR_CALL}
|
${GR_CALL}
|
||||||
${GR_LOOP}
|
${GR_LOOP}
|
||||||
${INLINER}
|
|
||||||
${LOOP_ANALYZER}
|
${LOOP_ANALYZER}
|
||||||
${RENAME_SYMBOLS}
|
|
||||||
${TRANSFORMS}
|
${TRANSFORMS}
|
||||||
${PARALLEL_REG}
|
${PARALLEL_REG}
|
||||||
${PRIV}
|
${PRIV}
|
||||||
@@ -421,6 +430,7 @@ set(SOURCE_EXE
|
|||||||
${VS_CALLS}
|
${VS_CALLS}
|
||||||
${MAIN}
|
${MAIN}
|
||||||
${PREDICTOR}
|
${PREDICTOR}
|
||||||
|
${LIBPREDICTOR}
|
||||||
${PARSER}
|
${PARSER}
|
||||||
${PPPA}
|
${PPPA}
|
||||||
${ZLIB}
|
${ZLIB}
|
||||||
@@ -433,7 +443,7 @@ source_group (CFGraph FILES ${CFG})
|
|||||||
source_group (CFGraph\\DataFlow FILES ${DATA_FLOW})
|
source_group (CFGraph\\DataFlow FILES ${DATA_FLOW})
|
||||||
|
|
||||||
source_group (Transformations\\DeadCodeRemoving FILES ${TR_DEAD_CODE})
|
source_group (Transformations\\DeadCodeRemoving FILES ${TR_DEAD_CODE})
|
||||||
source_group (Transformations\\ExpressionSubstitution FILES ${EXPR_TRANSFORM})
|
source_group (Transformations\\ExpressionSubstitution FILES ${TR_EXPR_TRANSFORM})
|
||||||
source_group (Transformations\\CheckPoints FILES ${TR_CP})
|
source_group (Transformations\\CheckPoints FILES ${TR_CP})
|
||||||
source_group (Transformations\\LoopEndDoConverter FILES ${TR_ENDDO_LOOP})
|
source_group (Transformations\\LoopEndDoConverter FILES ${TR_ENDDO_LOOP})
|
||||||
source_group (Transformations\\LoopNesting FILES ${TR_LOOP_NEST})
|
source_group (Transformations\\LoopNesting FILES ${TR_LOOP_NEST})
|
||||||
@@ -441,17 +451,18 @@ source_group (Transformations\\LoopCombining FILES ${TR_LOOP_COMB})
|
|||||||
source_group (Transformations\\LoopSplitting FILES ${TR_LOOP_SPLIT})
|
source_group (Transformations\\LoopSplitting FILES ${TR_LOOP_SPLIT})
|
||||||
source_group (Transformations\\LoopUnrolling FILES ${TR_LOOP_UNROLL})
|
source_group (Transformations\\LoopUnrolling FILES ${TR_LOOP_UNROLL})
|
||||||
source_group (Transformations\\FunctionDuplication FILES ${TR_FUNC_DUP})
|
source_group (Transformations\\FunctionDuplication FILES ${TR_FUNC_DUP})
|
||||||
source_group (Transformations\\FunctionInlining FILES ${INLINER})
|
source_group (Transformations\\FunctionInlining FILES ${TR_INLINER})
|
||||||
source_group (Transformations\\FunctionPurifying FILES ${TR_FUNC_PURE})
|
source_group (Transformations\\FunctionPurifying FILES ${TR_FUNC_PURE})
|
||||||
source_group (Transformations\\ArrayDimsSwapping FILES ${TR_SWAP_ARR_DIMS})
|
source_group (Transformations\\ArrayDimsSwapping FILES ${TR_SWAP_ARR_DIMS})
|
||||||
source_group (Transformations\\PrivateArrayResizing FILES ${TR_PRIV_BR})
|
source_group (Transformations\\PrivateArrayResizing FILES ${TR_PRIV_BR})
|
||||||
source_group (Transformations\\PrivateArrayRemoving FILES ${TR_PRIV_DEL})
|
source_group (Transformations\\PrivateArrayRemoving FILES ${TR_PRIV_DEL})
|
||||||
source_group (Transformations\\VectorAssignToLoop FILES ${TR_VECTOR})
|
source_group (Transformations\\VectorAssignToLoop FILES ${TR_VECTOR})
|
||||||
source_group (Transformations\\RenameSymbols FILES ${RENAME_SYMBOLS})
|
source_group (Transformations\\RenameSymbols FILES ${TR_RENAME_SYMBOLS})
|
||||||
source_group (Transformations\\GlobalVariables FILES ${TR_GV})
|
source_group (Transformations\\GlobalVariables FILES ${TR_GV})
|
||||||
source_group (Transformations\\ConvertToC FILES ${TR_CONV})
|
source_group (Transformations\\ConvertToC FILES ${TR_CONV})
|
||||||
source_group (Transformations\\SetImplicitNone FILES ${TR_IMPLICIT_NONE})
|
source_group (Transformations\\SetImplicitNone FILES ${TR_IMPLICIT_NONE})
|
||||||
source_group (Transformations\\ReplaceArraysInIO FILES ${TR_REPLACE_ARRAYS_IN_IO})
|
source_group (Transformations\\ReplaceArraysInIO FILES ${TR_REPLACE_ARRAYS_IN_IO})
|
||||||
|
source_group (Transformations\\SwapOperators FILES ${TR_SWAP_OPERATORS})
|
||||||
|
|
||||||
|
|
||||||
source_group (CreateIntervals FILES ${CREATE_INTER_T})
|
source_group (CreateIntervals FILES ${CREATE_INTER_T})
|
||||||
@@ -475,7 +486,8 @@ source_group (VisualizerCalls FILES ${VS_CALLS})
|
|||||||
source_group (VisualizerCalls\\GraphLayout FILES ${GR_LAYOUT})
|
source_group (VisualizerCalls\\GraphLayout FILES ${GR_LAYOUT})
|
||||||
|
|
||||||
source_group (_SapforMain FILES ${MAIN})
|
source_group (_SapforMain FILES ${MAIN})
|
||||||
source_group (Predictor FILES ${PREDICTOR})
|
source_group (Predictor\\Analyzer FILES ${PREDICTOR})
|
||||||
|
source_group (Predictor\\Library FILES ${LIBPREDICTOR})
|
||||||
source_group (Parser FILES ${PARSER})
|
source_group (Parser FILES ${PARSER})
|
||||||
source_group (PPPA\\PPPA FILES ${PPPA})
|
source_group (PPPA\\PPPA FILES ${PPPA})
|
||||||
source_group (PPPA\\ZLib FILES ${ZLIB})
|
source_group (PPPA\\ZLib FILES ${ZLIB})
|
||||||
@@ -488,7 +500,9 @@ else()
|
|||||||
else()
|
else()
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
if(NOT CMAKE_BUILD_TYPE)
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_subdirectory(projects/Fdvm)
|
add_subdirectory(projects/Fdvm)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# Общие правила по работе с SAPFOR #
|
# Общие правила по работе с SAPFOR #
|
||||||
Перед началом работы с репозиторием необходимо убрать настройку git по автоматической замене LF -> CRLF
|
Перед началом работы с репозиторием необходимо выставить настройку git по автоматической замене LF -> CRLF
|
||||||
|
|
||||||
* либо командой git config --global core.autocrlf false
|
* либо командой git config --global core.autocrlf true
|
||||||
* либо командой git config --local core.autocrlf false
|
* либо командой git config --local core.autocrlf true
|
||||||
|
|
||||||
Инструкция по SAPFOR находится в Вики этого репозитория.
|
Инструкция по SAPFOR находится в Вики этого репозитория.
|
||||||
|
|
||||||
|
|||||||
@@ -11,15 +11,16 @@ message("processing ${project}")
|
|||||||
|
|
||||||
# Read pathes to external sapfor directories
|
# Read pathes to external sapfor directories
|
||||||
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../paths.txt")
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../paths.txt")
|
||||||
message("Found paths.txt, using custom paths.")
|
# message("Found paths.txt, using custom paths.")
|
||||||
FILE(STRINGS ../paths.txt SAPFOR_PATHS)
|
FILE(STRINGS ../paths.txt SAPFOR_PATHS)
|
||||||
else ()
|
else ()
|
||||||
message("Not found paths.txt, using default paths.")
|
# message("Not found paths.txt, using default paths.")
|
||||||
FILE(STRINGS ../paths.default.txt SAPFOR_PATHS)
|
FILE(STRINGS ../paths.default.txt SAPFOR_PATHS)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
foreach (NameAndValue ${SAPFOR_PATHS})
|
foreach (NameAndValue ${SAPFOR_PATHS})
|
||||||
# Strip leading spaces
|
# Strip leading spaces
|
||||||
string(REGEX REPLACE "^[ ]+" "" NameAndValue ${NameAndValue})
|
string(REGEX REPLACE "^[ ]+" "" NameAndValue ${NameAndValue})
|
||||||
# Find variable name
|
# Find variable name
|
||||||
string(REGEX MATCH "^[^=]+" Name ${NameAndValue})
|
string(REGEX MATCH "^[^=]+" Name ${NameAndValue})
|
||||||
# Find the value
|
# Find the value
|
||||||
@@ -32,8 +33,9 @@ set(SOURCE_LIB
|
|||||||
${sagepp_sources}/libSage++.cpp
|
${sagepp_sources}/libSage++.cpp
|
||||||
${sage_include_1}/libSage++.h)
|
${sage_include_1}/libSage++.h)
|
||||||
|
|
||||||
|
# if not default ${sagepp_sources} must be set in ../paths.tx
|
||||||
|
file(GLOB FDVM_HEADERS ${fdvm_include}/*.h)
|
||||||
|
|
||||||
# if not default ${sagepp_sources} must be set in ../paths.txt
|
|
||||||
set(SOURCE_EXE
|
set(SOURCE_EXE
|
||||||
${fdvm_sources}/acc.cpp
|
${fdvm_sources}/acc.cpp
|
||||||
${fdvm_sources}/acc_across.cpp
|
${fdvm_sources}/acc_across.cpp
|
||||||
@@ -58,7 +60,8 @@ set(SOURCE_EXE
|
|||||||
${fdvm_sources}/omp.cpp
|
${fdvm_sources}/omp.cpp
|
||||||
${fdvm_sources}/ompdebug.cpp
|
${fdvm_sources}/ompdebug.cpp
|
||||||
${fdvm_sources}/parloop.cpp
|
${fdvm_sources}/parloop.cpp
|
||||||
${fdvm_sources}/stmt.cpp)
|
${fdvm_sources}/stmt.cpp
|
||||||
|
${FDVM_HEADERS})
|
||||||
|
|
||||||
source_group (SageLib FILES ${SOURCE_LIB})
|
source_group (SageLib FILES ${SOURCE_LIB})
|
||||||
|
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ message("processing ${project}")
|
|||||||
|
|
||||||
# Read pathes to external sapfor directories
|
# Read pathes to external sapfor directories
|
||||||
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../paths.txt")
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../paths.txt")
|
||||||
message("Found paths.txt, using custom paths.")
|
# message("Found paths.txt, using custom paths.")
|
||||||
FILE(STRINGS ../paths.txt SAPFOR_PATHS)
|
FILE(STRINGS ../paths.txt SAPFOR_PATHS)
|
||||||
else ()
|
else ()
|
||||||
message("Not found paths.txt, using default paths.")
|
# message("Not found paths.txt, using default paths.")
|
||||||
FILE(STRINGS ../paths.default.txt SAPFOR_PATHS)
|
FILE(STRINGS ../paths.default.txt SAPFOR_PATHS)
|
||||||
endif ()
|
endif ()
|
||||||
foreach (NameAndValue ${SAPFOR_PATHS})
|
foreach (NameAndValue ${SAPFOR_PATHS})
|
||||||
@@ -29,6 +29,8 @@ foreach (NameAndValue ${SAPFOR_PATHS})
|
|||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
||||||
# if not default ${sagepp_sources} must be set in ../paths.txt
|
# if not default ${sagepp_sources} must be set in ../paths.txt
|
||||||
|
file(GLOB PARSER_HEADERS ${parser_sources}/*.h)
|
||||||
|
|
||||||
set(SOURCE_EXE
|
set(SOURCE_EXE
|
||||||
${parser_sources}/cftn.c
|
${parser_sources}/cftn.c
|
||||||
${parser_sources}/errors.c
|
${parser_sources}/errors.c
|
||||||
@@ -43,9 +45,9 @@ set(SOURCE_EXE
|
|||||||
${parser_sources}/sym.c
|
${parser_sources}/sym.c
|
||||||
${parser_sources}/types.c
|
${parser_sources}/types.c
|
||||||
${parser_sources}/unparse_hpf.c
|
${parser_sources}/unparse_hpf.c
|
||||||
)
|
${PARSER_HEADERS})
|
||||||
|
|
||||||
# if not default ${fdvm_include}, ${sage_include_1}, ${sage_include_2} must be set in ../paths.txt
|
# if not default ${fdvm_include} ${sage_include_1}, ${sage_include_2} must be set in ../paths.txt
|
||||||
include_directories(${fdvm_include} ${sage_include_1} ${sage_include_2})
|
include_directories(${fdvm_include} ${sage_include_1} ${sage_include_2})
|
||||||
add_executable(Parser ${SOURCE_EXE})
|
add_executable(Parser ${SOURCE_EXE})
|
||||||
|
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ message("processing ${project}")
|
|||||||
|
|
||||||
# Read pathes to external sapfor directories
|
# Read pathes to external sapfor directories
|
||||||
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../paths.txt")
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../paths.txt")
|
||||||
message("Found paths.txt, using custom paths.")
|
# message("Found paths.txt, using custom paths.")
|
||||||
FILE(STRINGS ../paths.txt SAPFOR_PATHS)
|
FILE(STRINGS ../paths.txt SAPFOR_PATHS)
|
||||||
else ()
|
else ()
|
||||||
message("Not found paths.txt, using default paths.")
|
# message("Not found paths.txt, using default paths.")
|
||||||
FILE(STRINGS ../paths.default.txt SAPFOR_PATHS)
|
FILE(STRINGS ../paths.default.txt SAPFOR_PATHS)
|
||||||
endif ()
|
endif ()
|
||||||
foreach (NameAndValue ${SAPFOR_PATHS})
|
foreach (NameAndValue ${SAPFOR_PATHS})
|
||||||
@@ -33,8 +33,8 @@ set(SOURCE_LIB
|
|||||||
${sage_include_1}/libSage++.h
|
${sage_include_1}/libSage++.h
|
||||||
)
|
)
|
||||||
|
|
||||||
# if not default ${fdvm_include}, ${sage_include_1}, ${sage_include_2} must be set in ../paths.txt
|
# if not default ${sage_include_1}, ${sage_include_2} must be set in ../paths.txt
|
||||||
include_directories(${fdvm_include} ${sage_include_1} ${sage_include_2})
|
include_directories(${sage_include_1} ${sage_include_2})
|
||||||
add_library(SageLib STATIC ${SOURCE_LIB})
|
add_library(SageLib STATIC ${SOURCE_LIB})
|
||||||
|
|
||||||
add_subdirectory(../SageOldSrc ${CMAKE_CURRENT_BINARY_DIR}/SageOldSrc)
|
add_subdirectory(../SageOldSrc ${CMAKE_CURRENT_BINARY_DIR}/SageOldSrc)
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ message("processing ${project}")
|
|||||||
|
|
||||||
# Read pathes to external sapfor directories
|
# Read pathes to external sapfor directories
|
||||||
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../paths.txt")
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../paths.txt")
|
||||||
message("Found paths.txt, using custom paths.")
|
# message("Found paths.txt, using custom paths.")
|
||||||
FILE(STRINGS ../paths.txt SAPFOR_PATHS)
|
FILE(STRINGS ../paths.txt SAPFOR_PATHS)
|
||||||
else ()
|
else ()
|
||||||
message("Not found paths.txt, using default paths.")
|
# message("Not found paths.txt, using default paths.")
|
||||||
FILE(STRINGS ../paths.default.txt SAPFOR_PATHS)
|
FILE(STRINGS ../paths.default.txt SAPFOR_PATHS)
|
||||||
endif ()
|
endif ()
|
||||||
foreach (NameAndValue ${SAPFOR_PATHS})
|
foreach (NameAndValue ${SAPFOR_PATHS})
|
||||||
@@ -29,16 +29,20 @@ foreach (NameAndValue ${SAPFOR_PATHS})
|
|||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
||||||
# if not default ${sage_sources} must be set in ../paths.txt
|
# if not default ${sage_sources} must be set in ../paths.txt
|
||||||
|
file(GLOB SAGE_HEADERS1 ${sage_include_1}/*.h)
|
||||||
|
file(GLOB SAGE_HEADERS2 ${sage_include_2}/*.h)
|
||||||
|
|
||||||
set(SOURCE_LIB
|
set(SOURCE_LIB
|
||||||
${sage_sources}/annotate.tab.c
|
${sage_sources}/annotate.tab.c
|
||||||
${sage_sources}/comments.c
|
${sage_sources}/comments.c
|
||||||
${sage_sources}/low_level.c
|
${sage_sources}/low_level.c
|
||||||
${sage_sources}/toolsann.c
|
${sage_sources}/toolsann.c
|
||||||
${sage_sources}/unparse.c
|
${sage_sources}/unparse.c
|
||||||
)
|
${SAGE_HEADERS1}
|
||||||
|
${SAGE_HEADERS2})
|
||||||
|
|
||||||
# if not default ${fdvm_include}, ${sage_include_1}, ${sage_include_2} must be set in ../paths.txt
|
# if not default ${sage_include_1}, ${sage_include_2} must be set in ../paths.txt
|
||||||
include_directories(${fdvm_include} ${sage_include_1} ${sage_include_2})
|
include_directories(${sage_include_1} ${sage_include_2})
|
||||||
add_library(SageNewSrc STATIC ${SOURCE_LIB})
|
add_library(SageNewSrc STATIC ${SOURCE_LIB})
|
||||||
|
|
||||||
add_subdirectory(../SageOldSrc ${CMAKE_CURRENT_BINARY_DIR}/SageOldSrc)
|
add_subdirectory(../SageOldSrc ${CMAKE_CURRENT_BINARY_DIR}/SageOldSrc)
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ message("processing ${project}")
|
|||||||
|
|
||||||
# Read pathes to external sapfor directories
|
# Read pathes to external sapfor directories
|
||||||
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../paths.txt")
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../paths.txt")
|
||||||
message("Found paths.txt, using custom paths.")
|
# message("Found paths.txt, using custom paths.")
|
||||||
FILE(STRINGS ../paths.txt SAPFOR_PATHS)
|
FILE(STRINGS ../paths.txt SAPFOR_PATHS)
|
||||||
else ()
|
else ()
|
||||||
message("Not found paths.txt, using default paths.")
|
# message("Not found paths.txt, using default paths.")
|
||||||
FILE(STRINGS ../paths.default.txt SAPFOR_PATHS)
|
FILE(STRINGS ../paths.default.txt SAPFOR_PATHS)
|
||||||
endif ()
|
endif ()
|
||||||
foreach (NameAndValue ${SAPFOR_PATHS})
|
foreach (NameAndValue ${SAPFOR_PATHS})
|
||||||
@@ -28,6 +28,9 @@ foreach (NameAndValue ${SAPFOR_PATHS})
|
|||||||
set(${Name} "../${Value}")
|
set(${Name} "../${Value}")
|
||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
||||||
|
file(GLOB SAGE_HEADERS1 ${sage_include_1}/*.h)
|
||||||
|
file(GLOB SAGE_HEADERS2 ${sage_include_2}/*.h)
|
||||||
|
|
||||||
# if not default ${libdb_sources} must be set in ../paths.txt
|
# if not default ${libdb_sources} must be set in ../paths.txt
|
||||||
set(SOURCE_LIB
|
set(SOURCE_LIB
|
||||||
${libdb_sources}/anal_ind.c
|
${libdb_sources}/anal_ind.c
|
||||||
@@ -48,10 +51,11 @@ set(SOURCE_LIB
|
|||||||
${libdb_sources}/setutils.c
|
${libdb_sources}/setutils.c
|
||||||
${libdb_sources}/symb_alg.c
|
${libdb_sources}/symb_alg.c
|
||||||
${libdb_sources}/writenodes.c
|
${libdb_sources}/writenodes.c
|
||||||
)
|
${SAGE_HEADERS1}
|
||||||
|
${SAGE_HEADERS2})
|
||||||
|
|
||||||
# if not default ${fdvm_include}, ${sage_include_1}, ${sage_include_2} must be set in ../paths.txt
|
# if not default ${sage_include_1}, ${sage_include_2} must be set in ../paths.txt
|
||||||
include_directories(${fdvm_include} ${sage_include_1} ${sage_include_2})
|
include_directories(${sage_include_1} ${sage_include_2})
|
||||||
add_library(SageOldSrc STATIC ${SOURCE_LIB})
|
add_library(SageOldSrc STATIC ${SOURCE_LIB})
|
||||||
|
|
||||||
if (MSVC_IDE)
|
if (MSVC_IDE)
|
||||||
|
|||||||
161
projects/Sapc++/Sapc++/Sapc++.vcxproj
Normal file
161
projects/Sapc++/Sapc++/Sapc++.vcxproj
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<VCProjectVersion>15.0</VCProjectVersion>
|
||||||
|
<ProjectGuid>{DF2410E0-8B0A-420D-AC01-5DAFC460C816}</ProjectGuid>
|
||||||
|
<RootNamespace>Sapc</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="Shared">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<IncludePath>..\..\src;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<IncludePath>..\..\src;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;__SPC;_CRT_NON_CONFORMING_SWPRINTFS;</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;__SPC;_CRT_NON_CONFORMING_SWPRINTFS;</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\src\DirectiveProcessing\directive_analyzer.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\DirectiveProcessing\directive_creator_base.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\DirectiveProcessing\remote_access_base.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\Distribution\Array.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\Distribution\CreateDistributionDirs.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\Distribution\Cycle.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\Distribution\Distribution.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\Distribution\DvmhDirectiveBase.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\Distribution\GraphCSR.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\GraphCall\graph_calls_base.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\GraphLoop\graph_loops_base.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\Utils\utils.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\src\DirectiveProcessing\directive_analyzer.h" />
|
||||||
|
<ClInclude Include="..\..\src\Distribution\Array.h" />
|
||||||
|
<ClInclude Include="..\..\src\Distribution\Arrays.h" />
|
||||||
|
<ClInclude Include="..\..\src\Distribution\CreateDistributionDirs.h" />
|
||||||
|
<ClInclude Include="..\..\src\Distribution\Cycle.h" />
|
||||||
|
<ClInclude Include="..\..\src\Distribution\Distribution.h" />
|
||||||
|
<ClInclude Include="..\..\src\Distribution\DvmhDirective.h" />
|
||||||
|
<ClInclude Include="..\..\src\Distribution\DvmhDirectiveBase.h" />
|
||||||
|
<ClInclude Include="..\..\src\Distribution\GraphCSR.h" />
|
||||||
|
<ClInclude Include="..\..\src\GraphCall\graph_calls.h" />
|
||||||
|
<ClInclude Include="..\..\src\GraphLoop\graph_loops.h" />
|
||||||
|
<ClInclude Include="..\..\src\LoopAnalyzer\directive_creator.h" />
|
||||||
|
<ClInclude Include="..\..\src\LoopAnalyzer\remote_access.h" />
|
||||||
|
<ClInclude Include="..\..\src\LoopConverter\loop_transform.h" />
|
||||||
|
<ClInclude Include="..\..\src\ParallelizationRegions\ParRegions.h" />
|
||||||
|
<ClInclude Include="..\..\src\Sapfor.h" />
|
||||||
|
<ClInclude Include="..\..\src\Utils\utils.h" />
|
||||||
|
<ClInclude Include="..\..\src\VisualizerCalls\SendMessage.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
150
projects/Sapc++/Sapc++/Sapc++.vcxproj.filters
Normal file
150
projects/Sapc++/Sapc++/Sapc++.vcxproj.filters
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Исходные файлы">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Файлы заголовков">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Файлы ресурсов">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Исходные файлы\Distribution">
|
||||||
|
<UniqueIdentifier>{803b433b-ef2b-461c-bcdf-40587ac27031}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Файлы заголовков\Distribution">
|
||||||
|
<UniqueIdentifier>{9bbb0a2e-36f6-4736-8fa2-3f260e2df36c}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Файлы заголовков\GraphCall">
|
||||||
|
<UniqueIdentifier>{ed7a5083-8582-4f54-bcf2-fd6d393bdae8}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Файлы заголовков\GraphLoop">
|
||||||
|
<UniqueIdentifier>{0fc93dbd-8ac8-47fe-a5c9-26ad308f0197}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Исходные файлы\GraphLoop">
|
||||||
|
<UniqueIdentifier>{c06f742b-74c2-454e-b221-fa3924b6b4a3}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Исходные файлы\ParallelRegions">
|
||||||
|
<UniqueIdentifier>{a7d01b3a-ec98-48a0-8ba8-982b9d886b74}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Исходные файлы\Utils">
|
||||||
|
<UniqueIdentifier>{e6073352-1994-4bd6-87ba-662199402c45}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Файлы заголовков\Utils">
|
||||||
|
<UniqueIdentifier>{b5cb7e95-4314-488a-abec-8aa3d48d490b}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Исходные файлы\GraphCall">
|
||||||
|
<UniqueIdentifier>{9da92901-a281-4cd6-b61c-0390a02b09a8}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Исходные файлы\DirectiveAnalyzer">
|
||||||
|
<UniqueIdentifier>{f9d091f4-532b-4572-9e9a-5f80b8e012c4}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Исходные файлы\LoopAnalyzer">
|
||||||
|
<UniqueIdentifier>{87d2a4f0-26c0-45a2-acd0-992c9f1be1bc}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Файлы заголовков\CodeConverter">
|
||||||
|
<UniqueIdentifier>{e59c7920-1b24-4a95-9890-192e90bc0181}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Файлы заголовков\VisualizerCalls">
|
||||||
|
<UniqueIdentifier>{b5e5bfbb-6553-4e1a-a4a1-b60f62307e26}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\_src\Distribution\CreateDistributionDirs.cpp">
|
||||||
|
<Filter>Исходные файлы\Distribution</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\_src\Distribution\Cycle.cpp">
|
||||||
|
<Filter>Исходные файлы\Distribution</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\_src\Distribution\Distribution.cpp">
|
||||||
|
<Filter>Исходные файлы\Distribution</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\_src\Distribution\DvmhDirectiveBase.cpp">
|
||||||
|
<Filter>Исходные файлы\Distribution</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\_src\Distribution\GraphCSR.cpp">
|
||||||
|
<Filter>Исходные файлы\Distribution</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\_src\GraphLoop\graph_loops_base.cpp">
|
||||||
|
<Filter>Исходные файлы\GraphLoop</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\_src\Utils\utils.cpp">
|
||||||
|
<Filter>Исходные файлы\Utils</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\_src\GraphCall\graph_calls_base.cpp">
|
||||||
|
<Filter>Исходные файлы\GraphCall</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\_src\Distribution\Array.cpp">
|
||||||
|
<Filter>Файлы заголовков\Distribution</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\_src\DirectiveProcessing\directive_analyzer.cpp">
|
||||||
|
<Filter>Исходные файлы\DirectiveAnalyzer</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\_src\DirectiveProcessing\directive_creator_base.cpp">
|
||||||
|
<Filter>Исходные файлы\LoopAnalyzer</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\_src\DirectiveProcessing\remote_access_base.cpp">
|
||||||
|
<Filter>Исходные файлы\LoopAnalyzer</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\_src\Distribution\Array.h">
|
||||||
|
<Filter>Файлы заголовков\Distribution</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\Distribution\Arrays.h">
|
||||||
|
<Filter>Файлы заголовков\Distribution</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\Distribution\CreateDistributionDirs.h">
|
||||||
|
<Filter>Файлы заголовков\Distribution</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\Distribution\Cycle.h">
|
||||||
|
<Filter>Файлы заголовков\Distribution</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\Distribution\Distribution.h">
|
||||||
|
<Filter>Файлы заголовков\Distribution</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\Distribution\DvmhDirectiveBase.h">
|
||||||
|
<Filter>Файлы заголовков\Distribution</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\Distribution\GraphCSR.h">
|
||||||
|
<Filter>Файлы заголовков\Distribution</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\GraphCall\graph_calls.h">
|
||||||
|
<Filter>Файлы заголовков\GraphCall</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\ParallelizationRegions\ParRegions.h">
|
||||||
|
<Filter>Исходные файлы\ParallelRegions</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\GraphLoop\graph_loops.h">
|
||||||
|
<Filter>Файлы заголовков\GraphLoop</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\Distribution\DvmhDirective.h">
|
||||||
|
<Filter>Файлы заголовков\Distribution</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\Utils\utils.h">
|
||||||
|
<Filter>Файлы заголовков\Utils</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\Sapfor.h">
|
||||||
|
<Filter>Файлы заголовков</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\LoopAnalyzer\directive_creator.h">
|
||||||
|
<Filter>Исходные файлы\LoopAnalyzer</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\LoopConverter\loop_transform.h">
|
||||||
|
<Filter>Файлы заголовков\CodeConverter</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\VisualizerCalls\SendMessage.h">
|
||||||
|
<Filter>Файлы заголовков\VisualizerCalls</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\LoopAnalyzer\remote_access.h">
|
||||||
|
<Filter>Исходные файлы\LoopAnalyzer</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\_src\DirectiveProcessing\directive_analyzer.h">
|
||||||
|
<Filter>Исходные файлы\DirectiveAnalyzer</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
31
projects/Server/server.sln
Normal file
31
projects/Server/server.sln
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 16
|
||||||
|
VisualStudioVersion = 16.0.29411.108
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server", "server\server.vcxproj", "{1D412171-922E-430B-B11C-38E29A98EC62}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{1D412171-922E-430B-B11C-38E29A98EC62}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{1D412171-922E-430B-B11C-38E29A98EC62}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{1D412171-922E-430B-B11C-38E29A98EC62}.Debug|x86.ActiveCfg = Debug|Win32
|
||||||
|
{1D412171-922E-430B-B11C-38E29A98EC62}.Debug|x86.Build.0 = Debug|Win32
|
||||||
|
{1D412171-922E-430B-B11C-38E29A98EC62}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{1D412171-922E-430B-B11C-38E29A98EC62}.Release|x64.Build.0 = Release|x64
|
||||||
|
{1D412171-922E-430B-B11C-38E29A98EC62}.Release|x86.ActiveCfg = Release|Win32
|
||||||
|
{1D412171-922E-430B-B11C-38E29A98EC62}.Release|x86.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {480AF568-6C59-432A-95B1-CBE56AF6FD27}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
BIN
projects/Server/server/icon3.ico
Normal file
BIN
projects/Server/server/icon3.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 117 KiB |
19
projects/Server/server/resource.h
Normal file
19
projects/Server/server/resource.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
//{{NO_DEPENDENCIES}}
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Microsoft Visual C++.
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> server.rc
|
||||||
|
//
|
||||||
|
#define IDI_ICON1 101
|
||||||
|
#define IDI_ICON2 102
|
||||||
|
#define IDI_ICON3 103
|
||||||
|
#define IDB_PNG1 104
|
||||||
|
|
||||||
|
// Next default values for new objects
|
||||||
|
//
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
#define _APS_NEXT_RESOURCE_VALUE 105
|
||||||
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
|
#define _APS_NEXT_CONTROL_VALUE 1001
|
||||||
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
72
projects/Server/server/server.rc
Normal file
72
projects/Server/server/server.rc
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
// Microsoft Visual C++ generated resource script.
|
||||||
|
//
|
||||||
|
#pragma code_page(65001)
|
||||||
|
|
||||||
|
#include "resource.h"
|
||||||
|
|
||||||
|
#define APSTUDIO_READONLY_SYMBOLS
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Generated from the TEXTINCLUDE 2 resource.
|
||||||
|
//
|
||||||
|
#include "winres.h"
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
#undef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Русский (Россия) resources
|
||||||
|
|
||||||
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
|
||||||
|
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||||
|
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// TEXTINCLUDE
|
||||||
|
//
|
||||||
|
|
||||||
|
1 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"resource.h\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
2 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"#include ""winres.h""\r\n"
|
||||||
|
"\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
3 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"\r\n"
|
||||||
|
"\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Icon
|
||||||
|
//
|
||||||
|
|
||||||
|
// Icon with lowest ID value placed first to ensure application icon
|
||||||
|
// remains consistent on all systems.
|
||||||
|
IDI_ICON3 ICON "icon3.ico"
|
||||||
|
|
||||||
|
#endif // Русский (Россия) resources
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef APSTUDIO_INVOKED
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Generated from the TEXTINCLUDE 3 resource.
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
#endif // not APSTUDIO_INVOKED
|
||||||
|
|
||||||
152
projects/Server/server/server.vcxproj
Normal file
152
projects/Server/server/server.vcxproj
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<VCProjectVersion>16.0</VCProjectVersion>
|
||||||
|
<ProjectGuid>{1D412171-922E-430B-B11C-38E29A98EC62}</ProjectGuid>
|
||||||
|
<RootNamespace>server</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="Shared">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<TargetName>Visualizer_2</TargetName>
|
||||||
|
<IncludePath>C:\local\boost_1_74_0;$(IncludePath)</IncludePath>
|
||||||
|
<LibraryPath>C:\local\boost_1_74_0\lib64-msvc-14.2;$(LibraryPath)</LibraryPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<TargetName>Visualizer_2</TargetName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="resource.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="server.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Image Include="icon3.ico" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\src\Server\checkUniq.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\src\Server\server.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
40
projects/Server/server/server.vcxproj.filters
Normal file
40
projects/Server/server/server.vcxproj.filters
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Исходные файлы">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Файлы заголовков">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Файлы ресурсов">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="resource.h">
|
||||||
|
<Filter>Файлы заголовков</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="server.rc">
|
||||||
|
<Filter>Файлы ресурсов</Filter>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Image Include="icon3.ico">
|
||||||
|
<Filter>Файлы ресурсов</Filter>
|
||||||
|
</Image>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\src\Server\checkUniq.cpp">
|
||||||
|
<Filter>Исходные файлы</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\src\Server\server.cpp">
|
||||||
|
<Filter>Исходные файлы</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
1
projects/dvm
Submodule
1
projects/dvm
Submodule
Submodule projects/dvm added at 4b7ef11871
@@ -1 +0,0 @@
|
|||||||
add_subdirectory(trunk)
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
set(DVM_FORTRAN_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
|
||||||
|
|
||||||
add_subdirectory(Sage)
|
|
||||||
add_subdirectory(parser)
|
|
||||||
add_subdirectory(fdvm)
|
|
||||||
add_subdirectory(InlineExpansion)
|
|
||||||
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
set(INLINE_SOURCES inl_exp.cpp inliner.cpp hlp.cpp)
|
|
||||||
|
|
||||||
if(MSVC_IDE)
|
|
||||||
file(GLOB_RECURSE INLINE_HEADERS RELATIVE
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR} *.h)
|
|
||||||
foreach(DIR ${DVM_FORTRAN_INCLUDE_DIRS})
|
|
||||||
file(GLOB_RECURSE FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${DIR}/*.h")
|
|
||||||
set(INLINE_HEADERS ${INLINE_HEADERS} ${FILES})
|
|
||||||
endforeach()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_executable(inl_exp ${INLINE_SOURCES} ${INLINE_HEADERS})
|
|
||||||
|
|
||||||
add_dependencies(inl_exp db sage sage++)
|
|
||||||
target_link_libraries(inl_exp db sage sage++)
|
|
||||||
|
|
||||||
target_include_directories(inl_exp PRIVATE "${DVM_FORTRAN_INCLUDE_DIRS}")
|
|
||||||
set_target_properties(inl_exp PROPERTIES
|
|
||||||
FOLDER "${DVM_TOOL_FOLDER}"
|
|
||||||
RUNTIME_OUTPUT_DIRECTORY ${DVM_BIN_DIR}
|
|
||||||
COMPILE_PDB_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>
|
|
||||||
PDB_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>
|
|
||||||
)
|
|
||||||
@@ -1,85 +0,0 @@
|
|||||||
#define HPF_TEMPLATE_STAT 296
|
|
||||||
#define HPF_ALIGN_STAT 297
|
|
||||||
#define HPF_PROCESSORS_STAT 298
|
|
||||||
#define DVM_DISTRIBUTE_DIR 277
|
|
||||||
#define DVM_REDISTRIBUTE_DIR 299
|
|
||||||
#define DVM_PARALLEL_ON_DIR 211
|
|
||||||
#define DVM_SHADOW_START_DIR 212
|
|
||||||
#define DVM_SHADOW_GROUP_DIR 213
|
|
||||||
#define DVM_SHADOW_WAIT_DIR 214
|
|
||||||
#define DVM_REDUCTION_START_DIR 215
|
|
||||||
#define DVM_REDUCTION_GROUP_DIR 216
|
|
||||||
#define DVM_REDUCTION_WAIT_DIR 217
|
|
||||||
#define DVM_DYNAMIC_DIR 218
|
|
||||||
#define DVM_ALIGN_DIR 219
|
|
||||||
#define DVM_REALIGN_DIR 220
|
|
||||||
#define DVM_REALIGN_NEW_DIR 221
|
|
||||||
#define DVM_REMOTE_ACCESS_DIR 222
|
|
||||||
#define HPF_INDEPENDENT_DIR 223
|
|
||||||
#define DVM_SHADOW_DIR 224
|
|
||||||
#define DVM_NEW_VALUE_DIR 247
|
|
||||||
#define DVM_VAR_DECL 248
|
|
||||||
#define DVM_POINTER_DIR 249
|
|
||||||
#define DVM_DEBUG_DIR 146
|
|
||||||
#define DVM_ENDDEBUG_DIR 147
|
|
||||||
#define DVM_TRACEON_DIR 148
|
|
||||||
#define DVM_TRACEOFF_DIR 149
|
|
||||||
#define DVM_INTERVAL_DIR 128
|
|
||||||
#define DVM_ENDINTERVAL_DIR 129
|
|
||||||
#define DVM_TASK_REGION_DIR 605
|
|
||||||
#define DVM_END_TASK_REGION_DIR 606
|
|
||||||
#define DVM_ON_DIR 607
|
|
||||||
#define DVM_END_ON_DIR 608
|
|
||||||
#define DVM_TASK_DIR 609
|
|
||||||
#define DVM_MAP_DIR 610
|
|
||||||
#define DVM_PARALLEL_TASK_DIR 611
|
|
||||||
#define DVM_INHERIT_DIR 612
|
|
||||||
#define DVM_INDIRECT_GROUP_DIR 613
|
|
||||||
#define DVM_INDIRECT_ACCESS_DIR 614
|
|
||||||
#define DVM_REMOTE_GROUP_DIR 615
|
|
||||||
#define DVM_RESET_DIR 616
|
|
||||||
#define DVM_PREFETCH_DIR 617
|
|
||||||
#define DVM_OWN_DIR 618
|
|
||||||
#define DVM_HEAP_DIR 619
|
|
||||||
#define DVM_ASYNCID_DIR 620
|
|
||||||
#define DVM_ASYNCHRONOUS_DIR 621
|
|
||||||
#define DVM_ENDASYNCHRONOUS_DIR 622
|
|
||||||
#define DVM_ASYNCWAIT_DIR 623
|
|
||||||
#define DVM_F90_DIR 624
|
|
||||||
#define DVM_BARRIER_DIR 625
|
|
||||||
#define FORALL_STAT 626
|
|
||||||
#define DVM_CONSISTENT_GROUP_DIR 627
|
|
||||||
#define DVM_CONSISTENT_START_DIR 628
|
|
||||||
#define DVM_CONSISTENT_WAIT_DIR 629
|
|
||||||
#define DVM_CONSISTENT_DIR 630
|
|
||||||
|
|
||||||
#define BLOCK_OP 705
|
|
||||||
#define NEW_SPEC_OP 706
|
|
||||||
#define REDUCTION_OP 707
|
|
||||||
#define SHADOW_RENEW_OP 708
|
|
||||||
#define SHADOW_START_OP 709
|
|
||||||
#define SHADOW_WAIT_OP 710
|
|
||||||
#define DIAG_OP 711
|
|
||||||
#define REMOTE_ACCESS_OP 712
|
|
||||||
#define TEMPLATE_OP 713
|
|
||||||
#define PROCESSORS_OP 714
|
|
||||||
#define DYNAMIC_OP 715
|
|
||||||
#define ALIGN_OP 716
|
|
||||||
#define DISTRIBUTE_OP 717
|
|
||||||
#define SHADOW_OP 718
|
|
||||||
#define INDIRECT_ACCESS_OP 719
|
|
||||||
#define ACROSS_OP 720
|
|
||||||
#define NEW_VALUE_OP 721
|
|
||||||
#define SHADOW_COMP_OP 722
|
|
||||||
#define STAGE_OP 723
|
|
||||||
#define FORALL_OP 724
|
|
||||||
#define CONSISTENT_OP 725
|
|
||||||
#define SHADOW_GROUP_NAME 523
|
|
||||||
#define REDUCTION_GROUP_NAME 524
|
|
||||||
#define REF_GROUP_NAME 525
|
|
||||||
#define ASYNC_ID 526
|
|
||||||
#define CONSISTENT_GROUP_NAME 527
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,622 +0,0 @@
|
|||||||
/**************************************************************\
|
|
||||||
* Inline Expansion *
|
|
||||||
* *
|
|
||||||
* Miscellaneous help routines *
|
|
||||||
\**************************************************************/
|
|
||||||
|
|
||||||
#include "inline.h"
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#ifdef __SPF
|
|
||||||
#include <string>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//*************************************************************
|
|
||||||
/*
|
|
||||||
* Error - formats the error message then call "err" to print it
|
|
||||||
*
|
|
||||||
* input:
|
|
||||||
* s - string that specifies the conversion format
|
|
||||||
* t - string that to be formated according to s
|
|
||||||
* num - error message number
|
|
||||||
* stmt - pointer to the statement
|
|
||||||
*/
|
|
||||||
//*************************************************************
|
|
||||||
void Error(const char *s, const char *t, int num, SgStatement *stmt)
|
|
||||||
|
|
||||||
{
|
|
||||||
char *buff = new char[strlen(s) + strlen(t) + 32];
|
|
||||||
sprintf(buff, s, t);
|
|
||||||
err(buff, num, stmt);
|
|
||||||
delete[]buff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Err_g - formats and prints the special kind error message (without statement reference)
|
|
||||||
*
|
|
||||||
* input:
|
|
||||||
* s - string that specifies the conversion format
|
|
||||||
* t - string that to be formated according to s
|
|
||||||
* num - error message number
|
|
||||||
*/
|
|
||||||
|
|
||||||
void Err_g(const char *s, const char *t, int num)
|
|
||||||
|
|
||||||
{
|
|
||||||
char *buff = new char[strlen(s) + strlen(t) + 32];
|
|
||||||
char num3s[16];
|
|
||||||
sprintf(buff, s, t);
|
|
||||||
format_num(num, num3s);
|
|
||||||
errcnt++;
|
|
||||||
(void)fprintf(stderr, "Error %s in %s of %s: %s\n", num3s, cur_func->symbol()->identifier(), cur_func->fileName(), buff);
|
|
||||||
delete[]buff;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* err -- prints the error message
|
|
||||||
*
|
|
||||||
* input:
|
|
||||||
* s - string to be printed out
|
|
||||||
* num - error message number
|
|
||||||
* stmt - pointer to the statement
|
|
||||||
*/
|
|
||||||
void err(const char *s, int num, SgStatement *stmt)
|
|
||||||
|
|
||||||
{
|
|
||||||
char num3s[16];
|
|
||||||
format_num(num, num3s);
|
|
||||||
errcnt++;
|
|
||||||
// printf( "Error on line %d : %s\n", stmt->lineNumber(), s);
|
|
||||||
#ifdef __SPF
|
|
||||||
char message[256];
|
|
||||||
sprintf(message, "Error %d: %s", num, s);
|
|
||||||
|
|
||||||
std::string toPrint = "|";
|
|
||||||
toPrint += std::to_string(1) + " "; // ERROR
|
|
||||||
toPrint += std::string(stmt->fileName()) + " ";
|
|
||||||
toPrint += std::to_string(stmt->lineNumber()) + " ";
|
|
||||||
toPrint += std::to_string(0);
|
|
||||||
toPrint += "|" + std::string(message);
|
|
||||||
|
|
||||||
printf("@%s@\n", toPrint.c_str());
|
|
||||||
#else
|
|
||||||
(void)fprintf(stderr, "Error %s on line %d of %s: %s\n", num3s, stmt->lineNumber(), stmt->fileName(), s);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Warning -- formats a warning message then call "warn" to print it out
|
|
||||||
*
|
|
||||||
* input:
|
|
||||||
* s - string that specifies the conversion format
|
|
||||||
* t - string that to be converted according to s
|
|
||||||
* num - warning message number
|
|
||||||
* stmt - pointer to the statement
|
|
||||||
*/
|
|
||||||
void Warning(const char *s, const char *t, int num, SgStatement *stmt)
|
|
||||||
{
|
|
||||||
char *buff = new char[strlen(s) + strlen(t) + 32];
|
|
||||||
sprintf(buff, s, t);
|
|
||||||
warn(buff, num, stmt);
|
|
||||||
delete[]buff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* warn -- print the warning message if specified
|
|
||||||
*
|
|
||||||
* input:
|
|
||||||
* s - string to be printed
|
|
||||||
* num - warning message number
|
|
||||||
* stmt - pointer to the statement
|
|
||||||
*/
|
|
||||||
void warn(const char *s, int num, SgStatement *stmt)
|
|
||||||
{
|
|
||||||
char num3s[16];
|
|
||||||
format_num(num, num3s);
|
|
||||||
// printf( "Warning on line %d: %s\n", stmt->lineNumber(), s);
|
|
||||||
(void)fprintf(stderr, "Warning %s on line %d of %s: %s\n", num3s, stmt->lineNumber(), stmt->fileName(), s);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Warn_g(const char *s, const char *t, int num)
|
|
||||||
{
|
|
||||||
char *buff = new char[strlen(s) + strlen(t) + 32];
|
|
||||||
char num3s[16];
|
|
||||||
format_num(num, num3s);
|
|
||||||
sprintf(buff, s, t);
|
|
||||||
(void)fprintf(stderr, "Warning %s in %s of %s: %s\n", num3s, cur_func->symbol()->identifier(), cur_func->fileName(), buff);
|
|
||||||
delete[]buff;
|
|
||||||
}
|
|
||||||
//*********************************************************************
|
|
||||||
void printVariantName(int i) {
|
|
||||||
if ((i >= 0 && i < MAXTAGS) && tag[i]) printf("%s", tag[i]);
|
|
||||||
else printf("not a known node variant");
|
|
||||||
}
|
|
||||||
//***********************************
|
|
||||||
|
|
||||||
char *UnparseExpr(SgExpression *e)
|
|
||||||
{
|
|
||||||
char *buf;
|
|
||||||
int l;
|
|
||||||
Init_Unparser();
|
|
||||||
buf = Tool_Unparse2_LLnode(e->thellnd);
|
|
||||||
l = strlen(buf);
|
|
||||||
char *ustr = new char[l + 1];
|
|
||||||
strcpy(ustr, buf);
|
|
||||||
//ustr[l] = ' ';
|
|
||||||
//ustr[l+1] = '\0';
|
|
||||||
return(ustr);
|
|
||||||
}
|
|
||||||
//************************************
|
|
||||||
|
|
||||||
const char* header(int i) {
|
|
||||||
switch (i) {
|
|
||||||
case(PROG_HEDR):
|
|
||||||
return("program");
|
|
||||||
case(PROC_HEDR):
|
|
||||||
return("subroutine");
|
|
||||||
case(FUNC_HEDR):
|
|
||||||
return("function");
|
|
||||||
default:
|
|
||||||
return("error");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SgLabel* firstLabel(SgFile *f)
|
|
||||||
{
|
|
||||||
SetCurrentFileTo(f->filept);
|
|
||||||
SwitchToFile(GetFileNumWithPt(f->filept));
|
|
||||||
return LabelMapping(PROJ_FIRST_LABEL());
|
|
||||||
}
|
|
||||||
|
|
||||||
int isLabel(int num) {
|
|
||||||
PTR_LABEL lab;
|
|
||||||
for (lab = PROJ_FIRST_LABEL(); lab; lab = LABEL_NEXT(lab))
|
|
||||||
if (num == LABEL_STMTNO(lab))
|
|
||||||
return 1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
SgLabel *isLabelWithScope(int num, SgStatement *stmt) {
|
|
||||||
PTR_LABEL lab;
|
|
||||||
for (lab = PROJ_FIRST_LABEL(); lab; lab = LABEL_NEXT(lab))
|
|
||||||
//if( num == LABEL_STMTNO(lab) && LABEL_BODY(lab)->scope == stmt->thebif)
|
|
||||||
if (num == LABEL_STMTNO(lab) && LABEL_SCOPE(lab) == stmt->thebif)
|
|
||||||
return LabelMapping(lab);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
SgLabel * GetLabel()
|
|
||||||
{
|
|
||||||
static int lnum = 90000;
|
|
||||||
if (lnum > max_lab)
|
|
||||||
return (new SgLabel(lnum--));
|
|
||||||
while (isLabel(lnum))
|
|
||||||
lnum--;
|
|
||||||
return (new SgLabel(lnum--));
|
|
||||||
}
|
|
||||||
|
|
||||||
SgLabel * GetNewLabel()
|
|
||||||
{
|
|
||||||
static int lnum = 99999;
|
|
||||||
if (lnum > max_lab) /* for current file must be set before first call GetNewLabel() :max_lab = getLastLabelId(); */
|
|
||||||
return (new SgLabel(lnum--));
|
|
||||||
while (isLabel(lnum))
|
|
||||||
lnum--;
|
|
||||||
return (new SgLabel(lnum--));
|
|
||||||
/*
|
|
||||||
int lnum;
|
|
||||||
if(max_lab <99999)
|
|
||||||
return(new SgLabel(++max_lab));
|
|
||||||
lnum = 1;
|
|
||||||
while(isLabel(lnum))
|
|
||||||
lnum++;
|
|
||||||
return(new SgLabel(lnum));
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
SgLabel * NewLabel()
|
|
||||||
{
|
|
||||||
if (max_lab < 99999)
|
|
||||||
return(new SgLabel(++max_lab));
|
|
||||||
++num_lab;
|
|
||||||
while (isLabel(num_lab))
|
|
||||||
++num_lab;
|
|
||||||
return(new SgLabel(num_lab));
|
|
||||||
}
|
|
||||||
|
|
||||||
void SetScopeOfLabel(SgLabel *lab, SgStatement *scope)
|
|
||||||
{
|
|
||||||
LABEL_SCOPE(lab->thelabel) = scope->thebif;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
SgLabel * NewLabel(int lnum)
|
|
||||||
{
|
|
||||||
if(max_lab <99999)
|
|
||||||
return(new SgLabel(++max_lab));
|
|
||||||
|
|
||||||
while(isLabel(lnum))
|
|
||||||
++lnum;
|
|
||||||
return(new SgLabel(lnum));
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
int isSymbolName(char *name)
|
|
||||||
//
|
|
||||||
{
|
|
||||||
SgSymbol *s;
|
|
||||||
for (s = current_file->firstSymbol(); s; s = s->next())
|
|
||||||
if (!strcmp(name, s->identifier()))
|
|
||||||
return 1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int isSymbolNameInScope(char *name, SgStatement *scope)
|
|
||||||
{
|
|
||||||
SgSymbol *s;
|
|
||||||
for (s = current_file->firstSymbol(); s; s = s->next())
|
|
||||||
if (scope == s->scope() && !strcmp(name, s->identifier()))
|
|
||||||
return 1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
{
|
|
||||||
PTR_SYMB sym;
|
|
||||||
for(sym=PROJ_FIRST_SYMB(); sym; sym=SYMB_NEXT(sym))
|
|
||||||
if( SYMB_SCOPE(sym) == scope->thebif && (!strcmp(name,SYMB_IDENT(sym)) ) )
|
|
||||||
return 1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
void format_num(int num, char num3s[])
|
|
||||||
{
|
|
||||||
if (num > 99)
|
|
||||||
num3s[sprintf(num3s, "%3d", num)] = 0;
|
|
||||||
else if (num > 9)
|
|
||||||
num3s[sprintf(num3s, "0%2d", num)] = 0;
|
|
||||||
else
|
|
||||||
num3s[sprintf(num3s, "00%1d", num)] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
SgExpression *ConnectList(SgExpression *el1, SgExpression *el2)
|
|
||||||
{
|
|
||||||
SgExpression *el;
|
|
||||||
if (!el1)
|
|
||||||
return(el2);
|
|
||||||
if (!el2)
|
|
||||||
return(el1);
|
|
||||||
for (el = el1; el->rhs(); el = el->rhs())
|
|
||||||
;
|
|
||||||
el->setRhs(el2);
|
|
||||||
return(el1);
|
|
||||||
}
|
|
||||||
|
|
||||||
int is_integer_value(char *str)
|
|
||||||
{
|
|
||||||
char *p;
|
|
||||||
p = str;
|
|
||||||
for (; *str != '\0'; str++)
|
|
||||||
if (!isdigit(*str))
|
|
||||||
return 0;
|
|
||||||
return (atoi(p));
|
|
||||||
}
|
|
||||||
|
|
||||||
void PrintSymbolTable(SgFile *f)
|
|
||||||
{
|
|
||||||
SgSymbol *s;
|
|
||||||
printf("\nS Y M B O L T A B L E \n");
|
|
||||||
for (s = f->firstSymbol(); s; s = s->next())
|
|
||||||
//printf(" %s/%d/ ", s->identifier(), s->id() );
|
|
||||||
printSymb(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
void printSymb(SgSymbol *s)
|
|
||||||
{
|
|
||||||
const char *head;
|
|
||||||
head = isHeaderStmtSymbol(s) ? "HEADER " : " ";
|
|
||||||
printf("SYMB[%3d] scope=STMT[%3d] : %s %s", s->id(), (s->scope()) ? (s->scope())->id() : -1, s->identifier(), head);
|
|
||||||
printType(s->type());
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
void printType(SgType *t)
|
|
||||||
{
|
|
||||||
SgArrayType *arrayt;
|
|
||||||
/*SgExpression *e = new SgExpression(TYPE_RANGES(t->thetype));*/
|
|
||||||
int i, n;
|
|
||||||
if (!t) { printf("no type "); return; }
|
|
||||||
else printf("TYPE[%d]:", t->id());
|
|
||||||
if ((arrayt = isSgArrayType(t)) != 0)
|
|
||||||
{
|
|
||||||
printf("dimension(");
|
|
||||||
n = arrayt->dimension();
|
|
||||||
for (i = 0; i < n; i++)
|
|
||||||
{
|
|
||||||
(arrayt->sizeInDim(i))->unparsestdout();
|
|
||||||
if (i < n - 1) printf(", ");
|
|
||||||
}
|
|
||||||
printf(") ");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
switch (t->variant())
|
|
||||||
{
|
|
||||||
case T_INT: printf("integer "); break;
|
|
||||||
case T_FLOAT: printf("real "); break;
|
|
||||||
case T_DOUBLE: printf("double precision "); break;
|
|
||||||
case T_CHAR: printf("character "); break;
|
|
||||||
case T_STRING: printf("Character ");
|
|
||||||
UnparseLLND(TYPE_RANGES(t->thetype));
|
|
||||||
/*if(t->length()) printf("[%d]",t->length()->variant());*/
|
|
||||||
/*((SgArrayType *) t)->getDimList()->unparsestdout();*/
|
|
||||||
break;
|
|
||||||
case T_BOOL: printf("logical "); break;
|
|
||||||
case T_COMPLEX: printf("complex "); break;
|
|
||||||
case T_DCOMPLEX: printf("double complex "); break;
|
|
||||||
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* if(e) e->unparsestdout();*/
|
|
||||||
if (t->hasBaseType())
|
|
||||||
{
|
|
||||||
printf("of ");
|
|
||||||
printType(t->baseType());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void PrintTypeTable(SgFile *f)
|
|
||||||
{
|
|
||||||
SgType *t;
|
|
||||||
printf("\nT Y P E T A B L E \n");
|
|
||||||
for (t = f->firstType(); t; t = t->next())
|
|
||||||
{
|
|
||||||
printType(t); printf("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
SgExpression *ReplaceParameter(SgExpression *e)
|
|
||||||
{
|
|
||||||
if (!e)
|
|
||||||
return(e);
|
|
||||||
if (e->variant() == CONST_REF) {
|
|
||||||
SgConstantSymb * sc = isSgConstantSymb(e->symbol());
|
|
||||||
return(ReplaceParameter(&(sc->constantValue()->copy())));
|
|
||||||
}
|
|
||||||
e->setLhs(ReplaceParameter(e->lhs()));
|
|
||||||
e->setRhs(ReplaceParameter(e->rhs()));
|
|
||||||
return(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
SgExpression *ReplaceIntegerParameter(SgExpression *e)
|
|
||||||
{
|
|
||||||
if (!e)
|
|
||||||
return(e);
|
|
||||||
if (e->variant() == CONST_REF && e->type()->variant() == T_INT) {
|
|
||||||
SgConstantSymb * sc = isSgConstantSymb(e->symbol());
|
|
||||||
return(ReplaceIntegerParameter(&(sc->constantValue()->copy())));
|
|
||||||
}
|
|
||||||
e->setLhs(ReplaceIntegerParameter(e->lhs()));
|
|
||||||
e->setRhs(ReplaceIntegerParameter(e->rhs()));
|
|
||||||
return(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
SgExpression *ReplaceFuncCall(SgExpression *e)
|
|
||||||
{
|
|
||||||
if(!e)
|
|
||||||
return(e);
|
|
||||||
if(isSgFunctionCallExp(e) && e->symbol()) {//function call
|
|
||||||
if( !e->lhs() && (!strcmp(e->symbol()->identifier(),"number_of_processors") || !strcmp(e->symbol()->identifier(),"actual_num_procs"))) { //NUMBER_OF_PROCESSORS() or
|
|
||||||
// ACTUAL_NUM_PROCS()
|
|
||||||
SgExprListExp *el1,*el2;
|
|
||||||
if(!strcmp(e->symbol()->identifier(),"number_of_processors"))
|
|
||||||
el1 = new SgExprListExp(*ParentPS());
|
|
||||||
else
|
|
||||||
el1 = new SgExprListExp(*CurrentPS());
|
|
||||||
el2 = new SgExprListExp(*ConstRef(0));
|
|
||||||
e->setSymbol(fdvm[GETSIZ]);
|
|
||||||
fmask[GETSIZ] = 1;
|
|
||||||
el1->setRhs(el2);
|
|
||||||
e->setLhs(el1);
|
|
||||||
return(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
if( !e->lhs() && (!strcmp(e->symbol()->identifier(),"processors_rank"))) {
|
|
||||||
//PROCESSORS_RANK()
|
|
||||||
SgExprListExp *el1;
|
|
||||||
el1 = new SgExprListExp(*ParentPS());
|
|
||||||
e->setSymbol(fdvm[GETRNK]);
|
|
||||||
fmask[GETRNK] = 1;
|
|
||||||
e->setLhs(el1);
|
|
||||||
return(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!strcmp(e->symbol()->identifier(),"processors_size")) {
|
|
||||||
//PROCESSORS_SIZE()
|
|
||||||
SgExprListExp *el1;
|
|
||||||
el1 = new SgExprListExp(*ParentPS());
|
|
||||||
e->setSymbol(fdvm[GETSIZ]);
|
|
||||||
fmask[GETSIZ] = 1;
|
|
||||||
el1->setRhs(*(e->lhs())+(*ConstRef(0))); //el1->setRhs(e->lhs());
|
|
||||||
e->setLhs(el1);
|
|
||||||
return(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
e->setLhs(ReplaceFuncCall(e->lhs()));
|
|
||||||
e->setRhs(ReplaceFuncCall(e->rhs()));
|
|
||||||
return(e);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* version from dvm.cpp
|
|
||||||
SgExpression *Calculate(SgExpression *e)
|
|
||||||
{ SgExpression *er;
|
|
||||||
er = ReplaceParameter( &(e->copy()));
|
|
||||||
if(er->isInteger())
|
|
||||||
return( new SgValueExp(er->valueInteger()));
|
|
||||||
else
|
|
||||||
return(e);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* new version */
|
|
||||||
SgExpression *Calculate(SgExpression *e)
|
|
||||||
{
|
|
||||||
if (e->isInteger())
|
|
||||||
return(new SgValueExp(e->valueInteger()));
|
|
||||||
else
|
|
||||||
return(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
SgExpression *Calculate_List(SgExpression *e)
|
|
||||||
{
|
|
||||||
SgExpression *el;
|
|
||||||
for (el = e; el; el = el->rhs())
|
|
||||||
el->setLhs(Calculate(el->lhs()));
|
|
||||||
return(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int ExpCompare(SgExpression *e1, SgExpression *e2)
|
|
||||||
{//compares two expressions
|
|
||||||
// returns 1 if they are textually identical
|
|
||||||
if (!e1 && !e2) // both expressions are null
|
|
||||||
return(1);
|
|
||||||
if (!e1 || !e2) // one of them is null
|
|
||||||
return(0);
|
|
||||||
if (e1->variant() != e2->variant()) // variants are not equal
|
|
||||||
return(0);
|
|
||||||
switch (e1->variant()) {
|
|
||||||
case INT_VAL:
|
|
||||||
return(NODE_IV(e1->thellnd) == NODE_IV(e2->thellnd));
|
|
||||||
case FLOAT_VAL:
|
|
||||||
case DOUBLE_VAL:
|
|
||||||
case BOOL_VAL:
|
|
||||||
case CHAR_VAL:
|
|
||||||
case STRING_VAL:
|
|
||||||
return(!strcmp(NODE_STR(e1->thellnd), NODE_STR(e2->thellnd)));
|
|
||||||
case COMPLEX_VAL:
|
|
||||||
return(ExpCompare(e1->lhs(), e2->lhs()) && ExpCompare(e1->rhs(), e2->rhs()));
|
|
||||||
case CONST_REF:
|
|
||||||
case VAR_REF:
|
|
||||||
return(e1->symbol() == e2->symbol());
|
|
||||||
case ARRAY_REF:
|
|
||||||
case FUNC_CALL:
|
|
||||||
if (e1->symbol() == e2->symbol())
|
|
||||||
return(ExpCompare(e1->lhs(), e2->lhs())); // compares subscript/argument lists
|
|
||||||
else
|
|
||||||
return(0);
|
|
||||||
case EXPR_LIST:
|
|
||||||
{SgExpression *el1, *el2;
|
|
||||||
for (el1 = e1, el2 = e2; el1&&el2; el1 = el1->rhs(), el2 = el2->rhs())
|
|
||||||
if (!ExpCompare(el1->lhs(), el2->lhs())) // the corresponding elements of lists are not identical
|
|
||||||
return(0);
|
|
||||||
if (el1 || el2) //one list is shorter than other
|
|
||||||
return(0);
|
|
||||||
else
|
|
||||||
return(1);
|
|
||||||
}
|
|
||||||
case MINUS_OP: //unary operations
|
|
||||||
case NOT_OP:
|
|
||||||
return(ExpCompare(e1->lhs(), e2->lhs())); // compares operands
|
|
||||||
default:
|
|
||||||
return(ExpCompare(e1->lhs(), e2->lhs()) && ExpCompare(e1->rhs(), e2->rhs()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
SgExpression *LowerBound(SgSymbol *ar, int i)
|
|
||||||
// lower bound of i-nd dimension of array ar (i= 0,...,Rank(ar)-1)
|
|
||||||
{
|
|
||||||
SgArrayType *artype;
|
|
||||||
SgExpression *e;
|
|
||||||
SgSubscriptExp *sbe;
|
|
||||||
//if(IS_POINTER(ar))
|
|
||||||
// return(new SgValueExp(1));
|
|
||||||
artype = isSgArrayType(ar->type());
|
|
||||||
if (!artype)
|
|
||||||
return(NULL);
|
|
||||||
e = artype->sizeInDim(i);
|
|
||||||
if (!e)
|
|
||||||
return(NULL);
|
|
||||||
if ((sbe = isSgSubscriptExp(e)) != NULL) {
|
|
||||||
if (sbe->lbound())
|
|
||||||
return(sbe->lbound());
|
|
||||||
|
|
||||||
//else if(IS_ALLOCATABLE_POINTER(ar)){
|
|
||||||
// if(HEADER(ar))
|
|
||||||
// return(header_ref(ar,Rank(ar)+3+i));
|
|
||||||
// else
|
|
||||||
// return(LBOUNDFunction(ar,i+1));
|
|
||||||
//}
|
|
||||||
|
|
||||||
else
|
|
||||||
return(new SgValueExp(1));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return(new SgValueExp(1)); // by default lower bound = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
int Rank(SgSymbol *s)
|
|
||||||
{
|
|
||||||
SgArrayType *artype;
|
|
||||||
//if(IS_POINTER(s))
|
|
||||||
// return(PointerRank(s));
|
|
||||||
artype = isSgArrayType(s->type());
|
|
||||||
if (artype)
|
|
||||||
return (artype->dimension());
|
|
||||||
else
|
|
||||||
return (0);
|
|
||||||
}
|
|
||||||
|
|
||||||
SgExpression *UpperBound(SgSymbol *ar, int i)
|
|
||||||
// upper bound of i-nd dimension of array ar (i= 0,...,Rank(ar)-1)
|
|
||||||
{
|
|
||||||
SgArrayType *artype;
|
|
||||||
SgExpression *e;
|
|
||||||
SgSubscriptExp *sbe;
|
|
||||||
|
|
||||||
|
|
||||||
artype = isSgArrayType(ar->type());
|
|
||||||
if (!artype)
|
|
||||||
return(NULL);
|
|
||||||
e = artype->sizeInDim(i);
|
|
||||||
if (!e)
|
|
||||||
return(NULL);
|
|
||||||
if ((sbe = isSgSubscriptExp(e)) != NULL) {
|
|
||||||
if (sbe->ubound())
|
|
||||||
return(sbe->ubound());
|
|
||||||
|
|
||||||
//else if(HEADER(ar))
|
|
||||||
// return(&(*GetSize(HeaderRefInd(ar,1),i+1)-*HeaderRefInd(ar,Rank(ar)+3+i)+*new SgValueExp(1)));
|
|
||||||
//else
|
|
||||||
// return(UBOUNDFunction(ar,i+1));
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return(e);
|
|
||||||
// !!!! test case "*"
|
|
||||||
return(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
symb_list *AddToSymbList(symb_list *ls, SgSymbol *s)
|
|
||||||
{
|
|
||||||
symb_list *l;
|
|
||||||
//adding the symbol 's' to symb_list 'ls'
|
|
||||||
if (!ls) {
|
|
||||||
ls = new symb_list;
|
|
||||||
ls->symb = s;
|
|
||||||
ls->next = NULL;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
l = new symb_list;
|
|
||||||
l->symb = s;
|
|
||||||
l->next = ls;
|
|
||||||
ls = l;
|
|
||||||
}
|
|
||||||
return(ls);
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,643 +0,0 @@
|
|||||||
#include "user.h"
|
|
||||||
|
|
||||||
#define MAXTAGS 1000
|
|
||||||
#include "dvm_tag.h"
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef IN_M_
|
|
||||||
#define EXTERN
|
|
||||||
#else
|
|
||||||
#define EXTERN extern
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct graph_node {
|
|
||||||
int id; //a number of node
|
|
||||||
graph_node *next;
|
|
||||||
graph_node *next_header_node; //???
|
|
||||||
graph_node *Inext;
|
|
||||||
SgFile *file;
|
|
||||||
SgStatement *st_header;
|
|
||||||
SgSymbol *symb; //??? st_header->symbol()
|
|
||||||
struct edge *to_called; //outcoming
|
|
||||||
struct edge *from_calling; //incoming
|
|
||||||
int split; //flag
|
|
||||||
int tmplt; //flag
|
|
||||||
int visited; //flag for partition algorithm
|
|
||||||
int clone; //flag is clone node
|
|
||||||
int count; //counter of inline expansions
|
|
||||||
};
|
|
||||||
|
|
||||||
struct graph_node_list {
|
|
||||||
graph_node_list *next;
|
|
||||||
graph_node *node;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct edge {
|
|
||||||
edge *next;
|
|
||||||
graph_node *from;
|
|
||||||
graph_node *to;
|
|
||||||
int inlined; //1 - inlined, 0 - not inlined
|
|
||||||
};
|
|
||||||
|
|
||||||
struct edge_list {
|
|
||||||
edge_list *next;
|
|
||||||
edge *edg;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct block_list {
|
|
||||||
block_list *next;
|
|
||||||
block_list *same_name;
|
|
||||||
SgExpression *block;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct distribute_list {
|
|
||||||
distribute_list *next;
|
|
||||||
SgStatement *stdis;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct stmt_list {
|
|
||||||
stmt_list *next;
|
|
||||||
SgStatement *st;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct label_list {
|
|
||||||
label_list *next;
|
|
||||||
SgLabel *lab;
|
|
||||||
SgLabel *newlab;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct dist_symb_list {
|
|
||||||
dist_symb_list *next;
|
|
||||||
SgSymbol *symb;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct align {
|
|
||||||
SgSymbol * symb;
|
|
||||||
align * next;
|
|
||||||
align * alignees;
|
|
||||||
SgStatement * align_stmt;
|
|
||||||
};
|
|
||||||
struct mod_attr{
|
|
||||||
SgSymbol *symb;
|
|
||||||
SgSymbol *symb_list;
|
|
||||||
};
|
|
||||||
struct algn_attr {
|
|
||||||
int type;
|
|
||||||
align *ref;
|
|
||||||
};
|
|
||||||
struct rem_var {
|
|
||||||
int index;
|
|
||||||
int amv;
|
|
||||||
int ncolon;
|
|
||||||
};
|
|
||||||
struct rem_acc {
|
|
||||||
SgExpression *rml;
|
|
||||||
SgStatement *rmout;
|
|
||||||
int rmbuf_use[5];
|
|
||||||
rem_acc *next;
|
|
||||||
};
|
|
||||||
struct group_name_list {
|
|
||||||
group_name_list *next;
|
|
||||||
SgSymbol *symb;
|
|
||||||
};
|
|
||||||
struct symb_list {
|
|
||||||
symb_list *next;
|
|
||||||
SgSymbol *symb;
|
|
||||||
};
|
|
||||||
struct base_list {
|
|
||||||
base_list *next;
|
|
||||||
SgSymbol *type_symbol;
|
|
||||||
SgSymbol *base_symbol;
|
|
||||||
};
|
|
||||||
struct D_do_list {
|
|
||||||
D_do_list *next;
|
|
||||||
int No;
|
|
||||||
int num_line;
|
|
||||||
SgLabel *end_lab;
|
|
||||||
SgSymbol *do_var;
|
|
||||||
};
|
|
||||||
struct interval_list {
|
|
||||||
interval_list *prev;
|
|
||||||
int No;
|
|
||||||
SgStatement *begin_st;
|
|
||||||
};
|
|
||||||
struct D_fragment {
|
|
||||||
D_fragment *next;
|
|
||||||
int No;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct fragment_list {
|
|
||||||
int No;
|
|
||||||
SgStatement *begin_st;
|
|
||||||
int dlevel;
|
|
||||||
int elevel;
|
|
||||||
int dlevel_spec;
|
|
||||||
int elevel_spec;
|
|
||||||
fragment_list *next;
|
|
||||||
};
|
|
||||||
struct fragment_list_in {
|
|
||||||
int N1;
|
|
||||||
int N2;
|
|
||||||
int level;
|
|
||||||
fragment_list_in *next;
|
|
||||||
};
|
|
||||||
struct reduction_list {
|
|
||||||
reduction_list *next;
|
|
||||||
int red_op;
|
|
||||||
SgExpression *red_var;
|
|
||||||
int ind;
|
|
||||||
};
|
|
||||||
struct IND_ref_list {
|
|
||||||
IND_ref_list *next;
|
|
||||||
SgExpression *rmref;
|
|
||||||
SgExpression *axis[7];
|
|
||||||
SgExpression *coef[7];
|
|
||||||
SgExpression *cons[7];
|
|
||||||
int nc;
|
|
||||||
int ind;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coeffs {
|
|
||||||
SgSymbol *sc[10];
|
|
||||||
int use;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct heap_pointer_list {
|
|
||||||
heap_pointer_list *next;
|
|
||||||
SgSymbol *symb_heap;
|
|
||||||
SgSymbol *symb_p;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct filename_list {
|
|
||||||
filename_list *next;
|
|
||||||
char *name;
|
|
||||||
SgSymbol *fns;
|
|
||||||
};
|
|
||||||
|
|
||||||
const int ROOT = 1;
|
|
||||||
const int NODE = 2;
|
|
||||||
const int GRAPH_NODE = 1000;
|
|
||||||
const int PRE_BOUND = 1001;
|
|
||||||
const int CONSTANT_MAP = 1002;
|
|
||||||
const int ARRAY_MAP = 1003;
|
|
||||||
const int ARRAY_MAP_1 = 1004;
|
|
||||||
const int ARRAY_MAP_2 = 1005;
|
|
||||||
const int ADJUSTABLE_ = 1006;
|
|
||||||
|
|
||||||
const int MAX_INTRINSIC_NUM =300;
|
|
||||||
|
|
||||||
const int MAX_LOOP_LEVEL = 10; // 7 - maximal number of loops in parallel loop nest
|
|
||||||
const int MAX_LOOP_NEST = 25; // maximal number of nested loops
|
|
||||||
const int MAX_FILE_NUM = 100; // maximal number of file reference in procedure
|
|
||||||
const int SIZE_IO_BUF = 262144; //4185600; // IO buffer size in elements
|
|
||||||
const int ANTIDEP = 0;
|
|
||||||
const int FLOWDEP = 1;
|
|
||||||
#define FICT_INT 2000000000 /* -2147483648 0x7FFFFFFFL*/
|
|
||||||
|
|
||||||
//enum{ Integer, Real, Double, Complex, Logical, DoubleComplex};
|
|
||||||
enum {UNIT_,FMT_,REC_,ERR_,IOSTAT_,END_,NML_,EOR_,SIZE_,ADVANCE_};
|
|
||||||
enum {U_,FILE_,STATUS_,ER_,IOST_,ACCESS_,FORM_,RECL_,BLANK_,EXIST_,
|
|
||||||
OPENED_,NUMBER_,NAMED_,NAME_,SEQUENTIAL_,DIRECT_,NEXTREC_,FORMATTED_,
|
|
||||||
UNFORMATTED_,POSITION_,ACTION_,READWRITE_,READ_,WRITE_,DELIM_,PAD_};
|
|
||||||
|
|
||||||
enum {ICHAR, CHAR,INT,IFIX,IDINT,FLOAT,REAL,SNGL,DBLE,CMPLX,DCMPLX,AINT,DINT,ANINT,DNINT,NINT,IDNINT,ABS,IABS,DABS,CABS,
|
|
||||||
MOD,AMOD,DMOD, SIGN,ISIGN, DSIGN, DIM,IDIM,DDIM, MAX,MAX0, AMAX1,DMAX1, AMAX0,MAX1, MIN,MIN0,
|
|
||||||
AMIN1,DMIN1,AMIN0,MIN1,LEN,INDEX,AIMAG,DIMAG,CONJG,DCONJG,SQRT,DSQRT,CSQRT,EXP,DEXP,CEXP,LOG,ALOG,DLOG,CLOG,
|
|
||||||
LOG10,ALOG10,DLOG10,SIN,DSIN,CSIN,COS,DCOS,CCOS,TAN,DTAN,ASIN,DASIN,ACOS,DACOS,ATAN,DATAN,
|
|
||||||
ATAN2,DATAN2,SINH,DSINH,COSH,DCOSH,TANH,DTANH, LGE,LGT,LLE,LLT};
|
|
||||||
//universal: ANINT,NINT,ABS, MOD,SIGN,DIM,MAX,MIN,SQRT,EXP,LOG,LOG10,SIN,COS,TAN,ASIN,ACOS,ATAN,ATAN2,SINH,COSH,TANH
|
|
||||||
//enum {SIZE,LBOUND,UBOUND,LEN,CHAR,KIND,F_INT,F_REAL,F_CHAR,F_LOGICAL,F_CMPLX}; //intrinsic functions of Fortran 90
|
|
||||||
|
|
||||||
const int Integer = 0;
|
|
||||||
const int Real = 1;
|
|
||||||
const int Double = 2;
|
|
||||||
const int Complex = 3;
|
|
||||||
const int Logical = 4;
|
|
||||||
const int DComplex = 5;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define ATTR_NODE(A) ((graph_node **)(A)->attributeValue(0,GRAPH_NODE))
|
|
||||||
#define GRAPHNODE(A) (*((graph_node **)(A)->attributeValue(0,GRAPH_NODE)))
|
|
||||||
#define PREBOUND(A) ((SgExpression **)(A)->attributeValue(0,PRE_BOUND))
|
|
||||||
#define ARRAYMAP(A) ((SgExpression *)(A)->attributeValue(0,ARRAY_MAP_1))
|
|
||||||
#define ARRAYMAP2(A) ((SgExpression *)(A)->attributeValue(0,ARRAY_MAP_2))
|
|
||||||
#define CONSTANTMAP(A) ((SgExpression *)(A)->attributeValue(0,CONSTANT_MAP))
|
|
||||||
#define ADJUSTABLE(A) ((SgExpression *)(A)->attributeValue(0,ADJUSTABLE_))
|
|
||||||
|
|
||||||
|
|
||||||
#define HEADER(A) ((int*)(ORIGINAL_SYMBOL(A))->attributeValue(0,ARRAY_HEADER))
|
|
||||||
#define INDEX(A) (*((int*)(ORIGINAL_SYMBOL(A))->attributeValue(0,ARRAY_HEADER)))
|
|
||||||
#define DVM000(N) (new SgArrayRefExp(*dvmbuf, *new SgValueExp(N)))
|
|
||||||
#define SH_GROUP(S) (*((int *) (S) -> attributeValue(0, SHADOW_GROUP_IND)))
|
|
||||||
#define RED_GROUP(S) (*((int *) (S) -> attributeValue(0, RED_GROUP_IND)))
|
|
||||||
#define SHADOW_(A) ((SgExpression **)(ORIGINAL_SYMBOL(A))->attributeValue(0,SHADOW_WIDTH))
|
|
||||||
#define POINTER_DIR(A) ((SgStatement **)(ORIGINAL_SYMBOL(A))->attributeValue(0,POINTER_))
|
|
||||||
#define DISTRIBUTE_DIRECTIVE(A) ((SgStatement **)(ORIGINAL_SYMBOL(A))->attributeValue(0,DISTRIBUTE_))
|
|
||||||
#define ARRAY_BASE_SYMBOL(A) ((SgSymbol **)(ORIGINAL_SYMBOL(A))->attributeValue(0,ARRAY_BASE))
|
|
||||||
#define INDEX_SYMBOL(A) ((SgSymbol **)(A)->attributeValue(0,INDEX_DELTA))
|
|
||||||
#define INIT_LOOP_VAR(A) ((SgSymbol **)(A)->attributeValue(0,INIT_LOOP))
|
|
||||||
#define CONSISTENT_HEADER(A) (*((SgSymbol **)(ORIGINAL_SYMBOL(A))->attributeValue(0,CONSISTENT_ARRAY_HEADER)))
|
|
||||||
#define POINTER_INDEX(A) (*((int *)(A)->attributeValue(0,HEAP_INDEX)))
|
|
||||||
#define BUFFER_INDEX(A) (*((int*)(ORIGINAL_SYMBOL(A))->attributeValue(0,BUFFER_COUNT)))
|
|
||||||
#define BUFFER_COUNT_PLUS_1(A) (*((int*)(ORIGINAL_SYMBOL(A))->attributeValue(0,BUFFER_COUNT))) = (*((int*)(ORIGINAL_SYMBOL(A))->attributeValue(0,BUFFER_COUNT)))+1;
|
|
||||||
#define PS_INDEX(A) (*((int *)(A)->attributeValue(0,TASK_INDEX)))
|
|
||||||
#define DEBUG_INDEX(A) (*((int*)(ORIGINAL_SYMBOL(A))->attributeValue(0,DEBUG_AR_INDEX)))
|
|
||||||
#define TASK_SYMBOL(A) (*((SgSymbol **)(ORIGINAL_SYMBOL(A))->attributeValue(0,TSK_SYMBOL)))
|
|
||||||
#define AR_COEFFICIENTS(A) ((coeffs *) (ORIGINAL_SYMBOL(A))->attributeValue(0,ARRAY_COEF))
|
|
||||||
#define MAX_DVM maxdvm = (maxdvm < ndvm) ? ndvm-1 : maxdvm
|
|
||||||
#define FREE_DVM(A) maxdvm = (maxdvm < ndvm) ? ndvm-1 : maxdvm; ndvm-=A
|
|
||||||
#define SET_DVM(A) maxdvm = (maxdvm < ndvm) ? ndvm-1 : maxdvm; ndvm=A
|
|
||||||
#define FREE_HPF(A) maxhpf = (maxhpf < nhpf) ? nhpf-1 : maxhpf; nhpf-=A
|
|
||||||
#define SET_HPF(A) maxhpf = (maxhpf < nhpf) ? nhpf-1 : maxhpf; nhpf=A
|
|
||||||
#define HPF000(N) (new SgArrayRefExp(*hpfbuf, *new SgValueExp(N)))
|
|
||||||
#define IS_DUMMY(A) ((A)->thesymb->entry.var_decl.local == IO)
|
|
||||||
#define IS_TEMPLATE(A) ((A)->attributes() & TEMPLATE_BIT)
|
|
||||||
#define IN_COMMON(A) ((A)->attributes() & COMMON_BIT)
|
|
||||||
#define IN_DATA(A) ((A)->attributes() & DATA_BIT)
|
|
||||||
#define IN_EQUIVALENCE(A) ((A)->attributes() & EQUIVALENCE_BIT)
|
|
||||||
#define IS_ARRAY(A) ((A)->attributes() & DIMENSION_BIT)
|
|
||||||
#define IS_ALLOCATABLE(A) ((A)->attributes() & ALLOCATABLE_BIT)
|
|
||||||
#define IS_ALLOCATABLE_POINTER(A) (((A)->attributes() & ALLOCATABLE_BIT) || ((A)->attributes() & POINTER_BIT))
|
|
||||||
#define IS_POINTER_F90(A) ((A)->attributes() & POINTER_BIT)
|
|
||||||
#define CURRENT_SCOPE(A) (((A)->scope() == cur_func) && ((A)->thesymb->entry.var_decl.local != BY_USE) )
|
|
||||||
#define IS_BY_USE(A) ((A)->thesymb->entry.Template.base_name != 0)
|
|
||||||
/*#define ORIGINAL_SYMBOL(A) (OriginalSymbol(A)) */
|
|
||||||
#define ORIGINAL_SYMBOL(A) (IS_BY_USE(A) ? (A)->moduleSymbol() : (A))
|
|
||||||
#define IS_SAVE(A) (((A)->attributes() & SAVE_BIT) || (saveall && !IS_TEMPLATE(A) && !IN_COMMON(A) && !IS_DUMMY(A)) )
|
|
||||||
#define IS_POINTER(A) ((A)->attributes() & DVM_POINTER_BIT)
|
|
||||||
#define IS_SH_GROUP_NAME(A) ((A)->variant() == SHADOW_GROUP_NAME)
|
|
||||||
#define IS_RED_GROUP_NAME(A) ((A)->variant() == REDUCTION_GROUP_NAME)
|
|
||||||
#define IS_GROUP_NAME(A) (((A)->variant() == SHADOW_GROUP_NAME) || ((A)->variant() == REDUCTION_GROUP_NAME) || ((A)->variant() == REF_GROUP_NAME))
|
|
||||||
#define IS_DVM_ARRAY(A) (((A)->attributes() & DISTRIBUTE_BIT) || ((A)->attributes() & ALIGN_BIT) || ((A)->attributes() & INHERIT_BIT))
|
|
||||||
#define IS_DISTR_ARRAY(A) (((A)->attributes() & DISTRIBUTE_BIT) || ((A)->attributes() & ALIGN_BIT) || ((A)->attributes() & INHERIT_BIT))
|
|
||||||
#define IN_MODULE (cur_func->variant() == MODULE_STMT)
|
|
||||||
#define IN_MAIN_PROGRAM (cur_func->variant() == PROG_HEDR)
|
|
||||||
#define DVM_PROC_IN_MODULE(A) ((mod_attr *)(A)->attributeValue(0,MODULE_STR))
|
|
||||||
#define LINE_NUMBER_BEFORE(ST,WHERE) doAssignStmtBefore(new SgValueExp((ST)->lineNumber()),WHERE); ndvm--; InsertNewStatementBefore((many_files ? D_FileLine(ndvm,ST) : D_Lnumb(ndvm)) ,WHERE)
|
|
||||||
#define LINE_NUMBER_STL_BEFORE(STL,ST,WHERE) doAssignStmtBefore(new SgValueExp((ST)->lineNumber()),WHERE); ndvm--; InsertNewStatementBefore(STL= (many_files ? D_FileLine(ndvm,ST) : D_Lnumb(ndvm)),WHERE)
|
|
||||||
#define LINE_NUMBER_AFTER(ST,WHERE) InsertNewStatementAfter ((many_files ? D_FileLine(ndvm,ST) : D_Lnumb(ndvm)),WHERE,(WHERE)->controlParent()); doAssignStmtBefore(new SgValueExp((ST)->lineNumber()),cur_st); ndvm--
|
|
||||||
#define LINE_NUMBER_N_AFTER(N,WHERE,CP) InsertNewStatementAfter((many_files ? D_FileLine(ndvm,CP): D_Lnumb(ndvm)),WHERE,CP); doAssignStmtBefore(new SgValueExp(N),cur_st); ndvm--
|
|
||||||
#define LINE_NUMBER_NEXP_AFTER(NE,WHERE,CP) InsertNewStatementAfter((many_files ? D_DummyFileLine(ndvm,"dvm_check"): D_Lnumb(ndvm)),WHERE,CP); doAssignStmtBefore((NE),cur_st); ndvm--
|
|
||||||
#define ALIGN_RULE_INDEX(A) ((int*)(A)->attributeValue(0,ALIGN_RULE))
|
|
||||||
#define INTERVAL_LINE (St_frag->begin_st->lineNumber())
|
|
||||||
#define INTERVAL_NUMBER (St_frag->No)
|
|
||||||
#define GROUP_REF(S,I) (new SgArrayRefExp(*(S),*new SgValueExp(I)))
|
|
||||||
#define IS_DO_VARIABLE_USE(E) ((SgExpression **)(E)->attributeValue(0,DO_VARIABLE_USE))
|
|
||||||
#define HEADER_SIZE(A) (1+(maxbuf+1)*2*(Rank(A)+1))
|
|
||||||
#define HSIZE(R) (2*R + 2)
|
|
||||||
#define ARRAY_ELEMENT(A,I) (new SgArrayRefExp(*A, *new SgValueExp(I)))
|
|
||||||
#define INTEGER_VALUE(E,C) ((E)->variant() == INT_VAL && (E)->valueInteger() == (C))
|
|
||||||
#define IS_INTRINSIC_TYPE(T) (!TYPE_RANGES((T)->thetype) && !TYPE_KIND_LEN((T)->thetype) && ((T)->variant() != T_DERIVED_TYPE))
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#define DECL(A) ((A)->thesymb->decl)
|
|
||||||
#define HEDR(A) ((A)->thesymb->entry.Template.func_hedr)
|
|
||||||
#define PROGRAM_HEADER(A) ((A)->thesymb->entry.prog_decl.prog_hedr)
|
|
||||||
|
|
||||||
#define NON_CONFORMABLE 0
|
|
||||||
#define _IDENTICAL_ 1
|
|
||||||
#define _CONSTANT_ 2
|
|
||||||
#define _ARRAY_ 3
|
|
||||||
#define SCALAR_ARRAYREF 4
|
|
||||||
#define VECTOR_ARRAYREF 5
|
|
||||||
#define _SUBARRAY_ 6
|
|
||||||
|
|
||||||
EXTERN SgConstantSymb *Iconst[10];
|
|
||||||
EXTERN const char *tag[MAXTAGS];
|
|
||||||
EXTERN int ndvm; // index for buffer array 'dvm000'
|
|
||||||
EXTERN int maxdvm; // size of array 'dvm000'
|
|
||||||
EXTERN int loc_distr;
|
|
||||||
EXTERN int send; //set to 1 if I/O statement require 'send' operation
|
|
||||||
EXTERN char *fin_name; //input file name
|
|
||||||
EXTERN SgFile *current_file; //current file
|
|
||||||
EXTERN SgStatement *where;//used in doAssignStmt: new statement is inserted before 'where' statement
|
|
||||||
EXTERN int nio;
|
|
||||||
EXTERN SgSymbol *bufIO[6];
|
|
||||||
EXTERN SgSymbol *loop_var[8]; // for generatig DO statements
|
|
||||||
|
|
||||||
|
|
||||||
EXTERN SgStatement *par_do; // first DO statement of current parallel loop
|
|
||||||
EXTERN int iplp; //dvm000 element number for storing ParLoopRef
|
|
||||||
EXTERN int irg; //dvm000 element number for storing RedGroupRef
|
|
||||||
EXTERN int irgts; //dvm000 element number for storing RedGroupRef(task_region)
|
|
||||||
EXTERN int idebrg; //dvm000 element number for storing DebRedGroupRef
|
|
||||||
EXTERN SgExpression *redgref; // reduction group reference
|
|
||||||
EXTERN SgExpression *redgrefts; // reduction group reference for TASK_REGION
|
|
||||||
EXTERN SgExpression *debredgref; // debug reduction group reference
|
|
||||||
EXTERN SgExpression *red_list; // reduction operation list in FDVM program
|
|
||||||
EXTERN SgExpression *task_red_list; // reduction operation list (in TASK_REGION directive)
|
|
||||||
EXTERN int iconsg; //dvm000 element number for storing ConsistGroupRef
|
|
||||||
EXTERN int iconsgts; //dvm000 element number for storing ConsistGroupRef(task_region)
|
|
||||||
EXTERN int idebcg; //dvm000 element number for storing DebRedGroupRef
|
|
||||||
EXTERN SgExpression *consgref; // consistent group reference
|
|
||||||
EXTERN SgExpression *consgrefts; // consistent group reference for TASK_REGION
|
|
||||||
EXTERN SgExpression *debconsgref; // debug reduction(consistent) group reference
|
|
||||||
EXTERN SgExpression *cons_list; // consistent array list in FDVM program
|
|
||||||
EXTERN SgExpression *task_cons_list; // consistent array list (in TASK_REGION directive)
|
|
||||||
EXTERN SgLabel *end_lab, *begin_lab; //labels for parallel loop nest
|
|
||||||
EXTERN D_do_list *cur_do;
|
|
||||||
EXTERN D_do_list *free_list;
|
|
||||||
EXTERN int Dloop_No;
|
|
||||||
EXTERN int pardo_No;
|
|
||||||
EXTERN int taskreg_No;
|
|
||||||
EXTERN int pardo_line;
|
|
||||||
EXTERN int D_end_do;
|
|
||||||
EXTERN int nfrag ; //counter of intervals for performance analizer
|
|
||||||
EXTERN interval_list *St_frag ;
|
|
||||||
EXTERN interval_list *St_loop_first;
|
|
||||||
EXTERN interval_list *St_loop_last;
|
|
||||||
EXTERN int perf_analysis ; //set to 1 by -e1
|
|
||||||
EXTERN int close_loop_interval;
|
|
||||||
EXTERN stmt_list *goto_list;
|
|
||||||
EXTERN int len_int; //set by option -bind
|
|
||||||
EXTERN int len_long;//set by option -bind
|
|
||||||
EXTERN int bind;//set by option -bind
|
|
||||||
EXTERN int dvm_debug ; //set to 1 by -d1 or -d2 or -d3 or -d4 flag
|
|
||||||
EXTERN int only_debug ; //set to 1 by -s flag
|
|
||||||
EXTERN int level_debug ; //set to 1 by -d1, to 2 by -d2, ...
|
|
||||||
EXTERN fragment_list_in *debug_fragment; //set by option -d
|
|
||||||
EXTERN fragment_list_in *perf_fragment; //set by option -e
|
|
||||||
EXTERN int debug_regim; //set by option -d
|
|
||||||
EXTERN int check_regim; //set by option -dc
|
|
||||||
EXTERN int dbg_if_regim; //set by option -dbif
|
|
||||||
EXTERN int IOBufSize; //set by option -bufio
|
|
||||||
EXTERN SgSymbol *dbg_var;
|
|
||||||
EXTERN int HPF_program;
|
|
||||||
EXTERN int rmbuf_size[6];
|
|
||||||
EXTERN int first_time;
|
|
||||||
EXTERN SgStatement *indep_st; //first INDEPENDENT directive of loop nest
|
|
||||||
EXTERN SgStatement *ins_st1, *ins_st2; // for INDEPENDENT loop
|
|
||||||
EXTERN SgSymbol *DoVar[MAX_LOOP_NEST], **IND_var, **IEX_var;
|
|
||||||
EXTERN int iarg; // for INDEPENDENT loop
|
|
||||||
//---------------------------------------------------------------------
|
|
||||||
EXTERN int errcnt; // counter of errors in file
|
|
||||||
EXTERN graph_node *first_node, *node_list, *first_header_node, *cur_node, *DAG_list, *top_node;
|
|
||||||
EXTERN graph_node_list *all_node_list, *header_node_list, *dead_node_list, *nobody_node_list;
|
|
||||||
EXTERN SgStatement *cur_func; // current function
|
|
||||||
EXTERN SgSymbol *cur_symb, *top_symb_list, *sub_symb_list;
|
|
||||||
EXTERN int do_dummy, do_stmtfn; // flag for building call graph: by default do_dummy=0, do_stmtfn=0
|
|
||||||
EXTERN int gcount;
|
|
||||||
EXTERN SgStatement *cur_st; // current statement (for inserting)
|
|
||||||
EXTERN SgStatement *global_st; // first statement of file (global_bfnd)
|
|
||||||
EXTERN stmt_list *entryst_list;
|
|
||||||
//EXTERN stmt_list *DATA_list;
|
|
||||||
EXTERN int max_lab; // maximal label in file
|
|
||||||
EXTERN int num_lab; // maximal(last) new label
|
|
||||||
EXTERN int vcounter;
|
|
||||||
EXTERN SgStatement *top_header, *top_last,* top_first_executable,*top_last_declaration, *top_global;
|
|
||||||
EXTERN label_list *format_labels, *top_labels, *proc_labels;
|
|
||||||
EXTERN SgSymbol *do_var[10];
|
|
||||||
EXTERN symb_list *top_temp_vars;
|
|
||||||
EXTERN block_list *common_list, *common_list_l, *equiv_list, *equiv_list_l;
|
|
||||||
EXTERN block_list *top_common_list, *top_common_list_l, *top_equiv_list, *top_equiv_list_l;
|
|
||||||
EXTERN int modified;
|
|
||||||
EXTERN int intrinsic_type[MAX_INTRINSIC_NUM];
|
|
||||||
EXTERN const char *intrinsic_name[MAX_INTRINSIC_NUM];
|
|
||||||
EXTERN int deb_reg, with_cmnt;
|
|
||||||
//---------------------------------------------------------------------
|
|
||||||
/* inl_exp.cpp */
|
|
||||||
void initialize();
|
|
||||||
void InlinerDriver(SgFile *f);
|
|
||||||
void CallGraph(SgStatement *func);
|
|
||||||
void initVariantNames();
|
|
||||||
int isDummyArgument(SgSymbol *s);
|
|
||||||
int isStatementFunction(SgSymbol *s);
|
|
||||||
void FunctionCallSearch(SgExpression *e);
|
|
||||||
void FunctionCallSearch_Left(SgExpression *e);
|
|
||||||
void Arg_FunctionCallSearch(SgExpression *e);
|
|
||||||
stmt_list *addToStmtList(stmt_list *pstmt, SgStatement *stat);
|
|
||||||
stmt_list *delFromStmtList(stmt_list *pstmt);
|
|
||||||
graph_node_list *addToNodeList(graph_node_list *pnode, graph_node *gnode);
|
|
||||||
graph_node_list *delFromNodeList(graph_node_list *pnode, graph_node *gnode);
|
|
||||||
graph_node_list *isInNodeList(graph_node_list *pnode, graph_node *gnode);
|
|
||||||
graph_node *CreateGraphNode(SgSymbol *s, SgStatement *header_st);
|
|
||||||
graph_node *NewGraphNode(SgSymbol *s, SgStatement *header_st);
|
|
||||||
void PrintGraphNode(graph_node *gnode);
|
|
||||||
void PrintGraphNodeWithAllEdges(graph_node *gnode);
|
|
||||||
void PrintWholeGraph();
|
|
||||||
void PrintWholeGraph_kind_2 ();
|
|
||||||
graph_node *NodeForSymbInGraph(SgSymbol *s, SgStatement *stheader);
|
|
||||||
void Call_Site(SgSymbol *s, int inlined);
|
|
||||||
edge *CreateOutcomingEdge(graph_node *gnode, int inlined);
|
|
||||||
edge *CreateIncomingEdge(graph_node *gnode, int inlined);
|
|
||||||
edge *NewEdge(graph_node *from, graph_node *to, int inlined);
|
|
||||||
void BuildingHeaderNodeList();
|
|
||||||
void RemovingDeadSubprograms();
|
|
||||||
int isHeaderNode(graph_node *gnode);
|
|
||||||
int isDeadNode(graph_node *gnode);
|
|
||||||
int isHeaderStmtSymbol(SgSymbol *s);
|
|
||||||
void DeleteIncomingEdgeFrom(graph_node *gnode, graph_node *from);
|
|
||||||
void ScanSymbolTable(SgFile *f);
|
|
||||||
void NoBodySubprograms();
|
|
||||||
void DeleteOutcomingEdgeTo(graph_node *gnode, graph_node *gto);
|
|
||||||
int isNoBodyNode(graph_node *gnode);
|
|
||||||
void ReseatEdges(graph_node *gnode, graph_node *newnode);
|
|
||||||
graph_node *SplittingNode(graph_node *gnode);
|
|
||||||
graph_node *CloneNode(graph_node *gnode);
|
|
||||||
void CopyOutcomingEdges(graph_node *gnode, graph_node *gnew);
|
|
||||||
void CopyIncomingEdges (graph_node *gnode, graph_node *gnew);
|
|
||||||
void RemovingUninlinedEdges();
|
|
||||||
void Partition();
|
|
||||||
void MoveEdgesPointTo(graph_node *gnode);
|
|
||||||
int unvisited_in(graph_node_list *interval);
|
|
||||||
int inInterval(graph_node *gnode,graph_node_list *interval);
|
|
||||||
int allPredecessorInInterval(graph_node *gnode,graph_node_list *interval);
|
|
||||||
void ReseatEdgesOutsideToNew(graph_node *gnode, graph_node *gnew,graph_node_list *interval);
|
|
||||||
void initIntrinsicNames();
|
|
||||||
|
|
||||||
|
|
||||||
/* hlp.cpp */
|
|
||||||
SgLabel * firstLabel(SgFile *f);
|
|
||||||
int isLabel(int num) ;
|
|
||||||
SgLabel * GetLabel();
|
|
||||||
SgLabel * GetNewLabel();
|
|
||||||
SgLabel * NewLabel();
|
|
||||||
//SgLabel * NewLabel(int lnum);
|
|
||||||
const char* header(int i);
|
|
||||||
char *UnparseExpr(SgExpression *e) ;
|
|
||||||
void printVariantName(int i);
|
|
||||||
void Error(const char *s, const char *t, int num, SgStatement *stmt);
|
|
||||||
void err(const char *s, int num, SgStatement *stmt);
|
|
||||||
void Err_g(const char *s, const char *t, int num);
|
|
||||||
void Warning(const char *s, const char *t, int num, SgStatement *stmt);
|
|
||||||
void warn(const char *s, int num, SgStatement *stmt);
|
|
||||||
void Warn_g(const char *s, const char *t, int num);
|
|
||||||
void errN(const char *s, int num, SgStatement *stmt);
|
|
||||||
void format_num (int num, char num3s[]);
|
|
||||||
SgExpression *ConnectList(SgExpression *el1, SgExpression *el2);
|
|
||||||
int is_integer_value(char *str);
|
|
||||||
void PrintSymbolTable(SgFile *f);
|
|
||||||
void printSymb(SgSymbol *s);
|
|
||||||
void printType(SgType *t);
|
|
||||||
void PrintTypeTable(SgFile *f);
|
|
||||||
int isSymbolNameInScope(char *name, SgStatement *scope);
|
|
||||||
int isSymbolName(char *name);
|
|
||||||
SgExpression *ReplaceIntegerParameter(SgExpression *e);
|
|
||||||
void SetScopeOfLabel(SgLabel *lab, SgStatement *scope);
|
|
||||||
SgLabel *isLabelWithScope(int num, SgStatement *stmt) ;
|
|
||||||
SgExpression *UpperBound(SgSymbol *ar, int i);
|
|
||||||
SgExpression *LowerBound(SgSymbol *ar, int i);
|
|
||||||
int Rank (SgSymbol *s);
|
|
||||||
symb_list *AddToSymbList ( symb_list *ls, SgSymbol *s);
|
|
||||||
void MakeDeclarationForTempVarsInTop();
|
|
||||||
SgExpression *Calculate(SgExpression *er);
|
|
||||||
int ExpCompare(SgExpression *e1, SgExpression *e2);
|
|
||||||
SgExpression *Calculate_List(SgExpression *e);
|
|
||||||
|
|
||||||
|
|
||||||
/* inliner.cpp */
|
|
||||||
void Inliner(graph_node *gtop);
|
|
||||||
void EntryPointList(SgFile *file);
|
|
||||||
void IntegerConstantSubstitution(SgStatement *header);
|
|
||||||
int isIntrinsicFunctionName(char *name);
|
|
||||||
char *ChangeIntrinsicFunctionName(char *name);
|
|
||||||
void RoutineCleaning(SgStatement *header);
|
|
||||||
void StatementCleaning(SgStatement *stmt);
|
|
||||||
SgSymbol *SearchFunction(SgExpression *e,SgStatement *stmt);
|
|
||||||
SgSymbol *PrecalculateFtoVar(SgExpression *e,SgStatement *stmt);
|
|
||||||
void PrecalculateActualParameters(SgSymbol *s,SgExpression *e,SgStatement *stmt);
|
|
||||||
void PrecalculateExpression(SgSymbol *sp,SgExpression *e,SgStatement *stmt);
|
|
||||||
void InsertNewStatementBefore (SgStatement *stat, SgStatement *current);
|
|
||||||
void InsertNewStatementAfter (SgStatement *stat, SgStatement *current, SgStatement *cp);
|
|
||||||
int ParameterType(SgExpression *e,SgStatement *stmt);
|
|
||||||
int TestSubscripts(SgExpression *e,SgStatement *stmt);
|
|
||||||
int TestRange(SgExpression *e,SgStatement *stmt);
|
|
||||||
SgSymbol *GetTempVarForF(SgSymbol *sf, SgType *t);
|
|
||||||
SgSymbol *GetTempVarForArg(int i, SgSymbol *sf, SgType *t);
|
|
||||||
SgSymbol *GetTempVarForSubscr(SgType *t);
|
|
||||||
SgSymbol *GetTempVarForBound(SgSymbol *sa);
|
|
||||||
SgStatement *InlineExpansion(graph_node *gtop, SgStatement *stmt, SgSymbol *sf, SgExpression *args);
|
|
||||||
int isInSymbolTable(SgSymbol *sym);
|
|
||||||
SgStatement * CreateTemplate(graph_node *gnode);
|
|
||||||
void SiteIndependentTransformation(graph_node *gnode); //(SgStatement *header);
|
|
||||||
void MoveToTopOfRoutine(SgStatement *entrystmt, SgStatement *first_executable);
|
|
||||||
void LogIf_to_IfThen(SgStatement *stmt);
|
|
||||||
void MoveToTopOfRoutine(SgStatement *entrystmt, SgStatement *first_executable);
|
|
||||||
SgStatement *ReplaceByGoToBottomOfRoutine(SgStatement *retstmt, SgLabel *lab_return);
|
|
||||||
void MoveFormatToTopOfRoutine(SgStatement *format_stmt, SgStatement *last_declaration);
|
|
||||||
int TestFormatLabel(SgLabel *lab);
|
|
||||||
int isInlinedCall(graph_node *gtop, graph_node *gnode);
|
|
||||||
void ReplaceReturnByContinue(SgStatement *return_st);
|
|
||||||
SgStatement *MoveFormatIntoTopLevel(SgStatement *format_stmt, int clone);
|
|
||||||
graph_node *getNodeForSymbol(graph_node *gtop,char *name);
|
|
||||||
int isInlinedCallSite(SgStatement *stmt);
|
|
||||||
graph_node *getAttrNodeForSymbol(SgSymbol *sf);
|
|
||||||
label_list *addToLabelList(label_list *lablist, SgLabel *lab);
|
|
||||||
int isInLabelList(SgLabel *lab, label_list *lablist);
|
|
||||||
void ReplaceFormatLabelsInStmts(SgStatement *header);
|
|
||||||
int isLabelOfTop(SgLabel *lab);
|
|
||||||
void LabelList(SgStatement *header);
|
|
||||||
SgLabel *isInFormatMap(SgLabel *lab);
|
|
||||||
void SetScopeToLabels(SgStatement *header);
|
|
||||||
void AdjustableArrayBounds(SgStatement *header, SgStatement *after);
|
|
||||||
int isAdustableBound(SgExpression *bound);
|
|
||||||
int SearchVarRef(SgExpression *e);
|
|
||||||
void PrecalculateArrayBound(SgSymbol *ar,SgExpression *bound, SgStatement *after, SgStatement *header);
|
|
||||||
void ReplaceWholeArrayRefInIOStmts(SgStatement *header);
|
|
||||||
SgExpression *ImplicitLoop(SgSymbol *ar);
|
|
||||||
SgSymbol *GetImplicitDoVar(int j);
|
|
||||||
SgExpression * LowerLoopBound(SgSymbol *ar, int i);
|
|
||||||
SgExpression * UpperLoopBound(SgSymbol *ar, int i);
|
|
||||||
void RemapLocalVariables(SgStatement *header);
|
|
||||||
SgSymbol *CreateListOfLocalVariables(SgStatement *header);
|
|
||||||
void MakeDeclarationStmtInTop(SgSymbol *s);
|
|
||||||
SgSymbol *NextSymbol(SgSymbol *s);
|
|
||||||
SgSymbol *GetNewTopSymbol(SgSymbol *s);
|
|
||||||
int isInTopSymbList(SgSymbol *sym);
|
|
||||||
SgSymbol *GetImplicitDoVar(int j);
|
|
||||||
char *NewName(char *name);
|
|
||||||
SgSymbol *isTopName(char *name);
|
|
||||||
SgSymbol *isTopNameOfType(char *name, SgType *type);
|
|
||||||
void ReplaceIntegerParameterInTypeOfVars(SgStatement *header, SgStatement *last);
|
|
||||||
void ReplaceIntegerParameter_InType(SgType *t);
|
|
||||||
void MakeDeclarationStmtsForConstant(SgSymbol *s);
|
|
||||||
void RemapFunctionResultVar(SgExpression *topref, SgSymbol *sf);
|
|
||||||
SgStatement *TranslateSubprogramReferences(SgStatement *header);
|
|
||||||
//void TranslateExpression(SgExpression * e, int md[]);
|
|
||||||
SgExpression *TranslateExpression(SgExpression * e, int *md);
|
|
||||||
SgSymbol *SymbolMap(SgSymbol *s);
|
|
||||||
void InsertBlockAfter(SgStatement *after, SgStatement *first, SgStatement *last);
|
|
||||||
void ExtractSubprogramsOfCallGraph(graph_node *gtop);
|
|
||||||
int CompareConstants(SgSymbol *rs, SgSymbol *ts);
|
|
||||||
void RemapConstants(SgStatement *header,SgStatement *first_exec);
|
|
||||||
void RemapLocalObject(SgSymbol *s);
|
|
||||||
void CommonBlockList(SgStatement *stmt);
|
|
||||||
void TopCommonBlockList(SgStatement *stmt);
|
|
||||||
block_list *AddToBlockList(block_list *blist_last, SgExpression *eb);
|
|
||||||
void EquivBlockList(SgStatement *stmt);
|
|
||||||
void TranslateExpression_1(SgExpression *e);
|
|
||||||
void TranslateExpressionList(SgExpression *e) ;
|
|
||||||
SgStatement *DeclaringCommonBlock(SgExpression *bl);
|
|
||||||
void RemapCommonBlocks(SgStatement *header);
|
|
||||||
int isUnconflictingCommon(SgSymbol *s);
|
|
||||||
block_list *isConflictingCommon(SgSymbol *s);
|
|
||||||
SgType *BaseType(SgType *type);
|
|
||||||
block_list *isInCommonList(SgSymbol *s, block_list *blc );
|
|
||||||
int areOfSameType(SgSymbol *st, SgSymbol *sr);
|
|
||||||
int IntrinsicTypeSize(SgType *t);
|
|
||||||
int TypeSize(SgType *t);
|
|
||||||
int TypeLength(SgType *t);
|
|
||||||
void MakeRefsConformable(SgExpression *tref, SgExpression *ref);
|
|
||||||
void CalculateTopLevelRef(SgSymbol *tops,SgExpression *tref, SgExpression *ref);
|
|
||||||
void CreateTopCommonBlockList();
|
|
||||||
void RemapCommonObject(SgSymbol *s,SgSymbol *tops);
|
|
||||||
void RemapCommonList(SgExpression *el);
|
|
||||||
int CompareValues(PTR_LLND pe1,PTR_LLND pe2);
|
|
||||||
SgType * TypeOfResult(SgExpression *e);
|
|
||||||
int is_IntrinsicFunction(SgSymbol *sf);
|
|
||||||
int IntrinsicInd(SgSymbol *sf);
|
|
||||||
SgType *TypeF(int indf,SgExpression *e);
|
|
||||||
SgType * SgTypeComplex(SgFile *f);
|
|
||||||
SgType * SgTypeDoubleComplex(SgFile *f);
|
|
||||||
void ConformActualAndFormalParameters(SgSymbol *scopy,SgExpression *args,SgStatement *parentSt);
|
|
||||||
SgSymbol *FirstDummy(SgSymbol *sf);
|
|
||||||
SgSymbol *NextDummy(SgSymbol *s);
|
|
||||||
int TestConformability(SgSymbol *darg, SgExpression *fact, SgStatement *parentSt);
|
|
||||||
int isScalar(SgSymbol *symb);
|
|
||||||
int SameType(SgSymbol *darg, SgExpression *fact);
|
|
||||||
int Same(SgType *ft,SgType *dt);
|
|
||||||
int isArray(SgSymbol *symb);
|
|
||||||
int TestShapes(SgArrayType *ftp, SgArrayType *dtp);
|
|
||||||
SgExpression *LowerBoundOfDim(SgExpression *e);
|
|
||||||
SgExpression *UpperBoundOfDim(SgExpression *e);
|
|
||||||
int IdenticalValues(SgExpression *e1, SgExpression *e2);
|
|
||||||
SgExpression *ArrayMap(SgSymbol *s);
|
|
||||||
//SgExpression *ArrayMap1(SgSymbol *s);
|
|
||||||
SgExpression *ArrayMap2(SgSymbol *s);
|
|
||||||
SgExpression *FirstIndexChange(SgExpression *e, SgExpression *index);
|
|
||||||
int SameShapes(SgArrayType *ftp, SgArrayType *dtp);
|
|
||||||
int is_NoExpansionFunction(SgSymbol *sf);
|
|
||||||
int isFormalProcedure(SgSymbol *symb);
|
|
||||||
int SameDims(SgExpression *fe,SgExpression *de);
|
|
||||||
SgExpression *FirstIndexesChange(SgExpression *mape, SgExpression *re);
|
|
||||||
void ConformReferences(SgSymbol *darg, SgExpression *fact, SgStatement *parentSt);
|
|
||||||
void TranslateArrayTypeExpressions(SgSymbol *darg);
|
|
||||||
int isAdjustableArray(SgSymbol *param);
|
|
||||||
int TestBounds(SgExpression *fact, SgArrayType *ftp, SgArrayType *dtp);
|
|
||||||
void TransformForFortran77();
|
|
||||||
SgExpression *IndexChange(SgExpression *e, SgExpression *index, SgExpression *lbe);
|
|
||||||
int TestVector(SgExpression *fact, SgArrayType *ftp, SgArrayType *dtp);
|
|
||||||
SgType *TypeOfArgument(SgExpression *e);
|
|
||||||
void ReplaceContext(SgStatement *stmt);
|
|
||||||
int isDoEndStmt(SgStatement *stmt);
|
|
||||||
void ReplaceDoNestLabel(SgStatement *last_st, SgLabel *new_lab);
|
|
||||||
void EditExpressionList(SgExpression *e);
|
|
||||||
void Add_Comment(graph_node *g, SgStatement *stmt, int flag);
|
|
||||||
void PrintTopSymbList();
|
|
||||||
void PrintSymbList(SgSymbol *slist, SgStatement *header);
|
|
||||||
|
|
||||||
/* driver.cpp */
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
extern "C" char* funparse_bfnd(...);
|
|
||||||
extern "C" char* Tool_Unparse2_LLnode(...);
|
|
||||||
extern "C" void Init_Unparser(...);
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------
|
|
||||||
//extern SgLabel * LabelMapping(PTR_LABEL label);
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,196 +0,0 @@
|
|||||||
intrinsic_type[ICHAR] = 1;
|
|
||||||
intrinsic_type[CHAR] = 7;
|
|
||||||
intrinsic_type[INT] = 1; //
|
|
||||||
intrinsic_type[IFIX] = 1;
|
|
||||||
intrinsic_type[IDINT] = 1;
|
|
||||||
intrinsic_type[FLOAT] = 3;
|
|
||||||
intrinsic_type[REAL] = 3; //
|
|
||||||
intrinsic_type[SNGL] = 3;
|
|
||||||
intrinsic_type[DBLE] = 4; //
|
|
||||||
intrinsic_type[CMPLX] = 5; //
|
|
||||||
intrinsic_type[DCMPLX]= 6;
|
|
||||||
intrinsic_type[AINT] = 3; //
|
|
||||||
intrinsic_type[DINT] = 4;
|
|
||||||
intrinsic_type[ANINT] = 3; //
|
|
||||||
intrinsic_type[DNINT] = 4;
|
|
||||||
intrinsic_type[NINT] = 1; //
|
|
||||||
intrinsic_type[IDNINT]= 1;
|
|
||||||
intrinsic_type[ABS] =-1; //3
|
|
||||||
intrinsic_type[IABS] = 1;
|
|
||||||
intrinsic_type[DABS] = 4;
|
|
||||||
intrinsic_type[CABS] = 5;
|
|
||||||
intrinsic_type[MOD] =-1; //1
|
|
||||||
intrinsic_type[AMOD] = 3;
|
|
||||||
intrinsic_type[DMOD] = 4;
|
|
||||||
intrinsic_type[SIGN] =-1; //3
|
|
||||||
intrinsic_type[ISIGN] = 1;
|
|
||||||
intrinsic_type[DSIGN] = 4;
|
|
||||||
intrinsic_type[DIM] =-1; //3
|
|
||||||
intrinsic_type[IDIM] = 1;
|
|
||||||
intrinsic_type[DDIM] = 4;
|
|
||||||
intrinsic_type[MAX] =-1;
|
|
||||||
intrinsic_type[MAX0] = 1;
|
|
||||||
intrinsic_type[AMAX1] = 3;
|
|
||||||
intrinsic_type[DMAX1] = 4;
|
|
||||||
intrinsic_type[AMAX0] = 3;
|
|
||||||
intrinsic_type[MAX1] = 1;
|
|
||||||
intrinsic_type[MIN] =-1; //
|
|
||||||
intrinsic_type[MIN0] = 1;
|
|
||||||
intrinsic_type[AMIN1] = 3;
|
|
||||||
intrinsic_type[DMIN1] = 4;
|
|
||||||
intrinsic_type[AMIN0] = 3;
|
|
||||||
intrinsic_type[MIN1] = 1;
|
|
||||||
intrinsic_type[LEN] = 1;
|
|
||||||
intrinsic_type[INDEX] = 1;
|
|
||||||
intrinsic_type[AIMAG] =-1; //3
|
|
||||||
intrinsic_type[DIMAG] = 4;
|
|
||||||
intrinsic_type[CONJG] =-1; //5
|
|
||||||
intrinsic_type[DCONJG]= 6;
|
|
||||||
intrinsic_type[SQRT] =-1; //3
|
|
||||||
intrinsic_type[DSQRT] = 4;
|
|
||||||
intrinsic_type[CSQRT] = 5;
|
|
||||||
intrinsic_type[EXP] =-1; //3
|
|
||||||
intrinsic_type[DEXP] = 4;
|
|
||||||
intrinsic_type[CEXP] = 5;
|
|
||||||
intrinsic_type[LOG] =-1; //
|
|
||||||
intrinsic_type[ALOG] = 3;
|
|
||||||
intrinsic_type[DLOG] = 4;
|
|
||||||
intrinsic_type[CLOG] = 5;
|
|
||||||
intrinsic_type[LOG10] =-1; //
|
|
||||||
intrinsic_type[ALOG10]= 3;
|
|
||||||
intrinsic_type[DLOG10]= 4;
|
|
||||||
intrinsic_type[SIN] =-1; //3
|
|
||||||
intrinsic_type[DSIN] = 4;
|
|
||||||
intrinsic_type[CSIN] = 5;
|
|
||||||
intrinsic_type[COS] =-1; //3
|
|
||||||
intrinsic_type[DCOS] = 4;
|
|
||||||
intrinsic_type[CCOS] = 5;
|
|
||||||
intrinsic_type[TAN] =-1; //3
|
|
||||||
intrinsic_type[DTAN] = 4;
|
|
||||||
intrinsic_type[ASIN] =-1; //3
|
|
||||||
intrinsic_type[DASIN] = 4;
|
|
||||||
intrinsic_type[ACOS] =-1; //3
|
|
||||||
intrinsic_type[DACOS] = 4;
|
|
||||||
intrinsic_type[ATAN] =-1; //3
|
|
||||||
intrinsic_type[DATAN] = 4;
|
|
||||||
intrinsic_type[ATAN2] =-1; //3
|
|
||||||
intrinsic_type[DATAN2]= 4;
|
|
||||||
intrinsic_type[SINH] =-1; //3
|
|
||||||
intrinsic_type[DSINH] = 4;
|
|
||||||
intrinsic_type[COSH] =-1; //3
|
|
||||||
intrinsic_type[DCOSH] = 4;
|
|
||||||
intrinsic_type[TANH] =-1; //3
|
|
||||||
intrinsic_type[DTANH] = 4;
|
|
||||||
intrinsic_type[LGE] = 2;
|
|
||||||
intrinsic_type[LGT] = 2;
|
|
||||||
intrinsic_type[LLE] = 2;
|
|
||||||
intrinsic_type[LLT] = 2;
|
|
||||||
//intrinsic_type[] = ;
|
|
||||||
//intrinsic_type[] = ;
|
|
||||||
|
|
||||||
|
|
||||||
//{ICHAR, CHAR,INT,IFIX,IDINT,FLOAT,REAL,SNGL,DBLE,CMPLX,DCMPLX,AINT,DINT,ANINT,DNINT,NINT,IDNINT,ABS,IABS,DABS,CABS,
|
|
||||||
// MOD,AMOD,DMOD, SIGN,ISIGN, DSIGN, DIM,IDIM,DDIM, MAX,MAX0, AMAX1,DMAX1, AMAX0,MAX1, MIN,MIN0,
|
|
||||||
// AMIN1,DMIN1,AMIN0,MIN1,LEN,INDEX,AIMAG,DIMAG,CONJG,DCONJG,SQRT,DSQRT,CSQRT,EXP,DEXP.CEXP,LOG,ALOG,DLOG,CLOG,
|
|
||||||
// LOG10,ALOG10,DLOG10,SIN,DSIN,CSIN,COS,DCOS,CCOS,TAN,DTAN,ASIN,DASIN,ACOS,DACOS,ATAN,DATAN,
|
|
||||||
// ATAN2,DATAN2,SINH,DSINH,COSH,DCOSH,TANH,DTANH, LGE,LGT,LLE,LLT};
|
|
||||||
//universal: ANINT,NINT,ABS, MOD,SIGN,DIM,MAX,MIN,SQRT,EXP,LOG,LOG10,SIN,COS,TAN,ASIN,ACOS,ATAN,ATAN2,SINH,COSH,TANH
|
|
||||||
|
|
||||||
//universal name - -1
|
|
||||||
//integer - 1
|
|
||||||
//logical - 2
|
|
||||||
//real - 3
|
|
||||||
//double precision - 4
|
|
||||||
//complex - 5
|
|
||||||
//complex*16 - 6
|
|
||||||
//character - 7
|
|
||||||
|
|
||||||
intrinsic_name[ICHAR] = "ichar";
|
|
||||||
intrinsic_name[CHAR] = "char";
|
|
||||||
intrinsic_name[INT] = "int"; //
|
|
||||||
intrinsic_name[IFIX] = "ifix";
|
|
||||||
intrinsic_name[IDINT] = "idint";
|
|
||||||
intrinsic_name[FLOAT] = "float";
|
|
||||||
intrinsic_name[REAL] = "real"; //
|
|
||||||
intrinsic_name[SNGL] = "sngl";
|
|
||||||
intrinsic_name[DBLE] = "dble"; //
|
|
||||||
intrinsic_name[CMPLX] = "cmplx"; //
|
|
||||||
intrinsic_name[DCMPLX]= "dcmplx";
|
|
||||||
intrinsic_name[AINT] = "aint"; //
|
|
||||||
intrinsic_name[DINT] = "dint";
|
|
||||||
intrinsic_name[ANINT] = "anint"; //
|
|
||||||
intrinsic_name[DNINT] = "dnint";
|
|
||||||
intrinsic_name[NINT] = "nint"; //
|
|
||||||
intrinsic_name[IDNINT]= "idnint";
|
|
||||||
intrinsic_name[ABS] = "abs"; //
|
|
||||||
intrinsic_name[IABS] = "iabs";
|
|
||||||
intrinsic_name[DABS] = "dabs";
|
|
||||||
intrinsic_name[CABS] = "cabs";
|
|
||||||
intrinsic_name[MOD] = "mod"; //
|
|
||||||
intrinsic_name[AMOD] = "amod";
|
|
||||||
intrinsic_name[DMOD] = "dmod";
|
|
||||||
intrinsic_name[SIGN] = "sign"; //
|
|
||||||
intrinsic_name[ISIGN] = "isign";
|
|
||||||
intrinsic_name[DSIGN] = "dsign";
|
|
||||||
intrinsic_name[DIM] = "dim"; //
|
|
||||||
intrinsic_name[IDIM] = "idim";
|
|
||||||
intrinsic_name[DDIM] = "ddim";
|
|
||||||
intrinsic_name[MAX] = "max";
|
|
||||||
intrinsic_name[MAX0] = "max0";
|
|
||||||
intrinsic_name[AMAX1] = "amax1";
|
|
||||||
intrinsic_name[DMAX1] = "dmax1";
|
|
||||||
intrinsic_name[AMAX0] = "amax0";
|
|
||||||
intrinsic_name[MAX1] = "max1";
|
|
||||||
intrinsic_name[MIN] = "min"; //
|
|
||||||
intrinsic_name[MIN0] = "min0";
|
|
||||||
intrinsic_name[AMIN1] = "amin1";
|
|
||||||
intrinsic_name[DMIN1] = "dmin1";
|
|
||||||
intrinsic_name[AMIN0] = "amin0";
|
|
||||||
intrinsic_name[MIN1] = "min1";
|
|
||||||
intrinsic_name[LEN] = "len";
|
|
||||||
intrinsic_name[INDEX] = "index";
|
|
||||||
intrinsic_name[AIMAG] = "AIMAG"; //
|
|
||||||
intrinsic_name[DIMAG] = "DIMAG";
|
|
||||||
intrinsic_name[CONJG] = "conjg"; //
|
|
||||||
intrinsic_name[DCONJG]= "dconjg";
|
|
||||||
intrinsic_name[SQRT] = "sqrt"; //
|
|
||||||
intrinsic_name[DSQRT] = "dsqrt";
|
|
||||||
intrinsic_name[CSQRT] = "csqrt";
|
|
||||||
intrinsic_name[EXP] = "exp"; //
|
|
||||||
intrinsic_name[DEXP] = "dexp";
|
|
||||||
intrinsic_name[CEXP] = "cexp";
|
|
||||||
intrinsic_name[LOG] = "log"; //
|
|
||||||
intrinsic_name[ALOG] = "alog";
|
|
||||||
intrinsic_name[DLOG] = "dlog";
|
|
||||||
intrinsic_name[CLOG] = "clog";
|
|
||||||
intrinsic_name[LOG10] = "log10"; //
|
|
||||||
intrinsic_name[ALOG10]= "alog10";
|
|
||||||
intrinsic_name[DLOG10]= "dlog10";
|
|
||||||
intrinsic_name[SIN] = "sin"; //
|
|
||||||
intrinsic_name[DSIN] = "dsin";
|
|
||||||
intrinsic_name[CSIN] = "csin";
|
|
||||||
intrinsic_name[COS] = "cos"; //
|
|
||||||
intrinsic_name[DCOS] = "dcos";
|
|
||||||
intrinsic_name[CCOS] = "ccos";
|
|
||||||
intrinsic_name[TAN] = "tan"; //
|
|
||||||
intrinsic_name[DTAN] = "dtan";
|
|
||||||
intrinsic_name[ASIN] = "asin"; //
|
|
||||||
intrinsic_name[DASIN] = "dasin";
|
|
||||||
intrinsic_name[ACOS] = "acos"; //
|
|
||||||
intrinsic_name[DACOS] = "dacos";
|
|
||||||
intrinsic_name[ATAN] = "atan"; //
|
|
||||||
intrinsic_name[DATAN] = "datan";
|
|
||||||
intrinsic_name[ATAN2] = "atan2"; //
|
|
||||||
intrinsic_name[DATAN2]= "datan2";
|
|
||||||
intrinsic_name[SINH] = "sinh"; //
|
|
||||||
intrinsic_name[DSINH] = "dsinh";
|
|
||||||
intrinsic_name[COSH] = "cosh"; //
|
|
||||||
intrinsic_name[DCOSH] = "dcosh";
|
|
||||||
intrinsic_name[TANH] = "tanh"; //
|
|
||||||
intrinsic_name[DTANH] = "dtanh";
|
|
||||||
intrinsic_name[LGE] = "lge";
|
|
||||||
intrinsic_name[LGT] = "lgt";
|
|
||||||
intrinsic_name[LLE] = "lle";
|
|
||||||
intrinsic_name[LLT] = "llt";
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
#echo#######################################################################
|
|
||||||
# Makefile for Fortran DVM transformator
|
|
||||||
#
|
|
||||||
#echo#######################################################################
|
|
||||||
|
|
||||||
# dvm/fdvm/fdvm_transform/makefile.uni
|
|
||||||
|
|
||||||
SAGEROOT = ../Sage
|
|
||||||
LIBDIR = ../lib
|
|
||||||
BINDIR = ../../bin
|
|
||||||
LIBINCLUDE = $(SAGEROOT)/lib/include
|
|
||||||
HINCLUDE = $(SAGEROOT)/h
|
|
||||||
DVMINCLUDE = ../include
|
|
||||||
EXECUTABLES = inl_exp
|
|
||||||
|
|
||||||
LOADER = $(LINKER)
|
|
||||||
|
|
||||||
INCL = -I. -I$(LIBINCLUDE) -I$(HINCLUDE) -I$(DVMINCLUDE)
|
|
||||||
|
|
||||||
CFLAGS = -c $(INCL) -Wall
|
|
||||||
LDFLAGS =
|
|
||||||
|
|
||||||
LIBS = $(LIBDIR)/libSage++.a $(LIBDIR)/libsage.a $(LIBDIR)/libdb.a
|
|
||||||
OBJS = inl_exp.o inliner.o hlp.o
|
|
||||||
|
|
||||||
|
|
||||||
$(BINDIR)/$(EXECUTABLES): $(OBJS)
|
|
||||||
$(LOADER) $(LDFLAGS) -o $(BINDIR)/$(EXECUTABLES) $(OBJS) $(LIBS)
|
|
||||||
|
|
||||||
all: $(BINDIR)/$(EXECUTABLES)
|
|
||||||
@echo "****** COMPILING $(EXECUTABLES) DONE ******"
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(OBJS)
|
|
||||||
cleanall:
|
|
||||||
rm -f $(OBJS)
|
|
||||||
|
|
||||||
############################# dependencies ############################
|
|
||||||
|
|
||||||
|
|
||||||
inl_exp.o: inl_exp.cpp inline.h
|
|
||||||
$(CXX) $(CFLAGS) inl_exp.cpp
|
|
||||||
inliner.o: inliner.cpp inline.h
|
|
||||||
$(CXX) $(CFLAGS) inliner.cpp
|
|
||||||
hlp.o: hlp.cpp inline.h
|
|
||||||
$(CXX) $(CFLAGS) hlp.cpp
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
## Copyright (C) 1999 ##
|
|
||||||
## Keldysh Institute of Appllied Mathematics ##
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
# dvm/fdvm/fdvm_transform/makefile.win
|
|
||||||
|
|
||||||
OUTDIR = ..\obj
|
|
||||||
BINDIR = ..\..\bin
|
|
||||||
LIBDIR = ..\lib
|
|
||||||
SAGEROOT =..\Sage
|
|
||||||
|
|
||||||
LIBINCLUDE = $(SAGEROOT)\lib\include
|
|
||||||
HINCLUDE = $(SAGEROOT)\h
|
|
||||||
FDVMINCL = ..\include
|
|
||||||
EXECUTABLES = inl_exp
|
|
||||||
|
|
||||||
INCL = -I. -I$(LIBINCLUDE) -I$(HINCLUDE) -I$(FDVMINCL)
|
|
||||||
|
|
||||||
|
|
||||||
# -w don't issue warning now.
|
|
||||||
#CFLAGS=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D SYS5 $(INCL) \
|
|
||||||
# /Fp"$(OUTDIR)/fdvm_transform.pch" /YX /Fo"$(OUTDIR)/" /Fd"$(OUTDIR)/" /c
|
|
||||||
CFLAGS=/nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D SYS5 $(INCL) \
|
|
||||||
/Fp"$(OUTDIR)/fdvm_transform.pch" /Fo"$(OUTDIR)/" /Fd"$(OUTDIR)/" /c
|
|
||||||
|
|
||||||
.cpp{$(OUTDIR)/}.obj:
|
|
||||||
$(CXX) $(CFLAGS) $<
|
|
||||||
|
|
||||||
LINK=$(LINKER)
|
|
||||||
|
|
||||||
LINK_FLAGS=/nologo /subsystem:console /incremental:no\
|
|
||||||
/pdb:"$(OUTDIR)\$(EXECUTABLES).pdb" /out:"$(BINDIR)\$(EXECUTABLES).exe"
|
|
||||||
|
|
||||||
LINK_FLAGS=/nologo /subsystem:console /incremental:no\
|
|
||||||
/pdb:"$(OUTDIR)\$(EXECUTABLES).pdb" /out:"$(BINDIR)\$(EXECUTABLES).exe"
|
|
||||||
|
|
||||||
OBJS = $(OUTDIR)/inl_exp.obj $(OUTDIR)/inliner.obj $(OUTDIR)/hlp.obj
|
|
||||||
|
|
||||||
LIBS = $(LIBDIR)/libSage++.lib $(LIBDIR)\libsage.lib $(LIBDIR)\libdb.lib
|
|
||||||
|
|
||||||
|
|
||||||
$(BINDIR)/$(EXECUTABLES).exe: $(OBJS)
|
|
||||||
$(LINK) @<<
|
|
||||||
$(LINK_FLAGS) $(OBJS) $(LIBS)
|
|
||||||
<<
|
|
||||||
|
|
||||||
all: $(BINDIR)/$(EXECUTABLES).exe
|
|
||||||
@echo "*** COMPILING EXECUTABLE $(EXECUTABLES) DONE"
|
|
||||||
|
|
||||||
|
|
||||||
clean:
|
|
||||||
|
|
||||||
cleanall:
|
|
||||||
|
|
||||||
|
|
||||||
# ***********************************************************
|
|
||||||
|
|
||||||
inl_exp.obj: inl_exp.cpp inline.h
|
|
||||||
inliner.obj: inliner.cpp inline.h
|
|
||||||
hlp.obj: hlp.cpp inline.h
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
SHELL = /bin/sh
|
|
||||||
INSTALL = /bin/cp
|
|
||||||
|
|
||||||
SUBDIR = Sage parser fdvm
|
|
||||||
|
|
||||||
install:
|
|
||||||
@for i in ${SUBDIR}; do (cd $$i; \
|
|
||||||
echo " *** $$i DIRECTORY ***";\
|
|
||||||
$(MAKE) "MAKE=$(MAKE)" install); done
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@for i in ${SUBDIR}; do (cd $$i; \
|
|
||||||
echo " *** $$i DIRECTORY ***";\
|
|
||||||
$(MAKE) "MAKE=$(MAKE)" clean); done
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
set(DVM_SAGE_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/h)
|
|
||||||
|
|
||||||
add_subdirectory(lib)
|
|
||||||
add_subdirectory(Sage++)
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
************************************************************************
|
|
||||||
./LICENSE pC++/Sage++ License Information (PHB 9/2/93)
|
|
||||||
************************************************************************
|
|
||||||
|
|
||||||
This file is a REQUIRED part of the pC++/Sage++ Environment
|
|
||||||
|
|
||||||
The pC++/Sage++ software is *not* in the public domain. However, it
|
|
||||||
is freely available without fee for education, research, and
|
|
||||||
non-profit purposes. By obtaining copies of this and other files that
|
|
||||||
comprise the pC++/Sage++ environment, you, the Licensee, agree to
|
|
||||||
abide by the following conditions and understandings with respect to
|
|
||||||
the copyrighted software:
|
|
||||||
|
|
||||||
1. The software is copyrighted by Indiana University (IU), University
|
|
||||||
of Oregon (UO), and the University of Rennes (UR), and they retain
|
|
||||||
ownership of the software.
|
|
||||||
|
|
||||||
2. Permission to use and modify this software and its documentation
|
|
||||||
for education, research, and non-profit purposes is hereby granted to
|
|
||||||
Licensee, provided that the copyright notice, the original author's
|
|
||||||
names and unit identification, and this permission notice appear on
|
|
||||||
all such works, and that no charge be made for such copies.
|
|
||||||
|
|
||||||
3. We request that the Licensee not distribute the pC++/Sage++
|
|
||||||
software. In order to maintain the software, we will distribute the
|
|
||||||
most up-to-date version of the software via FTP. Please "finger
|
|
||||||
sage@cica.indiana.edu" for more information. Furthermore, our funding
|
|
||||||
agencies would like to know what you think about pC++/Sage++. If you
|
|
||||||
are using the software, PLEASE join our mailing list by sending mail
|
|
||||||
to sage-request.cica.indiana.edu with the Subject: "subscribe". We
|
|
||||||
will notify you of important bug fixes and updates as they become
|
|
||||||
available.
|
|
||||||
|
|
||||||
Any entity desiring permission to incorporate this software into
|
|
||||||
commercial products should contact:
|
|
||||||
|
|
||||||
Dennis Gannon gannon@cs.indiana.edu
|
|
||||||
215 Lindley Hall
|
|
||||||
Department of Computer Science
|
|
||||||
Indiana Univerity
|
|
||||||
Bloomington, IN 47401
|
|
||||||
USA
|
|
||||||
|
|
||||||
4. Licensee may not use the name, logo, or any other symbol of
|
|
||||||
IU/UO/UR nor the names of any of its employees nor any adaptation
|
|
||||||
thereof in advertizing or publicity pertaining to the software without
|
|
||||||
specific prior written approval of the IU/UO/UR.
|
|
||||||
|
|
||||||
5. IU/UO/UR MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE
|
|
||||||
SOFTWARE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR
|
|
||||||
IMPLIED WARRANTY.
|
|
||||||
|
|
||||||
6. IU/UO/UR shall not be liable for any damages suffered by Licensee
|
|
||||||
from the use of this software.
|
|
||||||
|
|
||||||
7. The software was developed under agreements between the IU/UO/UR
|
|
||||||
and the Federal Government which entitle the Government to certain
|
|
||||||
rights.
|
|
||||||
|
|
||||||
************************************************************************
|
|
||||||
|
|
||||||
Copyright (c) 1993 Indiana University, University of Oregon,
|
|
||||||
University of Rennes. All Rights Reserved.
|
|
||||||
|
|
||||||
Funded by: ARPA under Rome Labs contract AF 30602-92-C-0135 and the
|
|
||||||
National Science Foundation Office of Advanced Scientific Computing
|
|
||||||
under grant ASC-9111616 and Esprit BRA APPARC
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
## pC++/Sage++ Copyright (C) 1993 ##
|
|
||||||
## Indiana University University of Oregon University of Rennes ##
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# sage/Makefile (phb)
|
|
||||||
|
|
||||||
# Pete Beckman (5/27/93)
|
|
||||||
|
|
||||||
#
|
|
||||||
# This makefile recursively calls MAKE in each subdirectory
|
|
||||||
#
|
|
||||||
# There are two configurations for this Makefile at the present time
|
|
||||||
# 1) Users/Developers of the Sage++ Compiler tools
|
|
||||||
# 2) Users/Developers of pC++, a Parallel C++ for Supercomputers
|
|
||||||
#
|
|
||||||
|
|
||||||
SHELL = /bin/sh
|
|
||||||
|
|
||||||
CONFIG_ARCH=iris4d
|
|
||||||
|
|
||||||
CC = gcc
|
|
||||||
#CC=cc#ENDIF##USE_CC#
|
|
||||||
#PTX#CC=cc#ENDIF#
|
|
||||||
|
|
||||||
CXX = g++
|
|
||||||
#USE_CFRONT#CXX= CC#ENDIF#
|
|
||||||
#USE_DECCXX#CXX=cxx#ENDIF#
|
|
||||||
#USE_IBMXLC#CXX=xlC#ENDIF#
|
|
||||||
CXX=DCC#ENDIF##USE_SGIDCC#
|
|
||||||
CXX = g++
|
|
||||||
LINKER = $(CC)
|
|
||||||
|
|
||||||
#PTX#EXTRASRC=target/symmetry/src#ENDIF#
|
|
||||||
#SYMMETRY#EXTRASRC=target/symmetry/src#ENDIF#
|
|
||||||
#CM5#EXTRASRC=target/cm5/src#ENDIF#
|
|
||||||
#PARAGON#EXTRASRC=target/paragon/src#ENDIF#
|
|
||||||
#PARAGON_XDEV#EXTRASRC=target/paragon/src#ENDIF#
|
|
||||||
#KSR#EXTRASRC=target/ksr1/src#ENDIF#
|
|
||||||
#SP1#EXTRASRC=target/sp1/src#ENDIF#
|
|
||||||
#CS2#EXTRASRC=target/cs2/src#ENDIF#
|
|
||||||
EXTRASRC=target/sgimp/src#ENDIF##SGIMP#
|
|
||||||
|
|
||||||
# instr temporarily removed until libSage++ stable
|
|
||||||
|
|
||||||
# Several types of configurations....
|
|
||||||
|
|
||||||
# tools EVERYONE needs
|
|
||||||
BASIC = lib Sage++
|
|
||||||
|
|
||||||
# Other Compiler Tools
|
|
||||||
SAGEXX = f2dep#ENDIF##SAGEXX#
|
|
||||||
|
|
||||||
# pC++ system
|
|
||||||
#PVM_INSTALLED#PVMTEMP=target/pvm/src#ENDIF#
|
|
||||||
TEMP = breezy instr dep2C++ target/uniproc/src $(PVMTEMP)
|
|
||||||
#PCXX#PCXX = $(TEMP) $(EXTRASRC) TestSuite#ENDIF#
|
|
||||||
|
|
||||||
# What to compile
|
|
||||||
SUBDIR1 = $(BASIC)
|
|
||||||
|
|
||||||
# Subdirectories to make resursively
|
|
||||||
SUBDIR = ${SUBDIR1}
|
|
||||||
|
|
||||||
all:
|
|
||||||
@echo "*********** RECURSIVELY MAKING SUBDIRECTORIES ***********"
|
|
||||||
@for i in ${SUBDIR1}; do (echo "*** COMPILING $$i DIRECTORY"; cd $$i;\
|
|
||||||
$(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" ); done
|
|
||||||
@echo "***************** DONE ************************
|
|
||||||
# @echo "To run the TestSuite code (in uniprocessor mode) type:"
|
|
||||||
# @echo "cd TestSuite; make test"
|
|
||||||
|
|
||||||
clean:
|
|
||||||
for i in ${SUBDIR1} Sage++; do (cd $$i; $(MAKE) "MAKE=$(MAKE)" clean); done
|
|
||||||
|
|
||||||
cleandist: clean cleangood
|
|
||||||
cleaninstall: clean cleangood
|
|
||||||
cleangood:
|
|
||||||
@echo "Deleting *~ #* core *.a *.sl *.o *.dep"
|
|
||||||
@find . \( -name \*~ -o -name \#\* -o -name core \) \
|
|
||||||
-exec /bin/rm {} \; -print
|
|
||||||
@find . \( -name \*.a -o -name \*.sl -o -name \*.o -o -name \*.dep \) \
|
|
||||||
-exec /bin/rm {} \; -print
|
|
||||||
@if [ ! -d bin/$(CONFIG_ARCH) ] ; then true; \
|
|
||||||
else /bin/rm -r bin/$(CONFIG_ARCH) ; fi
|
|
||||||
@if [ ! -d lib/$(CONFIG_ARCH) ] ; then true; \
|
|
||||||
else /bin/rm -r lib/$(CONFIG_ARCH) ; fi
|
|
||||||
@if [ ! -d target/pvm/lib ] ; then true; \
|
|
||||||
else /bin/rm -r target/pvm/lib ; fi
|
|
||||||
|
|
||||||
install:
|
|
||||||
@echo "*********** RECURSIVELY MAKING SUBDIRECTORIES ***********"
|
|
||||||
@for i in ${SUBDIR1}; do (echo "*** COMPILING $$i DIRECTORY"; cd $$i;\
|
|
||||||
$(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" install); done
|
|
||||||
@echo "***************** DONE ************************"
|
|
||||||
# @echo "To run the TestSuite code (in uniprocessor mode) type:"
|
|
||||||
# @echo "cd TestSuite; make test"
|
|
||||||
|
|
||||||
.RECURSIVE: ${SUBDIR1}
|
|
||||||
|
|
||||||
${SUBDIR}: FRC
|
|
||||||
cd $@; $(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" all
|
|
||||||
|
|
||||||
FRC:
|
|
||||||
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
set(SAGEP_SOURCES libSage++.cpp)
|
|
||||||
|
|
||||||
if(MSVC_IDE)
|
|
||||||
foreach(DIR ${DVM_SAGE_INCLUDE_DIRS})
|
|
||||||
file(GLOB_RECURSE FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
"${DIR}/*.h" "${DIR}/*.def" "${DIR}/head" "${DIR}/tag")
|
|
||||||
set(SAGEP_HEADERS ${SAGEP_HEADERS} ${FILES})
|
|
||||||
endforeach()
|
|
||||||
source_group("Header Files" FILES ${SAGEP_HEADERS})
|
|
||||||
endif()
|
|
||||||
add_library(sage++ ${SAGEP_SOURCES} ${SAGEP_HEADERS})
|
|
||||||
|
|
||||||
target_include_directories(sage++ PUBLIC "${DVM_SAGE_INCLUDE_DIRS}")
|
|
||||||
set_target_properties(sage++ PROPERTIES FOLDER "${DVM_LIBRARY_FOLDER}")
|
|
||||||
@@ -1,97 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
## pC++/Sage++ Copyright (C) 1993 ##
|
|
||||||
## Indiana University University of Oregon University of Rennes ##
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
# sage/Sage++/Makefile (PHB)
|
|
||||||
|
|
||||||
SHELL = /bin/sh
|
|
||||||
CONFIG_ARCH=iris4d
|
|
||||||
|
|
||||||
RANLIB_TEST = [ -f /usr/bin/ranlib ] || [ -f /bin/ranlib ]
|
|
||||||
#NO_RANLIB#RANLIB_TEST = (exit 1)#ENDIF#
|
|
||||||
|
|
||||||
# Shared library hack for HP-UX
|
|
||||||
LSX = .a
|
|
||||||
#HP_CFLAGS#CEXTRA = -Aa +z#ENDIF#
|
|
||||||
#HP_CFLAGS#LSX = .sl#ENDIF#
|
|
||||||
|
|
||||||
PCXX = ../bin/$(CONFIG_ARCH)/pc++
|
|
||||||
|
|
||||||
CC = gcc
|
|
||||||
#CC=cc
|
|
||||||
|
|
||||||
CXX = #CC
|
|
||||||
#USE_CFRONT#CXX= CC#ENDIF#
|
|
||||||
#USE_DECCXX#CXX=cxx#ENDIF#
|
|
||||||
#USE_IBMXLC#CXX=xlC#ENDIF#
|
|
||||||
CXX=DCC#ENDIF##USE_SGIDCC#
|
|
||||||
CXX=g++
|
|
||||||
LOADER = $(CXX)
|
|
||||||
#INSTALLDEST = ../lib/$(CONFIG_ARCH)
|
|
||||||
INSTALLDEST = ../../libsage
|
|
||||||
INSTALL = /bin/cp
|
|
||||||
HDRS = ../h
|
|
||||||
LIBINCLUDE = ../lib/include
|
|
||||||
SAGEINCLUDE = -I$(HDRS) -I$(LIBINCLUDE)
|
|
||||||
|
|
||||||
# Directory in which include files can be found
|
|
||||||
INCLUDEDIR = ./h
|
|
||||||
INCLUDE = -I$(INCLUDEDIR) $(SAGEINCLUDE)
|
|
||||||
|
|
||||||
# -w don't issue warning now.
|
|
||||||
CFLAGS = $(INCLUDE) -g -Wall -c $(CEXTRA)
|
|
||||||
LDFLAGS =
|
|
||||||
#BISON= /usr/freeware/bin/bison
|
|
||||||
BISON= bison
|
|
||||||
TOOLSage++_SRC = libSage++.cpp
|
|
||||||
|
|
||||||
TOOLSage++_HDR = $(LIBINCLUDE)/macro.h $(LIBINCLUDE)/bif_node.def $(LIBINCLUDE)/type.def $(LIBINCLUDE)/symb.def $(LIBINCLUDE)/libSage++.h
|
|
||||||
|
|
||||||
TOOLSage++_OBJ = libSage++.o
|
|
||||||
|
|
||||||
SUBDIR1 = extentions
|
|
||||||
SUBDIR = ${SUBDIR1}
|
|
||||||
|
|
||||||
#all: $(TOOLSage++_OBJ) $(TOOLSage++_HDR)
|
|
||||||
# @for i in ${SUBDIR1}; do (echo "*** COMPILING $$i DIRECTORY"; cd $$i;\
|
|
||||||
# $(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" $@); done
|
|
||||||
|
|
||||||
libSage++.a: libSage++.o $(TOOLSage++_HDR)
|
|
||||||
/bin/rm -f libSage++.a
|
|
||||||
ar qc libSage++.a libSage++.o
|
|
||||||
@if $(RANLIB_TEST) ; then ranlib libSage++.a ; \
|
|
||||||
else echo "\tNOTE: ranlib not required" ; fi
|
|
||||||
libSage++.o: libSage++.cpp $(TOOLSage++_HDR)
|
|
||||||
$(CXX) $(CFLAGS) libSage++.cpp
|
|
||||||
|
|
||||||
libSage++.dep: libSage++.cpp $(TOOLSage++_HDR)
|
|
||||||
$(PCXX) -deponly $(INCLUDE) libSage++.cpp -o libSage++.o
|
|
||||||
|
|
||||||
libSage++ : libSage++$(LSX)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
/bin/rm -f libSage++$(LSX) libSage++.dep libSage++.proj
|
|
||||||
/bin/rm -f $(TOOLSage++_OBJ)
|
|
||||||
/bin/rm -f extentions/sgCallGraph.o
|
|
||||||
/bin/rm -f extentions/sgClassHierarchy.o
|
|
||||||
|
|
||||||
cleaninstall: clean
|
|
||||||
|
|
||||||
install:$(INSTALLDEST)/libSage++.a
|
|
||||||
|
|
||||||
# @for i in ${SUBDIR1}; do (echo "*** COMPILING $$i DIRECTORY"; cd $$i;\
|
|
||||||
# $(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" $@); done
|
|
||||||
|
|
||||||
$(INSTALLDEST)/libSage++.a: libSage++.a
|
|
||||||
if [ -d $(INSTALLDEST) ] ; then true; \
|
|
||||||
else mkdir $(INSTALLDEST) ;fi
|
|
||||||
$(INSTALL) libSage++.a $(INSTALLDEST)
|
|
||||||
@if $(RANLIB_TEST) ; then ranlib $(INSTALLDEST)/libSage++.a ; \
|
|
||||||
else echo "\tNOTE: ranlib not required" ; fi
|
|
||||||
|
|
||||||
${SUBDIR}: FRC
|
|
||||||
cd $@; $(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" all
|
|
||||||
|
|
||||||
FRC:
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,40 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
## Copyright (C) 1999 ##
|
|
||||||
## Keldysh Institute of Appllied Mathematics ##
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
# sage/Sage++/makefile.win
|
|
||||||
|
|
||||||
LIBDIR = ../../lib
|
|
||||||
|
|
||||||
HDRS = ../h
|
|
||||||
LIBINCLUDE = ../lib/include
|
|
||||||
SAGEINCLUDE = -I$(HDRS) -I$(LIBINCLUDE)
|
|
||||||
|
|
||||||
# Directory in which include files can be found
|
|
||||||
INCLUDEDIR = ./h
|
|
||||||
INCL = -I$(INCLUDEDIR) $(SAGEINCLUDE)
|
|
||||||
|
|
||||||
CFLAGS = $(INCL) -c -Wall
|
|
||||||
TOOLSage_SRC = libSage++.cpp
|
|
||||||
|
|
||||||
TOOLSage_HDR = $(LIBINCLUDE)/macro.h $(LIBINCLUDE)/bif_node.def \
|
|
||||||
$(LIBINCLUDE)/type.def $(LIBINCLUDE)/symb.def $(LIBINCLUDE)/libSage++.h
|
|
||||||
|
|
||||||
TOOLSage_OBJ = libSage++.o
|
|
||||||
|
|
||||||
libSage++.o: libSage++.cpp $(TOOLSage_HDR)
|
|
||||||
$(CXX) $(CFLAGS) libSage++.cpp
|
|
||||||
|
|
||||||
$(LIBDIR)/libSage++.a: $(TOOLSage_OBJ)
|
|
||||||
ar qc $(LIBDIR)/libSage++.a $(TOOLSage_OBJ)
|
|
||||||
|
|
||||||
all : $(LIBDIR)/libSage++.a
|
|
||||||
@echo "*** COMPILING LIBRARY Sage++ DONE"
|
|
||||||
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f libSage++.o
|
|
||||||
|
|
||||||
cleanall:
|
|
||||||
rm -f libSage++.o
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
## Copyright (C) 1999 ##
|
|
||||||
## Keldysh Institute of Appllied Mathematics ##
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
# sage/Sage++/makefile.win
|
|
||||||
|
|
||||||
OUTDIR = ../../obj
|
|
||||||
LIBDIR = ../../lib
|
|
||||||
|
|
||||||
HDRS = ../h
|
|
||||||
LIBINCLUDE = ../lib/include
|
|
||||||
SAGEINCLUDE = -I$(HDRS) -I$(LIBINCLUDE)
|
|
||||||
|
|
||||||
# Directory in which include files can be found
|
|
||||||
INCLUDEDIR = ./h
|
|
||||||
INCL = -I$(INCLUDEDIR) $(SAGEINCLUDE)
|
|
||||||
|
|
||||||
LIB32=$(LINKER) -lib
|
|
||||||
LIB32_FLAGS=/nologo /out:"$(LIBDIR)/libSage++.lib"
|
|
||||||
|
|
||||||
# -w don't issue warning now.
|
|
||||||
#CFLAGS=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" $(INCL) \
|
|
||||||
# /Fp"$(OUTDIR)/libSage++.pch" /YX /Fo"$(OUTDIR)/" /Fd"$(OUTDIR)/" /c
|
|
||||||
CFLAGS=/nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" $(INCL) \
|
|
||||||
/Fp"$(OUTDIR)/libSage++.pch" /Fo"$(OUTDIR)/" /Fd"$(OUTDIR)/" /c
|
|
||||||
|
|
||||||
TOOLSage_SRC = libSage++.cpp
|
|
||||||
|
|
||||||
TOOLSage_HDR = $(LIBINCLUDE)/macro.h $(LIBINCLUDE)/bif_node.def \
|
|
||||||
$(LIBINCLUDE)/type.def $(LIBINCLUDE)/symb.def $(LIBINCLUDE)/libSage++.h
|
|
||||||
|
|
||||||
TOOLSage_OBJ = $(OUTDIR)/libSage++.obj
|
|
||||||
|
|
||||||
$(OUTDIR)/libSage++.obj: libSage++.cpp $(TOOLSage_HDR)
|
|
||||||
$(CXX) $(CFLAGS) libSage++.cpp
|
|
||||||
|
|
||||||
$(LIBDIR)/libSage++.lib: $(TOOLSage_OBJ)
|
|
||||||
$(LIB32) @<<
|
|
||||||
$(LIB32_FLAGS) $(TOOLSage_OBJ)
|
|
||||||
<<
|
|
||||||
|
|
||||||
all : $(LIBDIR)/libSage++.lib
|
|
||||||
@echo "*** COMPILING LIBRARY Sage++ DONE"
|
|
||||||
|
|
||||||
|
|
||||||
clean:
|
|
||||||
|
|
||||||
cleanall:
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
## pC++/Sage++ Copyright (C) 1993 ##
|
|
||||||
## Indiana University University of Oregon University of Rennes ##
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
|
|
||||||
CC = gcc
|
|
||||||
CC = cc
|
|
||||||
CXX = g++
|
|
||||||
CXX = DCC
|
|
||||||
|
|
||||||
LINKER = $(CC)
|
|
||||||
|
|
||||||
all: tag.h
|
|
||||||
|
|
||||||
tag.h: head tag
|
|
||||||
( cat head; \
|
|
||||||
sed < tag \
|
|
||||||
'/#defin/s/\([^ ]*\) \([^ ]*\)\(.*\)/ tag \[ \2 \] = \"\2\";/')\
|
|
||||||
> tag.h
|
|
||||||
@@ -1,453 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/************************************************************************
|
|
||||||
* *
|
|
||||||
* BIF NODES *
|
|
||||||
* *
|
|
||||||
************************************************************************/
|
|
||||||
|
|
||||||
struct bfnd {
|
|
||||||
|
|
||||||
int variant, id; /* variant and identification tags */
|
|
||||||
int index; /* used in the strongly con. comp. routines */
|
|
||||||
int g_line, l_line; /* global & local line numbers */
|
|
||||||
int decl_specs; /* declaration specifiers stored with
|
|
||||||
bif nodes: static, extern, friend, and inline */
|
|
||||||
|
|
||||||
PTR_LABEL label;
|
|
||||||
PTR_BFND thread;
|
|
||||||
|
|
||||||
PTR_FNAME filename; /* point to the source filename */
|
|
||||||
|
|
||||||
PTR_BFND control_parent; /* current bif node in on the control blob list
|
|
||||||
of control_parent */
|
|
||||||
PTR_PLNK prop_list; /* property list */
|
|
||||||
|
|
||||||
union bfnd_union {
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND bf_ptr1; /* used by the parser and should */
|
|
||||||
PTR_CMNT cmnt_ptr; /* to attach comments */
|
|
||||||
|
|
||||||
PTR_SYMB symbol; /* a symbol table entry */
|
|
||||||
|
|
||||||
PTR_LLND ll_ptr1; /* an L-value expr tree */
|
|
||||||
PTR_LLND ll_ptr2; /* an R-value expr tree */
|
|
||||||
PTR_LLND ll_ptr3; /* a spare expr tree (see below) */
|
|
||||||
|
|
||||||
PTR_LABEL lbl_ptr; /* used by do */
|
|
||||||
|
|
||||||
PTR_BLOB bl_ptr1; /* a list of control dep subnodes */
|
|
||||||
PTR_BLOB bl_ptr2; /* another such list (for if stmt) */
|
|
||||||
|
|
||||||
PTR_DEP dep_ptr1; /* a list of dependences nodes */
|
|
||||||
PTR_DEP dep_ptr2; /* another list of dep nodes */
|
|
||||||
|
|
||||||
PTR_SETS sets; /* a list of sets like GEN, KILL etc */
|
|
||||||
} Template;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND proc_list; /* a list of procedures in this file */
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB list; /* list of global const and type */
|
|
||||||
|
|
||||||
PTR_LLND null_2;
|
|
||||||
PTR_LLND null_3;
|
|
||||||
PTR_LLND null_4;
|
|
||||||
|
|
||||||
PTR_LABEL null_5;
|
|
||||||
|
|
||||||
PTR_BLOB control; /* used for list of procedures */
|
|
||||||
PTR_BLOB null_6;
|
|
||||||
|
|
||||||
PTR_DEP null_7;
|
|
||||||
PTR_DEP null_8;
|
|
||||||
|
|
||||||
PTR_SETS null_9;
|
|
||||||
} Global;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND next_prog;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB prog_symb;
|
|
||||||
|
|
||||||
PTR_LLND null_1;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
PTR_LLND null_3;
|
|
||||||
|
|
||||||
PTR_LABEL null_4;
|
|
||||||
|
|
||||||
PTR_BLOB control;
|
|
||||||
PTR_BLOB format_group;
|
|
||||||
|
|
||||||
PTR_DEP null_5;
|
|
||||||
PTR_DEP null_6;
|
|
||||||
|
|
||||||
PTR_SETS null_7;
|
|
||||||
} program;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND next_proc;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB proc_symb;
|
|
||||||
|
|
||||||
PTR_LLND null_1;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
PTR_LLND null_3;
|
|
||||||
|
|
||||||
PTR_LABEL null_4;
|
|
||||||
|
|
||||||
PTR_BLOB control;
|
|
||||||
PTR_BLOB format_group;
|
|
||||||
|
|
||||||
PTR_DEP null_5;
|
|
||||||
PTR_DEP null_6;
|
|
||||||
|
|
||||||
PTR_SETS null_7;
|
|
||||||
} procedure;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND next_func;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB func_symb;
|
|
||||||
|
|
||||||
PTR_LLND ftype;
|
|
||||||
PTR_LLND null_1;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
|
|
||||||
PTR_LABEL null_3;
|
|
||||||
|
|
||||||
PTR_BLOB control;
|
|
||||||
PTR_BLOB format_group;
|
|
||||||
|
|
||||||
PTR_DEP null_4;
|
|
||||||
PTR_DEP null_5;
|
|
||||||
|
|
||||||
PTR_SETS null_6;
|
|
||||||
} function;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND next_bif;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND null_2;
|
|
||||||
PTR_LLND null_3;
|
|
||||||
PTR_LLND null_4;
|
|
||||||
|
|
||||||
PTR_LABEL null_5;
|
|
||||||
|
|
||||||
PTR_BLOB control;
|
|
||||||
PTR_BLOB null_6;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} basic_block;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND next_stat;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND null_2;
|
|
||||||
PTR_LLND null_3;
|
|
||||||
PTR_LLND null_4;
|
|
||||||
|
|
||||||
PTR_LABEL null_5;
|
|
||||||
|
|
||||||
PTR_BLOB null_6;
|
|
||||||
PTR_BLOB null_7;
|
|
||||||
|
|
||||||
PTR_DEP null_8;
|
|
||||||
PTR_DEP null_9;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} control_end;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND true_branch;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND condition;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
PTR_LLND null_3;
|
|
||||||
|
|
||||||
PTR_LABEL null_4;
|
|
||||||
|
|
||||||
PTR_BLOB control_true;
|
|
||||||
PTR_BLOB control_false;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} if_node;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND true_branch;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND condition;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
PTR_LLND null_3;
|
|
||||||
|
|
||||||
PTR_LABEL null_4;
|
|
||||||
|
|
||||||
PTR_BLOB control_true;
|
|
||||||
PTR_BLOB control_false;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} where_node;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND loop_end;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND null_2;
|
|
||||||
PTR_LLND null_3;
|
|
||||||
PTR_LLND null_4;
|
|
||||||
|
|
||||||
PTR_LABEL null_5;
|
|
||||||
|
|
||||||
PTR_BLOB control;
|
|
||||||
PTR_BLOB null_6;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} loop_node;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND for_end;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB control_var;
|
|
||||||
|
|
||||||
PTR_LLND range;
|
|
||||||
PTR_LLND increment;
|
|
||||||
PTR_LLND where_cond;
|
|
||||||
|
|
||||||
PTR_LABEL doend;
|
|
||||||
|
|
||||||
PTR_BLOB control;
|
|
||||||
PTR_BLOB null_1;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} for_node;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND forall_end;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB control_var;
|
|
||||||
|
|
||||||
PTR_LLND range;
|
|
||||||
PTR_LLND increment;
|
|
||||||
PTR_LLND where_cond;
|
|
||||||
|
|
||||||
PTR_LABEL null_1;
|
|
||||||
|
|
||||||
PTR_BLOB control;
|
|
||||||
PTR_BLOB null_2;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} forall_nd;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND alldo_end;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB control_var;
|
|
||||||
|
|
||||||
PTR_LLND range;
|
|
||||||
PTR_LLND increment;
|
|
||||||
PTR_LLND null_0;
|
|
||||||
|
|
||||||
PTR_LABEL null_1;
|
|
||||||
|
|
||||||
PTR_BLOB control;
|
|
||||||
PTR_BLOB null_2;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} alldo_nd;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND while_end;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND condition;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
PTR_LLND null_3;
|
|
||||||
|
|
||||||
PTR_LABEL null_4;
|
|
||||||
|
|
||||||
PTR_BLOB control;
|
|
||||||
PTR_BLOB null_5;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} while_node;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND next_stat;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND condition;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
PTR_LLND null_3;
|
|
||||||
|
|
||||||
PTR_LABEL null_4;
|
|
||||||
|
|
||||||
PTR_BLOB control_true;
|
|
||||||
PTR_BLOB control_false;
|
|
||||||
|
|
||||||
PTR_DEP null_5;
|
|
||||||
PTR_DEP null_6;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} exit_node;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND next_stat;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND l_value;
|
|
||||||
PTR_LLND r_value;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
|
|
||||||
PTR_LABEL null_3;
|
|
||||||
|
|
||||||
PTR_BLOB null_4;
|
|
||||||
PTR_BLOB null_5;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} assign;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND next_stat;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND l_value;
|
|
||||||
PTR_LLND r_value;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
|
|
||||||
PTR_LABEL null_3;
|
|
||||||
|
|
||||||
PTR_BLOB null_4;
|
|
||||||
PTR_BLOB null_5;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} identify;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND next_stat;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND spec_string;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
PTR_LLND null_3;
|
|
||||||
|
|
||||||
PTR_LABEL null_4;
|
|
||||||
|
|
||||||
PTR_BLOB null_5;
|
|
||||||
PTR_BLOB null_6;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} format;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND next_stat;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND format; /* used by blaze only */
|
|
||||||
PTR_LLND expr_list;
|
|
||||||
PTR_LLND control_list; /* used by cedar fortan only */
|
|
||||||
|
|
||||||
PTR_LABEL null_2;
|
|
||||||
|
|
||||||
PTR_BLOB null_3;
|
|
||||||
PTR_BLOB null_4;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} write_stat;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_BFND next_stat;
|
|
||||||
PTR_CMNT cmnt_ptr;
|
|
||||||
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND format; /* used by blaze only */
|
|
||||||
PTR_LLND var_list;
|
|
||||||
PTR_LLND control_list; /* used by cedar fortran */
|
|
||||||
|
|
||||||
PTR_LABEL null_2;
|
|
||||||
|
|
||||||
PTR_BLOB null_3;
|
|
||||||
PTR_BLOB null_4;
|
|
||||||
|
|
||||||
PTR_DEP dep_from;
|
|
||||||
PTR_DEP dep_to;
|
|
||||||
|
|
||||||
PTR_SETS sets;
|
|
||||||
} read_stat;
|
|
||||||
} entry;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define __BIF_DEF__
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/* Simple compatibility module for pC++/Sage (phb) */
|
|
||||||
|
|
||||||
/* include it only once... */
|
|
||||||
#ifndef COMPATIBLE_H
|
|
||||||
#define COMPATIBLE_H
|
|
||||||
|
|
||||||
#include "sage.h"
|
|
||||||
|
|
||||||
#ifndef _NEEDALLOCAH_
|
|
||||||
# if (defined(__ksr__) || (defined(SAGE_solaris2) && !defined(__GNUC__)))
|
|
||||||
# define _NEEDALLOCAH_
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __hpux
|
|
||||||
# ifndef SYS5
|
|
||||||
# define SYS5 1
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _SEQUENT_
|
|
||||||
# define NO_u_short
|
|
||||||
|
|
||||||
# ifndef SYS5
|
|
||||||
# define SYS5 1
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef sparc
|
|
||||||
# if (defined(__svr4__) || defined(SAGE_solaris2)) /* Solaris 2!!! YUK! */
|
|
||||||
# ifndef SYS5
|
|
||||||
# define SYS5 1
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef SYS5
|
|
||||||
# define BSD 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _NEEDCALLOC_
|
|
||||||
# ifdef CALLOC_DEF
|
|
||||||
# undef CALLOC_DEF
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifndef CALLOC_DEF
|
|
||||||
# ifdef __GNUC__
|
|
||||||
extern void *calloc();
|
|
||||||
# define CALLOC_DEF
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifndef CALLOC_DEF
|
|
||||||
# ifdef __ksr__
|
|
||||||
extern void *calloc();
|
|
||||||
# define CALLOC_DEF
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifndef CALLOC_DEF
|
|
||||||
# ifdef cray
|
|
||||||
# include "fixcray.h"
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifndef CALLOC_DEF
|
|
||||||
extern char *calloc();
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -1,187 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************
|
|
||||||
* *
|
|
||||||
* db.h -- contains all definitions needed by the data base *
|
|
||||||
* management routines *
|
|
||||||
* *
|
|
||||||
****************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef CallSiteE
|
|
||||||
|
|
||||||
#ifndef FILE
|
|
||||||
# include <stdio.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef DEP_DIR
|
|
||||||
# include "defs.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __BIF_DEF__
|
|
||||||
# include "bif.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __LL_DEF__
|
|
||||||
# include "ll.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __SYMB_DEF__
|
|
||||||
# include "symb.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef MAX_LP_DEPTH
|
|
||||||
# include "sets.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Definitions for inquiring the information about variables
|
|
||||||
*/
|
|
||||||
#define Use 1 /* for inquiring USE info */
|
|
||||||
#define Mod 2 /* for inquiring MOD info */
|
|
||||||
#define UseMod 3 /* for inquiring both USE and MOD info */
|
|
||||||
#define Alias 4 /* for inquiring ALIAS information */
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Definitions for inquiring the information about procedures
|
|
||||||
* This previous four definitions are shared here
|
|
||||||
*/
|
|
||||||
#define ProcDef 5 /* procedure's definition */
|
|
||||||
#define CallSite 6 /* list of the call sites of this procedure */
|
|
||||||
#define CallSiteE 7 /* the call sites extended with loop info */
|
|
||||||
#define ExternProc 8 /* list of external procedures references */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Definitions for inquiring the information about files
|
|
||||||
*/
|
|
||||||
#define IncludeFile 1 /* list of files included by this file */
|
|
||||||
#define GlobalVarRef 2 /* list of global variables referenced */
|
|
||||||
#define ExternProcRef 3 /* list of external procedure referenced */
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Definitions for inquiring the information about project
|
|
||||||
*/
|
|
||||||
#define ProjFiles 1 /* get a list of .dep files make up the project */
|
|
||||||
#define ProjNames 2 /* list of all procedures in the project */
|
|
||||||
#define UnsolvRef 3 /* list of unsolved global references */
|
|
||||||
#define ProjGlobals 4 /* list of all global declarations */
|
|
||||||
#define ProjSrc 5 /* list of source files (e.g. .h, .c and .f) */
|
|
||||||
/*
|
|
||||||
* Definition for blobl tree
|
|
||||||
*/
|
|
||||||
#define IsLnk 0 /* this blob1 node is only a link */
|
|
||||||
#define IsObj 1 /* this blob1 node is a real object */
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************
|
|
||||||
* Some data structures used *
|
|
||||||
******************************/
|
|
||||||
|
|
||||||
typedef struct proj_obj *PTR_PROJ;
|
|
||||||
typedef struct file_obj *PTR_FILE;
|
|
||||||
typedef struct blob1 *PTR_BLOB1;
|
|
||||||
typedef struct obj_info *PTR_INFO;
|
|
||||||
typedef char *(*PCF)();
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* structure for the whole project
|
|
||||||
*/
|
|
||||||
struct proj_obj {
|
|
||||||
char *proj_name; /* project filename */
|
|
||||||
PTR_BLOB file_chain; /* list of all opened files in the project */
|
|
||||||
PTR_BLOB *hash_tbl; /* hash table of procedures declared */
|
|
||||||
PTR_PROJ next; /* point to next project */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Structure for each files in the project
|
|
||||||
*/
|
|
||||||
struct file_obj {
|
|
||||||
char *filename; /* filename of the .dep file */
|
|
||||||
FILE *fid; /* its file id */
|
|
||||||
int lang; /* type of language */
|
|
||||||
PTR_HASH *hash_tbl; /* hash table for this file obj */
|
|
||||||
PTR_BFND global_bfnd; /* global BIF node for this file */
|
|
||||||
PTR_BFND head_bfnd, /* head of BIF node for this file */
|
|
||||||
cur_bfnd;
|
|
||||||
PTR_LLND head_llnd, /* head of low level node */
|
|
||||||
cur_llnd;
|
|
||||||
PTR_SYMB head_symb, /* head of symbol node */
|
|
||||||
cur_symb;
|
|
||||||
PTR_TYPE head_type, /* head of type node */
|
|
||||||
cur_type;
|
|
||||||
PTR_BLOB head_blob, /* head of blob node */
|
|
||||||
cur_blob;
|
|
||||||
PTR_DEP head_dep, /* head of dependence node */
|
|
||||||
cur_dep;
|
|
||||||
PTR_LABEL head_lab, /* head of label node */
|
|
||||||
cur_lab;
|
|
||||||
PTR_CMNT head_cmnt, /* head of comment node */
|
|
||||||
cur_cmnt;
|
|
||||||
PTR_FNAME head_file;
|
|
||||||
int num_blobs, /* no. of blob nodes */
|
|
||||||
num_bfnds, /* no. of bif nodes */
|
|
||||||
num_llnds, /* no. of ll nodes */
|
|
||||||
num_symbs, /* no. of symb nodes */
|
|
||||||
num_label, /* no. of label nodes */
|
|
||||||
num_types, /* no. of type nodes */
|
|
||||||
num_files, /* no. of filename nodes */
|
|
||||||
num_dep, /* no. of dependence nodes */
|
|
||||||
num_cmnt; /* no. of comment nodes */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* A cons obj structure
|
|
||||||
*/
|
|
||||||
struct blob1{
|
|
||||||
char tag; /* type of this blob node */
|
|
||||||
char *ref; /* pointer to the objects of interest */
|
|
||||||
PTR_BLOB1 next;/* point to next cons obj */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Structure for information objects
|
|
||||||
*/
|
|
||||||
struct obj_info {
|
|
||||||
char *filename; /* filename of the reference */
|
|
||||||
int g_line; /* absolute line number in the file */
|
|
||||||
int l_line; /* relative line number to the object */
|
|
||||||
char *source; /* source line */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Structure for property list
|
|
||||||
*/
|
|
||||||
struct prop_link {
|
|
||||||
char *prop_name; /* property name */
|
|
||||||
char *prop_val; /* property value */
|
|
||||||
PTR_PLNK next; /* point to the next property list */
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* declaration of data base routines
|
|
||||||
*/
|
|
||||||
PTR_PROJ OpenProj();
|
|
||||||
PTR_PROJ SelectProj();
|
|
||||||
PTR_BLOB1 GetProjInfo();
|
|
||||||
PTR_BLOB1 GetProcInfo();
|
|
||||||
PTR_BLOB1 GetTypeInfo();
|
|
||||||
PTR_BLOB1 GetTypeDef ();
|
|
||||||
PTR_BLOB1 GetVarInfo ();
|
|
||||||
PTR_BLOB1 GetDepInfo ();
|
|
||||||
|
|
||||||
int AddToProj();
|
|
||||||
int DelFromProj();
|
|
||||||
#endif /* CallSiteE */
|
|
||||||
@@ -1,190 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************
|
|
||||||
* *
|
|
||||||
* db.h -- contains all definitions needed by the data base *
|
|
||||||
* management routines *
|
|
||||||
* *
|
|
||||||
****************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef CallSiteE
|
|
||||||
|
|
||||||
#ifndef FILE
|
|
||||||
# include <stdio.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef DEP_DIR
|
|
||||||
# include "defs.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __BIF_DEF__
|
|
||||||
# include "bif.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __LL_DEF__
|
|
||||||
# include "ll.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __SYMB_DEF__
|
|
||||||
# include "symb.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef MAX_LP_DEPTH
|
|
||||||
# include "sets.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Definitions for inquiring the information about variables
|
|
||||||
*/
|
|
||||||
#define Use 1 /* for inquiring USE info */
|
|
||||||
#define Mod 2 /* for inquiring MOD info */
|
|
||||||
#define UseMod 3 /* for inquiring both USE and MOD info */
|
|
||||||
#define Alias 4 /* for inquiring ALIAS information */
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Definitions for inquiring the information about procedures
|
|
||||||
* This previous four definitions are shared here
|
|
||||||
*/
|
|
||||||
#define ProcDef 5 /* procedure's definition */
|
|
||||||
#define CallSite 6 /* list of the call sites of this procedure */
|
|
||||||
#define CallSiteE 7 /* the call sites extended with loop info */
|
|
||||||
#define ExternProc 8 /* list of external procedures references */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Definitions for inquiring the information about files
|
|
||||||
*/
|
|
||||||
#define IncludeFile 1 /* list of files included by this file */
|
|
||||||
#define GlobalVarRef 2 /* list of global variables referenced */
|
|
||||||
#define ExternProcRef 3 /* list of external procedure referenced */
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Definitions for inquiring the information about project
|
|
||||||
*/
|
|
||||||
#define ProjFiles 1 /* get a list of .dep files make up the project */
|
|
||||||
#define ProjNames 2 /* list of all procedures in the project */
|
|
||||||
#define UnsolvRef 3 /* list of unsolved global references */
|
|
||||||
#define ProjGlobals 4 /* list of all global declarations */
|
|
||||||
#define ProjSrc 5 /* list of source files (e.g. .h, .c and .f) */
|
|
||||||
/*
|
|
||||||
* Definition for blobl tree
|
|
||||||
*/
|
|
||||||
#define IsLnk 0 /* this blob1 node is only a link */
|
|
||||||
#define IsObj 1 /* this blob1 node is a real object */
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************
|
|
||||||
* Some data structures used *
|
|
||||||
******************************/
|
|
||||||
|
|
||||||
typedef struct proj_obj *PTR_PROJ;
|
|
||||||
typedef struct file_obj *PTR_FILE;
|
|
||||||
typedef struct blob1 *PTR_BLOB1;
|
|
||||||
typedef struct obj_info *PTR_INFO;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* structure for the whole project
|
|
||||||
*/
|
|
||||||
struct proj_obj {
|
|
||||||
char *proj_name; /* project filename */
|
|
||||||
PTR_BLOB file_chain; /* list of all opened files in the project */
|
|
||||||
PTR_BLOB *hash_tbl; /* hash table of procedures declared */
|
|
||||||
PTR_PROJ next; /* point to next project */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Structure for each files in the project
|
|
||||||
*/
|
|
||||||
struct file_obj {
|
|
||||||
char *filename; /* filename of the .dep file */
|
|
||||||
FILE *fid; /* its file id */
|
|
||||||
int lang; /* type of language */
|
|
||||||
PTR_HASH *hash_tbl; /* hash table for this file obj */
|
|
||||||
PTR_BFND global_bfnd; /* global BIF node for this file */
|
|
||||||
PTR_BFND head_bfnd, /* head of BIF node for this file */
|
|
||||||
cur_bfnd;
|
|
||||||
PTR_LLND head_llnd, /* head of low level node */
|
|
||||||
cur_llnd;
|
|
||||||
PTR_SYMB head_symb, /* head of symbol node */
|
|
||||||
cur_symb;
|
|
||||||
PTR_TYPE head_type, /* head of type node */
|
|
||||||
cur_type;
|
|
||||||
PTR_BLOB head_blob, /* head of blob node */
|
|
||||||
cur_blob;
|
|
||||||
PTR_DEP head_dep, /* head of dependence node */
|
|
||||||
cur_dep;
|
|
||||||
PTR_LABEL head_lab, /* head of label node */
|
|
||||||
cur_lab;
|
|
||||||
PTR_CMNT head_cmnt, /* head of comment node */
|
|
||||||
cur_cmnt;
|
|
||||||
PTR_FNAME head_file;
|
|
||||||
int num_blobs, /* no. of blob nodes */
|
|
||||||
num_bfnds, /* no. of bif nodes */
|
|
||||||
num_llnds, /* no. of ll nodes */
|
|
||||||
num_symbs, /* no. of symb nodes */
|
|
||||||
num_label, /* no. of label nodes */
|
|
||||||
num_types, /* no. of type nodes */
|
|
||||||
num_files, /* no. of filename nodes */
|
|
||||||
num_dep, /* no. of dependence nodes */
|
|
||||||
num_cmnt; /* no. of comment nodes */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* A cons obj structure
|
|
||||||
*/
|
|
||||||
struct blob1{
|
|
||||||
char tag; /* type of this blob node */
|
|
||||||
char *ref; /* pointer to the objects of interest */
|
|
||||||
PTR_BLOB1 next;/* point to next cons obj */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Structure for information objects
|
|
||||||
*/
|
|
||||||
struct obj_info {
|
|
||||||
char *filename; /* filename of the reference */
|
|
||||||
int g_line; /* absolute line number in the file */
|
|
||||||
int l_line; /* relative line number to the object */
|
|
||||||
char *source; /* source line */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Structure for property list
|
|
||||||
*/
|
|
||||||
struct prop_link {
|
|
||||||
char *prop_name; /* property name */
|
|
||||||
char *prop_val; /* property value */
|
|
||||||
PTR_PLNK next; /* point to the next property list */
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* declaration of data base routines
|
|
||||||
*/
|
|
||||||
typedef char *(*PCF)();
|
|
||||||
|
|
||||||
extern PCF UnparseBfnd[];
|
|
||||||
extern PCF UnparseLlnd[];
|
|
||||||
extern PCF UnparseSymb[];
|
|
||||||
extern PCF UnparseType[];
|
|
||||||
|
|
||||||
PTR_PROJ OpenProj();
|
|
||||||
PTR_BLOB1 GetProjInfo();
|
|
||||||
PTR_BLOB1 GetProcInfo();
|
|
||||||
PTR_BLOB1 GetTypeInfo();
|
|
||||||
PTR_BLOB1 GetTypeDef ();
|
|
||||||
PTR_BLOB1 GetVarInfo ();
|
|
||||||
PTR_BLOB1 GetDepInfo ();
|
|
||||||
|
|
||||||
#endif CallSiteE
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/* label type codes */
|
|
||||||
|
|
||||||
#define LABUNKNOWN 0
|
|
||||||
#define LABEXEC 1
|
|
||||||
#define LABFORMAT 2
|
|
||||||
#define LABOTHER 3
|
|
||||||
|
|
||||||
|
|
||||||
/* parser states */
|
|
||||||
|
|
||||||
#define OUTSIDE 0
|
|
||||||
#define INSIDE 1
|
|
||||||
#define INDCL 2
|
|
||||||
#define INDATA 3
|
|
||||||
#define INEXEC 4
|
|
||||||
|
|
||||||
/* nesting states */
|
|
||||||
#define IN_OUTSIDE 4
|
|
||||||
#define IN_MODULE 3
|
|
||||||
#define IN_PROC 2
|
|
||||||
#define IN_INTERNAL_PROC 1
|
|
||||||
|
|
||||||
/* Control stack type */
|
|
||||||
|
|
||||||
#define CTLIF 0
|
|
||||||
#define CTLELSEIF 1
|
|
||||||
#define CTLELSE 2
|
|
||||||
#define CTLDO 3
|
|
||||||
#define CTLALLDO 4
|
|
||||||
|
|
||||||
|
|
||||||
/* name classes -- vclass values */
|
|
||||||
|
|
||||||
#define CLUNKNOWN 0
|
|
||||||
#define CLPARAM 1
|
|
||||||
#define CLVAR 2
|
|
||||||
#define CLENTRY 3
|
|
||||||
#define CLMAIN 4
|
|
||||||
#define CLBLOCK 5
|
|
||||||
#define CLPROC 6
|
|
||||||
#define CLNAMELIST 7
|
|
||||||
|
|
||||||
/* These are tobe used in decl_stat field of symbol */
|
|
||||||
#define SOFT 0 /* Canbe Redeclared */
|
|
||||||
#define HARD 1 /* Not allowed to redeclre */
|
|
||||||
|
|
||||||
/* Attributes (used in attr) */
|
|
||||||
#define ATT_CLUSTER 0
|
|
||||||
#define ATT_GLOBAL 1
|
|
||||||
|
|
||||||
#define SECTION_SUBSCRIPT 1
|
|
||||||
@@ -1,131 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
#include "tag"
|
|
||||||
|
|
||||||
#define hashMax 1007 /*max hash table size */
|
|
||||||
|
|
||||||
/**************** variant tags for dependence nodes *********************/
|
|
||||||
|
|
||||||
#define DEP_DIR 0200 /* direction vector information only */
|
|
||||||
#define DEP_DIST 0000 /* direction and distance vector */
|
|
||||||
|
|
||||||
#define NO_ALL_ST_DEP 0010 /* no all statiionary dir for this pair of statements */
|
|
||||||
#define DEP_CROSS 0100 /* dependence MUST wrap around loop */
|
|
||||||
#define DEP_UNCROSS 0000 /* dependence MAY not wrap around loop */
|
|
||||||
|
|
||||||
#define DEP_FLOW 0
|
|
||||||
#define DEP_ANTI 1
|
|
||||||
#define DEP_OUTPUT 2
|
|
||||||
|
|
||||||
/************************************************************************/
|
|
||||||
|
|
||||||
typedef struct bfnd *PTR_BFND;
|
|
||||||
typedef struct llnd *PTR_LLND;
|
|
||||||
typedef struct blob *PTR_BLOB;
|
|
||||||
//typedef struct string *PTR_STRING;
|
|
||||||
typedef struct symb *PTR_SYMB;
|
|
||||||
typedef struct hash_entry *PTR_HASH;
|
|
||||||
typedef struct data_type *PTR_TYPE;
|
|
||||||
typedef struct dep *PTR_DEP;
|
|
||||||
typedef struct sets *PTR_SETS;
|
|
||||||
typedef struct def *PTR_DEF;
|
|
||||||
typedef struct deflst *PTR_DEFLST;
|
|
||||||
typedef struct Label *PTR_LABEL;
|
|
||||||
typedef struct cmnt *PTR_CMNT;
|
|
||||||
typedef struct file_name *PTR_FNAME;
|
|
||||||
typedef struct prop_link *PTR_PLNK;
|
|
||||||
|
|
||||||
struct blob {
|
|
||||||
PTR_BFND ref;
|
|
||||||
PTR_BLOB next;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct Label {
|
|
||||||
int id; /* identification tag */
|
|
||||||
PTR_BFND scope; /* level at which ident is declared */
|
|
||||||
PTR_BLOB ud_chain; /* use-definition chain */
|
|
||||||
unsigned labused :1; /* if it's been referenced */
|
|
||||||
unsigned labinacc:1; /* illegal use of this label */
|
|
||||||
unsigned labdefined:1; /* if this label been defined */
|
|
||||||
unsigned labtype:2; /* UNKNOWN, EXEC, FORMAT, and OTHER */
|
|
||||||
long stateno; /* statement label */
|
|
||||||
PTR_LABEL next; /* point to next label entry */
|
|
||||||
PTR_BFND statbody; /* point to body of statement */
|
|
||||||
PTR_SYMB label_name; /* label name for VPC++ */
|
|
||||||
/* The variant will be LABEL_NAME */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct Ctlframe {
|
|
||||||
int ctltype; /* type of control frame */
|
|
||||||
int level; /* block level */
|
|
||||||
int dolabel; /* DO loop's end label */
|
|
||||||
PTR_SYMB donamep; /* DO loop's control variable name */
|
|
||||||
PTR_SYMB block_list; /* start of local decl */
|
|
||||||
PTR_SYMB block_end; /* end of local decl */
|
|
||||||
PTR_BFND loop_hedr; /* save the current loop header */
|
|
||||||
PTR_BFND header; /* header of the block */
|
|
||||||
PTR_BFND topif; /* keep track of if header */
|
|
||||||
struct Ctlframe *next; /* thread */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct cmnt {
|
|
||||||
int id;
|
|
||||||
int type;
|
|
||||||
int counter; /* New Added for VPC++ */
|
|
||||||
char* string;
|
|
||||||
struct cmnt *next;
|
|
||||||
struct cmnt *thread;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct file_name { /* for keep source filenames in the project */
|
|
||||||
int id;
|
|
||||||
char *name;
|
|
||||||
PTR_FNAME next;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#define NO 0
|
|
||||||
#define YES 1
|
|
||||||
#ifndef FALSE
|
|
||||||
# define FALSE 0
|
|
||||||
#endif
|
|
||||||
#ifndef TRUE
|
|
||||||
# define TRUE 1
|
|
||||||
#endif
|
|
||||||
#define BOOL int
|
|
||||||
#define EOL -1
|
|
||||||
#define SAME_GROUP 0
|
|
||||||
#define NEW_GROUP1 1
|
|
||||||
#define NEW_GROUP2 2
|
|
||||||
#define FULL 0
|
|
||||||
#define HALF 1
|
|
||||||
|
|
||||||
#define DEFINITE 1
|
|
||||||
#define DEFINITE_SAME 7
|
|
||||||
#define DEFINITE_DIFFER 0
|
|
||||||
#define FIRST_LARGER 2
|
|
||||||
#define SECOND_LARGER 4
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Tags for various languages
|
|
||||||
*/
|
|
||||||
#define ForSrc 0 /* This is a Fortran program */
|
|
||||||
#define CSrc 1 /* This is a C program */
|
|
||||||
#define BlaSrc 2 /* This is a Blaze program */
|
|
||||||
|
|
||||||
|
|
||||||
#define BFNULL (PTR_BFND) 0
|
|
||||||
#define LLNULL (PTR_LLND) 0
|
|
||||||
#define BLNULL (PTR_BLOB) 0
|
|
||||||
#define SMNULL (PTR_SYMB) 0
|
|
||||||
#define HSNULL (PTR_HASH) 0
|
|
||||||
#define TYNULL (PTR_TYPE) 0
|
|
||||||
#define LBNULL (PTR_LABEL)0
|
|
||||||
#define CMNULL (PTR_CMNT)0
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/************************************************************************/
|
|
||||||
/* */
|
|
||||||
/* DEPENDENCE NODES */
|
|
||||||
/* */
|
|
||||||
/************************************************************************/
|
|
||||||
|
|
||||||
# define MAX_LP_DEPTH 10
|
|
||||||
# define MAX_DEP (MAX_LP_DEPTH+1)
|
|
||||||
|
|
||||||
struct ref { /* reference of a variable */
|
|
||||||
PTR_BFND stmt; /* statement containing reference */
|
|
||||||
PTR_LLND refer; /* pointer to the actual reference */
|
|
||||||
} ;
|
|
||||||
|
|
||||||
|
|
||||||
struct dep { /* data dependencies */
|
|
||||||
|
|
||||||
int id; /* identification for reading/writing */
|
|
||||||
PTR_DEP thread;
|
|
||||||
|
|
||||||
char type; /* flow-, output-, or anti-dependence */
|
|
||||||
char direct[MAX_DEP]; /* direction/distance vector */
|
|
||||||
|
|
||||||
PTR_SYMB symbol; /* symbol table entry */
|
|
||||||
struct ref from; /* tail of dependence */
|
|
||||||
struct ref to; /* head of dependence */
|
|
||||||
PTR_BFND from_hook, to_hook; /* bifs where dep is hooked in */
|
|
||||||
|
|
||||||
PTR_DEP from_fwd, from_back; /* list of dependencies going to tail */
|
|
||||||
PTR_DEP to_fwd, to_back; /* list of dependencies going to head */
|
|
||||||
|
|
||||||
} ;
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,173 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************
|
|
||||||
* *
|
|
||||||
* Structure of the dep files generated by parsers *
|
|
||||||
* *
|
|
||||||
****************************************************************/
|
|
||||||
|
|
||||||
/*#include <sys/types.h>
|
|
||||||
*/
|
|
||||||
#ifndef MAX_DEP
|
|
||||||
#include dep.h
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "compatible.h"
|
|
||||||
/*#ifdef NO_u_short
|
|
||||||
*#ifndef DEF_USHORT
|
|
||||||
*#define DEF_USHORT 1
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef unsigned int u_shrt;
|
|
||||||
/*#endif
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define D_MAGIC 0420
|
|
||||||
|
|
||||||
struct preamble { /* structure of preamble of dep file */
|
|
||||||
u_shrt ptrsize; /* bit length of pointers (32 or 64) phb */
|
|
||||||
u_shrt language; /* source language type */
|
|
||||||
u_shrt num_blobs; /* number of blob nodes */
|
|
||||||
u_shrt num_bfnds; /* number of bif nodes */
|
|
||||||
u_shrt num_llnds; /* number of low level nodes */
|
|
||||||
u_shrt num_symbs; /* number of symbol nodes */
|
|
||||||
u_shrt num_types; /* number of type nodes */
|
|
||||||
u_shrt num_label; /* number of label nodes */
|
|
||||||
u_shrt num_dep; /* number of dep nodes */
|
|
||||||
u_shrt num_cmnts; /* number of comment nodes */
|
|
||||||
u_shrt num_files; /* number of filename nodes */
|
|
||||||
u_shrt global_bfnd; /* id of the global bif node */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct locs {
|
|
||||||
long llnd; /* offset of llnd in the dep file */
|
|
||||||
long symb; /* symbol nodes */
|
|
||||||
long type; /* type nodes */
|
|
||||||
long labs; /* label nodes */
|
|
||||||
long cmnt; /* comment nodes */
|
|
||||||
long file; /* filename nodes */
|
|
||||||
long deps; /* dep nodes */
|
|
||||||
long strs; /* string tables */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct bf_nd { /* structure of bif node in dep file */
|
|
||||||
u_shrt id; /* id of this bif node */
|
|
||||||
u_shrt variant; /* type of this bif node */
|
|
||||||
u_shrt cp; /* control parent of this node */
|
|
||||||
u_shrt bf_ptr1;
|
|
||||||
u_shrt cmnt_ptr;
|
|
||||||
u_shrt symbol;
|
|
||||||
u_shrt ll_ptr1;
|
|
||||||
u_shrt ll_ptr2;
|
|
||||||
u_shrt ll_ptr3;
|
|
||||||
u_shrt dep_ptr1;
|
|
||||||
u_shrt dep_ptr2;
|
|
||||||
u_shrt label;
|
|
||||||
u_shrt lbl_ptr;
|
|
||||||
u_shrt g_line;
|
|
||||||
u_shrt l_line;
|
|
||||||
u_shrt decl_specs;
|
|
||||||
u_shrt filename;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct ll_nd {
|
|
||||||
u_shrt id;
|
|
||||||
u_shrt variant;
|
|
||||||
u_shrt type;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct sym_nd {
|
|
||||||
u_shrt id;
|
|
||||||
u_shrt variant;
|
|
||||||
u_shrt type;
|
|
||||||
u_shrt attr;
|
|
||||||
u_shrt next;
|
|
||||||
u_shrt scope;
|
|
||||||
u_shrt ident;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct typ_nd {
|
|
||||||
u_shrt id;
|
|
||||||
u_shrt variant;
|
|
||||||
u_shrt name;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct lab_nd {
|
|
||||||
u_shrt id;
|
|
||||||
u_shrt labtype;
|
|
||||||
u_shrt body;
|
|
||||||
u_shrt name;
|
|
||||||
long stat_no;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct fil_nd {
|
|
||||||
u_shrt id;
|
|
||||||
u_shrt name;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct cmt_nd {
|
|
||||||
u_shrt id;
|
|
||||||
u_shrt type;
|
|
||||||
u_shrt next;
|
|
||||||
u_shrt str;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct dep_nd {
|
|
||||||
u_shrt id;
|
|
||||||
u_shrt type;
|
|
||||||
u_shrt sym;
|
|
||||||
u_shrt from_stmt;
|
|
||||||
u_shrt from_ref;
|
|
||||||
u_shrt to_stmt;
|
|
||||||
u_shrt to_ref;
|
|
||||||
u_shrt from_hook;
|
|
||||||
u_shrt to_hook;
|
|
||||||
u_shrt from_fwd;
|
|
||||||
u_shrt from_back;
|
|
||||||
u_shrt to_fwd;
|
|
||||||
u_shrt to_back;
|
|
||||||
u_shrt dire[MAX_DEP];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,147 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************
|
|
||||||
* *
|
|
||||||
* Structure of the dep files generated by parsers *
|
|
||||||
* *
|
|
||||||
****************************************************************/
|
|
||||||
|
|
||||||
/*#include <sys/types.h>
|
|
||||||
*/
|
|
||||||
#ifndef MAX_DEP
|
|
||||||
#include dep.h
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "compatible.h"
|
|
||||||
/*#ifdef NO_u_short
|
|
||||||
*#ifndef DEF_USHORT
|
|
||||||
*#define DEF_USHORT 1
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*typedef unsigned int u_short;*/
|
|
||||||
/*#endif
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define D_MAGIC 0420
|
|
||||||
|
|
||||||
struct preamble { /* structure of preamble of dep file */
|
|
||||||
u_short ptrsize; /* bit length of pointers (32 or 64) phb */
|
|
||||||
u_short language; /* source language type */
|
|
||||||
u_short num_blobs; /* number of blob nodes */
|
|
||||||
u_short num_bfnds; /* number of bif nodes */
|
|
||||||
u_short num_llnds; /* number of low level nodes */
|
|
||||||
u_short num_symbs; /* number of symbol nodes */
|
|
||||||
u_short num_types; /* number of type nodes */
|
|
||||||
u_short num_label; /* number of label nodes */
|
|
||||||
u_short num_dep; /* number of dep nodes */
|
|
||||||
u_short num_cmnts; /* number of comment nodes */
|
|
||||||
u_short num_files; /* number of filename nodes */
|
|
||||||
u_short global_bfnd; /* id of the global bif node */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct locs {
|
|
||||||
long llnd; /* offset of llnd in the dep file */
|
|
||||||
long symb; /* symbol nodes */
|
|
||||||
long type; /* type nodes */
|
|
||||||
long labs; /* label nodes */
|
|
||||||
long cmnt; /* comment nodes */
|
|
||||||
long file; /* filename nodes */
|
|
||||||
long deps; /* dep nodes */
|
|
||||||
long strs; /* string tables */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct bf_nd { /* structure of bif node in dep file */
|
|
||||||
u_short id; /* id of this bif node */
|
|
||||||
u_short variant; /* type of this bif node */
|
|
||||||
u_short cp; /* control parent of this node */
|
|
||||||
u_short bf_ptr1;
|
|
||||||
u_short cmnt_ptr;
|
|
||||||
u_short symbol;
|
|
||||||
u_short ll_ptr1;
|
|
||||||
u_short ll_ptr2;
|
|
||||||
u_short ll_ptr3;
|
|
||||||
u_short dep_ptr1;
|
|
||||||
u_short dep_ptr2;
|
|
||||||
u_short label;
|
|
||||||
u_short lbl_ptr;
|
|
||||||
u_short g_line;
|
|
||||||
u_short l_line;
|
|
||||||
u_short decl_specs;
|
|
||||||
u_short filename;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct ll_nd {
|
|
||||||
u_short id;
|
|
||||||
u_short variant;
|
|
||||||
u_short type;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct sym_nd {
|
|
||||||
u_short id;
|
|
||||||
u_short variant;
|
|
||||||
u_short type;
|
|
||||||
u_short attr;
|
|
||||||
u_short next;
|
|
||||||
u_short scope;
|
|
||||||
u_short ident;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct typ_nd {
|
|
||||||
u_short id;
|
|
||||||
u_short variant;
|
|
||||||
u_short name;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct lab_nd {
|
|
||||||
u_short id;
|
|
||||||
u_short labtype;
|
|
||||||
u_short body;
|
|
||||||
u_short name;
|
|
||||||
long stat_no;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct fil_nd {
|
|
||||||
u_short id;
|
|
||||||
u_short name;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct cmt_nd {
|
|
||||||
u_short id;
|
|
||||||
u_short type;
|
|
||||||
u_short next;
|
|
||||||
u_short str;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct dep_nd {
|
|
||||||
u_short id;
|
|
||||||
u_short type;
|
|
||||||
u_short sym;
|
|
||||||
u_short from_stmt;
|
|
||||||
u_short from_ref;
|
|
||||||
u_short to_stmt;
|
|
||||||
u_short to_ref;
|
|
||||||
u_short from_hook;
|
|
||||||
u_short to_hook;
|
|
||||||
u_short from_fwd;
|
|
||||||
u_short from_back;
|
|
||||||
u_short to_fwd;
|
|
||||||
u_short to_back;
|
|
||||||
u_short dire[MAX_DEP];
|
|
||||||
};
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
struct ELIST_rec
|
|
||||||
{
|
|
||||||
int type; /* 0 for int, 1 for string, 2 for ELIST */
|
|
||||||
char * car;
|
|
||||||
struct ELIST_rec * cdr;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define TEINT 0
|
|
||||||
#define TESTRING 1
|
|
||||||
#define TELIST 2
|
|
||||||
|
|
||||||
typedef struct ELIST_rec * ELIST;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
the following two defines are pretty bad. But have been done so as to
|
|
||||||
avoid globals which look like global variables. For these to go away
|
|
||||||
libdb.a has to change.
|
|
||||||
*/
|
|
||||||
#define currentFile cur_file
|
|
||||||
#define currentProject cur_proj
|
|
||||||
|
|
||||||
extern PTR_FILE currentFile; /* actually cur_file */
|
|
||||||
extern PTR_PROJ currentProject; /* actually cur_proj */
|
|
||||||
|
|
||||||
#ifndef TRUE
|
|
||||||
# define TRUE 1
|
|
||||||
#endif
|
|
||||||
#ifndef FALSE
|
|
||||||
# define FALSE 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* functions that are used within the cbaselib */
|
|
||||||
ELIST ENew( /* etype */ );
|
|
||||||
void EFree( /* e */ );
|
|
||||||
ELIST ECopy( /* e */ );
|
|
||||||
ELIST ECpCar( /* e */ );
|
|
||||||
ELIST ECpCdr( /* e */ );
|
|
||||||
ELIST EAppend( /* e1, e2 */ );
|
|
||||||
ELIST EString( /* s */ );
|
|
||||||
ELIST ENumber( /* n */ );
|
|
||||||
ELIST ECons( /* e1, e2 */ );
|
|
||||||
int ENumP(/*e*/);
|
|
||||||
int EStringP(/*e*/);
|
|
||||||
int EListP(/*e*/);
|
|
||||||
|
|
||||||
#define ECar(x) ((x)->car)
|
|
||||||
#define ECdr(x) ((x)->cdr)
|
|
||||||
#define ECaar(x) (ECar((ELIST)ECar(x)))
|
|
||||||
#define ECdar(x) (ECdr((ELIST)ECar(x)))
|
|
||||||
#define ECadr(x) (ECar(ECdr(x)))
|
|
||||||
#define ECddr(x) (ECdr(ECdr(x)))
|
|
||||||
|
|
||||||
#define ECaaar(x) (ECar((ELIST)ECaar(x)))
|
|
||||||
#define ECdaar(x) (ECdr((ELIST)ECaar(x)))
|
|
||||||
#define ECadar(x) (ECar(ECdar(x)))
|
|
||||||
#define ECaadr(x) (ECar((ELIST)ECadr(x)))
|
|
||||||
#define ECaddr(x) (ECar(ECddr(x)))
|
|
||||||
#define ECddar(x) (ECdr(ECdar(x)))
|
|
||||||
#define ECdadr(x) (ECdr((ELIST)ECadr(x)))
|
|
||||||
#define ECdddr(x) (ECdr(ECddr(x)))
|
|
||||||
|
|
||||||
char *Allocate(/* size */);
|
|
||||||
|
|
||||||
PTR_BFND FindCurrBifNode( /* id */ );
|
|
||||||
PTR_LLND FindLLNode( /* id */ );
|
|
||||||
PTR_LABEL FindLabNode(/* id */);
|
|
||||||
PTR_SYMB FindSymbolNode(/* id */);
|
|
||||||
PTR_TYPE FindTypeNode(/* id */);
|
|
||||||
PTR_FILE FindFileObj(/* filename */);
|
|
||||||
PTR_DEP FindDepNode(/* id */);
|
|
||||||
PTR_BFND MakeDeclStmt(/* s */);
|
|
||||||
int VarId(/* id */);
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/* The following 16 different options are used to
|
|
||||||
declare variables are as follows:
|
|
||||||
( stored in symptr->attr ) */
|
|
||||||
|
|
||||||
#define ALLOCATABLE_BIT 1
|
|
||||||
#define DIMENSION_BIT 2
|
|
||||||
#define EXTERNAL_BIT 8
|
|
||||||
#define IN_BIT 16
|
|
||||||
#define INOUT_BIT 32
|
|
||||||
#define INTRINSIC_BIT 64
|
|
||||||
#define OPTIONAL_BIT 128
|
|
||||||
#define OUT_BIT 256
|
|
||||||
#define PARAMETER_BIT 512
|
|
||||||
#define POINTER_BIT 1024
|
|
||||||
#define PRIVATE_BIT 2048
|
|
||||||
#define PUBLIC_BIT 4096
|
|
||||||
#define SAVE_BIT 8192
|
|
||||||
#define SEQUENCE_BIT 16384
|
|
||||||
#define RECURSIVE_BIT 32768
|
|
||||||
#define TARGET_BIT 65536
|
|
||||||
#define PROCESSORS_BIT 131072
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
# ifdef CRAY-C90
|
|
||||||
extern void *calloc();
|
|
||||||
# define CALLOC_DEF
|
|
||||||
# endif
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/* FORTRAN M additions */
|
|
||||||
|
|
||||||
#define PLAIN 0
|
|
||||||
#define LCTN 1
|
|
||||||
#define SUBM 2
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
/* don't modify this file directly, it is made by a clever 'sed'
|
|
||||||
script using "tag". Run make tag.h to regenerate this file */
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
#ifdef _DEBUG
|
|
||||||
|
|
||||||
#define _CRTDBG_MAP_ALLOC
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <crtdbg.h>
|
|
||||||
|
|
||||||
#ifdef _DEBUG
|
|
||||||
#ifndef DBG_NEW
|
|
||||||
#define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ )
|
|
||||||
#define new DBG_NEW
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define BIFNDE 0
|
|
||||||
#define DEPNDE 1
|
|
||||||
#define LLNDE 2
|
|
||||||
#define SYMNDE 3
|
|
||||||
#define LISNDE 4
|
|
||||||
#define BIFLISNDE 5
|
|
||||||
#define UNUSED -1
|
|
||||||
#define NUMLIS 100
|
|
||||||
#define DEPARC 1
|
|
||||||
#define MAXGRNODE 50
|
|
||||||
|
|
||||||
typedef struct lis_node *LIST;
|
|
||||||
|
|
||||||
struct lis_node {
|
|
||||||
int variant; /* one of BIFNDE, BIFLISNDE, DEPNDE, LLNDE, SYMNDE, LISNDE */
|
|
||||||
union list_union {
|
|
||||||
PTR_BFND bfnd;
|
|
||||||
PTR_BLOB biflis;
|
|
||||||
PTR_DEP dep;
|
|
||||||
PTR_LLND llnd;
|
|
||||||
PTR_SYMB symb;
|
|
||||||
LIST lisp;
|
|
||||||
} entry;
|
|
||||||
LIST next;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,163 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/************************************************************************/
|
|
||||||
/* */
|
|
||||||
/* low level nodes */
|
|
||||||
/* */
|
|
||||||
/************************************************************************/
|
|
||||||
|
|
||||||
struct llnd {
|
|
||||||
|
|
||||||
int variant, id; /* variant and identification tags */
|
|
||||||
|
|
||||||
PTR_LLND thread; /* connects nodes together by allocation order */
|
|
||||||
|
|
||||||
PTR_TYPE type; /* to be modified */
|
|
||||||
|
|
||||||
union llnd_union {
|
|
||||||
|
|
||||||
char *string_val;/* for integers floats doubles and strings*/
|
|
||||||
int ival;
|
|
||||||
double dval; /* for floats and doubles */
|
|
||||||
char cval;
|
|
||||||
int bval; /* for booleans */
|
|
||||||
|
|
||||||
struct { /* for range, upper, and lower */
|
|
||||||
PTR_SYMB symbol;
|
|
||||||
int dim;
|
|
||||||
} array_op;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB symbol;
|
|
||||||
|
|
||||||
PTR_LLND ll_ptr1;
|
|
||||||
PTR_LLND ll_ptr2;
|
|
||||||
} Template;
|
|
||||||
|
|
||||||
struct { /* for complexes and double complexes */
|
|
||||||
PTR_SYMB null;
|
|
||||||
|
|
||||||
PTR_LLND real_part;
|
|
||||||
PTR_LLND imag_part;
|
|
||||||
} complex;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_LABEL lab_ptr;
|
|
||||||
|
|
||||||
PTR_LLND null_1;
|
|
||||||
PTR_LLND next;
|
|
||||||
} label_list;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND item;
|
|
||||||
PTR_LLND next;
|
|
||||||
} list;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND size;
|
|
||||||
PTR_LLND list;
|
|
||||||
} cons;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB control_var;
|
|
||||||
|
|
||||||
PTR_LLND array;
|
|
||||||
PTR_LLND range;
|
|
||||||
} access;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB control_var;
|
|
||||||
|
|
||||||
PTR_LLND array;
|
|
||||||
PTR_LLND range;
|
|
||||||
} ioaccess;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB symbol;
|
|
||||||
|
|
||||||
PTR_LLND null_1;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
} const_ref;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB symbol;
|
|
||||||
|
|
||||||
PTR_LLND null_1;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
} var_ref;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB symbol;
|
|
||||||
|
|
||||||
PTR_LLND index;
|
|
||||||
PTR_LLND array_elt;
|
|
||||||
} array_ref;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND access;
|
|
||||||
PTR_LLND index;
|
|
||||||
} access_ref;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND cons;
|
|
||||||
PTR_LLND index;
|
|
||||||
} cons_ref;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB symbol;
|
|
||||||
|
|
||||||
PTR_LLND null_1;
|
|
||||||
PTR_LLND rec_field; /* for record fields */
|
|
||||||
} record_ref;
|
|
||||||
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB symbol;
|
|
||||||
|
|
||||||
PTR_LLND param_list;
|
|
||||||
PTR_LLND next_call;
|
|
||||||
} proc;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND operand;
|
|
||||||
PTR_LLND null_2;
|
|
||||||
} unary_op;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND l_operand;
|
|
||||||
PTR_LLND r_operand;
|
|
||||||
} binary_op;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND ddot;
|
|
||||||
PTR_LLND stride;
|
|
||||||
} seq;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB null_1;
|
|
||||||
|
|
||||||
PTR_LLND sp_label;
|
|
||||||
PTR_LLND sp_value;
|
|
||||||
} spec_pair;
|
|
||||||
|
|
||||||
} entry;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define __LL_DEF__
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************
|
|
||||||
* *
|
|
||||||
* Definitions for the property list *
|
|
||||||
* *
|
|
||||||
****************************************************************/
|
|
||||||
|
|
||||||
#ifndef __PROP__
|
|
||||||
|
|
||||||
typedef struct prop_link *PTR_PLNK;
|
|
||||||
struct prop_link {
|
|
||||||
char *prop_name; /* property name */
|
|
||||||
char *prop_val; /* property value */
|
|
||||||
PTR_PLNK next; /* point to the next property list */
|
|
||||||
};
|
|
||||||
|
|
||||||
#define __PROP__
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/* Standard include file for all sage products (phb) */
|
|
||||||
|
|
||||||
/* include it only once... */
|
|
||||||
#ifndef SAGE_H
|
|
||||||
#define SAGE_H
|
|
||||||
|
|
||||||
#include "version.h"
|
|
||||||
#include "sageroot.h"
|
|
||||||
#include "sagearch.h"
|
|
||||||
|
|
||||||
#define SAGE_INFO "'finger sage@cica.indiana.edu' for more information.\n \
|
|
||||||
Send bug reports to sage-bugs@cica.indiana.edu\n"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
#define SAGE_iris4d
|
|
||||||
#define SAGE_ARCH iris4d
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
#define SAGEROOT "/usr/people/podd/sage"
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
# define MAX_LP_DEPTH 10
|
|
||||||
# define MAX_DEP 11
|
|
||||||
|
|
||||||
struct ref { /* reference of a variable */
|
|
||||||
PTR_BFND stmt; /* statement containing reference */
|
|
||||||
PTR_LLND refer; /* pointer to the actual reference */
|
|
||||||
} ;
|
|
||||||
|
|
||||||
struct refl {
|
|
||||||
PTR_SYMB id;
|
|
||||||
struct ref * node;
|
|
||||||
struct refl * next;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct refl * PTR_REFL;
|
|
||||||
|
|
||||||
/* Added by Mannho from here */
|
|
||||||
|
|
||||||
struct aref {
|
|
||||||
PTR_SYMB id;
|
|
||||||
PTR_LLND decl_ranges;
|
|
||||||
PTR_LLND use_bnd0; /* undecidable list because index with variables */
|
|
||||||
PTR_LLND mod_bnd0;
|
|
||||||
PTR_LLND use_bnd1; /* decidable with induction variables */
|
|
||||||
PTR_LLND mod_bnd1;
|
|
||||||
PTR_LLND use_bnd2; /* decidable with only constants */
|
|
||||||
PTR_LLND mod_bnd2;
|
|
||||||
struct aref *next;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct aref *PTR_AREF;
|
|
||||||
|
|
||||||
/* Added by Mannho to here */
|
|
||||||
|
|
||||||
struct sets {
|
|
||||||
PTR_REFL gen; /* local attribute */
|
|
||||||
PTR_REFL in_def; /* inhereted attrib */
|
|
||||||
PTR_REFL use; /* local attribute */
|
|
||||||
PTR_REFL in_use; /* inherited attrib */
|
|
||||||
PTR_REFL out_def; /* synth. attrib */
|
|
||||||
PTR_REFL out_use; /* synth. attrib */
|
|
||||||
PTR_AREF arefl; /* array reference */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct dep { /* data dependencies */
|
|
||||||
|
|
||||||
int id; /* identification for reading/writing */
|
|
||||||
PTR_DEP thread;
|
|
||||||
|
|
||||||
char type; /* flow-, output-, or anti-dependence */
|
|
||||||
char direct[MAX_DEP]; /* direction/distance vector */
|
|
||||||
|
|
||||||
PTR_SYMB symbol; /* symbol table entry */
|
|
||||||
struct ref from; /* tail of dependence */
|
|
||||||
struct ref to; /* head of dependence */
|
|
||||||
|
|
||||||
PTR_DEP from_fwd, from_back; /* list of dependencies going to tail */
|
|
||||||
PTR_DEP to_fwd, to_back; /* list of dependencies going to head */
|
|
||||||
|
|
||||||
} ;
|
|
||||||
|
|
||||||
#define AR_DIM_MAX 5
|
|
||||||
#define MAX_NEST_DEPTH 10
|
|
||||||
|
|
||||||
struct subscript{
|
|
||||||
int decidable; /* if 1 then analysis is ok. if 2 then vector range */
|
|
||||||
/* if it is 0 it is not analizable. */
|
|
||||||
PTR_LLND parm_exp; /* this is a symbolic expression involving */
|
|
||||||
/* procedure parameters or common variables. */
|
|
||||||
int offset; /* This is the constant term in a linear form */
|
|
||||||
PTR_LLND vector; /* pointer to ddot for vector range */
|
|
||||||
int coefs[MAX_NEST_DEPTH]; /* if coef[2] = 3 then the second */
|
|
||||||
/* level nesting induction var has*/
|
|
||||||
/* coef 3 in this position. */
|
|
||||||
PTR_LLND coefs_symb[MAX_NEST_DEPTH];
|
|
||||||
/* if coefs[2] is not null then this is the*/
|
|
||||||
/* pointer to a symbolic coef. in terms of */
|
|
||||||
/* procedure parameters, globals or commons*/
|
|
||||||
};
|
|
||||||
@@ -1,225 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/* VPC Version modified by Jenq-Kuen Lee Nov 15 , 1987 */
|
|
||||||
/* Original Filename : symb.h */
|
|
||||||
/* New filename : vsymb.h */
|
|
||||||
|
|
||||||
/************************************************************************
|
|
||||||
* *
|
|
||||||
* hash and symbol table entries *
|
|
||||||
* *
|
|
||||||
************************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
struct hash_entry
|
|
||||||
{
|
|
||||||
char *ident;
|
|
||||||
struct hash_entry *next_entry;
|
|
||||||
PTR_SYMB id_attr;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct symb {
|
|
||||||
int variant;
|
|
||||||
int id;
|
|
||||||
char *ident;
|
|
||||||
struct hash_entry *parent;
|
|
||||||
PTR_SYMB outer; /* pointer to symbol in enclosing block */
|
|
||||||
PTR_SYMB next_symb; /* pointer to next symbol in same block */
|
|
||||||
PTR_SYMB id_list; /* used for making lists of ids */
|
|
||||||
PTR_SYMB thread; /* list of all allocated symbol pointers */
|
|
||||||
PTR_TYPE type; /* data type of this identifier */
|
|
||||||
PTR_BFND scope; /* level at which ident is declared */
|
|
||||||
PTR_BLOB ud_chain; /* use_definition chain */
|
|
||||||
int attr; /* attributes of the variable */
|
|
||||||
int dovar; /* set if used as loop's control variable */
|
|
||||||
int decl; /* field that the parser use in keeping track
|
|
||||||
of declarations */
|
|
||||||
|
|
||||||
union symb_union {
|
|
||||||
PTR_LLND const_value; /* for constants */
|
|
||||||
|
|
||||||
struct { /* for enum-field and record field */
|
|
||||||
int tag;
|
|
||||||
int offset;
|
|
||||||
PTR_SYMB declared_name ; /* used for friend construct */
|
|
||||||
PTR_SYMB next;
|
|
||||||
PTR_SYMB base_name; /* name of record or enumerated type */
|
|
||||||
PTR_LLND restricted_bit ; /* Used by VPC++ for restricted bit number */
|
|
||||||
} field;
|
|
||||||
|
|
||||||
struct { /* for variant fields */
|
|
||||||
int tag;
|
|
||||||
int offset;
|
|
||||||
PTR_SYMB next;
|
|
||||||
PTR_SYMB base_name;
|
|
||||||
PTR_LLND variant_list;
|
|
||||||
} variant_field;
|
|
||||||
|
|
||||||
|
|
||||||
struct { /* for program */
|
|
||||||
PTR_SYMB symb_list;
|
|
||||||
PTR_LABEL label_list;
|
|
||||||
PTR_BFND prog_hedr;
|
|
||||||
} prog_decl;
|
|
||||||
|
|
||||||
struct { /* for PROC */
|
|
||||||
int seen;
|
|
||||||
int num_input, num_output, num_io;
|
|
||||||
PTR_SYMB in_list;
|
|
||||||
PTR_SYMB out_list;
|
|
||||||
PTR_SYMB symb_list;
|
|
||||||
int local_size;
|
|
||||||
PTR_LABEL label_list;
|
|
||||||
PTR_BFND proc_hedr;
|
|
||||||
PTR_LLND call_list;
|
|
||||||
} proc_decl;
|
|
||||||
|
|
||||||
struct { /* for FUNC */
|
|
||||||
int seen;
|
|
||||||
int num_input, num_output, num_io;
|
|
||||||
PTR_SYMB in_list;
|
|
||||||
PTR_SYMB out_list;
|
|
||||||
PTR_SYMB symb_list;
|
|
||||||
int local_size;
|
|
||||||
PTR_LABEL label_list;
|
|
||||||
PTR_BFND func_hedr;
|
|
||||||
PTR_LLND call_list;
|
|
||||||
} func_decl;
|
|
||||||
|
|
||||||
struct { /* for variable declaration */
|
|
||||||
int local; /* local or input or output or both param*/
|
|
||||||
int num1, num2, num3 ; /*24.02.03*/
|
|
||||||
PTR_SYMB next_out; /* for list of output parameters*//*perestanovka c next_out *24.02.03*/
|
|
||||||
PTR_SYMB next_in; /* for list of input parameters*/
|
|
||||||
int offset;
|
|
||||||
int dovar; /* set if being used as DO control var */
|
|
||||||
} var_decl;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
int seen ;
|
|
||||||
int num_input, num_output, num_io ;
|
|
||||||
PTR_SYMB in_list ;
|
|
||||||
PTR_SYMB out_list ;
|
|
||||||
PTR_SYMB symb_list;
|
|
||||||
int local_size;
|
|
||||||
PTR_LABEL label_list ;
|
|
||||||
PTR_BFND func_hedr ;
|
|
||||||
PTR_LLND call_list ;
|
|
||||||
/* the following information for field */
|
|
||||||
int tag ;
|
|
||||||
int offset ;
|
|
||||||
PTR_SYMB declared_name; /* used for friend construct */
|
|
||||||
PTR_SYMB next ;
|
|
||||||
PTR_SYMB base_name ;
|
|
||||||
/* the following is newly added */
|
|
||||||
|
|
||||||
} member_func ; /* New one for VPC */
|
|
||||||
|
|
||||||
|
|
||||||
/* an attempt to unify the data structure */
|
|
||||||
struct {
|
|
||||||
int seen ;
|
|
||||||
int num_input, num_output, num_io ;
|
|
||||||
PTR_SYMB in_list ;
|
|
||||||
PTR_SYMB out_list ;
|
|
||||||
PTR_SYMB symb_list;
|
|
||||||
int local_size;
|
|
||||||
PTR_LABEL label_list ;
|
|
||||||
PTR_BFND func_hedr ;
|
|
||||||
PTR_LLND call_list ;
|
|
||||||
/* the following information for field */
|
|
||||||
int tag ;
|
|
||||||
int offset ;
|
|
||||||
PTR_SYMB declared_name; /* used for friend construct */
|
|
||||||
PTR_SYMB next ;
|
|
||||||
PTR_SYMB base_name ;
|
|
||||||
|
|
||||||
/* the following is newly added */
|
|
||||||
} Template ; /* New one for VPC */
|
|
||||||
|
|
||||||
} entry;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct data_type {
|
|
||||||
int variant;
|
|
||||||
int id;
|
|
||||||
int length;
|
|
||||||
PTR_TYPE thread; /* list of all allocated symbol pointers */
|
|
||||||
PTR_SYMB name; /* type name */
|
|
||||||
PTR_BLOB ud_chain; /* use_definition chain */
|
|
||||||
union type_union {
|
|
||||||
/* no entry needed for T_INT, T_CHAR, T_FLOAT, T_DOUBLE, T_VOID T_BOOL */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
struct { /* for T_SUBRANGE */
|
|
||||||
PTR_TYPE base_type; /* = to T_INT, T_CHAR, T_FLOAT */
|
|
||||||
PTR_LLND lower, upper;
|
|
||||||
} subrange;
|
|
||||||
|
|
||||||
struct { /* for T_ARRAY */
|
|
||||||
PTR_TYPE base_type; /* New order */
|
|
||||||
int num_dimensions;
|
|
||||||
PTR_LLND ranges;
|
|
||||||
} ar_decl;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_TYPE base_type ;
|
|
||||||
int dummy1;
|
|
||||||
PTR_LLND ranges ;
|
|
||||||
PTR_LLND kind_len ;
|
|
||||||
int dummy3;
|
|
||||||
int dummy4;
|
|
||||||
int dummy5;
|
|
||||||
} Template ; /* for T_DESCRIPT,T_ARRAY,T_FUNCTION,T_POINTER */
|
|
||||||
PTR_TYPE base_type; /* for T_LIST */
|
|
||||||
|
|
||||||
struct { /* for T_RECORD or T_ENUM */
|
|
||||||
int num_fields;
|
|
||||||
int record_size;
|
|
||||||
PTR_SYMB first;
|
|
||||||
} re_decl;
|
|
||||||
/* the following is added fro VPC */
|
|
||||||
|
|
||||||
struct {
|
|
||||||
PTR_SYMB symbol;
|
|
||||||
PTR_SYMB scope_symbol;
|
|
||||||
} derived_type ; /* for type name deriving type */
|
|
||||||
|
|
||||||
struct { /* for class T_CLASS T_UNION T_STRUCT */
|
|
||||||
int num_fields;
|
|
||||||
int record_size;
|
|
||||||
PTR_SYMB first;
|
|
||||||
PTR_BFND original_class ;
|
|
||||||
PTR_TYPE base_type; /* base type or inherited collection */
|
|
||||||
} derived_class ;
|
|
||||||
|
|
||||||
struct { /* for class T_DERIVED_TEMPLATE */
|
|
||||||
PTR_SYMB templ_name;
|
|
||||||
PTR_LLND args; /* argument list for templ */
|
|
||||||
} templ_decl ;
|
|
||||||
|
|
||||||
/* for T_MEMBER_POINTER and */
|
|
||||||
struct { /* for class T_DERIVED_COLLECTION */
|
|
||||||
PTR_SYMB collection_name;
|
|
||||||
PTR_TYPE base_type; /* base type or inherited collection */
|
|
||||||
} col_decl ;
|
|
||||||
|
|
||||||
struct { /* for T_DESCRIPT */
|
|
||||||
PTR_TYPE base_type ;
|
|
||||||
int signed_flag ;
|
|
||||||
PTR_LLND ranges ;
|
|
||||||
int long_short_flag ;
|
|
||||||
int mod_flag ;
|
|
||||||
int storage_flag;
|
|
||||||
int access_flag;
|
|
||||||
} descriptive ;
|
|
||||||
|
|
||||||
} entry;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#define __SYMB_DEF__
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct sblob *PTR_SBLOB;
|
|
||||||
|
|
||||||
struct sblob { PTR_SYMB symb;
|
|
||||||
PTR_SBLOB next;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sblob syms[100];
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,628 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/******************* variant tags for bif nodes **********************/
|
|
||||||
|
|
||||||
#define GLOBAL 100
|
|
||||||
#define PROG_HEDR 101
|
|
||||||
#define PROC_HEDR 102
|
|
||||||
#define BASIC_BLOCK 103
|
|
||||||
#define CONTROL_END 104
|
|
||||||
#define IF_NODE 105
|
|
||||||
#define LOOP_NODE 106
|
|
||||||
#define FOR_NODE 107
|
|
||||||
#define FORALL_NODE 108
|
|
||||||
#define WHILE_NODE 109
|
|
||||||
#define EXIT_NODE 110
|
|
||||||
#define ASSIGN_STAT 111
|
|
||||||
#define M_ASSIGN_STAT 112
|
|
||||||
#define PROC_STAT 113
|
|
||||||
#define SUM_ACC 114 /* accumulation statements */
|
|
||||||
#define MULT_ACC 115
|
|
||||||
#define MAX_ACC 116
|
|
||||||
#define MIN_ACC 117
|
|
||||||
#define CAT_ACC 118
|
|
||||||
#define OR_ACC 119
|
|
||||||
#define AND_ACC 120
|
|
||||||
#define READ_STAT 121
|
|
||||||
#define WRITE_STAT 122
|
|
||||||
#define OTHERIO_STAT 123
|
|
||||||
#define CDOALL_NODE 124
|
|
||||||
#define SDOALL_NODE 125
|
|
||||||
#define DOACROSS_NODE 126
|
|
||||||
#define CDOACROSS_NODE 127
|
|
||||||
#define DVM_INTERVAL_DIR 128 /* DVM-F */
|
|
||||||
#define DVM_ENDINTERVAL_DIR 129 /* DVM-F */
|
|
||||||
#define FUNC_HEDR 130
|
|
||||||
#define WHERE_NODE 131
|
|
||||||
#define ALLDO_NODE 132
|
|
||||||
#define IDENTIFY 133
|
|
||||||
#define FORMAT_STAT 134
|
|
||||||
#define STOP_STAT 135
|
|
||||||
#define RETURN_STAT 136
|
|
||||||
#define ELSEIF_NODE 137
|
|
||||||
#define ARITHIF_NODE 138
|
|
||||||
#define GOTO_NODE 139
|
|
||||||
#define ASSGOTO_NODE 140
|
|
||||||
#define COMGOTO_NODE 141
|
|
||||||
#define PAUSE_NODE 142
|
|
||||||
#define STOP_NODE 143
|
|
||||||
#define ASSLAB_STAT 144
|
|
||||||
#define LOGIF_NODE 145
|
|
||||||
#define DVM_DEBUG_DIR 146 /* DVM-F */
|
|
||||||
#define DVM_ENDDEBUG_DIR 147 /* DVM-F */
|
|
||||||
#define DVM_TRACEON_DIR 148 /* DVM-F */
|
|
||||||
#define DVM_TRACEOFF_DIR 149 /* DVM-F */
|
|
||||||
#define BLOB 150
|
|
||||||
#define SIZES 151
|
|
||||||
#define COMMENT_STAT 152
|
|
||||||
#define CONT_STAT 153
|
|
||||||
#define VAR_DECL 154
|
|
||||||
#define PARAM_DECL 155
|
|
||||||
#define COMM_STAT 156
|
|
||||||
#define EQUI_STAT 157
|
|
||||||
#define IMPL_DECL 158
|
|
||||||
#define DATA_DECL 159
|
|
||||||
#define SAVE_DECL 160
|
|
||||||
#define ENTRY_STAT 162
|
|
||||||
#define STMTFN_STAT 163
|
|
||||||
#define DIM_STAT 164
|
|
||||||
#define BLOCK_DATA 165
|
|
||||||
#define EXTERN_STAT 166
|
|
||||||
#define INTRIN_STAT 167
|
|
||||||
#define ENUM_DECL 168 /* New added for VPC */
|
|
||||||
#define CLASS_DECL 169 /* New added for VPC */
|
|
||||||
#define UNION_DECL 170 /* New added for VPC */
|
|
||||||
#define STRUCT_DECL 171 /* New added for VPC */
|
|
||||||
#define DERIVED_CLASS_DECL 172 /* New added for VPC */
|
|
||||||
#define EXPR_STMT_NODE 173 /* New added for VPC */
|
|
||||||
#define DO_WHILE_NODE 174 /* New added for VPC */
|
|
||||||
#define SWITCH_NODE 175 /* New added for VPC */
|
|
||||||
#define CASE_NODE 176 /* New added for VPC */
|
|
||||||
#define DEFAULT_NODE 177 /* New added for VPC */
|
|
||||||
#define BREAK_NODE 178 /* New added for VPC */
|
|
||||||
#define CONTINUE_NODE 179 /* New added for VPC */
|
|
||||||
#define RETURN_NODE 180 /* New added for VPC */
|
|
||||||
#define ASM_NODE 181 /* New added for VPC */
|
|
||||||
#define SPAWN_NODE 182 /* New added for CC++ */
|
|
||||||
#define PARFOR_NODE 183 /* New added for CC++ */
|
|
||||||
#define PAR_NODE 184 /* New added for CC++ */
|
|
||||||
#define LABEL_STAT 185 /* New added for VPC */
|
|
||||||
#define PROS_COMM 186 /* Fortran M */
|
|
||||||
#define ATTR_DECL 187 /* attribute declaration */
|
|
||||||
#define NAMELIST_STAT 188
|
|
||||||
#define FUTURE_STMT 189 /* NEW added for VPC */
|
|
||||||
#define COLLECTION_DECL 190 /* NEW added for PC++ */
|
|
||||||
#define TEMPLATE_DECL 191 /* added by dbg for templates */
|
|
||||||
#define TEMPLATE_FUNDECL 192 /* added by dbg for template function*/
|
|
||||||
#define TECLASS_DECL 193 /* added for pC++ */
|
|
||||||
#define ELSEWH_NODE 194 /*F95*/
|
|
||||||
#define STATIC_STMT 195 /*F95*/
|
|
||||||
#define INCLUDE_LINE 196 /*F95*/
|
|
||||||
#define PREPROCESSOR_DIR 197 /*C,C++*/
|
|
||||||
#define PRINT_STAT 200
|
|
||||||
#define BACKSPACE_STAT 201
|
|
||||||
#define REWIND_STAT 202
|
|
||||||
#define ENDFILE_STAT 203
|
|
||||||
#define INQUIRE_STAT 204
|
|
||||||
#define OPEN_STAT 205
|
|
||||||
#define CLOSE_STAT 206
|
|
||||||
#define EXTERN_C_STAT 207 /* Added by PHB for 'extern "C" {}' */
|
|
||||||
#define INCLUDE_STAT 208
|
|
||||||
#define TRY_STAT 209 /* added by dbg for C++ exceptions */
|
|
||||||
#define CATCH_STAT 210 /* moreexcpt handling (part of try) */
|
|
||||||
#define DVM_PARALLEL_ON_DIR 211 /* DVM-F */
|
|
||||||
#define DVM_SHADOW_START_DIR 212 /* DVM-F */
|
|
||||||
#define DVM_SHADOW_GROUP_DIR 213 /* DVM-F */
|
|
||||||
#define DVM_SHADOW_WAIT_DIR 214 /* DVM-F */
|
|
||||||
#define DVM_REDUCTION_START_DIR 215 /* DVM-F */
|
|
||||||
#define DVM_REDUCTION_GROUP_DIR 216 /* DVM-F */
|
|
||||||
#define DVM_REDUCTION_WAIT_DIR 217 /* DVM-F */
|
|
||||||
#define DVM_DYNAMIC_DIR 218 /* DVM-F */
|
|
||||||
#define DVM_ALIGN_DIR 219 /* DVM-F */
|
|
||||||
#define DVM_REALIGN_DIR 220 /* DVM-F */
|
|
||||||
#define DVM_REALIGN_NEW_DIR 221 /* DVM-F */
|
|
||||||
#define DVM_REMOTE_ACCESS_DIR 222 /* DVM-F */
|
|
||||||
#define HPF_INDEPENDENT_DIR 223 /* HPF */
|
|
||||||
#define DVM_SHADOW_DIR 224 /* DVM-F */
|
|
||||||
#define PARDO_NODE 225 /* Following added for PCF Fortran */
|
|
||||||
#define PARSECTIONS_NODE 226
|
|
||||||
#define SECTION_NODE 227
|
|
||||||
#define GUARDS_NODE 228
|
|
||||||
#define LOCK_NODE 229
|
|
||||||
#define UNLOCK_NODE 230
|
|
||||||
#define CRITSECTION_NODE 231
|
|
||||||
#define POST_NODE 232
|
|
||||||
#define WAIT_NODE 233
|
|
||||||
#define CLEAR_NODE 234
|
|
||||||
#define POSTSEQ_NODE 235
|
|
||||||
#define WAITSEQ_NODE 236
|
|
||||||
#define SETSEQ_NODE 237
|
|
||||||
#define ASSIGN_NODE 238
|
|
||||||
#define RELEASE_NODE 239
|
|
||||||
#define PRIVATE_NODE 240
|
|
||||||
#define SCOMMON_NODE 241
|
|
||||||
#define PARREGION_NODE 242
|
|
||||||
#define PDO_NODE 243
|
|
||||||
#define PSECTIONS_NODE 244
|
|
||||||
#define SINGLEPROCESS_NODE 245
|
|
||||||
#define SKIPPASTEOF_NODE 246
|
|
||||||
#define DVM_NEW_VALUE_DIR 247 /* DVM-F */
|
|
||||||
#define DVM_VAR_DECL 248 /* DVM-F */
|
|
||||||
#define DVM_POINTER_DIR 249 /* DVM-F */
|
|
||||||
#define INTENT_STMT 250 /* Added for Fortran 90 */
|
|
||||||
#define OPTIONAL_STMT 251
|
|
||||||
#define PUBLIC_STMT 252
|
|
||||||
#define PRIVATE_STMT 253
|
|
||||||
#define ALLOCATABLE_STMT 254
|
|
||||||
#define POINTER_STMT 255
|
|
||||||
#define TARGET_STMT 256
|
|
||||||
#define ALLOCATE_STMT 257
|
|
||||||
#define NULLIFY_STMT 258
|
|
||||||
#define DEALLOCATE_STMT 259
|
|
||||||
#define SEQUENCE_STMT 260
|
|
||||||
#define CYCLE_STMT 261
|
|
||||||
#define EXIT_STMT 262
|
|
||||||
#define CONTAINS_STMT 263
|
|
||||||
#define WHERE_BLOCK_STMT 264
|
|
||||||
#define MODULE_STMT 265
|
|
||||||
#define USE_STMT 266
|
|
||||||
#define INTERFACE_STMT 267
|
|
||||||
#define MODULE_PROC_STMT 268
|
|
||||||
#define OVERLOADED_ASSIGN_STAT 269
|
|
||||||
#define POINTER_ASSIGN_STAT 270
|
|
||||||
#define OVERLOADED_PROC_STAT 271
|
|
||||||
#define DECOMPOSITION_STMT 275
|
|
||||||
#define ALIGN_STMT 276
|
|
||||||
#define DVM_DISTRIBUTE_DIR 277 /* DVM-F */
|
|
||||||
#define REDUCE_STMT 278
|
|
||||||
#define PROS_HEDR 279 /* Fortran M */
|
|
||||||
#define PROS_STAT 280 /* Fortran M */
|
|
||||||
#define PROS_STAT_LCTN 281 /* Fortran M */
|
|
||||||
#define PROS_STAT_SUBM 282 /* Fortran M */
|
|
||||||
#define PROCESSES_STAT 283 /* Fortran M */
|
|
||||||
#define PROCESSES_END 284 /* Fortran M */
|
|
||||||
#define PROCESS_DO_STAT 285 /* Fortran M */
|
|
||||||
#define PROCESSORS_STAT 286 /* Fortran M */
|
|
||||||
#define CHANNEL_STAT 287 /* Fortran M */
|
|
||||||
#define MERGER_STAT 288 /* Fortran M */
|
|
||||||
#define MOVE_PORT 289 /* Fortran M */
|
|
||||||
#define SEND_STAT 290 /* Fortran M */
|
|
||||||
#define RECEIVE_STAT 291 /* Fortran M */
|
|
||||||
#define ENDCHANNEL_STAT 292 /* Fortran M */
|
|
||||||
#define PROBE_STAT 293 /* Fortran M */
|
|
||||||
#define INPORT_DECL 294 /* Fortran M */
|
|
||||||
#define OUTPORT_DECL 295 /* Fortran M */
|
|
||||||
#define HPF_TEMPLATE_STAT 296 /* HPF */
|
|
||||||
#define HPF_ALIGN_STAT 297 /* HPF */
|
|
||||||
#define HPF_PROCESSORS_STAT 298 /* HPF */
|
|
||||||
#define DVM_REDISTRIBUTE_DIR 299 /* DVM-F */
|
|
||||||
#define DVM_TASK_REGION_DIR 605 /* DVM-F */
|
|
||||||
#define DVM_END_TASK_REGION_DIR 606 /* DVM-F */
|
|
||||||
#define DVM_ON_DIR 607 /* DVM-F */
|
|
||||||
#define DVM_END_ON_DIR 608 /* DVM-F */
|
|
||||||
#define DVM_TASK_DIR 609 /* DVM-F */
|
|
||||||
#define DVM_MAP_DIR 610 /* DVM-F */
|
|
||||||
#define DVM_PARALLEL_TASK_DIR 611 /* DVM-F */
|
|
||||||
#define DVM_INHERIT_DIR 612 /* DVM-F */
|
|
||||||
#define DVM_INDIRECT_GROUP_DIR 613 /* DVM-F */
|
|
||||||
#define DVM_INDIRECT_ACCESS_DIR 614 /* DVM-F */
|
|
||||||
#define DVM_REMOTE_GROUP_DIR 615 /* DVM-F */
|
|
||||||
#define DVM_RESET_DIR 616 /* DVM-F */
|
|
||||||
#define DVM_PREFETCH_DIR 617 /* DVM-F */
|
|
||||||
#define DVM_OWN_DIR 618 /* DVM-F */
|
|
||||||
#define DVM_HEAP_DIR 619 /* DVM-F */
|
|
||||||
#define DVM_ASYNCID_DIR 620 /* DVM-F */
|
|
||||||
#define DVM_ASYNCHRONOUS_DIR 621 /* DVM-F */
|
|
||||||
#define DVM_ENDASYNCHRONOUS_DIR 622 /* DVM-F */
|
|
||||||
#define DVM_ASYNCWAIT_DIR 623 /* DVM-F */
|
|
||||||
#define DVM_F90_DIR 624 /* DVM-F */
|
|
||||||
#define DVM_BARRIER_DIR 625 /* DVM-F */
|
|
||||||
#define FORALL_STAT 626 /* F95 */
|
|
||||||
#define DVM_CONSISTENT_GROUP_DIR 627 /* DVM-F */
|
|
||||||
#define DVM_CONSISTENT_START_DIR 628 /* DVM-F */
|
|
||||||
#define DVM_CONSISTENT_WAIT_DIR 629 /* DVM-F */
|
|
||||||
#define DVM_CONSISTENT_DIR 630 /* DVM-F */
|
|
||||||
#define DVM_CHECK_DIR 631 /* DVM-F */
|
|
||||||
#define DVM_IO_MODE_DIR 632 /* DVM-F */
|
|
||||||
#define DVM_LOCALIZE_DIR 633 /* DVM-F */
|
|
||||||
#define DVM_SHADOW_ADD_DIR 634 /* DVM-F */
|
|
||||||
#define DVM_CP_CREATE_DIR 635 /* DVM-F */
|
|
||||||
#define DVM_CP_LOAD_DIR 636 /* DVM-F */
|
|
||||||
#define DVM_CP_SAVE_DIR 637 /* DVM-F */
|
|
||||||
#define DVM_CP_WAIT_DIR 638 /* DVM-F */
|
|
||||||
#define DVM_EXIT_INTERVAL_DIR 639 /* DVM-F */
|
|
||||||
#define DVM_TEMPLATE_CREATE_DIR 640 /* DVM-F */
|
|
||||||
#define DVM_TEMPLATE_DELETE_DIR 641 /* DVM-F */
|
|
||||||
#define PRIVATE_AR_DECL 642 /* DVM-F */
|
|
||||||
|
|
||||||
/***************** variant tags for low level nodes ********************/
|
|
||||||
|
|
||||||
#define INT_VAL 300
|
|
||||||
#define FLOAT_VAL 301
|
|
||||||
#define DOUBLE_VAL 302
|
|
||||||
#define BOOL_VAL 303
|
|
||||||
#define CHAR_VAL 304
|
|
||||||
#define STRING_VAL 305
|
|
||||||
#define CONST_REF 306
|
|
||||||
#define VAR_REF 307
|
|
||||||
#define ARRAY_REF 308
|
|
||||||
#define RECORD_REF 309 /* diff struct between Blaze and VPC++ */
|
|
||||||
#define ENUM_REF 310
|
|
||||||
#define VAR_LIST 311
|
|
||||||
#define EXPR_LIST 312
|
|
||||||
#define RANGE_LIST 313
|
|
||||||
#define CASE_CHOICE 314
|
|
||||||
#define DEF_CHOICE 315
|
|
||||||
#define VARIANT_CHOICE 316
|
|
||||||
#define COMPLEX_VAL 317
|
|
||||||
#define LABEL_REF 318
|
|
||||||
#define KEYWORD_VAL 319 /* Strings to be printed with quotes */
|
|
||||||
#define DDOT 324
|
|
||||||
#define RANGE_OP 325
|
|
||||||
#define UPPER_OP 326
|
|
||||||
#define LOWER_OP 327
|
|
||||||
#define EQ_OP 328
|
|
||||||
#define LT_OP 329
|
|
||||||
#define GT_OP 330
|
|
||||||
#define NOTEQL_OP 331
|
|
||||||
#define LTEQL_OP 332
|
|
||||||
#define GTEQL_OP 333
|
|
||||||
#define ADD_OP 334
|
|
||||||
#define SUBT_OP 335
|
|
||||||
#define OR_OP 336
|
|
||||||
#define MULT_OP 337
|
|
||||||
#define DIV_OP 338
|
|
||||||
#define MOD_OP 339
|
|
||||||
#define AND_OP 340
|
|
||||||
#define EXP_OP 341
|
|
||||||
#define ARRAY_MULT 342
|
|
||||||
#define CONCAT_OP 343 /* cancatenation of strings */
|
|
||||||
#define XOR_OP 344 /* .XOR. in fortran */
|
|
||||||
#define EQV_OP 345 /* .EQV. in fortran */
|
|
||||||
#define NEQV_OP 346 /* .NEQV. in fortran */
|
|
||||||
#define MINUS_OP 350 /* unary operations */
|
|
||||||
#define NOT_OP 351
|
|
||||||
#define ASSGN_OP 352 /* New ADDED For VPC */
|
|
||||||
#define DEREF_OP 353 /* New ADDED For VPC */
|
|
||||||
#define POINTST_OP 354 /* New ADDED For VPC */ /* ptr->x */
|
|
||||||
#define FUNCTION_OP 355 /* New ADDED For VPC */ /* (*DD)() */
|
|
||||||
#define MINUSMINUS_OP 356 /* New ADDED For VPC */
|
|
||||||
#define PLUSPLUS_OP 357 /* New ADDED For VPC */
|
|
||||||
#define BITAND_OP 358 /* New ADDED For VPC */
|
|
||||||
#define BITOR_OP 359 /* New ADDED For VPC */
|
|
||||||
#define STAR_RANGE 360 /* operations with no operands 360.. */
|
|
||||||
#define PROC_CALL 370
|
|
||||||
#define FUNC_CALL 371
|
|
||||||
#define CONSTRUCTOR_REF 380
|
|
||||||
#define ACCESS_REF 381
|
|
||||||
#define CONS 382
|
|
||||||
#define ACCESS 383
|
|
||||||
#define IOACCESS 384
|
|
||||||
#define CONTROL_LIST 385
|
|
||||||
#define SEQ 386
|
|
||||||
#define SPEC_PAIR 387
|
|
||||||
#define COMM_LIST 388
|
|
||||||
#define STMT_STR 389
|
|
||||||
#define EQUI_LIST 390
|
|
||||||
#define IMPL_TYPE 391
|
|
||||||
#define STMTFN_DECL 392
|
|
||||||
#define BIT_COMPLEMENT_OP 393
|
|
||||||
#define EXPR_IF 394
|
|
||||||
#define EXPR_IF_BODY 395
|
|
||||||
#define FUNCTION_REF 396
|
|
||||||
#define LSHIFT_OP 397
|
|
||||||
#define RSHIFT_OP 398
|
|
||||||
#define UNARY_ADD_OP 399
|
|
||||||
#define SIZE_OP 400
|
|
||||||
#define INTEGER_DIV_OP 401
|
|
||||||
#define SUB_OP 402
|
|
||||||
#define LE_OP 403 /* New added for VPC */
|
|
||||||
#define GE_OP 404 /* New added for VPC */
|
|
||||||
#define NE_OP 405 /* New added for VPC */
|
|
||||||
#define CLASSINIT_OP 406 /* New added for VPC */
|
|
||||||
#define CAST_OP 407 /* New added for VPC */
|
|
||||||
#define ADDRESS_OP 408 /* New added for VPC */
|
|
||||||
#define POINSTAT_OP 409 /* New added for VPC */
|
|
||||||
#define COPY_NODE 410 /* New added for VPC */
|
|
||||||
#define INIT_LIST 411 /* New added for VPC */
|
|
||||||
#define VECTOR_CONST 412 /* New added for VPC */
|
|
||||||
#define BIT_NUMBER 413 /* New added for VPC */
|
|
||||||
#define ARITH_ASSGN_OP 414 /* New added for VPC */
|
|
||||||
#define ARRAY_OP 415 /* New added for VPC */
|
|
||||||
#define NEW_OP 416 /* New added for VPC */
|
|
||||||
#define DELETE_OP 417 /* New added for VPC */
|
|
||||||
#define NAMELIST_LIST 418
|
|
||||||
#define THIS_NODE 419 /* New added for VPC */
|
|
||||||
#define SCOPE_OP 420 /* New added for VPC */
|
|
||||||
#define PLUS_ASSGN_OP 421 /* New added for VPC */
|
|
||||||
#define MINUS_ASSGN_OP 422 /* New added for VPC */
|
|
||||||
#define AND_ASSGN_OP 423 /* New added for VPC */
|
|
||||||
#define IOR_ASSGN_OP 424 /* New added for VPC */
|
|
||||||
#define MULT_ASSGN_OP 425 /* New added for VPC */
|
|
||||||
#define DIV_ASSGN_OP 426 /* New added for VPC */
|
|
||||||
#define MOD_ASSGN_OP 427 /* New added for VPC */
|
|
||||||
#define XOR_ASSGN_OP 428 /* New added for VPC */
|
|
||||||
#define LSHIFT_ASSGN_OP 429 /* New added for VPC */
|
|
||||||
#define RSHIFT_ASSGN_OP 430 /* New added for VPC */
|
|
||||||
#define ORDERED_OP 431 /* Following added for PCF FORTRAN */
|
|
||||||
#define EXTEND_OP 432
|
|
||||||
#define MAXPARALLEL_OP 433
|
|
||||||
#define SAMETYPE_OP 434
|
|
||||||
#define TYPE_REF 450 /* Added for FORTRAN 90 */
|
|
||||||
#define STRUCTURE_CONSTRUCTOR 451
|
|
||||||
#define ARRAY_CONSTRUCTOR 452
|
|
||||||
#define SECTION_REF 453
|
|
||||||
#define VECTOR_SUBSCRIPT 454
|
|
||||||
#define SECTION_OPERANDS 455
|
|
||||||
#define KEYWORD_ARG 456
|
|
||||||
#define OVERLOADED_CALL 457
|
|
||||||
#define INTERFACE_REF 458
|
|
||||||
#define RENAME_NODE 459
|
|
||||||
#define TYPE_NODE 460
|
|
||||||
#define PAREN_OP 461
|
|
||||||
#define PARAMETER_OP 462
|
|
||||||
#define PUBLIC_OP 463
|
|
||||||
#define PRIVATE_OP 464
|
|
||||||
#define ALLOCATABLE_OP 465
|
|
||||||
#define DIMENSION_OP 466
|
|
||||||
#define EXTERNAL_OP 467
|
|
||||||
#define IN_OP 468
|
|
||||||
#define OUT_OP 469
|
|
||||||
#define INOUT_OP 470
|
|
||||||
#define INTRINSIC_OP 471
|
|
||||||
#define POINTER_OP 472
|
|
||||||
#define OPTIONAL_OP 473
|
|
||||||
#define SAVE_OP 474
|
|
||||||
#define TARGET_OP 475
|
|
||||||
#define ONLY_NODE 476
|
|
||||||
#define LEN_OP 477
|
|
||||||
#define TYPE_OP 479
|
|
||||||
#define DOTSTAR_OP 480 /* C++ .* operator */
|
|
||||||
#define ARROWSTAR_OP 481 /* C++ ->* operator */
|
|
||||||
#define FORDECL_OP 482 /* C++ for(int i; needs a new op */
|
|
||||||
#define THROW_OP 483 /* C++ throw operator */
|
|
||||||
#define PROCESSORS_REF 484 /* Fortran M */
|
|
||||||
#define PORT_TYPE_OP 485 /* Fortran M */
|
|
||||||
#define INPORT_TYPE_OP 486 /* Fortran M */
|
|
||||||
#define OUTPORT_TYPE_OP 487 /* Fortran M */
|
|
||||||
#define INPORT_NAME 488 /* Fortran M */
|
|
||||||
#define OUTPORT_NAME 489 /* Fortran M */
|
|
||||||
#define FROMPORT_NAME 490 /* Fortran M */
|
|
||||||
#define TOPORT_NAME 491 /* Fortran M */
|
|
||||||
#define IOSTAT_STORE 492 /* Fortran M */
|
|
||||||
#define EMPTY_STORE 493 /* Fortran M */
|
|
||||||
#define ERR_LABEL 494 /* Fortran M */
|
|
||||||
#define END_LABEL 495 /* Fortran M */
|
|
||||||
#define PROS_CALL 496 /* Fortran M */
|
|
||||||
#define STATIC_OP 497 /* F95*/
|
|
||||||
#define LABEL_ARG 498
|
|
||||||
#define DATA_IMPL_DO 700 /* Fortran M */
|
|
||||||
#define DATA_ELT 701 /* Fortran M */
|
|
||||||
#define DATA_SUBS 702 /* Fortran M */
|
|
||||||
#define DATA_RANGE 703 /* Fortran M */
|
|
||||||
#define ICON_EXPR 704 /* Fortran M */
|
|
||||||
#define BLOCK_OP 705 /* DVM-F */
|
|
||||||
#define NEW_SPEC_OP 706 /* DVM-F */
|
|
||||||
#define REDUCTION_OP 707 /* DVM-F */
|
|
||||||
#define SHADOW_RENEW_OP 708 /* DVM-F */
|
|
||||||
#define SHADOW_START_OP 709 /* DVM-F */
|
|
||||||
#define SHADOW_WAIT_OP 710 /* DVM-F */
|
|
||||||
#define DIAG_OP 711 /* DVM-F */
|
|
||||||
#define REMOTE_ACCESS_OP 712 /* DVM-F */
|
|
||||||
#define TEMPLATE_OP 713 /* DVM-F */
|
|
||||||
#define PROCESSORS_OP 714 /* DVM-F */
|
|
||||||
#define DYNAMIC_OP 715 /* DVM-F */
|
|
||||||
#define ALIGN_OP 716 /* DVM-F */
|
|
||||||
#define DISTRIBUTE_OP 717 /* DVM-F */
|
|
||||||
#define SHADOW_OP 718 /* DVM-F */
|
|
||||||
#define INDIRECT_ACCESS_OP 719 /* DVM-F */
|
|
||||||
#define ACROSS_OP 720 /* DVM-F */
|
|
||||||
#define NEW_VALUE_OP 721 /* DVM-F */
|
|
||||||
#define SHADOW_COMP_OP 722 /* DVM-F */
|
|
||||||
#define STAGE_OP 723 /* DVM-F */
|
|
||||||
#define FORALL_OP 724 /* F95 */
|
|
||||||
#define CONSISTENT_OP 725 /* DVM-F */
|
|
||||||
#define INTERFACE_OPERATOR 726 /* F95 */
|
|
||||||
#define INTERFACE_ASSIGNMENT 727 /* F95 */
|
|
||||||
#define VAR_DECL_90 728 /* F95 */
|
|
||||||
#define ASSIGNMENT_OP 729 /* F95 */
|
|
||||||
#define OPERATOR_OP 730 /* F95 */
|
|
||||||
#define KIND_OP 731 /* F95 */
|
|
||||||
#define LENGTH_OP 732 /* F95 */
|
|
||||||
#define RECURSIVE_OP 733 /* F95 */
|
|
||||||
#define ELEMENTAL_OP 734 /* F95 */
|
|
||||||
#define PURE_OP 735 /* F95 */
|
|
||||||
#define DEFINED_OP 736 /* F95 */
|
|
||||||
#define PARALLEL_OP 737 /*DVM-F */
|
|
||||||
#define INDIRECT_OP 738 /*DVM-F */
|
|
||||||
#define DERIVED_OP 739 /*DVM-F */
|
|
||||||
#define DUMMY_REF 740 /*DVM-F */
|
|
||||||
#define COMMON_OP 741 /*DVM-F */
|
|
||||||
#define SHADOW_NAMES_OP 742 /*DVM-F */
|
|
||||||
|
|
||||||
/***************** variant tags for symbol table entries ********************/
|
|
||||||
|
|
||||||
#define CONST_NAME 500 /* constant types */
|
|
||||||
#define ENUM_NAME 501
|
|
||||||
#define FIELD_NAME 502
|
|
||||||
#define VARIABLE_NAME 503
|
|
||||||
#define TYPE_NAME 504
|
|
||||||
#define PROGRAM_NAME 505
|
|
||||||
#define PROCEDURE_NAME 506
|
|
||||||
#define VAR_FIELD 507
|
|
||||||
#define LABEL_VAR 508 /* dest of assigned goto stmt */
|
|
||||||
#define FUNCTION_NAME 509
|
|
||||||
#define MEMBER_FUNC 510 /* new added for VPC */
|
|
||||||
#define CLASS_NAME 511 /* new added for VPC */
|
|
||||||
#define UNION_NAME 512 /* new added for VPC */
|
|
||||||
#define STRUCT_NAME 513 /* new added for VPC */
|
|
||||||
#define LABEL_NAME 514 /* new added for VPC */
|
|
||||||
#define COLLECTION_NAME 515 /* new added for VPC */
|
|
||||||
#define ROUTINE_NAME 516 /*added for external statement*/
|
|
||||||
#define CONSTRUCT_NAME 517
|
|
||||||
#define INTERFACE_NAME 518
|
|
||||||
#define MODULE_NAME 519
|
|
||||||
#define TEMPLATE_CL_NAME 520
|
|
||||||
#define TEMPLATE_FN_NAME 521
|
|
||||||
#define TECLASS_NAME 522
|
|
||||||
#define SHADOW_GROUP_NAME 523 /* DVM_F */
|
|
||||||
#define REDUCTION_GROUP_NAME 524 /* DVM_F */
|
|
||||||
#define REF_GROUP_NAME 525 /* DVM_F */
|
|
||||||
#define ASYNC_ID 526 /* DVM_F */
|
|
||||||
#define CONSISTENT_GROUP_NAME 527 /* DVM_F */
|
|
||||||
#define NAMELIST_NAME 528
|
|
||||||
#define COMMON_NAME 529 /* name of a common block (add Kataev N.A., 02.04.2014)*/
|
|
||||||
|
|
||||||
#define DEFAULT 550
|
|
||||||
#define T_INT 551 /* scalar types */
|
|
||||||
#define T_FLOAT 552
|
|
||||||
#define T_DOUBLE 553
|
|
||||||
#define T_CHAR 554
|
|
||||||
#define T_BOOL 555
|
|
||||||
#define T_STRING 556
|
|
||||||
#define T_ENUM 557
|
|
||||||
#define T_SUBRANGE 558
|
|
||||||
#define T_LIST 559
|
|
||||||
#define T_ARRAY 560
|
|
||||||
#define T_RECORD 561
|
|
||||||
#define T_ENUM_FIELD 562
|
|
||||||
#define T_UNKNOWN 563
|
|
||||||
#define T_COMPLEX 564
|
|
||||||
#define T_VOID 565 /* New one for VPC */
|
|
||||||
#define T_DESCRIPT 566 /* New one for VPC */
|
|
||||||
#define T_FUNCTION 567 /* New one for VPC */
|
|
||||||
#define T_POINTER 568 /* New one for VPC */
|
|
||||||
#define T_UNION 569 /* New one for VPC */
|
|
||||||
#define T_STRUCT 570 /* New one for VPC */
|
|
||||||
#define T_CLASS 571 /* New one for VPC */
|
|
||||||
#define T_DERIVED_CLASS 572 /* New one for VPC */
|
|
||||||
#define T_DERIVED_TYPE 573 /* New one for VPC */
|
|
||||||
#define T_COLLECTION 574 /* New one for PC++*/
|
|
||||||
#define T_DERIVED_COLLECTION 575 /* New one for PC++*/
|
|
||||||
#define T_REFERENCE 576 /* New one for PC++*/
|
|
||||||
#define T_DERIVED_TEMPLATE 577 /* template type T<A,3,4> */
|
|
||||||
#define T_MEMBER_POINTER 578 /* need for C::* (ptr to memb ) */
|
|
||||||
#define T_TECLASS 579 /* new one for pC++*/
|
|
||||||
#define T_GATE 580 /* added for PCF FORTRAN */
|
|
||||||
#define T_EVENT 581
|
|
||||||
#define T_SEQUENCE 582
|
|
||||||
#define T_DCOMPLEX 583
|
|
||||||
#define T_LONG 584
|
|
||||||
#define BY_USE 599 /* Fortran 90 */
|
|
||||||
#define LOCAL 600 /* variable type */
|
|
||||||
#define INPUT 601
|
|
||||||
#define OUTPUT 602
|
|
||||||
#define IO 603
|
|
||||||
#define PROCESS_NAME 604 /* Fortran M */
|
|
||||||
|
|
||||||
#define OMP_PRIVATE 801 /* OpenMP Fortran */
|
|
||||||
#define OMP_SHARED 802 /* OpenMP Fortran */
|
|
||||||
#define OMP_FIRSTPRIVATE 803 /* OpenMP Fortran */
|
|
||||||
#define OMP_LASTPRIVATE 804 /* OpenMP Fortran */
|
|
||||||
#define OMP_THREADPRIVATE 805 /* OpenMP Fortran */
|
|
||||||
#define OMP_COPYIN 806 /* OpenMP Fortran */
|
|
||||||
#define OMP_COPYPRIVATE 807 /* OpenMP Fortran */
|
|
||||||
#define OMP_DEFAULT 808 /* OpenMP Fortran */
|
|
||||||
#define OMP_ORDERED 809 /* OpenMP Fortran */
|
|
||||||
#define OMP_SCHEDULE 810 /* OpenMP Fortran */
|
|
||||||
#define OMP_REDUCTION 811 /* OpenMP Fortran */
|
|
||||||
#define OMP_IF 812 /* OpenMP Fortran */
|
|
||||||
#define OMP_NUM_THREADS 813 /* OpenMP Fortran */
|
|
||||||
#define OMP_NOWAIT 814 /* OpenMP Fortran */
|
|
||||||
#define OMP_PARALLEL_DIR 820 /* OpenMP Fortran */
|
|
||||||
#define OMP_END_PARALLEL_DIR 821 /* OpenMP Fortran */
|
|
||||||
#define OMP_DO_DIR 822 /* OpenMP Fortran */
|
|
||||||
#define OMP_END_DO_DIR 823 /* OpenMP Fortran */
|
|
||||||
#define OMP_SECTIONS_DIR 824 /* OpenMP Fortran */
|
|
||||||
#define OMP_END_SECTIONS_DIR 825 /* OpenMP Fortran */
|
|
||||||
#define OMP_SECTION_DIR 826 /* OpenMP Fortran */
|
|
||||||
#define OMP_SINGLE_DIR 827 /* OpenMP Fortran */
|
|
||||||
#define OMP_END_SINGLE_DIR 828 /* OpenMP Fortran */
|
|
||||||
#define OMP_WORKSHARE_DIR 829 /* OpenMP Fortran */
|
|
||||||
#define OMP_END_WORKSHARE_DIR 830 /* OpenMP Fortran */
|
|
||||||
#define OMP_PARALLEL_DO_DIR 831 /* OpenMP Fortran */
|
|
||||||
#define OMP_END_PARALLEL_DO_DIR 832 /* OpenMP Fortran */
|
|
||||||
#define OMP_PARALLEL_SECTIONS_DIR 833 /* OpenMP Fortran */
|
|
||||||
#define OMP_END_PARALLEL_SECTIONS_DIR 834 /* OpenMP Fortran */
|
|
||||||
#define OMP_PARALLEL_WORKSHARE_DIR 835 /* OpenMP Fortran */
|
|
||||||
#define OMP_END_PARALLEL_WORKSHARE_DIR 836 /* OpenMP Fortran */
|
|
||||||
#define OMP_MASTER_DIR 837 /* OpenMP Fortran */
|
|
||||||
#define OMP_END_MASTER_DIR 838 /* OpenMP Fortran */
|
|
||||||
#define OMP_CRITICAL_DIR 839 /* OpenMP Fortran */
|
|
||||||
#define OMP_END_CRITICAL_DIR 840 /* OpenMP Fortran */
|
|
||||||
#define OMP_BARRIER_DIR 841 /* OpenMP Fortran */
|
|
||||||
#define OMP_ATOMIC_DIR 842 /* OpenMP Fortran */
|
|
||||||
#define OMP_FLUSH_DIR 843 /* OpenMP Fortran */
|
|
||||||
#define OMP_ORDERED_DIR 844 /* OpenMP Fortran */
|
|
||||||
#define OMP_END_ORDERED_DIR 845 /* OpenMP Fortran */
|
|
||||||
#define RECORD_DECL 846 /* OpenMP Fortran */
|
|
||||||
#define FUNC_STAT 847 /* OpenMP Fortran */
|
|
||||||
#define OMP_ONETHREAD_DIR 848 /* OpenMP Fortran */
|
|
||||||
#define OMP_THREADPRIVATE_DIR 849 /* OpenMP Fortran */
|
|
||||||
#define OMP_DEFAULT_SECTION_DIR 850 /* OpenMP Fortran */
|
|
||||||
#define OMP_COLLAPSE 851 /* OpenMP Fortran */
|
|
||||||
|
|
||||||
#define ACC_REGION_DIR 900 /* ACC Fortran */
|
|
||||||
#define ACC_END_REGION_DIR 901 /* ACC Fortran */
|
|
||||||
#define ACC_CALL_STMT 907 /* ACC Fortran */
|
|
||||||
#define ACC_KERNEL_HEDR 908 /* ACC Fortran */
|
|
||||||
#define ACC_GET_ACTUAL_DIR 909 /* ACC Fortran */
|
|
||||||
#define ACC_ACTUAL_DIR 910 /* ACC Fortran */
|
|
||||||
#define ACC_CHECKSECTION_DIR 911 /* ACC Fortran */
|
|
||||||
#define ACC_END_CHECKSECTION_DIR 912 /* ACC Fortran */
|
|
||||||
#define ACC_ROUTINE_DIR 913 /* ACC Fortran */
|
|
||||||
#define ACC_DECLARE_DIR 914 /* ACC Fortran */
|
|
||||||
|
|
||||||
#define ACC_TIE_OP 930 /* ACC Fortran */
|
|
||||||
#define ACC_INLOCAL_OP 931 /* ACC Fortran */
|
|
||||||
#define ACC_INOUT_OP 932 /* ACC Fortran */
|
|
||||||
#define ACC_IN_OP 933 /* ACC Fortran */
|
|
||||||
#define ACC_OUT_OP 934 /* ACC Fortran */
|
|
||||||
#define ACC_LOCAL_OP 935 /* ACC Fortran */
|
|
||||||
#define ACC_PRIVATE_OP 936 /* ACC Fortran */
|
|
||||||
#define ACC_DEVICE_OP 937 /* ACC Fortran */
|
|
||||||
#define ACC_CUDA_OP 938 /* ACC Fortran */
|
|
||||||
#define ACC_HOST_OP 939 /* ACC Fortran */
|
|
||||||
|
|
||||||
#define ACC_GLOBAL_OP 940 /* ACC Fortran */
|
|
||||||
#define ACC_ATTRIBUTES_OP 941 /* ACC Fortran */
|
|
||||||
#define ACC_VALUE_OP 942 /* ACC Fortran */
|
|
||||||
#define ACC_SHARED_OP 943 /* ACC Fortran */
|
|
||||||
#define ACC_CONSTANT_OP 944 /* ACC Fortran */
|
|
||||||
#define ACC_USES_OP 945 /* ACC Fortran */
|
|
||||||
#define ACC_CALL_OP 946 /* ACC Fortran */
|
|
||||||
#define ACC_CUDA_BLOCK_OP 947 /* ACC Fortran */
|
|
||||||
|
|
||||||
#define ACC_TARGETS_OP 948 /* ACC Fortran */
|
|
||||||
#define ACC_ASYNC_OP 949 /* ACC Fortran */
|
|
||||||
|
|
||||||
#define SPF_ANALYSIS_DIR 950 /* SAPFOR */
|
|
||||||
#define SPF_PARALLEL_DIR 951 /* SAPFOR */
|
|
||||||
#define SPF_TRANSFORM_DIR 952 /* SAPFOR */
|
|
||||||
#define SPF_NOINLINE_OP 953 /* SAPFOR */
|
|
||||||
#define SPF_PARALLEL_REG_DIR 954 /* SAPFOR */
|
|
||||||
#define SPF_END_PARALLEL_REG_DIR 955 /* SAPFOR */
|
|
||||||
#define SPF_REGION_NAME 956 /* SAPFOR */
|
|
||||||
#define SPF_EXPAND_OP 957 /* SAPFOR */
|
|
||||||
#define SPF_FISSION_OP 958 /* SAPFOR */
|
|
||||||
#define SPF_SHRINK_OP 959 /* SAPFOR */
|
|
||||||
#define SPF_CHECKPOINT_DIR 960 /* SAPFOR */
|
|
||||||
#define SPF_TYPE_OP 961 /* SAPFOR */
|
|
||||||
#define SPF_VARLIST_OP 962 /* SAPFOR */
|
|
||||||
#define SPF_EXCEPT_OP 963 /* SAPFOR */
|
|
||||||
#define SPF_FILES_COUNT_OP 964 /* SAPFOR */
|
|
||||||
#define SPF_INTERVAL_OP 965 /* SAPFOR */
|
|
||||||
#define SPF_TIME_OP 966 /* SAPFOR */
|
|
||||||
#define SPF_ITER_OP 967 /* SAPFOR */
|
|
||||||
#define SPF_FLEXIBLE_OP 968 /* SAPFOR */
|
|
||||||
#define SPF_PARAMETER_OP 969 /* SAPFOR */
|
|
||||||
#define SPF_CODE_COVERAGE_OP 970 /* SAPFOR */
|
|
||||||
#define SPF_UNROLL_OP 971 /* SAPFOR */
|
|
||||||
#define SPF_COVER_OP 972 /* SAPFOR */
|
|
||||||
#define SPF_MERGE_OP 973 /* SAPFOR */
|
|
||||||
#define SPF_PROCESS_PRIVATE_OP 974 /* SAPFOR */
|
|
||||||
#define SPF_WEIGHT_OP 975 /* SAPFOR */
|
|
||||||
|
|
||||||
@@ -1,274 +0,0 @@
|
|||||||
/************************************************************************
|
|
||||||
* *
|
|
||||||
* This file contains the documentation of the tags used in various *
|
|
||||||
* structures of the Sigma database *
|
|
||||||
* *
|
|
||||||
************************************************************************/
|
|
||||||
|
|
||||||
/******************* variant tags for bif nodes **********************/
|
|
||||||
|
|
||||||
#define GLOBAL 100 /* pseudo root node */
|
|
||||||
#define PROG_HEDR 101 /* main program node */
|
|
||||||
#define PROC_HEDR 102 /* procedure/function node */
|
|
||||||
#define BASIC_BLOCK 103 /* start node of a basic block */
|
|
||||||
#define CONTROL_END 104 /* end of a block */
|
|
||||||
|
|
||||||
#define IF_NODE 105 /* an IF statement */
|
|
||||||
#define ARITHIF_NODE 138 /* an arithmatic IF statement */
|
|
||||||
#define LOGIF_NODE 145 /* a logical IF statement */
|
|
||||||
|
|
||||||
#define LOOP_NODE 106 /* a loop statement */
|
|
||||||
#define FOR_NODE 107 /* a DO (in fortran) or a for (in C) statement */
|
|
||||||
#define FORALL_NODE 108 /* a forall (Blaze??) statement */
|
|
||||||
#define WHILE_NODE 109 /* a while statement */
|
|
||||||
#define CDOALL_NODE 124 /* a CDOALL statement */
|
|
||||||
#define SDOALL_NODE 125 /* a SDOALL statement */
|
|
||||||
#define DOACROSS_NODE 126 /* a DOACROSS statement */
|
|
||||||
#define CDOACROSS_NODE 127 /* a CDOACROSS statement */
|
|
||||||
#define EXIT_NODE 110 /* an EXIT statement */
|
|
||||||
#define GOTO_NODE 139 /* a GOTO statement */
|
|
||||||
#define ASSGOTO_NODE 140 /* an ASSIGN GOTO statement */
|
|
||||||
#define COMGOTO_NODE 141 /* a COMPUTED GOGO statement */
|
|
||||||
#define PAUSE_NODE 142 /* a PAUSE statement */
|
|
||||||
#define STOP_NODE 143 /* a STOP statement */
|
|
||||||
|
|
||||||
#define ASSIGN_STAT 111 /* an assignment statement */
|
|
||||||
#define M_ASSIGN_STAT 112 /* a multiple assignment statement (Blaze??) */
|
|
||||||
#define PROC_STAT 113 /* */
|
|
||||||
#define ASSLAB_STAT 146
|
|
||||||
|
|
||||||
#define SUM_ACC 114 /* accumulation statements */
|
|
||||||
#define MULT_ACC 115
|
|
||||||
#define MAX_ACC 116
|
|
||||||
#define MIN_ACC 117
|
|
||||||
#define CAT_ACC 118
|
|
||||||
#define OR_ACC 119
|
|
||||||
#define AND_ACC 120
|
|
||||||
|
|
||||||
#define READ_STAT 121
|
|
||||||
#define WRITE_STAT 122
|
|
||||||
#define OTHERIO_STAT 123
|
|
||||||
|
|
||||||
#define BLOB 150
|
|
||||||
#define SIZES 151
|
|
||||||
|
|
||||||
|
|
||||||
#define FUNC_HEDR 130
|
|
||||||
#define WHERE_NODE 131
|
|
||||||
#define ALLDO_NODE 132
|
|
||||||
#define IDENTIFY 133
|
|
||||||
#define FORMAT_STAT 134
|
|
||||||
#define STOP_STAT 135
|
|
||||||
#define RETURN_STAT 136
|
|
||||||
#define ELSEIF_NODE 137
|
|
||||||
|
|
||||||
/* NO_OP nodes */
|
|
||||||
#define COMMENT_STAT 152
|
|
||||||
#define CONT_STAT 153
|
|
||||||
#define VAR_DECL 154
|
|
||||||
#define PARAM_DECL 155
|
|
||||||
#define COMM_STAT 156
|
|
||||||
#define EQUI_STAT 157
|
|
||||||
#define IMPL_DECL 158
|
|
||||||
#define DATA_DECL 159
|
|
||||||
#define SAVE_DECL 160
|
|
||||||
#define ENTRY_STAT 162
|
|
||||||
#define STMTFN_STAT 163
|
|
||||||
#define DIM_STAT 164
|
|
||||||
#define BLOCK_DATA 165
|
|
||||||
#define EXTERN_STAT 166
|
|
||||||
#define INTRIN_STAT 167
|
|
||||||
|
|
||||||
#define ENUM_DECL 168 /* New added for VPC */
|
|
||||||
#define CLASS_DECL 169 /* New added for VPC */
|
|
||||||
#define UNION_DECL 170 /* New added for VPC */
|
|
||||||
#define STRUCT_DECL 171 /* New added for VPC */
|
|
||||||
#define DERIVED_CLASS_DECL 172 /* New added for VPC */
|
|
||||||
#define EXPR_STMT_NODE 173 /* New added for VPC */
|
|
||||||
#define DO_WHILE_NODE 174 /* New added for VPC */
|
|
||||||
#define SWITCH_NODE 175 /* New added for VPC */
|
|
||||||
#define CASE_NODE 176 /* New added for VPC */
|
|
||||||
#define DEFAULT_NODE 177 /* New added for VPC */
|
|
||||||
#define BREAK_NODE 178 /* New added for VPC */
|
|
||||||
#define CONTINUE_NODE 179 /* New added for VPC */
|
|
||||||
#define RETURN_NODE 180 /* New added for VPC */
|
|
||||||
#define ASM_NODE 181 /* New added for VPC */
|
|
||||||
#define COBREAK_NODE 182 /* New added for VPC */
|
|
||||||
#define COLOOP_NODE 183 /* New added for VPC */
|
|
||||||
#define COEXEC_NODE 184 /* New added for VPC */
|
|
||||||
#define LABEL_STAT 185 /* New added for VPC */
|
|
||||||
#define PROC_COM 186 /* process common */
|
|
||||||
#define ATTR_DECL 187 /* attribute declaration */
|
|
||||||
#define NAMELIST_STAT 188
|
|
||||||
#define FUTURE_STMT 189 /* NEW added for VPC */
|
|
||||||
|
|
||||||
|
|
||||||
/***************** variant tags for low level nodes ********************/
|
|
||||||
|
|
||||||
#define INT_VAL 300
|
|
||||||
#define FLOAT_VAL 301
|
|
||||||
#define DOUBLE_VAL 302
|
|
||||||
#define BOOL_VAL 303
|
|
||||||
#define CHAR_VAL 304
|
|
||||||
#define STRING_VAL 305
|
|
||||||
#define COMPLEX_VAL 317
|
|
||||||
|
|
||||||
#define CONST_REF 306
|
|
||||||
#define VAR_REF 307
|
|
||||||
#define ARRAY_REF 308
|
|
||||||
#define RECORD_REF 309 /* different structure between Blaze and VPC++ */
|
|
||||||
#define ENUM_REF 310
|
|
||||||
#define LABEL_REF 318
|
|
||||||
|
|
||||||
#define VAR_LIST 311
|
|
||||||
#define EXPR_LIST 312
|
|
||||||
#define RANGE_LIST 313
|
|
||||||
|
|
||||||
#define CASE_CHOICE 314
|
|
||||||
#define DEF_CHOICE 315
|
|
||||||
#define VARIANT_CHOICE 316
|
|
||||||
|
|
||||||
#define DDOT 324
|
|
||||||
#define RANGE_OP 325
|
|
||||||
#define UPPER_OP 326
|
|
||||||
#define LOWER_OP 327
|
|
||||||
|
|
||||||
#define EQ_OP 328
|
|
||||||
#define LT_OP 329
|
|
||||||
#define GT_OP 330
|
|
||||||
#define NOTEQL_OP 331
|
|
||||||
#define LTEQL_OP 332
|
|
||||||
#define GTEQL_OP 333
|
|
||||||
|
|
||||||
#define ADD_OP 334
|
|
||||||
#define SUBT_OP 335
|
|
||||||
#define OR_OP 336
|
|
||||||
|
|
||||||
#define MULT_OP 337
|
|
||||||
#define DIV_OP 338
|
|
||||||
#define MOD_OP 339
|
|
||||||
#define AND_OP 340
|
|
||||||
|
|
||||||
#define EXP_OP 341
|
|
||||||
#define ARRAY_MULT 342
|
|
||||||
#define CONCAT_OP 343 /* cancatenation of strings */
|
|
||||||
#define XOR_OP 344 /* .XOR. in fortran */
|
|
||||||
#define EQV_OP 345 /* .EQV. in fortran */
|
|
||||||
#define NEQV_OP 346 /* .NEQV. in fortran */
|
|
||||||
|
|
||||||
#define MINUS_OP 350 /* unary operations */
|
|
||||||
#define NOT_OP 351
|
|
||||||
#define ASSGN_OP 352 /* New ADDED For VPC */
|
|
||||||
#define DEREF_OP 353 /* New ADDED For VPC */
|
|
||||||
#define POINTST_OP 354 /* New ADDED For VPC */ /* ptr->x */
|
|
||||||
#define FUNCTION_OP 355 /* New ADDED For VPC */ /* (*DD)() */
|
|
||||||
#define MINUSMINUS_OP 356 /* New ADDED For VPC */
|
|
||||||
#define PLUSPLUS_OP 357 /* New ADDED For VPC */
|
|
||||||
#define BITAND_OP 358 /* New ADDED For VPC */
|
|
||||||
#define BITOR_OP 359 /* New ADDED For VPC */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define STAR_RANGE 360 /* operations with no operands 360.. */
|
|
||||||
|
|
||||||
#define PROC_CALL 370
|
|
||||||
#define FUNC_CALL 371
|
|
||||||
|
|
||||||
|
|
||||||
#define CONSTRUCTOR_REF 380
|
|
||||||
#define ACCESS_REF 381
|
|
||||||
#define CONS 382
|
|
||||||
#define ACCESS 383
|
|
||||||
#define IOACCESS 384
|
|
||||||
#define CONTROL_LIST 385
|
|
||||||
#define SEQ 386
|
|
||||||
#define SPEC_PAIR 387
|
|
||||||
#define COMM_LIST 388
|
|
||||||
#define STMT_STR 389
|
|
||||||
#define EQUI_LIST 390
|
|
||||||
#define IMPL_TYPE 391
|
|
||||||
#define STMTFN_DECL 392
|
|
||||||
#define BIT_COMPLEMENT_OP 393
|
|
||||||
#define EXPR_IF 394
|
|
||||||
#define EXPR_IF_BODY 395
|
|
||||||
#define FUNCTION_REF 396
|
|
||||||
#define LSHIFT_OP 397
|
|
||||||
#define RSHIFT_OP 398
|
|
||||||
#define UNARY_ADD_OP 399
|
|
||||||
#define SIZE_OP 400
|
|
||||||
#define INTEGER_DIV_OP 401
|
|
||||||
#define SUB_OP 402
|
|
||||||
#define LE_OP 403 /* New added for VPC */
|
|
||||||
#define GE_OP 404 /* New added for VPC */
|
|
||||||
#define NE_OP 405 /* New added for VPC */
|
|
||||||
|
|
||||||
#define CLASSINIT_OP 406 /* New added for VPC */
|
|
||||||
#define CAST_OP 407 /* New added for VPC */
|
|
||||||
#define ADDRESS_OP 408 /* New added for VPC */
|
|
||||||
#define POINSTAT_OP 409 /* New added for VPC */
|
|
||||||
#define COPY_NODE 410 /* New added for VPC */
|
|
||||||
#define INIT_LIST 411 /* New added for VPC */
|
|
||||||
#define VECTOR_CONST 412 /* New added for VPC */
|
|
||||||
#define BIT_NUMBER 413 /* New added for VPC */
|
|
||||||
#define ARITH_ASSGN_OP 414 /* New added for VPC */
|
|
||||||
#define ARRAY_OP 415 /* New added for VPC */
|
|
||||||
#define NEW_OP 416 /* New added for VPC */
|
|
||||||
#define DELETE_OP 417 /* New added for VPC */
|
|
||||||
#define NAMELIST_LIST 418
|
|
||||||
#define THIS_NODE 419 /* New added for VPC */
|
|
||||||
#define SCOPE_OP 420 /* New added for VPC */
|
|
||||||
|
|
||||||
|
|
||||||
/***************** variant tags for symbol table entries ********************/
|
|
||||||
|
|
||||||
|
|
||||||
#define CONST_NAME 500 /* constant types */
|
|
||||||
#define ENUM_NAME 501
|
|
||||||
#define FIELD_NAME 502
|
|
||||||
#define VARIABLE_NAME 503
|
|
||||||
#define TYPE_NAME 504
|
|
||||||
#define PROGRAM_NAME 505
|
|
||||||
#define PROCEDURE_NAME 506
|
|
||||||
#define VAR_FIELD 507
|
|
||||||
#define LABEL_VAR 508 /* dest of assigned goto stmt */
|
|
||||||
#define FUNCTION_NAME 509
|
|
||||||
#define MEMBER_FUNC 510 /* new added for VPC */
|
|
||||||
#define CLASS_NAME 511 /* new added for VPC */
|
|
||||||
#define UNION_NAME 512 /* new added for VPC */
|
|
||||||
#define STRUCT_NAME 513 /* new added for VPC */
|
|
||||||
#define LABEL_NAME 514 /* new added for VPC */
|
|
||||||
|
|
||||||
|
|
||||||
#define DEFAULT 550
|
|
||||||
|
|
||||||
#define T_INT 551 /* scalar types */
|
|
||||||
#define T_FLOAT 552
|
|
||||||
#define T_DOUBLE 553
|
|
||||||
#define T_CHAR 554
|
|
||||||
#define T_BOOL 555
|
|
||||||
#define T_STRING 556
|
|
||||||
#define T_COMPLEX 564
|
|
||||||
|
|
||||||
#define T_ENUM 557
|
|
||||||
#define T_SUBRANGE 558
|
|
||||||
#define T_LIST 559
|
|
||||||
#define T_ARRAY 560
|
|
||||||
#define T_RECORD 561
|
|
||||||
#define T_ENUM_FIELD 562
|
|
||||||
#define T_UNKNOWN 563
|
|
||||||
#define T_VOID 565 /* New one for VPC */
|
|
||||||
#define T_DESCRIPT 566 /* New one for VPC */
|
|
||||||
#define T_FUNCTION 567 /* New one for VPC */
|
|
||||||
#define T_POINTER 568 /* New one for VPC */
|
|
||||||
#define T_UNION 569 /* New one for VPC */
|
|
||||||
#define T_STRUCT 570 /* New one for VPC */
|
|
||||||
#define T_CLASS 571 /* New one for VPC */
|
|
||||||
#define T_DERIVED_CLASS 572 /* New one for VPC */
|
|
||||||
#define T_DERIVED_TYPE 573 /* New one for VPC */
|
|
||||||
|
|
||||||
|
|
||||||
#define LOCAL 600 /* variable type */
|
|
||||||
#define INPUT 601
|
|
||||||
#define OUTPUT 602
|
|
||||||
#define IO 603
|
|
||||||
@@ -1,630 +0,0 @@
|
|||||||
/* don't modify this file directly, it is made by a clever 'sed'
|
|
||||||
script using "tag". Run make tag.h to regenerate this file */
|
|
||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/******************* variant tags for bif nodes **********************/
|
|
||||||
|
|
||||||
tag [ GLOBAL ] = "GLOBAL";
|
|
||||||
tag [ PROG_HEDR ] = "PROG_HEDR";
|
|
||||||
tag [ PROC_HEDR ] = "PROC_HEDR";
|
|
||||||
tag [ BASIC_BLOCK ] = "BASIC_BLOCK";
|
|
||||||
tag [ CONTROL_END ] = "CONTROL_END";
|
|
||||||
tag [ IF_NODE ] = "IF_NODE";
|
|
||||||
tag [ LOOP_NODE ] = "LOOP_NODE";
|
|
||||||
tag [ FOR_NODE ] = "FOR_NODE";
|
|
||||||
tag [ FORALL_NODE ] = "FORALL_NODE";
|
|
||||||
tag [ WHILE_NODE ] = "WHILE_NODE";
|
|
||||||
tag [ EXIT_NODE ] = "EXIT_NODE";
|
|
||||||
tag [ ASSIGN_STAT ] = "ASSIGN_STAT";
|
|
||||||
tag [ M_ASSIGN_STAT ] = "M_ASSIGN_STAT";
|
|
||||||
tag [ PROC_STAT ] = "PROC_STAT";
|
|
||||||
tag [ SUM_ACC ] = "SUM_ACC";
|
|
||||||
tag [ MULT_ACC ] = "MULT_ACC";
|
|
||||||
tag [ MAX_ACC ] = "MAX_ACC";
|
|
||||||
tag [ MIN_ACC ] = "MIN_ACC";
|
|
||||||
tag [ CAT_ACC ] = "CAT_ACC";
|
|
||||||
tag [ OR_ACC ] = "OR_ACC";
|
|
||||||
tag [ AND_ACC ] = "AND_ACC";
|
|
||||||
tag [ READ_STAT ] = "READ_STAT";
|
|
||||||
tag [ WRITE_STAT ] = "WRITE_STAT";
|
|
||||||
tag [ OTHERIO_STAT ] = "OTHERIO_STAT";
|
|
||||||
tag [ CDOALL_NODE ] = "CDOALL_NODE";
|
|
||||||
tag [ SDOALL_NODE ] = "SDOALL_NODE";
|
|
||||||
tag [ DOACROSS_NODE ] = "DOACROSS_NODE";
|
|
||||||
tag [ CDOACROSS_NODE ] = "CDOACROSS_NODE";
|
|
||||||
tag [ DVM_INTERVAL_DIR ] = "DVM_INTERVAL_DIR";
|
|
||||||
tag [ DVM_ENDINTERVAL_DIR ] = "DVM_ENDINTERVAL_DIR";
|
|
||||||
tag [ FUNC_HEDR ] = "FUNC_HEDR";
|
|
||||||
tag [ WHERE_NODE ] = "WHERE_NODE";
|
|
||||||
tag [ ALLDO_NODE ] = "ALLDO_NODE";
|
|
||||||
tag [ IDENTIFY ] = "IDENTIFY";
|
|
||||||
tag [ FORMAT_STAT ] = "FORMAT_STAT";
|
|
||||||
tag [ STOP_STAT ] = "STOP_STAT";
|
|
||||||
tag [ RETURN_STAT ] = "RETURN_STAT";
|
|
||||||
tag [ ELSEIF_NODE ] = "ELSEIF_NODE";
|
|
||||||
tag [ ARITHIF_NODE ] = "ARITHIF_NODE";
|
|
||||||
tag [ GOTO_NODE ] = "GOTO_NODE";
|
|
||||||
tag [ ASSGOTO_NODE ] = "ASSGOTO_NODE";
|
|
||||||
tag [ COMGOTO_NODE ] = "COMGOTO_NODE";
|
|
||||||
tag [ PAUSE_NODE ] = "PAUSE_NODE";
|
|
||||||
tag [ STOP_NODE ] = "STOP_NODE";
|
|
||||||
tag [ ASSLAB_STAT ] = "ASSLAB_STAT";
|
|
||||||
tag [ LOGIF_NODE ] = "LOGIF_NODE";
|
|
||||||
tag [ DVM_DEBUG_DIR ] = "DVM_DEBUG_DIR";
|
|
||||||
tag [ DVM_ENDDEBUG_DIR ] = "DVM_ENDDEBUG_DIR";
|
|
||||||
tag [ DVM_TRACEON_DIR ] = "DVM_TRACEON_DIR";
|
|
||||||
tag [ DVM_TRACEOFF_DIR ] = "DVM_TRACEOFF_DIR";
|
|
||||||
tag [ BLOB ] = "BLOB";
|
|
||||||
tag [ SIZES ] = "SIZES";
|
|
||||||
tag [ COMMENT_STAT ] = "COMMENT_STAT";
|
|
||||||
tag [ CONT_STAT ] = "CONT_STAT";
|
|
||||||
tag [ VAR_DECL ] = "VAR_DECL";
|
|
||||||
tag [ PARAM_DECL ] = "PARAM_DECL";
|
|
||||||
tag [ COMM_STAT ] = "COMM_STAT";
|
|
||||||
tag [ EQUI_STAT ] = "EQUI_STAT";
|
|
||||||
tag [ IMPL_DECL ] = "IMPL_DECL";
|
|
||||||
tag [ DATA_DECL ] = "DATA_DECL";
|
|
||||||
tag [ SAVE_DECL ] = "SAVE_DECL";
|
|
||||||
tag [ ENTRY_STAT ] = "ENTRY_STAT";
|
|
||||||
tag [ STMTFN_STAT ] = "STMTFN_STAT";
|
|
||||||
tag [ DIM_STAT ] = "DIM_STAT";
|
|
||||||
tag [ BLOCK_DATA ] = "BLOCK_DATA";
|
|
||||||
tag [ EXTERN_STAT ] = "EXTERN_STAT";
|
|
||||||
tag [ INTRIN_STAT ] = "INTRIN_STAT";
|
|
||||||
tag [ ENUM_DECL ] = "ENUM_DECL";
|
|
||||||
tag [ CLASS_DECL ] = "CLASS_DECL";
|
|
||||||
tag [ UNION_DECL ] = "UNION_DECL";
|
|
||||||
tag [ STRUCT_DECL ] = "STRUCT_DECL";
|
|
||||||
tag [ DERIVED_CLASS_DECL ] = "DERIVED_CLASS_DECL";
|
|
||||||
tag [ EXPR_STMT_NODE ] = "EXPR_STMT_NODE";
|
|
||||||
tag [ DO_WHILE_NODE ] = "DO_WHILE_NODE";
|
|
||||||
tag [ SWITCH_NODE ] = "SWITCH_NODE";
|
|
||||||
tag [ CASE_NODE ] = "CASE_NODE";
|
|
||||||
tag [ DEFAULT_NODE ] = "DEFAULT_NODE";
|
|
||||||
tag [ BREAK_NODE ] = "BREAK_NODE";
|
|
||||||
tag [ CONTINUE_NODE ] = "CONTINUE_NODE";
|
|
||||||
tag [ RETURN_NODE ] = "RETURN_NODE";
|
|
||||||
tag [ ASM_NODE ] = "ASM_NODE";
|
|
||||||
tag [ SPAWN_NODE ] = "SPAWN_NODE";
|
|
||||||
tag [ PARFOR_NODE ] = "PARFOR_NODE";
|
|
||||||
tag [ PAR_NODE ] = "PAR_NODE";
|
|
||||||
tag [ LABEL_STAT ] = "LABEL_STAT";
|
|
||||||
tag [ PROS_COMM ] = "PROS_COMM";
|
|
||||||
tag [ ATTR_DECL ] = "ATTR_DECL";
|
|
||||||
tag [ NAMELIST_STAT ] = "NAMELIST_STAT";
|
|
||||||
tag [ FUTURE_STMT ] = "FUTURE_STMT";
|
|
||||||
tag [ COLLECTION_DECL ] = "COLLECTION_DECL";
|
|
||||||
tag [ TEMPLATE_DECL ] = "TEMPLATE_DECL";
|
|
||||||
tag [ TEMPLATE_FUNDECL ] = "TEMPLATE_FUNDECL";
|
|
||||||
tag [ TECLASS_DECL ] = "TECLASS_DECL";
|
|
||||||
tag [ ELSEWH_NODE ] = "ELSEWH_NODE";
|
|
||||||
tag [ STATIC_STMT ] = "STATIC_STMT";
|
|
||||||
tag [ INCLUDE_LINE ] = "INCLUDE_LINE";
|
|
||||||
tag [ PREPROCESSOR_DIR ] = "PREPROCESSOR_DIR";
|
|
||||||
tag [ PRINT_STAT ] = "PRINT_STAT";
|
|
||||||
tag [ BACKSPACE_STAT ] = "BACKSPACE_STAT";
|
|
||||||
tag [ REWIND_STAT ] = "REWIND_STAT";
|
|
||||||
tag [ ENDFILE_STAT ] = "ENDFILE_STAT";
|
|
||||||
tag [ INQUIRE_STAT ] = "INQUIRE_STAT";
|
|
||||||
tag [ OPEN_STAT ] = "OPEN_STAT";
|
|
||||||
tag [ CLOSE_STAT ] = "CLOSE_STAT";
|
|
||||||
tag [ EXTERN_C_STAT ] = "EXTERN_C_STAT";
|
|
||||||
tag [ INCLUDE_STAT ] = "INCLUDE_STAT";
|
|
||||||
tag [ TRY_STAT ] = "TRY_STAT";
|
|
||||||
tag [ CATCH_STAT ] = "CATCH_STAT";
|
|
||||||
tag [ DVM_PARALLEL_ON_DIR ] = "DVM_PARALLEL_ON_DIR";
|
|
||||||
tag [ DVM_SHADOW_START_DIR ] = "DVM_SHADOW_START_DIR";
|
|
||||||
tag [ DVM_SHADOW_GROUP_DIR ] = "DVM_SHADOW_GROUP_DIR";
|
|
||||||
tag [ DVM_SHADOW_WAIT_DIR ] = "DVM_SHADOW_WAIT_DIR";
|
|
||||||
tag [ DVM_REDUCTION_START_DIR ] = "DVM_REDUCTION_START_DIR";
|
|
||||||
tag [ DVM_REDUCTION_GROUP_DIR ] = "DVM_REDUCTION_GROUP_DIR";
|
|
||||||
tag [ DVM_REDUCTION_WAIT_DIR ] = "DVM_REDUCTION_WAIT_DIR";
|
|
||||||
tag [ DVM_DYNAMIC_DIR ] = "DVM_DYNAMIC_DIR";
|
|
||||||
tag [ DVM_ALIGN_DIR ] = "DVM_ALIGN_DIR";
|
|
||||||
tag [ DVM_REALIGN_DIR ] = "DVM_REALIGN_DIR";
|
|
||||||
tag [ DVM_REALIGN_NEW_DIR ] = "DVM_REALIGN_NEW_DIR";
|
|
||||||
tag [ DVM_REMOTE_ACCESS_DIR ] = "DVM_REMOTE_ACCESS_DIR";
|
|
||||||
tag [ HPF_INDEPENDENT_DIR ] = "HPF_INDEPENDENT_DIR";
|
|
||||||
tag [ DVM_SHADOW_DIR ] = "DVM_SHADOW_DIR";
|
|
||||||
tag [ PARDO_NODE ] = "PARDO_NODE";
|
|
||||||
tag [ PARSECTIONS_NODE ] = "PARSECTIONS_NODE";
|
|
||||||
tag [ SECTION_NODE ] = "SECTION_NODE";
|
|
||||||
tag [ GUARDS_NODE ] = "GUARDS_NODE";
|
|
||||||
tag [ LOCK_NODE ] = "LOCK_NODE";
|
|
||||||
tag [ UNLOCK_NODE ] = "UNLOCK_NODE";
|
|
||||||
tag [ CRITSECTION_NODE ] = "CRITSECTION_NODE";
|
|
||||||
tag [ POST_NODE ] = "POST_NODE";
|
|
||||||
tag [ WAIT_NODE ] = "WAIT_NODE";
|
|
||||||
tag [ CLEAR_NODE ] = "CLEAR_NODE";
|
|
||||||
tag [ POSTSEQ_NODE ] = "POSTSEQ_NODE";
|
|
||||||
tag [ WAITSEQ_NODE ] = "WAITSEQ_NODE";
|
|
||||||
tag [ SETSEQ_NODE ] = "SETSEQ_NODE";
|
|
||||||
tag [ ASSIGN_NODE ] = "ASSIGN_NODE";
|
|
||||||
tag [ RELEASE_NODE ] = "RELEASE_NODE";
|
|
||||||
tag [ PRIVATE_NODE ] = "PRIVATE_NODE";
|
|
||||||
tag [ SCOMMON_NODE ] = "SCOMMON_NODE";
|
|
||||||
tag [ PARREGION_NODE ] = "PARREGION_NODE";
|
|
||||||
tag [ PDO_NODE ] = "PDO_NODE";
|
|
||||||
tag [ PSECTIONS_NODE ] = "PSECTIONS_NODE";
|
|
||||||
tag [ SINGLEPROCESS_NODE ] = "SINGLEPROCESS_NODE";
|
|
||||||
tag [ SKIPPASTEOF_NODE ] = "SKIPPASTEOF_NODE";
|
|
||||||
tag [ DVM_NEW_VALUE_DIR ] = "DVM_NEW_VALUE_DIR";
|
|
||||||
tag [ DVM_VAR_DECL ] = "DVM_VAR_DECL";
|
|
||||||
tag [ DVM_POINTER_DIR ] = "DVM_POINTER_DIR";
|
|
||||||
tag [ INTENT_STMT ] = "INTENT_STMT";
|
|
||||||
tag [ OPTIONAL_STMT ] = "OPTIONAL_STMT";
|
|
||||||
tag [ PUBLIC_STMT ] = "PUBLIC_STMT";
|
|
||||||
tag [ PRIVATE_STMT ] = "PRIVATE_STMT";
|
|
||||||
tag [ ALLOCATABLE_STMT ] = "ALLOCATABLE_STMT";
|
|
||||||
tag [ POINTER_STMT ] = "POINTER_STMT";
|
|
||||||
tag [ TARGET_STMT ] = "TARGET_STMT";
|
|
||||||
tag [ ALLOCATE_STMT ] = "ALLOCATE_STMT";
|
|
||||||
tag [ NULLIFY_STMT ] = "NULLIFY_STMT";
|
|
||||||
tag [ DEALLOCATE_STMT ] = "DEALLOCATE_STMT";
|
|
||||||
tag [ SEQUENCE_STMT ] = "SEQUENCE_STMT";
|
|
||||||
tag [ CYCLE_STMT ] = "CYCLE_STMT";
|
|
||||||
tag [ EXIT_STMT ] = "EXIT_STMT";
|
|
||||||
tag [ CONTAINS_STMT ] = "CONTAINS_STMT";
|
|
||||||
tag [ WHERE_BLOCK_STMT ] = "WHERE_BLOCK_STMT";
|
|
||||||
tag [ MODULE_STMT ] = "MODULE_STMT";
|
|
||||||
tag [ USE_STMT ] = "USE_STMT";
|
|
||||||
tag [ INTERFACE_STMT ] = "INTERFACE_STMT";
|
|
||||||
tag [ MODULE_PROC_STMT ] = "MODULE_PROC_STMT";
|
|
||||||
tag [ OVERLOADED_ASSIGN_STAT ] = "OVERLOADED_ASSIGN_STAT";
|
|
||||||
tag [ POINTER_ASSIGN_STAT ] = "POINTER_ASSIGN_STAT";
|
|
||||||
tag [ OVERLOADED_PROC_STAT ] = "OVERLOADED_PROC_STAT";
|
|
||||||
tag [ DECOMPOSITION_STMT ] = "DECOMPOSITION_STMT";
|
|
||||||
tag [ ALIGN_STMT ] = "ALIGN_STMT";
|
|
||||||
tag [ DVM_DISTRIBUTE_DIR ] = "DVM_DISTRIBUTE_DIR";
|
|
||||||
tag [ REDUCE_STMT ] = "REDUCE_STMT";
|
|
||||||
tag [ PROS_HEDR ] = "PROS_HEDR";
|
|
||||||
tag [ PROS_STAT ] = "PROS_STAT";
|
|
||||||
tag [ PROS_STAT_LCTN ] = "PROS_STAT_LCTN";
|
|
||||||
tag [ PROS_STAT_SUBM ] = "PROS_STAT_SUBM";
|
|
||||||
tag [ PROCESSES_STAT ] = "PROCESSES_STAT";
|
|
||||||
tag [ PROCESSES_END ] = "PROCESSES_END";
|
|
||||||
tag [ PROCESS_DO_STAT ] = "PROCESS_DO_STAT";
|
|
||||||
tag [ PROCESSORS_STAT ] = "PROCESSORS_STAT";
|
|
||||||
tag [ CHANNEL_STAT ] = "CHANNEL_STAT";
|
|
||||||
tag [ MERGER_STAT ] = "MERGER_STAT";
|
|
||||||
tag [ MOVE_PORT ] = "MOVE_PORT";
|
|
||||||
tag [ SEND_STAT ] = "SEND_STAT";
|
|
||||||
tag [ RECEIVE_STAT ] = "RECEIVE_STAT";
|
|
||||||
tag [ ENDCHANNEL_STAT ] = "ENDCHANNEL_STAT";
|
|
||||||
tag [ PROBE_STAT ] = "PROBE_STAT";
|
|
||||||
tag [ INPORT_DECL ] = "INPORT_DECL";
|
|
||||||
tag [ OUTPORT_DECL ] = "OUTPORT_DECL";
|
|
||||||
tag [ HPF_TEMPLATE_STAT ] = "HPF_TEMPLATE_STAT";
|
|
||||||
tag [ HPF_ALIGN_STAT ] = "HPF_ALIGN_STAT";
|
|
||||||
tag [ HPF_PROCESSORS_STAT ] = "HPF_PROCESSORS_STAT";
|
|
||||||
tag [ DVM_REDISTRIBUTE_DIR ] = "DVM_REDISTRIBUTE_DIR";
|
|
||||||
tag [ DVM_TASK_REGION_DIR ] = "DVM_TASK_REGION_DIR";
|
|
||||||
tag [ DVM_END_TASK_REGION_DIR ] = "DVM_END_TASK_REGION_DIR";
|
|
||||||
tag [ DVM_ON_DIR ] = "DVM_ON_DIR";
|
|
||||||
tag [ DVM_END_ON_DIR ] = "DVM_END_ON_DIR";
|
|
||||||
tag [ DVM_TASK_DIR ] = "DVM_TASK_DIR";
|
|
||||||
tag [ DVM_MAP_DIR ] = "DVM_MAP_DIR";
|
|
||||||
tag [ DVM_PARALLEL_TASK_DIR ] = "DVM_PARALLEL_TASK_DIR";
|
|
||||||
tag [ DVM_INHERIT_DIR ] = "DVM_INHERIT_DIR";
|
|
||||||
tag [ DVM_INDIRECT_GROUP_DIR ] = "DVM_INDIRECT_GROUP_DIR";
|
|
||||||
tag [ DVM_INDIRECT_ACCESS_DIR ] = "DVM_INDIRECT_ACCESS_DIR";
|
|
||||||
tag [ DVM_REMOTE_GROUP_DIR ] = "DVM_REMOTE_GROUP_DIR";
|
|
||||||
tag [ DVM_RESET_DIR ] = "DVM_RESET_DIR";
|
|
||||||
tag [ DVM_PREFETCH_DIR ] = "DVM_PREFETCH_DIR";
|
|
||||||
tag [ DVM_OWN_DIR ] = "DVM_OWN_DIR";
|
|
||||||
tag [ DVM_HEAP_DIR ] = "DVM_HEAP_DIR";
|
|
||||||
tag [ DVM_ASYNCID_DIR ] = "DVM_ASYNCID_DIR";
|
|
||||||
tag [ DVM_ASYNCHRONOUS_DIR ] = "DVM_ASYNCHRONOUS_DIR";
|
|
||||||
tag [ DVM_ENDASYNCHRONOUS_DIR ] = "DVM_ENDASYNCHRONOUS_DIR";
|
|
||||||
tag [ DVM_ASYNCWAIT_DIR ] = "DVM_ASYNCWAIT_DIR";
|
|
||||||
tag [ DVM_F90_DIR ] = "DVM_F90_DIR";
|
|
||||||
tag [ DVM_BARRIER_DIR ] = "DVM_BARRIER_DIR";
|
|
||||||
tag [ FORALL_STAT ] = "FORALL_STAT";
|
|
||||||
tag [ DVM_CONSISTENT_GROUP_DIR ] = "DVM_CONSISTENT_GROUP_DIR";
|
|
||||||
tag [ DVM_CONSISTENT_START_DIR ] = "DVM_CONSISTENT_START_DIR";
|
|
||||||
tag [ DVM_CONSISTENT_WAIT_DIR ] = "DVM_CONSISTENT_WAIT_DIR";
|
|
||||||
tag [ DVM_CONSISTENT_DIR ] = "DVM_CONSISTENT_DIR";
|
|
||||||
tag [ DVM_CHECK_DIR ] = "DVM_CHECK_DIR";
|
|
||||||
tag [ DVM_IO_MODE_DIR ] = "DVM_IO_MODE_DIR";
|
|
||||||
tag [ DVM_LOCALIZE_DIR ] = "DVM_LOCALIZE_DIR";
|
|
||||||
tag [ DVM_SHADOW_ADD_DIR ] = "DVM_SHADOW_ADD_DIR";
|
|
||||||
tag [ DVM_CP_CREATE_DIR ] = "DVM_CP_CREATE_DIR";
|
|
||||||
tag [ DVM_CP_LOAD_DIR ] = "DVM_CP_LOAD_DIR";
|
|
||||||
tag [ DVM_CP_SAVE_DIR ] = "DVM_CP_SAVE_DIR";
|
|
||||||
tag [ DVM_CP_WAIT_DIR ] = "DVM_CP_WAIT_DIR";
|
|
||||||
tag [ DVM_EXIT_INTERVAL_DIR ] = "DVM_EXIT_INTERVAL_DIR";
|
|
||||||
tag [ DVM_TEMPLATE_CREATE_DIR ] = "DVM_TEMPLATE_CREATE_DIR";
|
|
||||||
tag [ DVM_TEMPLATE_DELETE_DIR ] = "DVM_TEMPLATE_DELETE_DIR";
|
|
||||||
tag [ PRIVATE_AR_DECL ] = "PRIVATE_AR_DECL";
|
|
||||||
|
|
||||||
/***************** variant tags for low level nodes ********************/
|
|
||||||
|
|
||||||
tag [ INT_VAL ] = "INT_VAL";
|
|
||||||
tag [ FLOAT_VAL ] = "FLOAT_VAL";
|
|
||||||
tag [ DOUBLE_VAL ] = "DOUBLE_VAL";
|
|
||||||
tag [ BOOL_VAL ] = "BOOL_VAL";
|
|
||||||
tag [ CHAR_VAL ] = "CHAR_VAL";
|
|
||||||
tag [ STRING_VAL ] = "STRING_VAL";
|
|
||||||
tag [ CONST_REF ] = "CONST_REF";
|
|
||||||
tag [ VAR_REF ] = "VAR_REF";
|
|
||||||
tag [ ARRAY_REF ] = "ARRAY_REF";
|
|
||||||
tag [ RECORD_REF ] = "RECORD_REF";
|
|
||||||
tag [ ENUM_REF ] = "ENUM_REF";
|
|
||||||
tag [ VAR_LIST ] = "VAR_LIST";
|
|
||||||
tag [ EXPR_LIST ] = "EXPR_LIST";
|
|
||||||
tag [ RANGE_LIST ] = "RANGE_LIST";
|
|
||||||
tag [ CASE_CHOICE ] = "CASE_CHOICE";
|
|
||||||
tag [ DEF_CHOICE ] = "DEF_CHOICE";
|
|
||||||
tag [ VARIANT_CHOICE ] = "VARIANT_CHOICE";
|
|
||||||
tag [ COMPLEX_VAL ] = "COMPLEX_VAL";
|
|
||||||
tag [ LABEL_REF ] = "LABEL_REF";
|
|
||||||
tag [ KEYWORD_VAL ] = "KEYWORD_VAL";
|
|
||||||
tag [ DDOT ] = "DDOT";
|
|
||||||
tag [ RANGE_OP ] = "RANGE_OP";
|
|
||||||
tag [ UPPER_OP ] = "UPPER_OP";
|
|
||||||
tag [ LOWER_OP ] = "LOWER_OP";
|
|
||||||
tag [ EQ_OP ] = "EQ_OP";
|
|
||||||
tag [ LT_OP ] = "LT_OP";
|
|
||||||
tag [ GT_OP ] = "GT_OP";
|
|
||||||
tag [ NOTEQL_OP ] = "NOTEQL_OP";
|
|
||||||
tag [ LTEQL_OP ] = "LTEQL_OP";
|
|
||||||
tag [ GTEQL_OP ] = "GTEQL_OP";
|
|
||||||
tag [ ADD_OP ] = "ADD_OP";
|
|
||||||
tag [ SUBT_OP ] = "SUBT_OP";
|
|
||||||
tag [ OR_OP ] = "OR_OP";
|
|
||||||
tag [ MULT_OP ] = "MULT_OP";
|
|
||||||
tag [ DIV_OP ] = "DIV_OP";
|
|
||||||
tag [ MOD_OP ] = "MOD_OP";
|
|
||||||
tag [ AND_OP ] = "AND_OP";
|
|
||||||
tag [ EXP_OP ] = "EXP_OP";
|
|
||||||
tag [ ARRAY_MULT ] = "ARRAY_MULT";
|
|
||||||
tag [ CONCAT_OP ] = "CONCAT_OP";
|
|
||||||
tag [ XOR_OP ] = "XOR_OP";
|
|
||||||
tag [ EQV_OP ] = "EQV_OP";
|
|
||||||
tag [ NEQV_OP ] = "NEQV_OP";
|
|
||||||
tag [ MINUS_OP ] = "MINUS_OP";
|
|
||||||
tag [ NOT_OP ] = "NOT_OP";
|
|
||||||
tag [ ASSGN_OP ] = "ASSGN_OP";
|
|
||||||
tag [ DEREF_OP ] = "DEREF_OP";
|
|
||||||
tag [ POINTST_OP ] = "POINTST_OP";
|
|
||||||
tag [ FUNCTION_OP ] = "FUNCTION_OP";
|
|
||||||
tag [ MINUSMINUS_OP ] = "MINUSMINUS_OP";
|
|
||||||
tag [ PLUSPLUS_OP ] = "PLUSPLUS_OP";
|
|
||||||
tag [ BITAND_OP ] = "BITAND_OP";
|
|
||||||
tag [ BITOR_OP ] = "BITOR_OP";
|
|
||||||
tag [ STAR_RANGE ] = "STAR_RANGE";
|
|
||||||
tag [ PROC_CALL ] = "PROC_CALL";
|
|
||||||
tag [ FUNC_CALL ] = "FUNC_CALL";
|
|
||||||
tag [ CONSTRUCTOR_REF ] = "CONSTRUCTOR_REF";
|
|
||||||
tag [ ACCESS_REF ] = "ACCESS_REF";
|
|
||||||
tag [ CONS ] = "CONS";
|
|
||||||
tag [ ACCESS ] = "ACCESS";
|
|
||||||
tag [ IOACCESS ] = "IOACCESS";
|
|
||||||
tag [ CONTROL_LIST ] = "CONTROL_LIST";
|
|
||||||
tag [ SEQ ] = "SEQ";
|
|
||||||
tag [ SPEC_PAIR ] = "SPEC_PAIR";
|
|
||||||
tag [ COMM_LIST ] = "COMM_LIST";
|
|
||||||
tag [ STMT_STR ] = "STMT_STR";
|
|
||||||
tag [ EQUI_LIST ] = "EQUI_LIST";
|
|
||||||
tag [ IMPL_TYPE ] = "IMPL_TYPE";
|
|
||||||
tag [ STMTFN_DECL ] = "STMTFN_DECL";
|
|
||||||
tag [ BIT_COMPLEMENT_OP ] = "BIT_COMPLEMENT_OP";
|
|
||||||
tag [ EXPR_IF ] = "EXPR_IF";
|
|
||||||
tag [ EXPR_IF_BODY ] = "EXPR_IF_BODY";
|
|
||||||
tag [ FUNCTION_REF ] = "FUNCTION_REF";
|
|
||||||
tag [ LSHIFT_OP ] = "LSHIFT_OP";
|
|
||||||
tag [ RSHIFT_OP ] = "RSHIFT_OP";
|
|
||||||
tag [ UNARY_ADD_OP ] = "UNARY_ADD_OP";
|
|
||||||
tag [ SIZE_OP ] = "SIZE_OP";
|
|
||||||
tag [ INTEGER_DIV_OP ] = "INTEGER_DIV_OP";
|
|
||||||
tag [ SUB_OP ] = "SUB_OP";
|
|
||||||
tag [ LE_OP ] = "LE_OP";
|
|
||||||
tag [ GE_OP ] = "GE_OP";
|
|
||||||
tag [ NE_OP ] = "NE_OP";
|
|
||||||
tag [ CLASSINIT_OP ] = "CLASSINIT_OP";
|
|
||||||
tag [ CAST_OP ] = "CAST_OP";
|
|
||||||
tag [ ADDRESS_OP ] = "ADDRESS_OP";
|
|
||||||
tag [ POINSTAT_OP ] = "POINSTAT_OP";
|
|
||||||
tag [ COPY_NODE ] = "COPY_NODE";
|
|
||||||
tag [ INIT_LIST ] = "INIT_LIST";
|
|
||||||
tag [ VECTOR_CONST ] = "VECTOR_CONST";
|
|
||||||
tag [ BIT_NUMBER ] = "BIT_NUMBER";
|
|
||||||
tag [ ARITH_ASSGN_OP ] = "ARITH_ASSGN_OP";
|
|
||||||
tag [ ARRAY_OP ] = "ARRAY_OP";
|
|
||||||
tag [ NEW_OP ] = "NEW_OP";
|
|
||||||
tag [ DELETE_OP ] = "DELETE_OP";
|
|
||||||
tag [ NAMELIST_LIST ] = "NAMELIST_LIST";
|
|
||||||
tag [ THIS_NODE ] = "THIS_NODE";
|
|
||||||
tag [ SCOPE_OP ] = "SCOPE_OP";
|
|
||||||
tag [ PLUS_ASSGN_OP ] = "PLUS_ASSGN_OP";
|
|
||||||
tag [ MINUS_ASSGN_OP ] = "MINUS_ASSGN_OP";
|
|
||||||
tag [ AND_ASSGN_OP ] = "AND_ASSGN_OP";
|
|
||||||
tag [ IOR_ASSGN_OP ] = "IOR_ASSGN_OP";
|
|
||||||
tag [ MULT_ASSGN_OP ] = "MULT_ASSGN_OP";
|
|
||||||
tag [ DIV_ASSGN_OP ] = "DIV_ASSGN_OP";
|
|
||||||
tag [ MOD_ASSGN_OP ] = "MOD_ASSGN_OP";
|
|
||||||
tag [ XOR_ASSGN_OP ] = "XOR_ASSGN_OP";
|
|
||||||
tag [ LSHIFT_ASSGN_OP ] = "LSHIFT_ASSGN_OP";
|
|
||||||
tag [ RSHIFT_ASSGN_OP ] = "RSHIFT_ASSGN_OP";
|
|
||||||
tag [ ORDERED_OP ] = "ORDERED_OP";
|
|
||||||
tag [ EXTEND_OP ] = "EXTEND_OP";
|
|
||||||
tag [ MAXPARALLEL_OP ] = "MAXPARALLEL_OP";
|
|
||||||
tag [ SAMETYPE_OP ] = "SAMETYPE_OP";
|
|
||||||
tag [ TYPE_REF ] = "TYPE_REF";
|
|
||||||
tag [ STRUCTURE_CONSTRUCTOR ] = "STRUCTURE_CONSTRUCTOR";
|
|
||||||
tag [ ARRAY_CONSTRUCTOR ] = "ARRAY_CONSTRUCTOR";
|
|
||||||
tag [ SECTION_REF ] = "SECTION_REF";
|
|
||||||
tag [ VECTOR_SUBSCRIPT ] = "VECTOR_SUBSCRIPT";
|
|
||||||
tag [ SECTION_OPERANDS ] = "SECTION_OPERANDS";
|
|
||||||
tag [ KEYWORD_ARG ] = "KEYWORD_ARG";
|
|
||||||
tag [ OVERLOADED_CALL ] = "OVERLOADED_CALL";
|
|
||||||
tag [ INTERFACE_REF ] = "INTERFACE_REF";
|
|
||||||
tag [ RENAME_NODE ] = "RENAME_NODE";
|
|
||||||
tag [ TYPE_NODE ] = "TYPE_NODE";
|
|
||||||
tag [ PAREN_OP ] = "PAREN_OP";
|
|
||||||
tag [ PARAMETER_OP ] = "PARAMETER_OP";
|
|
||||||
tag [ PUBLIC_OP ] = "PUBLIC_OP";
|
|
||||||
tag [ PRIVATE_OP ] = "PRIVATE_OP";
|
|
||||||
tag [ ALLOCATABLE_OP ] = "ALLOCATABLE_OP";
|
|
||||||
tag [ DIMENSION_OP ] = "DIMENSION_OP";
|
|
||||||
tag [ EXTERNAL_OP ] = "EXTERNAL_OP";
|
|
||||||
tag [ IN_OP ] = "IN_OP";
|
|
||||||
tag [ OUT_OP ] = "OUT_OP";
|
|
||||||
tag [ INOUT_OP ] = "INOUT_OP";
|
|
||||||
tag [ INTRINSIC_OP ] = "INTRINSIC_OP";
|
|
||||||
tag [ POINTER_OP ] = "POINTER_OP";
|
|
||||||
tag [ OPTIONAL_OP ] = "OPTIONAL_OP";
|
|
||||||
tag [ SAVE_OP ] = "SAVE_OP";
|
|
||||||
tag [ TARGET_OP ] = "TARGET_OP";
|
|
||||||
tag [ ONLY_NODE ] = "ONLY_NODE";
|
|
||||||
tag [ LEN_OP ] = "LEN_OP";
|
|
||||||
tag [ TYPE_OP ] = "TYPE_OP";
|
|
||||||
tag [ DOTSTAR_OP ] = "DOTSTAR_OP";
|
|
||||||
tag [ ARROWSTAR_OP ] = "ARROWSTAR_OP";
|
|
||||||
tag [ FORDECL_OP ] = "FORDECL_OP";
|
|
||||||
tag [ THROW_OP ] = "THROW_OP";
|
|
||||||
tag [ PROCESSORS_REF ] = "PROCESSORS_REF";
|
|
||||||
tag [ PORT_TYPE_OP ] = "PORT_TYPE_OP";
|
|
||||||
tag [ INPORT_TYPE_OP ] = "INPORT_TYPE_OP";
|
|
||||||
tag [ OUTPORT_TYPE_OP ] = "OUTPORT_TYPE_OP";
|
|
||||||
tag [ INPORT_NAME ] = "INPORT_NAME";
|
|
||||||
tag [ OUTPORT_NAME ] = "OUTPORT_NAME";
|
|
||||||
tag [ FROMPORT_NAME ] = "FROMPORT_NAME";
|
|
||||||
tag [ TOPORT_NAME ] = "TOPORT_NAME";
|
|
||||||
tag [ IOSTAT_STORE ] = "IOSTAT_STORE";
|
|
||||||
tag [ EMPTY_STORE ] = "EMPTY_STORE";
|
|
||||||
tag [ ERR_LABEL ] = "ERR_LABEL";
|
|
||||||
tag [ END_LABEL ] = "END_LABEL";
|
|
||||||
tag [ PROS_CALL ] = "PROS_CALL";
|
|
||||||
tag [ STATIC_OP ] = "STATIC_OP";
|
|
||||||
tag [ LABEL_ARG ] = "LABEL_ARG";
|
|
||||||
tag [ DATA_IMPL_DO ] = "DATA_IMPL_DO";
|
|
||||||
tag [ DATA_ELT ] = "DATA_ELT";
|
|
||||||
tag [ DATA_SUBS ] = "DATA_SUBS";
|
|
||||||
tag [ DATA_RANGE ] = "DATA_RANGE";
|
|
||||||
tag [ ICON_EXPR ] = "ICON_EXPR";
|
|
||||||
tag [ BLOCK_OP ] = "BLOCK_OP";
|
|
||||||
tag [ NEW_SPEC_OP ] = "NEW_SPEC_OP";
|
|
||||||
tag [ REDUCTION_OP ] = "REDUCTION_OP";
|
|
||||||
tag [ SHADOW_RENEW_OP ] = "SHADOW_RENEW_OP";
|
|
||||||
tag [ SHADOW_START_OP ] = "SHADOW_START_OP";
|
|
||||||
tag [ SHADOW_WAIT_OP ] = "SHADOW_WAIT_OP";
|
|
||||||
tag [ DIAG_OP ] = "DIAG_OP";
|
|
||||||
tag [ REMOTE_ACCESS_OP ] = "REMOTE_ACCESS_OP";
|
|
||||||
tag [ TEMPLATE_OP ] = "TEMPLATE_OP";
|
|
||||||
tag [ PROCESSORS_OP ] = "PROCESSORS_OP";
|
|
||||||
tag [ DYNAMIC_OP ] = "DYNAMIC_OP";
|
|
||||||
tag [ ALIGN_OP ] = "ALIGN_OP";
|
|
||||||
tag [ DISTRIBUTE_OP ] = "DISTRIBUTE_OP";
|
|
||||||
tag [ SHADOW_OP ] = "SHADOW_OP";
|
|
||||||
tag [ INDIRECT_ACCESS_OP ] = "INDIRECT_ACCESS_OP";
|
|
||||||
tag [ ACROSS_OP ] = "ACROSS_OP";
|
|
||||||
tag [ NEW_VALUE_OP ] = "NEW_VALUE_OP";
|
|
||||||
tag [ SHADOW_COMP_OP ] = "SHADOW_COMP_OP";
|
|
||||||
tag [ STAGE_OP ] = "STAGE_OP";
|
|
||||||
tag [ FORALL_OP ] = "FORALL_OP";
|
|
||||||
tag [ CONSISTENT_OP ] = "CONSISTENT_OP";
|
|
||||||
tag [ INTERFACE_OPERATOR ] = "INTERFACE_OPERATOR";
|
|
||||||
tag [ INTERFACE_ASSIGNMENT ] = "INTERFACE_ASSIGNMENT";
|
|
||||||
tag [ VAR_DECL_90 ] = "VAR_DECL_90";
|
|
||||||
tag [ ASSIGNMENT_OP ] = "ASSIGNMENT_OP";
|
|
||||||
tag [ OPERATOR_OP ] = "OPERATOR_OP";
|
|
||||||
tag [ KIND_OP ] = "KIND_OP";
|
|
||||||
tag [ LENGTH_OP ] = "LENGTH_OP";
|
|
||||||
tag [ RECURSIVE_OP ] = "RECURSIVE_OP";
|
|
||||||
tag [ ELEMENTAL_OP ] = "ELEMENTAL_OP";
|
|
||||||
tag [ PURE_OP ] = "PURE_OP";
|
|
||||||
tag [ DEFINED_OP ] = "DEFINED_OP";
|
|
||||||
tag [ PARALLEL_OP ] = "PARALLEL_OP";
|
|
||||||
tag [ INDIRECT_OP ] = "INDIRECT_OP";
|
|
||||||
tag [ DERIVED_OP ] = "DERIVED_OP";
|
|
||||||
tag [ DUMMY_REF ] = "DUMMY_REF";
|
|
||||||
tag [ COMMON_OP ] = "COMMON_OP";
|
|
||||||
tag [ SHADOW_NAMES_OP ] = "SHADOW_NAMES_OP";
|
|
||||||
|
|
||||||
/***************** variant tags for symbol table entries ********************/
|
|
||||||
|
|
||||||
tag [ CONST_NAME ] = "CONST_NAME";
|
|
||||||
tag [ ENUM_NAME ] = "ENUM_NAME";
|
|
||||||
tag [ FIELD_NAME ] = "FIELD_NAME";
|
|
||||||
tag [ VARIABLE_NAME ] = "VARIABLE_NAME";
|
|
||||||
tag [ TYPE_NAME ] = "TYPE_NAME";
|
|
||||||
tag [ PROGRAM_NAME ] = "PROGRAM_NAME";
|
|
||||||
tag [ PROCEDURE_NAME ] = "PROCEDURE_NAME";
|
|
||||||
tag [ VAR_FIELD ] = "VAR_FIELD";
|
|
||||||
tag [ LABEL_VAR ] = "LABEL_VAR";
|
|
||||||
tag [ FUNCTION_NAME ] = "FUNCTION_NAME";
|
|
||||||
tag [ MEMBER_FUNC ] = "MEMBER_FUNC";
|
|
||||||
tag [ CLASS_NAME ] = "CLASS_NAME";
|
|
||||||
tag [ UNION_NAME ] = "UNION_NAME";
|
|
||||||
tag [ STRUCT_NAME ] = "STRUCT_NAME";
|
|
||||||
tag [ LABEL_NAME ] = "LABEL_NAME";
|
|
||||||
tag [ COLLECTION_NAME ] = "COLLECTION_NAME";
|
|
||||||
tag [ ROUTINE_NAME ] = "ROUTINE_NAME";
|
|
||||||
tag [ CONSTRUCT_NAME ] = "CONSTRUCT_NAME";
|
|
||||||
tag [ INTERFACE_NAME ] = "INTERFACE_NAME";
|
|
||||||
tag [ MODULE_NAME ] = "MODULE_NAME";
|
|
||||||
tag [ TEMPLATE_CL_NAME ] = "TEMPLATE_CL_NAME";
|
|
||||||
tag [ TEMPLATE_FN_NAME ] = "TEMPLATE_FN_NAME";
|
|
||||||
tag [ TECLASS_NAME ] = "TECLASS_NAME";
|
|
||||||
tag [ SHADOW_GROUP_NAME ] = "SHADOW_GROUP_NAME";
|
|
||||||
tag [ REDUCTION_GROUP_NAME ] = "REDUCTION_GROUP_NAME";
|
|
||||||
tag [ REF_GROUP_NAME ] = "REF_GROUP_NAME";
|
|
||||||
tag [ ASYNC_ID ] = "ASYNC_ID";
|
|
||||||
tag [ CONSISTENT_GROUP_NAME ] = "CONSISTENT_GROUP_NAME";
|
|
||||||
tag [ NAMELIST_NAME ] = "NAMELIST_NAME";
|
|
||||||
tag [ COMMON_NAME ] = "COMMON_NAME";
|
|
||||||
|
|
||||||
tag [ DEFAULT ] = "DEFAULT";
|
|
||||||
tag [ T_INT ] = "T_INT";
|
|
||||||
tag [ T_FLOAT ] = "T_FLOAT";
|
|
||||||
tag [ T_DOUBLE ] = "T_DOUBLE";
|
|
||||||
tag [ T_CHAR ] = "T_CHAR";
|
|
||||||
tag [ T_BOOL ] = "T_BOOL";
|
|
||||||
tag [ T_STRING ] = "T_STRING";
|
|
||||||
tag [ T_ENUM ] = "T_ENUM";
|
|
||||||
tag [ T_SUBRANGE ] = "T_SUBRANGE";
|
|
||||||
tag [ T_LIST ] = "T_LIST";
|
|
||||||
tag [ T_ARRAY ] = "T_ARRAY";
|
|
||||||
tag [ T_RECORD ] = "T_RECORD";
|
|
||||||
tag [ T_ENUM_FIELD ] = "T_ENUM_FIELD";
|
|
||||||
tag [ T_UNKNOWN ] = "T_UNKNOWN";
|
|
||||||
tag [ T_COMPLEX ] = "T_COMPLEX";
|
|
||||||
tag [ T_VOID ] = "T_VOID";
|
|
||||||
tag [ T_DESCRIPT ] = "T_DESCRIPT";
|
|
||||||
tag [ T_FUNCTION ] = "T_FUNCTION";
|
|
||||||
tag [ T_POINTER ] = "T_POINTER";
|
|
||||||
tag [ T_UNION ] = "T_UNION";
|
|
||||||
tag [ T_STRUCT ] = "T_STRUCT";
|
|
||||||
tag [ T_CLASS ] = "T_CLASS";
|
|
||||||
tag [ T_DERIVED_CLASS ] = "T_DERIVED_CLASS";
|
|
||||||
tag [ T_DERIVED_TYPE ] = "T_DERIVED_TYPE";
|
|
||||||
tag [ T_COLLECTION ] = "T_COLLECTION";
|
|
||||||
tag [ T_DERIVED_COLLECTION ] = "T_DERIVED_COLLECTION";
|
|
||||||
tag [ T_REFERENCE ] = "T_REFERENCE";
|
|
||||||
tag [ T_DERIVED_TEMPLATE ] = "T_DERIVED_TEMPLATE";
|
|
||||||
tag [ T_MEMBER_POINTER ] = "T_MEMBER_POINTER";
|
|
||||||
tag [ T_TECLASS ] = "T_TECLASS";
|
|
||||||
tag [ T_GATE ] = "T_GATE";
|
|
||||||
tag [ T_EVENT ] = "T_EVENT";
|
|
||||||
tag [ T_SEQUENCE ] = "T_SEQUENCE";
|
|
||||||
tag [ T_DCOMPLEX ] = "T_DCOMPLEX";
|
|
||||||
tag [ T_LONG ] = "T_LONG";
|
|
||||||
tag [ BY_USE ] = "BY_USE";
|
|
||||||
tag [ LOCAL ] = "LOCAL";
|
|
||||||
tag [ INPUT ] = "INPUT";
|
|
||||||
tag [ OUTPUT ] = "OUTPUT";
|
|
||||||
tag [ IO ] = "IO";
|
|
||||||
tag [ PROCESS_NAME ] = "PROCESS_NAME";
|
|
||||||
|
|
||||||
tag [ OMP_PRIVATE ] = "OMP_PRIVATE";
|
|
||||||
tag [ OMP_SHARED ] = "OMP_SHARED";
|
|
||||||
tag [ OMP_FIRSTPRIVATE ] = "OMP_FIRSTPRIVATE";
|
|
||||||
tag [ OMP_LASTPRIVATE ] = "OMP_LASTPRIVATE";
|
|
||||||
tag [ OMP_THREADPRIVATE ] = "OMP_THREADPRIVATE";
|
|
||||||
tag [ OMP_COPYIN ] = "OMP_COPYIN";
|
|
||||||
tag [ OMP_COPYPRIVATE ] = "OMP_COPYPRIVATE";
|
|
||||||
tag [ OMP_DEFAULT ] = "OMP_DEFAULT";
|
|
||||||
tag [ OMP_ORDERED ] = "OMP_ORDERED";
|
|
||||||
tag [ OMP_SCHEDULE ] = "OMP_SCHEDULE";
|
|
||||||
tag [ OMP_REDUCTION ] = "OMP_REDUCTION";
|
|
||||||
tag [ OMP_IF ] = "OMP_IF";
|
|
||||||
tag [ OMP_NUM_THREADS ] = "OMP_NUM_THREADS";
|
|
||||||
tag [ OMP_NOWAIT ] = "OMP_NOWAIT";
|
|
||||||
tag [ OMP_PARALLEL_DIR ] = "OMP_PARALLEL_DIR";
|
|
||||||
tag [ OMP_END_PARALLEL_DIR ] = "OMP_END_PARALLEL_DIR";
|
|
||||||
tag [ OMP_DO_DIR ] = "OMP_DO_DIR";
|
|
||||||
tag [ OMP_END_DO_DIR ] = "OMP_END_DO_DIR";
|
|
||||||
tag [ OMP_SECTIONS_DIR ] = "OMP_SECTIONS_DIR";
|
|
||||||
tag [ OMP_END_SECTIONS_DIR ] = "OMP_END_SECTIONS_DIR";
|
|
||||||
tag [ OMP_SECTION_DIR ] = "OMP_SECTION_DIR";
|
|
||||||
tag [ OMP_SINGLE_DIR ] = "OMP_SINGLE_DIR";
|
|
||||||
tag [ OMP_END_SINGLE_DIR ] = "OMP_END_SINGLE_DIR";
|
|
||||||
tag [ OMP_WORKSHARE_DIR ] = "OMP_WORKSHARE_DIR";
|
|
||||||
tag [ OMP_END_WORKSHARE_DIR ] = "OMP_END_WORKSHARE_DIR";
|
|
||||||
tag [ OMP_PARALLEL_DO_DIR ] = "OMP_PARALLEL_DO_DIR";
|
|
||||||
tag [ OMP_END_PARALLEL_DO_DIR ] = "OMP_END_PARALLEL_DO_DIR";
|
|
||||||
tag [ OMP_PARALLEL_SECTIONS_DIR ] = "OMP_PARALLEL_SECTIONS_DIR";
|
|
||||||
tag [ OMP_END_PARALLEL_SECTIONS_DIR ] = "OMP_END_PARALLEL_SECTIONS_DIR";
|
|
||||||
tag [ OMP_PARALLEL_WORKSHARE_DIR ] = "OMP_PARALLEL_WORKSHARE_DIR";
|
|
||||||
tag [ OMP_END_PARALLEL_WORKSHARE_DIR ] = "OMP_END_PARALLEL_WORKSHARE_DIR";
|
|
||||||
tag [ OMP_MASTER_DIR ] = "OMP_MASTER_DIR";
|
|
||||||
tag [ OMP_END_MASTER_DIR ] = "OMP_END_MASTER_DIR";
|
|
||||||
tag [ OMP_CRITICAL_DIR ] = "OMP_CRITICAL_DIR";
|
|
||||||
tag [ OMP_END_CRITICAL_DIR ] = "OMP_END_CRITICAL_DIR";
|
|
||||||
tag [ OMP_BARRIER_DIR ] = "OMP_BARRIER_DIR";
|
|
||||||
tag [ OMP_ATOMIC_DIR ] = "OMP_ATOMIC_DIR";
|
|
||||||
tag [ OMP_FLUSH_DIR ] = "OMP_FLUSH_DIR";
|
|
||||||
tag [ OMP_ORDERED_DIR ] = "OMP_ORDERED_DIR";
|
|
||||||
tag [ OMP_END_ORDERED_DIR ] = "OMP_END_ORDERED_DIR";
|
|
||||||
tag [ RECORD_DECL ] = "RECORD_DECL";
|
|
||||||
tag [ FUNC_STAT ] = "FUNC_STAT";
|
|
||||||
tag [ OMP_ONETHREAD_DIR ] = "OMP_ONETHREAD_DIR";
|
|
||||||
tag [ OMP_THREADPRIVATE_DIR ] = "OMP_THREADPRIVATE_DIR";
|
|
||||||
tag [ OMP_DEFAULT_SECTION_DIR ] = "OMP_DEFAULT_SECTION_DIR";
|
|
||||||
tag [ OMP_COLLAPSE ] = "OMP_COLLAPSE";
|
|
||||||
|
|
||||||
tag [ ACC_REGION_DIR ] = "ACC_REGION_DIR";
|
|
||||||
tag [ ACC_END_REGION_DIR ] = "ACC_END_REGION_DIR";
|
|
||||||
tag [ ACC_CALL_STMT ] = "ACC_CALL_STMT";
|
|
||||||
tag [ ACC_KERNEL_HEDR ] = "ACC_KERNEL_HEDR";
|
|
||||||
tag [ ACC_GET_ACTUAL_DIR ] = "ACC_GET_ACTUAL_DIR";
|
|
||||||
tag [ ACC_ACTUAL_DIR ] = "ACC_ACTUAL_DIR";
|
|
||||||
tag [ ACC_CHECKSECTION_DIR ] = "ACC_CHECKSECTION_DIR";
|
|
||||||
tag [ ACC_END_CHECKSECTION_DIR ] = "ACC_END_CHECKSECTION_DIR";
|
|
||||||
tag [ ACC_ROUTINE_DIR ] = "ACC_ROUTINE_DIR";
|
|
||||||
tag [ ACC_DECLARE_DIR ] = "ACC_DECLARE_DIR";
|
|
||||||
|
|
||||||
tag [ ACC_TIE_OP ] = "ACC_TIE_OP";
|
|
||||||
tag [ ACC_INLOCAL_OP ] = "ACC_INLOCAL_OP";
|
|
||||||
tag [ ACC_INOUT_OP ] = "ACC_INOUT_OP";
|
|
||||||
tag [ ACC_IN_OP ] = "ACC_IN_OP";
|
|
||||||
tag [ ACC_OUT_OP ] = "ACC_OUT_OP";
|
|
||||||
tag [ ACC_LOCAL_OP ] = "ACC_LOCAL_OP";
|
|
||||||
tag [ ACC_PRIVATE_OP ] = "ACC_PRIVATE_OP";
|
|
||||||
tag [ ACC_DEVICE_OP ] = "ACC_DEVICE_OP";
|
|
||||||
tag [ ACC_CUDA_OP ] = "ACC_CUDA_OP";
|
|
||||||
tag [ ACC_HOST_OP ] = "ACC_HOST_OP";
|
|
||||||
|
|
||||||
tag [ ACC_GLOBAL_OP ] = "ACC_GLOBAL_OP";
|
|
||||||
tag [ ACC_ATTRIBUTES_OP ] = "ACC_ATTRIBUTES_OP";
|
|
||||||
tag [ ACC_VALUE_OP ] = "ACC_VALUE_OP";
|
|
||||||
tag [ ACC_SHARED_OP ] = "ACC_SHARED_OP";
|
|
||||||
tag [ ACC_CONSTANT_OP ] = "ACC_CONSTANT_OP";
|
|
||||||
tag [ ACC_USES_OP ] = "ACC_USES_OP";
|
|
||||||
tag [ ACC_CALL_OP ] = "ACC_CALL_OP";
|
|
||||||
tag [ ACC_CUDA_BLOCK_OP ] = "ACC_CUDA_BLOCK_OP";
|
|
||||||
|
|
||||||
tag [ ACC_TARGETS_OP ] = "ACC_TARGETS_OP";
|
|
||||||
tag [ ACC_ASYNC_OP ] = "ACC_ASYNC_OP";
|
|
||||||
|
|
||||||
tag [ SPF_ANALYSIS_DIR ] = "SPF_ANALYSIS_DIR";
|
|
||||||
tag [ SPF_PARALLEL_DIR ] = "SPF_PARALLEL_DIR";
|
|
||||||
tag [ SPF_TRANSFORM_DIR ] = "SPF_TRANSFORM_DIR";
|
|
||||||
tag [ SPF_NOINLINE_OP ] = "SPF_NOINLINE_OP";
|
|
||||||
tag [ SPF_PARALLEL_REG_DIR ] = "SPF_PARALLEL_REG_DIR";
|
|
||||||
tag [ SPF_END_PARALLEL_REG_DIR ] = "SPF_END_PARALLEL_REG_DIR";
|
|
||||||
tag [ SPF_REGION_NAME ] = "SPF_REGION_NAME";
|
|
||||||
tag [ SPF_EXPAND_OP ] = "SPF_EXPAND_OP";
|
|
||||||
tag [ SPF_FISSION_OP ] = "SPF_FISSION_OP";
|
|
||||||
tag [ SPF_SHRINK_OP ] = "SPF_SHRINK_OP";
|
|
||||||
tag [ SPF_CHECKPOINT_DIR ] = "SPF_CHECKPOINT_DIR";
|
|
||||||
tag [ SPF_TYPE_OP ] = "SPF_TYPE_OP";
|
|
||||||
tag [ SPF_VARLIST_OP ] = "SPF_VARLIST_OP";
|
|
||||||
tag [ SPF_EXCEPT_OP ] = "SPF_EXCEPT_OP";
|
|
||||||
tag [ SPF_FILES_COUNT_OP ] = "SPF_FILES_COUNT_OP";
|
|
||||||
tag [ SPF_INTERVAL_OP ] = "SPF_INTERVAL_OP";
|
|
||||||
tag [ SPF_TIME_OP ] = "SPF_TIME_OP";
|
|
||||||
tag [ SPF_ITER_OP ] = "SPF_ITER_OP";
|
|
||||||
tag [ SPF_FLEXIBLE_OP ] = "SPF_FLEXIBLE_OP";
|
|
||||||
tag [ SPF_PARAMETER_OP ] = "SPF_PARAMETER_OP";
|
|
||||||
tag [ SPF_CODE_COVERAGE_OP ] = "SPF_CODE_COVERAGE_OP";
|
|
||||||
tag [ SPF_UNROLL_OP ] = "SPF_UNROLL_OP";
|
|
||||||
tag [ SPF_COVER_OP ] = "SPF_COVER_OP";
|
|
||||||
tag [ SPF_MERGE_OP ] = "SPF_MERGE_OP";
|
|
||||||
tag [ SPF_PROCESS_PRIVATE_OP ] = "SPF_PROCESS_PRIVATE_OP";
|
|
||||||
tag [ SPF_WEIGHT_OP ] = "SPF_WEIGHT_OP";
|
|
||||||
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
all: tag.h
|
|
||||||
|
|
||||||
tag.h: head tag
|
|
||||||
( cat head; \
|
|
||||||
sed < tag \
|
|
||||||
'/#defin/s/\([^ ]*\) \([^ ]*\)\(.*\)/ tag \[ \2 \] = \"\2\";/')\
|
|
||||||
> tag.h
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
#define VERSION_NUMBER "6.9"
|
|
||||||
#define VERSION_NUMBER_INT "69"
|
|
||||||
@@ -1,167 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Modified By Jenq-Kuen Lee Nov 20, 1987 */
|
|
||||||
|
|
||||||
extern int NoWarnings; /* Used by newer code pC++2dep (phb) */
|
|
||||||
extern int nowarnflag; /* Used by older obsolete code c2dep, f2dep */
|
|
||||||
|
|
||||||
/* The following variable used by verrors.c */
|
|
||||||
extern int yylineno;
|
|
||||||
extern char *infname;
|
|
||||||
extern int nwarn;
|
|
||||||
extern int errcnt;
|
|
||||||
extern int errline;
|
|
||||||
extern int wait_first_include_name;
|
|
||||||
extern char *first_line_name;
|
|
||||||
|
|
||||||
/* leave it out */
|
|
||||||
/*
|
|
||||||
|
|
||||||
extern char yytext[];
|
|
||||||
|
|
||||||
|
|
||||||
extern int yyleng;
|
|
||||||
extern int lineno;
|
|
||||||
extern int needkwd;
|
|
||||||
extern int inioctl;
|
|
||||||
extern int shiftcase;
|
|
||||||
|
|
||||||
extern int parstate;
|
|
||||||
extern int blklevel;
|
|
||||||
|
|
||||||
extern int procclass;
|
|
||||||
extern long procleng;
|
|
||||||
extern int nentry;
|
|
||||||
extern int blklevel;
|
|
||||||
extern int undeftype;
|
|
||||||
extern int dorange;
|
|
||||||
extern char intonly;
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
extern int num_bfnds; /* total # of bif nodes */
|
|
||||||
extern int num_llnds; /* total # of low level nodes */
|
|
||||||
extern int num_symbs; /* total # of symbol nodes */
|
|
||||||
extern int num_types; /* total # of types nodes */
|
|
||||||
extern int num_blobs; /* total # of blob nodes */
|
|
||||||
extern int num_sets; /* total # of set nodes */
|
|
||||||
extern int num_cmnt;
|
|
||||||
extern int num_def; /* total # of dependncy nodes */
|
|
||||||
extern int num_dep;
|
|
||||||
extern int num_deflst;
|
|
||||||
extern int num_label; /* total # of label nodes */
|
|
||||||
extern int num_files;
|
|
||||||
|
|
||||||
extern int cur_level; /* current block level */
|
|
||||||
extern int next_level;
|
|
||||||
|
|
||||||
extern char *tag[610];
|
|
||||||
|
|
||||||
extern PTR_SYMB global_list;
|
|
||||||
|
|
||||||
extern PTR_BFND head_bfnd, /* start of bfnd chain */
|
|
||||||
cur_bfnd, /* poextern int to current bfnd */
|
|
||||||
pred_bfnd, /* used in finding the predecessor */
|
|
||||||
last_bfnd;
|
|
||||||
|
|
||||||
extern PTR_LLND head_llnd, cur_llnd;
|
|
||||||
|
|
||||||
extern PTR_SYMB head_symb, cur_symb;
|
|
||||||
|
|
||||||
extern PTR_TYPE head_type, cur_type;
|
|
||||||
|
|
||||||
extern PTR_LABEL head_label, cur_label, thislabel;
|
|
||||||
|
|
||||||
extern PTR_FNAME head_file,cur_thread_file;
|
|
||||||
|
|
||||||
extern PTR_BLOB head_blob, cur_blob;
|
|
||||||
|
|
||||||
extern PTR_SETS head_sets, cur_sets;
|
|
||||||
|
|
||||||
extern PTR_DEF head_def, cur_def;
|
|
||||||
|
|
||||||
extern PTR_DEFLST head_deflst, cur_deflst;
|
|
||||||
|
|
||||||
extern PTR_DEP head_dep, cur_dep, pre_dep;
|
|
||||||
|
|
||||||
/*************************************************************************/
|
|
||||||
/* DECLARE is defined to be null (nothing) so that the variable is declared,
|
|
||||||
or it is defined to be "extern". (phb) */
|
|
||||||
|
|
||||||
#ifndef DECLARE
|
|
||||||
#define DECLARE extern
|
|
||||||
#endif
|
|
||||||
|
|
||||||
DECLARE PTR_CMNT head_cmnt, cur_cmnt;
|
|
||||||
DECLARE PTR_BLOB global_blob ;
|
|
||||||
DECLARE PTR_BFND global_bfnd;
|
|
||||||
DECLARE PTR_SYMB star_symb;
|
|
||||||
DECLARE PTR_TYPE vartype;
|
|
||||||
DECLARE PTR_CMNT comments;
|
|
||||||
|
|
||||||
#undef DECLARE
|
|
||||||
/*************************************************************************/
|
|
||||||
|
|
||||||
extern PTR_CMNT cur_comment;
|
|
||||||
/* struct Ctlframe *ctlsp = (struct Ctlframe *)NULL; */
|
|
||||||
|
|
||||||
extern PTR_TYPE make_type();
|
|
||||||
extern PTR_SYMB make_symb();
|
|
||||||
extern PTR_BFND make_bfnd();
|
|
||||||
extern PTR_BFND make_bfndnt(); /* non-threaded ver. (lib/oldsrc/make_nodes.c */
|
|
||||||
extern PTR_BFND get_bfnd();
|
|
||||||
extern PTR_BLOB make_blob();
|
|
||||||
extern PTR_LLND make_llnd();
|
|
||||||
extern void init_hash();
|
|
||||||
|
|
||||||
extern PTR_TYPE global_int, global_float, global_double, global_char, global_string,global_void;
|
|
||||||
extern PTR_TYPE global_bool, global_complex, global_default, global_string_2;
|
|
||||||
|
|
||||||
extern char *ckalloc();
|
|
||||||
extern char *copyn(), *copys();
|
|
||||||
|
|
||||||
#define ALLOC(x) (struct x *) ckalloc(sizeof(struct x))
|
|
||||||
|
|
||||||
#define INLOOP(x) ((LOOP_NODE <= x) && (x <= WHILE_NODE))
|
|
||||||
/* Used By pC++2dep */
|
|
||||||
extern int ExternLangDecl; /* PHB */
|
|
||||||
extern int mod_offset ;
|
|
||||||
extern int old_line ;
|
|
||||||
extern int branch_flag;
|
|
||||||
extern int main_type_flag ;
|
|
||||||
extern int primary_flag;
|
|
||||||
extern int function_flag ;
|
|
||||||
extern int friend_flag ;
|
|
||||||
extern int cur_flag ;
|
|
||||||
extern int exception_flag ;
|
|
||||||
extern PTR_SYMB first_symbol,right_symbol ;
|
|
||||||
extern PTR_BFND passed_bfnd;
|
|
||||||
extern PTR_BFND new_cur_bfnd ;
|
|
||||||
extern PTR_LLND new_cur_llnd ;
|
|
||||||
extern PTR_TYPE new_cur_type ;
|
|
||||||
extern PTR_SYMB new_cur_symb;
|
|
||||||
extern char *new_cur_fname;
|
|
||||||
extern char *line_pos_fname;
|
|
||||||
extern PTR_HASH cur_id_entry ;
|
|
||||||
extern PTR_CMNT new_cur_comment;
|
|
||||||
extern int yydebug ;
|
|
||||||
extern int TRACEON ;
|
|
||||||
extern int declare_flag ;
|
|
||||||
extern int not_fetch_yet ; /* for comments */
|
|
||||||
extern int recursive_yylex; /* for comments */
|
|
||||||
extern int line_pos_1 ;
|
|
||||||
extern PTR_FILE fi;
|
|
||||||
PTR_TYPE get_type();
|
|
||||||
PTR_LABEL get_label();
|
|
||||||
extern PTR_SYMB elementtype_symb;
|
|
||||||
@@ -1,126 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/* Modified By Jenq-Kuen Lee Sep 30, 1987 */
|
|
||||||
/* Define constants for communication with parse.y. */
|
|
||||||
/* Copyright (C) 1987 Free Software Foundation, Inc. */
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
enum rid
|
|
||||||
{
|
|
||||||
RID_UNUSED,
|
|
||||||
RID_INT,
|
|
||||||
RID_CHAR,
|
|
||||||
RID_FLOAT,
|
|
||||||
RID_DOUBLE,
|
|
||||||
RID_VOID,
|
|
||||||
RID_UNUSED1,
|
|
||||||
|
|
||||||
RID_UNSIGNED,
|
|
||||||
RID_SHORT,
|
|
||||||
RID_LONG,
|
|
||||||
RID_AUTO,
|
|
||||||
RID_STATIC,
|
|
||||||
RID_EXTERN,
|
|
||||||
RID_REGISTER,
|
|
||||||
RID_TYPEDEF,
|
|
||||||
RID_SIGNED,
|
|
||||||
RID_CONST,
|
|
||||||
RID_VOLATILE,
|
|
||||||
RID_PRIVATE,
|
|
||||||
RID_FUTURE,
|
|
||||||
RID_VIRTUAL,
|
|
||||||
RID_INLINE,
|
|
||||||
RID_FRIEND,
|
|
||||||
RID_PUBLIC,
|
|
||||||
RID_PROTECTED,
|
|
||||||
RID_SYNC,
|
|
||||||
RID_GLOBL,
|
|
||||||
RID_ATOMIC,
|
|
||||||
RID_KSRPRIVATE,
|
|
||||||
RID_RESTRICT,
|
|
||||||
RID_MAX,
|
|
||||||
RID_CUDA_GLOBAL,
|
|
||||||
RID_CUDA_SHARED,
|
|
||||||
RID_CUDA_DEVICE,
|
|
||||||
|
|
||||||
LONG_UNSIGNED_TYPE_CONST, /* For numerical constant */
|
|
||||||
LONG_INTEGER_TYPE_CONST,
|
|
||||||
UNSIGNED_TYPE_CONST,
|
|
||||||
INTEGER_TYPE_CONST,
|
|
||||||
FLOAT_TYPE_CONST,
|
|
||||||
LONG_DOUBLE_TYPE_CONST,
|
|
||||||
DOUBLE_TYPE_CONST,
|
|
||||||
/* For char constant */
|
|
||||||
UNSIGNED_CHAR_TYPE_CONST,
|
|
||||||
CHAR_TYPE_CONST,
|
|
||||||
CHAR_ARRAY_TYPE_CONST,
|
|
||||||
|
|
||||||
PLUS_EXPR , /* Statement code */
|
|
||||||
MINUS_EXPR,
|
|
||||||
BIT_AND_EXPR,
|
|
||||||
BIT_IOR_EXPR,
|
|
||||||
MULT_EXPR,
|
|
||||||
TRUNC_DIV_EXPR,
|
|
||||||
TRUNC_MOD_EXPR,
|
|
||||||
BIT_XOR_EXPR,
|
|
||||||
LSHIFT_EXPR ,
|
|
||||||
RSHIFT_EXPR,
|
|
||||||
LT_EXPR,
|
|
||||||
GT_EXPR,
|
|
||||||
LE_EXPR,
|
|
||||||
GE_EXPR,
|
|
||||||
NE_EXPR,
|
|
||||||
EQ_EXPR
|
|
||||||
};
|
|
||||||
|
|
||||||
/* #define RID_FIRST_MODIFIER RID_UNSIGNED */
|
|
||||||
|
|
||||||
#define NEXT_FULL 10 /*for comments type, FULL, HALF, NEXT_FULL */
|
|
||||||
|
|
||||||
/* for access_flag */
|
|
||||||
#define BIT_PROTECTED 1 /* note: also see PROTECTED_FIELD */
|
|
||||||
#define BIT_PUBLIC 2 /* note: also see PUBLIC_FIELD */
|
|
||||||
#define BIT_PRIVATE 4 /* note: also see PRIVATE_FIELD */
|
|
||||||
#define BIT_FUTURE 8
|
|
||||||
#define BIT_VIRTUAL 16
|
|
||||||
#define BIT_INLINE 32
|
|
||||||
|
|
||||||
/*for signed_flag */
|
|
||||||
#define BIT_UNSIGNED 64
|
|
||||||
#define BIT_SIGNED 128
|
|
||||||
|
|
||||||
/* for long_short_flag */
|
|
||||||
#define BIT_SHORT 256
|
|
||||||
#define BIT_LONG 512
|
|
||||||
|
|
||||||
/* for mod_flag */
|
|
||||||
#define BIT_VOLATILE 1024
|
|
||||||
#define BIT_CONST 1024*2
|
|
||||||
#define BIT_GLOBL 1024*128*2
|
|
||||||
#define BIT_SYNC 1024*128*4
|
|
||||||
#define BIT_ATOMIC 1024*128*8
|
|
||||||
#define BIT_KSRPRIVATE 1024*128*16
|
|
||||||
#define BIT_RESTRICT 1024*128*32
|
|
||||||
/* for storage flag */
|
|
||||||
#define BIT_TYPEDEF 1024*4
|
|
||||||
#define BIT_EXTERN 1024*8
|
|
||||||
#define BIT_AUTO 1024*128 /* swapped values for AUTO and FRIEND */
|
|
||||||
#define BIT_STATIC 1024*32
|
|
||||||
#define BIT_REGISTER 1024*64
|
|
||||||
#define BIT_FRIEND 1024*16 /* so that friend would fit in u_short BW*/
|
|
||||||
|
|
||||||
#define MAX_BIT 1024*128*64
|
|
||||||
#define STORAGE_FLAG 1024*(4+8+16+32+64+128)
|
|
||||||
#define BIT_OPENMP 1024*128*128 /* OpenMP Fortran */
|
|
||||||
#define BIT_CUDA_GLOBAL 1024*128*256 /* Cuda */
|
|
||||||
#define BIT_CUDA_SHARED 1024*128*512 /* Cuda */
|
|
||||||
#define BIT_CUDA_DEVICE 1024*128*1024 /* Cuda */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,182 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/* TAG : pC++2dep used Created by Jenq_kuen Lee Nov 28, 1987 */
|
|
||||||
/* definitions of Some Key_echo */
|
|
||||||
/* Define results of standard character escape sequences. */
|
|
||||||
#define TARGET_BELL 007
|
|
||||||
#define TARGET_BS 010
|
|
||||||
#define TARGET_TAB 011
|
|
||||||
#define TARGET_NEWLINE 012
|
|
||||||
#define TARGET_VT 013
|
|
||||||
#define TARGET_FF 014
|
|
||||||
#define TARGET_CR 015
|
|
||||||
|
|
||||||
|
|
||||||
#define BITS_PER_UNIT 8
|
|
||||||
#define pedantic 1
|
|
||||||
|
|
||||||
/* Debugging flag */
|
|
||||||
|
|
||||||
|
|
||||||
/* switch used for parser */
|
|
||||||
#define UP_TO_CLASS 6
|
|
||||||
#define UP_ONE_LEVEL 5
|
|
||||||
#define UP_TO_NODECL 4
|
|
||||||
#define UP_TO_FUNC_HEDR 3
|
|
||||||
#define OTHER 2
|
|
||||||
#define ON 1
|
|
||||||
#define OFF 0
|
|
||||||
|
|
||||||
/* switch used for parser */
|
|
||||||
#define ONE 1
|
|
||||||
#define TWO 2
|
|
||||||
#define THREE 3
|
|
||||||
|
|
||||||
#define DONOT_CARE 0
|
|
||||||
|
|
||||||
#define TYPE_CLEAN 0
|
|
||||||
#define TYPE_ONE 1
|
|
||||||
#define TYPE_TWO 2
|
|
||||||
#define TYPE_THREE 3
|
|
||||||
#define TYPE_FOUR 4
|
|
||||||
#define TYPE_FIVE 5
|
|
||||||
|
|
||||||
#define BRANCH_OFF 0
|
|
||||||
#define BRANCH_ON 1
|
|
||||||
|
|
||||||
/* flag for declarator rule */
|
|
||||||
/* information kept in cur_flag */
|
|
||||||
#define RULE_PARAM 1
|
|
||||||
#define RULE_ID 2
|
|
||||||
#define RULE_MULTIPLE_ID 4
|
|
||||||
#define RULE_LR 8
|
|
||||||
#define RULE_DEREF 16
|
|
||||||
#define RULE_ARRAY 32
|
|
||||||
#define RULE_ARRAY_E 64
|
|
||||||
#define RULE_CLASSINIT 128
|
|
||||||
#define RULE_ERROR 256
|
|
||||||
#define LAZY_INSTALL 512
|
|
||||||
#define CLEAN 0
|
|
||||||
|
|
||||||
/* flag for primary_flag */
|
|
||||||
#define ID_ONLY 1
|
|
||||||
#define RANGE_APPEAR 2
|
|
||||||
#define EXCEPTION_ON 4
|
|
||||||
#define EXPR_LR 8
|
|
||||||
#define VECTOR_CONST_APPEAR 16
|
|
||||||
#define ARRAY_OP_NEED 32
|
|
||||||
|
|
||||||
/* flag for access_class for parameter_flag */
|
|
||||||
#define XDECL 4096
|
|
||||||
|
|
||||||
/* automata state for comments.c */
|
|
||||||
#define ZERO 0
|
|
||||||
#define STATE_1 1
|
|
||||||
#define STATE_2 2
|
|
||||||
#define STATE_3 3
|
|
||||||
#define STATE_4 4
|
|
||||||
#define STATE_5 5
|
|
||||||
#define STATE_6 6
|
|
||||||
#define STATE_7 7
|
|
||||||
#define STATE_8 8
|
|
||||||
#define STATE_9 9
|
|
||||||
#define STATE_10 10
|
|
||||||
#define STATE_11 11
|
|
||||||
#define STATE_12 12
|
|
||||||
#define STATE_13 13
|
|
||||||
#define STATE_14 14
|
|
||||||
#define STATE_15 15
|
|
||||||
#define STATE_16 16
|
|
||||||
#define STATE_17 17
|
|
||||||
#define STATE_18 18
|
|
||||||
#define STATE_19 19
|
|
||||||
#define STATE_20 20
|
|
||||||
#define IF_STATE 30
|
|
||||||
#define IF_STATE_2 32
|
|
||||||
#define IF_STATE_3 33
|
|
||||||
#define IF_STATE_4 34
|
|
||||||
#define ELSE_EXPECTED_STATE 35
|
|
||||||
#define BLOCK_STATE 40
|
|
||||||
#define BLOCK_STATE_2 42
|
|
||||||
#define WHILE_STATE 50
|
|
||||||
#define WHILE_STATE_2 52
|
|
||||||
#define FOR_STATE 55
|
|
||||||
#define FOR_STATE_2 56
|
|
||||||
#define CASE_STATE 57
|
|
||||||
#define COEXEC_STATE 58
|
|
||||||
#define COEXEC_STATE_2 59
|
|
||||||
#define COLOOP_STATE 60
|
|
||||||
#define COLOOP_STATE_2 61
|
|
||||||
#define DO_STATE 62
|
|
||||||
#define DO_STATE_1 63
|
|
||||||
#define DO_STATE_2 64
|
|
||||||
#define DO_STATE_3 65
|
|
||||||
#define DO_STATE_4 66
|
|
||||||
#define DO_STATE_5 67
|
|
||||||
#define DO_STATE_6 68
|
|
||||||
#define RETURN_STATE 70
|
|
||||||
#define RETURN_STATE_2 71
|
|
||||||
#define RETURN_STATE_3 72
|
|
||||||
#define GOTO_STATE 75
|
|
||||||
#define GOTO_STATE_2 76
|
|
||||||
#define SWITCH_STATE 80
|
|
||||||
#define SWITCH_STATE_2 81
|
|
||||||
#define STATE_ARG 82
|
|
||||||
#define BLOCK_STATE_WAITSEMI 83
|
|
||||||
#define TEMPLATE_STATE 84
|
|
||||||
#define TEMPLATE_STATE_2 85
|
|
||||||
#define CONSTR_STATE 86
|
|
||||||
/* for comments.c */
|
|
||||||
#define MAX_NESTED_SIZE 800
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* parameter for function body and struct declaration body */
|
|
||||||
#define NOT_SEEN 1
|
|
||||||
#define BEEN_SEEN 0
|
|
||||||
#define FUNCTION_BODY_APPEAR 700
|
|
||||||
|
|
||||||
/* parameter for find_type_symbol */
|
|
||||||
#define TYPE_ONLY 1 /* TYPE_NAME */
|
|
||||||
#define STRUCT_ONLY 2
|
|
||||||
#define VAR_ONLY 4
|
|
||||||
#define FIELD_ONLY 8
|
|
||||||
#define FUNCTION_NAME_ONLY 16
|
|
||||||
#define MEMBER_FUNC_ONLY 32
|
|
||||||
|
|
||||||
|
|
||||||
/*flag for the error message of lazy_install */
|
|
||||||
/* No More symbol, Alliant C compiler's symbol table is full */
|
|
||||||
/* #define NOW 1 */
|
|
||||||
/* #define DELAY 2 */
|
|
||||||
/* For symbptr->attr */
|
|
||||||
#define ATT_CLUSTER 0
|
|
||||||
#define ATT_GLOBAL 1
|
|
||||||
#define PURE 8
|
|
||||||
#define PRIVATE_FIELD 16
|
|
||||||
#define PROTECTED_FIELD 32
|
|
||||||
#define PUBLIC_FIELD 64
|
|
||||||
#define ELEMENT_FIELD 128
|
|
||||||
#define COLLECTION_FIELD 256
|
|
||||||
#define CONSTRUCTOR 512
|
|
||||||
#define DESTRUCTOR 1024
|
|
||||||
#define PCPLUSPLUS_DOSUBSET 2048
|
|
||||||
#define INVALID 4096
|
|
||||||
#define SUBCOLLECTION 4096*2
|
|
||||||
/* #define OVOPERATOR 4096*4 (defined in macro.h) (phb) */
|
|
||||||
#define VIRTUAL_DESTRUCTOR 4096*8 /* added by BW */
|
|
||||||
|
|
||||||
/* For find_type_symbol() */
|
|
||||||
/* for check_field_decl_3 */
|
|
||||||
#define ALL_FIELDS 1
|
|
||||||
#define CLASS_ONLY 2
|
|
||||||
#define COLLECTION_ONLY 3
|
|
||||||
#define ELEMENT_ONLY 4
|
|
||||||
#define FUNCTION_ONLY 5
|
|
||||||
|
|
||||||
/* for collection nested dimension */
|
|
||||||
#define MAX_NESTED_DIM 5
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define MAX_WINDOW 256
|
|
||||||
#define MAX_ARRAYREF 256
|
|
||||||
#define MAX_STEP 10000
|
|
||||||
#define NO_STEP 10000
|
|
||||||
struct WINDOW
|
|
||||||
{
|
|
||||||
int dimension;
|
|
||||||
int Array_Id[MAX_ARRAYREF];
|
|
||||||
int level;
|
|
||||||
int level_update;
|
|
||||||
char name[64];
|
|
||||||
char gain[128];
|
|
||||||
int coeff[MAXTILE][MAXTILE];
|
|
||||||
int inf[MAXTILE];
|
|
||||||
int sup[MAXTILE];
|
|
||||||
int nb_ref;
|
|
||||||
PTR_SYMB symb;
|
|
||||||
PTR_SYMB array_symbol;
|
|
||||||
PTR_SYMB pt;
|
|
||||||
int lambda[MAXTILE];
|
|
||||||
int delta[MAXTILE];
|
|
||||||
int size[MAXTILE];
|
|
||||||
int cst[MAXTILE];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct WINDOWS
|
|
||||||
{
|
|
||||||
int nb_windows;
|
|
||||||
int nb_loop;
|
|
||||||
int tile_order[MAXTILE];
|
|
||||||
int tile_sup[MAXTILE];
|
|
||||||
int tile_inf[MAXTILE];
|
|
||||||
int tile_bounds[MAXTILE];
|
|
||||||
struct WINDOW thewindow[MAX_WINDOW];
|
|
||||||
PTR_SYMB index[MAXTILE];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#define WINDS_NB(NODE) ((NODE).nb_windows)
|
|
||||||
#define WINDS_INDEX(NODE) ((NODE).index)
|
|
||||||
#define WINDS_NB_LOOP(NODE) ((NODE).nb_loop)
|
|
||||||
#define WINDS_TILE_INF(NODE) ((NODE).tile_inf)
|
|
||||||
#define WINDS_TILE_SUP(NODE) ((NODE).tile_sup)
|
|
||||||
#define WINDS_TILE_ORDER(NODE) ((NODE).tile_order)
|
|
||||||
#define WINDS_TILE_BOUNDS(NODE) ((NODE).tile_bounds)
|
|
||||||
#define WINDS_WINDOWS(NODE,NUM) (&((NODE).thewindow[NUM]))
|
|
||||||
|
|
||||||
#define WIND_DIM(NODE) ((NODE)->dimension)
|
|
||||||
#define WIND_ARRAY(NODE) ((NODE)->Array_Id)
|
|
||||||
#define WIND_LEVEL(NODE) ((NODE)->level)
|
|
||||||
#define WIND_LEVEL_UPDATE(NODE) ((NODE)->level_update)
|
|
||||||
#define WIND_NB_REF(NODE) ((NODE)->nb_ref)
|
|
||||||
#define WIND_SYMBOL(NODE) ((NODE)->symb)
|
|
||||||
#define WIND_POINTER(NODE) ((NODE)->pt)
|
|
||||||
#define WIND_NAME(NODE) ((NODE)->name)
|
|
||||||
#define WIND_GAIN(NODE) ((NODE)->gain)
|
|
||||||
#define WIND_COEFF(NODE) ((NODE)->coeff)
|
|
||||||
#define WIND_INF(NODE) ((NODE)->inf)
|
|
||||||
#define WIND_SUP(NODE) ((NODE)->sup)
|
|
||||||
#define WIND_LAMBDA(NODE) ((NODE)->lambda)
|
|
||||||
#define WIND_DELTA(NODE) ((NODE)->delta)
|
|
||||||
#define WIND_SIZE_DIM(NODE) ((NODE)->size)
|
|
||||||
#define WIND_DIM_CST(NODE) ((NODE)->cst)
|
|
||||||
#define WIND_ARRAY_SYMBOL(NODE) ((NODE)->array_symbol)
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
set(DVM_SAGE_INCLUDE_DIRS ${DVM_SAGE_INCLUDE_DIRS}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include)
|
|
||||||
set(DVM_SAGE_INCLUDE_DIRS ${DVM_SAGE_INCLUDE_DIRS} PARENT_SCOPE)
|
|
||||||
|
|
||||||
add_subdirectory(newsrc)
|
|
||||||
add_subdirectory(oldsrc)
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
## pC++/Sage++ Copyright (C) 1993 ##
|
|
||||||
## Indiana University University of Oregon University of Rennes ##
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# sage/lib/Makefile (phb)
|
|
||||||
|
|
||||||
SHELL = /bin/sh
|
|
||||||
INSTALL = /bin/cp
|
|
||||||
|
|
||||||
# Flags passed down to Makefiles in subdirectories
|
|
||||||
MFLAGS =
|
|
||||||
|
|
||||||
CC = gcc
|
|
||||||
#CC=cc#ENDIF##USE_CC#
|
|
||||||
|
|
||||||
CXX = g++
|
|
||||||
CXX = /usr/WorkShop/usr/bin/DCC
|
|
||||||
LINKER = $(CC)
|
|
||||||
|
|
||||||
NOP = echo
|
|
||||||
#C90#EXTRAOBJ=alloca-c90.o#ENDIF#
|
|
||||||
#C90#NOP = @/bin/rm -f alloca-c90.o#ENDIF#
|
|
||||||
|
|
||||||
SUBDIR1 = oldsrc newsrc
|
|
||||||
# Subdirectories to make resursively
|
|
||||||
SUBDIR = ${SUBDIR1}
|
|
||||||
|
|
||||||
all: ${SUBDIR} $(EXTRAOBJ)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(NOP)
|
|
||||||
for i in ${SUBDIR1}; do (cd $$i; $(MAKE) "MAKE=$(MAKE)" clean); done
|
|
||||||
|
|
||||||
install: FRC $(EXTRAOBJ)
|
|
||||||
@for i in ${SUBDIR1}; do (cd $$i; \
|
|
||||||
echo " *** COMPILING $$i DIRECTORY";\
|
|
||||||
$(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" install); done
|
|
||||||
|
|
||||||
# If you are on a C90, you will need the gnu alloca()
|
|
||||||
alloca-c90.o: alloca-c90.c
|
|
||||||
$(CC) -c alloca-c90.c
|
|
||||||
if [ -d c90 ] ; then true; \
|
|
||||||
else mkdir c90 ;fi
|
|
||||||
$(INSTALL) alloca-c90.o c90
|
|
||||||
|
|
||||||
.RECURSIVE: ${SUBDIR}
|
|
||||||
|
|
||||||
${SUBDIR}: FRC
|
|
||||||
@echo " *** COMPILING $@ DIRECTORY"; cd $@; \
|
|
||||||
$(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" all
|
|
||||||
|
|
||||||
FRC:
|
|
||||||
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Defines the data structure for attributes in sage
|
|
||||||
// attributes can be used to store any information for any statement, expression, symbol or types nodes
|
|
||||||
// F. Bodin Indiana July 94.
|
|
||||||
//
|
|
||||||
//
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
class SgAttribute{
|
|
||||||
private:
|
|
||||||
// the attribute data;
|
|
||||||
int type; // a label;
|
|
||||||
void *data; // the data;
|
|
||||||
int dataSize; // the size of the data in bytes to allow data to be copied;
|
|
||||||
SgAttribute *next; // to the next attribute of a statements (do that way or not??);
|
|
||||||
// link to sage node, allow to go from an attribute to sage stuffs;
|
|
||||||
typenode typeNode; // indicates if SgStatement, SgExpression, ... ptToSage is pointed to;
|
|
||||||
void *ptToSage; // pointer to SgStatement, SgExpression, ... ;
|
|
||||||
int fileNumber; // the file methods;
|
|
||||||
// the methods to access the structure of an attributes;
|
|
||||||
public:
|
|
||||||
SgAttribute(int t, void *pt, int size, SgStatement &st, int filenum);
|
|
||||||
SgAttribute(int t, void *pt, int size, SgSymbol &st, int filenum);
|
|
||||||
SgAttribute(int t, void *pt, int size, SgExpression &st, int filenum);
|
|
||||||
SgAttribute(int t, void *pt, int size, SgType &st, int filenum);
|
|
||||||
SgAttribute(int t, void *pt, int size, SgLabel &st, int filenum); //Kataev 21.03.2013
|
|
||||||
SgAttribute(int t, void *pt, int size, SgFile &st, int filenum); //Kataev 15.07.2013
|
|
||||||
SgAttribute(const SgAttribute& copy)
|
|
||||||
{
|
|
||||||
type = copy.type;
|
|
||||||
data = copy.data;
|
|
||||||
dataSize = copy.dataSize;
|
|
||||||
next = NULL;
|
|
||||||
typeNode = copy.typeNode;
|
|
||||||
ptToSage = copy.ptToSage;
|
|
||||||
fileNumber = copy.fileNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
~SgAttribute();
|
|
||||||
int getAttributeType();
|
|
||||||
void setAttributeType(int t);
|
|
||||||
void *getAttributeData();
|
|
||||||
void *setAttributeData(void *d);
|
|
||||||
int getAttributeSize();
|
|
||||||
void setAttributeSize(int s);
|
|
||||||
typenode getTypeNode();
|
|
||||||
void *getPtToSage();
|
|
||||||
void setPtToSage(void *sa);
|
|
||||||
void resetPtToSage();
|
|
||||||
void setPtToSage(SgStatement &st);
|
|
||||||
void setPtToSage(SgSymbol &st);
|
|
||||||
void setPtToSage(SgExpression &st);
|
|
||||||
void setPtToSage(SgType &st);
|
|
||||||
void setPtToSage(SgLabel &st); //Kataev 21.03.2013
|
|
||||||
void setPtToSage(SgFile &st); //Kataev 15.07.2013
|
|
||||||
SgStatement *getStatement();
|
|
||||||
SgExpression *getExpression();
|
|
||||||
SgSymbol *getSgSymbol();
|
|
||||||
SgType *getType();
|
|
||||||
SgLabel *getLabel(); //Kataev 21.03.2013
|
|
||||||
SgFile *getFile(); //Kataev 15.07.2013
|
|
||||||
int getfileNumber();
|
|
||||||
SgAttribute *copy();
|
|
||||||
SgAttribute *getNext();
|
|
||||||
void setNext(SgAttribute *s);
|
|
||||||
int listLenght();
|
|
||||||
SgAttribute *getInlist(int num);
|
|
||||||
void save(FILE *file);
|
|
||||||
void save(FILE *file, void (*savefunction)(void *dat,FILE *f));
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// The ATTRIBUTE TYPE ALREADY USED
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#define DEPENDENCE_ATTRIBUTE -1001
|
|
||||||
#define INDUCTION_ATTRIBUTE -1002
|
|
||||||
#define ACCESS_ATTRIBUTE -1003
|
|
||||||
#define DEPGRAPH_ATTRIBUTE -1004
|
|
||||||
#define USEDLIST_ATTRIBUTE -1005
|
|
||||||
#define DEFINEDLIST_ATTRIBUTE -1006
|
|
||||||
|
|
||||||
#define NOGARBAGE_ATTRIBUTE -1007
|
|
||||||
#define GARBAGE_ATTRIBUTE -1008
|
|
||||||
|
|
||||||
// store the annotation expression; it is then visible from the
|
|
||||||
// garbage collection
|
|
||||||
#define ANNOTATION_EXPR_ATTRIBUTE -1009
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,124 +0,0 @@
|
|||||||
// ----------------------------------
|
|
||||||
// Darryl Brown
|
|
||||||
// University of Oregon pC++/Sage++
|
|
||||||
//
|
|
||||||
// baseClasses.h - module for basic classes used by
|
|
||||||
// breakpoint modules.
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// ----------------------------------
|
|
||||||
|
|
||||||
//if already included, skip this file...
|
|
||||||
#ifdef BASE_CL_ALREADY_INCLUDED
|
|
||||||
// do nothing;
|
|
||||||
#else
|
|
||||||
#define BASE_CL_ALREADY_INCLUDED 1
|
|
||||||
|
|
||||||
|
|
||||||
// -------------------------------------------------------------;
|
|
||||||
// this class is the base pointer type of all elements ;
|
|
||||||
// stored in linked lists;
|
|
||||||
class brk_basePtr {
|
|
||||||
public:
|
|
||||||
|
|
||||||
virtual void print();
|
|
||||||
// this function should be overridden by later classes.;
|
|
||||||
virtual void print(int);
|
|
||||||
// this function should be overridden by later classes.;
|
|
||||||
virtual void printToBuf(int, char *);
|
|
||||||
// this function should be overridden by later classes.;
|
|
||||||
virtual void print(int t, FILE *fptr);
|
|
||||||
// this function should be overridden by later classes.;
|
|
||||||
virtual void printAll();
|
|
||||||
// this function should be overridden by later classes.;
|
|
||||||
virtual void printAll(int);
|
|
||||||
// this function should be overridden by later classes.;
|
|
||||||
#if 0
|
|
||||||
virtual void printAll(int, FILE *);
|
|
||||||
// this function should be overridden by later classes.;
|
|
||||||
virtual void printAll(FILE *);
|
|
||||||
// this function should be overridden by later classes.;
|
|
||||||
#endif
|
|
||||||
int (* userCompare)(brk_basePtr *, brk_basePtr *);
|
|
||||||
// this function should be overridden by later classes.;
|
|
||||||
virtual int compare(brk_basePtr *);
|
|
||||||
// this function should be overridden by later classes.;
|
|
||||||
brk_basePtr();
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// -------------------------------------------------------------
|
|
||||||
// the nodes of the linked lists kept for children and parents of each class;
|
|
||||||
class brk_ptrNode : public brk_basePtr {
|
|
||||||
public:
|
|
||||||
brk_ptrNode *next; // next node;
|
|
||||||
brk_ptrNode *prev; // previous node;
|
|
||||||
brk_basePtr *node; // the ptr to the hierarchy at this node;
|
|
||||||
|
|
||||||
// constructors;
|
|
||||||
brk_ptrNode (void);
|
|
||||||
brk_ptrNode (brk_basePtr *h);
|
|
||||||
virtual int compare(brk_basePtr *);
|
|
||||||
// compares this heirarchy with another alphabetically using className;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// -------------------------------------------------------------
|
|
||||||
// the class implementing the linked list for
|
|
||||||
class brk_linkedList : public brk_basePtr {
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
brk_ptrNode *end; // end of list;
|
|
||||||
brk_ptrNode *start; // start of list;
|
|
||||||
brk_ptrNode *current; // pointer to current element in list,
|
|
||||||
// used for traversal of list.;
|
|
||||||
int length; // length of list;
|
|
||||||
|
|
||||||
// constructor;
|
|
||||||
brk_linkedList();
|
|
||||||
|
|
||||||
// access functions;
|
|
||||||
void push (brk_basePtr *h); // push hierarchy h onto front of list;
|
|
||||||
void pushLast (brk_basePtr *h); // push hierarchy h onto back of list;
|
|
||||||
brk_basePtr *pop (); // remove and return the first element in list;
|
|
||||||
brk_basePtr *popLast (); // remove and return the last element in list;
|
|
||||||
brk_basePtr *searchList (); // begin traversal of list;
|
|
||||||
brk_basePtr *nextItem(); // give the next item in list during traversal;
|
|
||||||
brk_basePtr *remove (int i); // remove & return the i-th element of list;
|
|
||||||
brk_basePtr *getIth (int i); // return the i-th element of list;
|
|
||||||
brk_basePtr *insert(int i, brk_basePtr * p);
|
|
||||||
// insert *p at point i in list;
|
|
||||||
brk_ptrNode *findMember (brk_basePtr *); // look for this element and
|
|
||||||
// return the brk_ptrNode that points to it;
|
|
||||||
int memberNum(brk_ptrNode *); // what order does this element fall in list;
|
|
||||||
|
|
||||||
virtual void print(int); // print all elements;
|
|
||||||
virtual void print(int, FILE *ftpr); // print all elements;
|
|
||||||
virtual void print(); // print all elements;
|
|
||||||
virtual void printIth(int i); // print i-th element of list;
|
|
||||||
virtual void printToBuf(int, char *);
|
|
||||||
// this function should be overridden by later classes.;
|
|
||||||
void sort (); // sorts the list, elements must have compare function.,;
|
|
||||||
void sort(int (* compareFunc) (brk_basePtr *, brk_basePtr *));
|
|
||||||
virtual void swap(brk_ptrNode *l, brk_ptrNode *r);
|
|
||||||
// swaps these two basic elements
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// ---------------------------------------------------
|
|
||||||
// external declarations.
|
|
||||||
// ---------------------------------------------------
|
|
||||||
|
|
||||||
extern char * brk_stringSave(char * str);
|
|
||||||
extern int brk_strsame(char * str, char * str1);
|
|
||||||
extern void brk_printtabs(int tabs);
|
|
||||||
extern void brk_printtabs(int tabs, FILE *fptr);
|
|
||||||
// here is the endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,594 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/* format description
|
|
||||||
'_' stands for no.
|
|
||||||
'e' stands for control end statement
|
|
||||||
'd' declaration statement // what is not executable
|
|
||||||
DEFNODECODE(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10)
|
|
||||||
f1 : variant of the node
|
|
||||||
f2 : string that gives the name (not used yet)
|
|
||||||
f3 : kind of node (stmt, declaration); not used yet
|
|
||||||
f4 : number of child (2 if blob list2, 1 if cp, 0 if leaf)
|
|
||||||
f5 : type of the node BIFNODE...
|
|
||||||
-------- particular info ---------------
|
|
||||||
f6 : is a declaration node 'd' or executable 'e' ,'c' controlend
|
|
||||||
f7 : is a declarator node if bif node 's' (for structure, union , enum)
|
|
||||||
for low lewe node c indicate constant expression
|
|
||||||
f8 : has a symbol associated 's' valid for bif and llnode
|
|
||||||
f9 : is a control parent 'p' or a control end 'c'
|
|
||||||
f10: not used yet
|
|
||||||
*/
|
|
||||||
|
|
||||||
DEFNODECODE(GLOBAL,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(PROG_HEDR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(PROC_HEDR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(PROS_HEDR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(BASIC_BLOCK,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(CONTROL_END,"nodetext",'s',0,BIFNODE, 'c','_','_','_','_')
|
|
||||||
DEFNODECODE(IF_NODE,"nodetext",'s',2,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(WHERE_BLOCK_STMT,"nodetext",'s',2,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(ARITHIF_NODE,"nodetext",'s',0,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(LOGIF_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(FORALL_STAT,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(LOOP_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(FOR_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(PROCESS_DO_STAT,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(TRY_STAT,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(CATCH_STAT,"nodetext",'s',0,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(FORALL_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(WHILE_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(CDOALL_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SDOALL_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DOACROSS_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CDOACROSS_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(EXIT_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(GOTO_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ASSGOTO_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(COMGOTO_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PAUSE_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(STOP_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(ALLOCATE_STMT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DEALLOCATE_STMT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(NULLIFY_STMT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ASSIGN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(POINTER_ASSIGN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(M_ASSIGN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(PROC_STAT,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PROS_STAT,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PROS_STAT_LCTN,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PROS_STAT_SUBM,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ASSLAB_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SUM_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(MULT_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(MAX_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(MIN_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CAT_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OR_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(AND_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(READ_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(WRITE_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OTHERIO_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(BLOB,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SIZES,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
|
|
||||||
DEFNODECODE(FUNC_HEDR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(MODULE_STMT,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(USE_STMT,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(WHERE_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ALLDO_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(IDENTIFY,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FORMAT_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(STOP_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(RETURN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ELSEIF_NODE,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ELSEWH_NODE,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(INCLUDE_LINE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PREPROCESSOR_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
/*NO_OPnodes*/
|
|
||||||
DEFNODECODE(COMMENT_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(CONT_STAT,"nodetext",'s',0,BIFNODE, 'c','_','_','_','_')
|
|
||||||
DEFNODECODE(VAR_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(VAR_DECL_90,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(PARAM_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(COMM_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(EQUI_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(IMPL_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(DATA_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(SAVE_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(ENTRY_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(STMTFN_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(DIM_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(PROCESSORS_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(BLOCK_DATA,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(EXTERN_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(INTRIN_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(ENUM_DECL,"nodetext",'d',1,BIFNODE, 'd','e','_','_','_')
|
|
||||||
DEFNODECODE(CLASS_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
|
||||||
DEFNODECODE(TECLASS_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
|
||||||
DEFNODECODE(COLLECTION_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
|
||||||
DEFNODECODE(TEMPLATE_FUNDECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
|
||||||
DEFNODECODE(TEMPLATE_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
|
||||||
DEFNODECODE(UNION_DECL,"nodetext",'d',1,BIFNODE, 'd','u','_','_','_')
|
|
||||||
DEFNODECODE(STRUCT_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
|
||||||
DEFNODECODE(DERIVED_CLASS_DECL,"nodetext",'d',1,BIFNODE,'d','_','_','_','_')
|
|
||||||
DEFNODECODE(EXPR_STMT_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DO_WHILE_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SWITCH_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CASE_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DEFAULT_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(BREAK_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CONTINUE_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(RETURN_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ASM_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPAWN_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PARFOR_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PAR_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(LABEL_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PROS_COMM,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(ATTR_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(NAMELIST_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(PROCESSES_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PROCESSES_END,"nodetext",'s',0,BIFNODE, 'c','_','_','_','_')
|
|
||||||
DEFNODECODE(INPORT_DECL,"nodetext",'d',2,BIFNODE, 'd','-','_','_','_')
|
|
||||||
DEFNODECODE(OUTPORT_DECL,"nodetext",'d',2,BIFNODE, 'd','-','_','_','_')
|
|
||||||
DEFNODECODE(CHANNEL_STAT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
|
||||||
DEFNODECODE(MERGER_STAT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
|
||||||
DEFNODECODE(MOVE_PORT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
|
||||||
DEFNODECODE(SEND_STAT,"nodetext",'s',2,BIFNODE, 'e','-','_','_','_')
|
|
||||||
DEFNODECODE(RECEIVE_STAT,"nodetext",'s',2,BIFNODE, 'e','-','_','_','_')
|
|
||||||
DEFNODECODE(ENDCHANNEL_STAT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
|
||||||
DEFNODECODE(PROBE_STAT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
|
||||||
DEFNODECODE(INTENT_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(PRIVATE_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(PUBLIC_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(OPTIONAL_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(ALLOCATABLE_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(POINTER_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(TARGET_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(STATIC_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(MODULE_PROC_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(INTERFACE_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(INTERFACE_OPERATOR,"nodetext",'s',0,BIFNODE,'d','_','_','_','_')
|
|
||||||
DEFNODECODE(INTERFACE_ASSIGNMENT,"nodetext",'s',0,BIFNODE,'d','_','_','_','_')
|
|
||||||
DEFNODECODE(SEQUENCE_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
|
|
||||||
/*****************variant tags for low level nodes********************/
|
|
||||||
|
|
||||||
DEFNODECODE(INT_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
|
||||||
DEFNODECODE(FLOAT_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
|
||||||
DEFNODECODE(DOUBLE_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
|
||||||
DEFNODECODE(BOOL_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
|
||||||
DEFNODECODE(CHAR_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
|
||||||
DEFNODECODE(STRING_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
|
||||||
DEFNODECODE(KEYWORD_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
|
||||||
DEFNODECODE(COMPLEX_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(CONST_REF,"nodetext",'r',0,LLNODE, '_','_','s','_','_')
|
|
||||||
DEFNODECODE(VAR_REF,"nodetext",'r',0,LLNODE, '_','_','s','_','_')
|
|
||||||
DEFNODECODE(ARRAY_REF,"nodetext",'r',1,LLNODE, '_','_','s','_','_')
|
|
||||||
DEFNODECODE(PROCESSORS_REF,"nodetext",'r',1,LLNODE, '_','_','s','_','_')
|
|
||||||
DEFNODECODE(RECORD_REF,"nodetext",'r',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(STRUCTURE_CONSTRUCTOR,"nodetext",'r',1,LLNODE, '_','_','s','_','_')
|
|
||||||
DEFNODECODE(CONSTRUCTOR_REF,"nodetext",'r',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ENUM_REF,"nodetext",'r',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(LABEL_REF,"nodetext",'r',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(TYPE_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PORT_TYPE_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(INPORT_TYPE_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OUTPORT_TYPE_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(TYPE_REF,"nodetext",'e',0,LLNODE, '_','_','s','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(VAR_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(EXPR_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(RANGE_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CASE_CHOICE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DEF_CHOICE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(VARIANT_CHOICE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(DDOT,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(KEYWORD_ARG,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(RANGE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FORALL_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(UPPER_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(LOWER_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(EQ_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(LT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(GT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(NOTEQL_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(LTEQL_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(GTEQL_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(ADD_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SUBT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OR_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(MULT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DIV_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(MOD_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(AND_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(EXP_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ARRAY_MULT,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CONCAT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(XOR_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(EQV_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(NEQV_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(MINUS_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(NOT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DEREF_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(RENAME_NODE,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ONLY_NODE,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(POINTST_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FUNCTION_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(MINUSMINUS_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PLUSPLUS_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(BITAND_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(BITOR_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DIMENSION_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ALLOCATABLE_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PARAMETER_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(TARGET_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(STATIC_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SAVE_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(POINTER_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(INTRINSIC_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OPTIONAL_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(EXTERNAL_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PRIVATE_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PUBLIC_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(IN_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OUT_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(INOUT_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(LABEL_ARG,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(STAR_RANGE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(PROC_CALL,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
|
||||||
DEFNODECODE(PROS_CALL,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
|
||||||
DEFNODECODE(FUNC_CALL,"nodetext",'e',1,LLNODE, '_','_','s','_','_')
|
|
||||||
DEFNODECODE(OVERLOADED_CALL,"nodetext",'e',1,LLNODE, '_','_','s','_','_')
|
|
||||||
DEFNODECODE(THROW_OP,"nodetext",'e',1,LLNODE, '_','_','s','_','_')
|
|
||||||
DEFNODECODE(DEFINED_OP,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(ACCESS_REF,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CONS,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACCESS,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(IOACCESS,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CONTROL_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SEQ,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPEC_PAIR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(COMM_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(STMT_STR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(EQUI_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(IMPL_TYPE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(STMTFN_DECL,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(BIT_COMPLEMENT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(EXPR_IF,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(EXPR_IF_BODY,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FUNCTION_REF,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
|
||||||
DEFNODECODE(LSHIFT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(RSHIFT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(UNARY_ADD_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SIZE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(INTEGER_DIV_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SUB_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(LE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(GE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(NE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(CLASSINIT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CAST_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ADDRESS_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(POINSTAT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(COPY_NODE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(INIT_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(VECTOR_CONST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(BIT_NUMBER,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ARITH_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ARRAY_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(NEW_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DELETE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(NAMELIST_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(INPORT_NAME,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(OUTPORT_NAME,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(FROMPORT_NAME,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(TOPORT_NAME,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(IOSTAT_STORE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(EMPTY_STORE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(ERR_LABEL,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(END_LABEL,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(DATA_IMPL_DO,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DATA_ELT,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DATA_SUBS,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DATA_RANGE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ICON_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
/* new tag for some expression */
|
|
||||||
|
|
||||||
DEFNODECODE(CEIL_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(MAX_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(BIF_SAVE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(MIN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(BIF_ADDR_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(BIF_NOP_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(BIF_RTL_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(TRUNC_MOD_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(TRUNC_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FLOOR_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FLOOR_MOD_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CEIL_MOD_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ROUND_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ROUND_MOD_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(RDIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(EXACT_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CONVERT_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CONST_DECL,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ABS_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(TRUTH_ANDIF_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(TRUTH_AND_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(TRUTH_NOT_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(TRUTH_ORIF_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PREINCREMENT_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PREDECREMENT_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(COMPOUND_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FLOAT_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(BIT_IOR_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(BIT_XOR_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(BIT_ANDTC_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(TRUTH_OR_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FIX_TRUNC_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(RROTATE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(LROTATE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(RANGE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(POSTDECREMENT_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(REFERENCE_TYPE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FIX_FLOOR_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FIX_ROUND_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FIX_CEIL_EXPR ,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FUNCTION_DECL ,"nodetext",'d',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(MODIFY_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(REFERENCE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(RESULT_DECL,"nodetext",'d',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PARM_DECL,"nodetext",'d',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(LEN_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(THIS_NODE,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SCOPE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PLUS_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(MINUS_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(AND_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(IOR_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(MULT_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DIV_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(MOD_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(XOR_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(LSHIFT_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(RSHIFT_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ARROWSTAR_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DOTSTAR_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(FORDECL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OPERATOR_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ASSIGNMENT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(KIND_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(LENGTH_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(RECURSIVE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ELEMENTAL_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PURE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
/* DVM tags */
|
|
||||||
DEFNODECODE(BLOCK_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(INDIRECT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DERIVED_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(NEW_SPEC_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(REDUCTION_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SHADOW_RENEW_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SHADOW_START_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SHADOW_WAIT_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DIAG_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(REMOTE_ACCESS_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(TEMPLATE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(PROCESSORS_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DYNAMIC_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ALIGN_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DISTRIBUTE_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SHADOW_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SHADOW_COMP_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(INDIRECT_ACCESS_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACROSS_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(NEW_VALUE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CONSISTENT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(STAGE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(COMMON_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_CALL_OP,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
|
||||||
DEFNODECODE(ACC_DEVICE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_SHARED_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_CONSTANT_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_VALUE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_HOST_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_GLOBAL_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_ATTRIBUTES_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_PRIVATE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_CUDA_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_CUDA_BLOCK_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_PRIVATE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_INOUT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_IN_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_OUT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_LOCAL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_INLOCAL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_TARGETS_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_ASYNC_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SHADOW_NAMES_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_TIE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DUMMY_REF, "nodetext",'r',0,LLNODE, '_','_','s','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_CALL_STMT,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(DVM_NEW_VALUE_DIR,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_ROUTINE_DIR,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(ACC_DECLARE_DIR,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
/* SAPFOR */
|
|
||||||
DEFNODECODE(SPF_NOINLINE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_FISSION_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_EXPAND_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_SHRINK_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_TYPE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_VARLIST_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_EXCEPT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_FILES_COUNT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_INTERVAL_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_TIME_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_ITER_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_FLEXIBLE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_PARAMETER_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_CODE_COVERAGE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_UNROLL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_COVER_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_MERGE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_PROCESS_PRIVATE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_WEIGHT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(SPF_ANALYSIS_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_PARALLEL_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_TRANSFORM_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_PARALLEL_REG_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_END_PARALLEL_REG_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_CHECKPOINT_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
/* OpenMP Fortran tags */
|
|
||||||
DEFNODECODE(OMP_NOWAIT, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_NUM_THREADS, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_IF, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_ORDERED, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_DEFAULT, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_SCHEDULE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_PRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_REDUCTION, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_FIRSTPRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_LASTPRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_SHARED, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_COPYIN, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_COPYPRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_COLLAPSE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_THREADPRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_PARALLEL_DIR,"nodetext",'s',0,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_END_PARALLEL_DIR,"nodetext",'s',0,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_DO_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_END_DO_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_SECTIONS_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_END_SECTIONS_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_SECTION_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_SINGLE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_END_SINGLE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_WORKSHARE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_END_WORKSHARE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_PARALLEL_DO_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_END_PARALLEL_DO_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_PARALLEL_SECTIONS_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_END_PARALLEL_SECTIONS_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_PARALLEL_WORKSHARE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_END_PARALLEL_WORKSHARE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_MASTER_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_END_MASTER_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_CRITICAL_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_END_CRITICAL_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_BARRIER_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_ATOMIC_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_FLUSH_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_ORDERED_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_END_ORDERED_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_THREADPRIVATE_DIR, "nodetext",'d',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(RECORD_DECL,"nodetext",'d',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(FUNC_STAT,"nodetext",'d',0,BIFNODE, 'd','_','_','_','_')
|
|
||||||
DEFNODECODE(POINTER_ASSIGN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(CYCLE_STMT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OMP_ONETHREAD_DIR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
|
||||||
/*****************variant tags for symbol table entries********************/
|
|
||||||
|
|
||||||
DEFNODECODE(BIF_PARM_DECL,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(CONST_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(ENUM_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(FIELD_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(VARIABLE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(TYPE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(PROGRAM_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(PROCEDURE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(PROCESS_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(VAR_FIELD,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(LABEL_VAR,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(FUNCTION_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(MEMBER_FUNC,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(CLASS_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(TECLASS_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(UNION_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(STRUCT_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(LABEL_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(COLLECTION_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(ROUTINE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(CONSTRUCT_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(INTERFACE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(MODULE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(COMMON_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(SPF_REGION_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(DEFAULT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_INT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_FLOAT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_DOUBLE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_CHAR,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_BOOL,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_STRING,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_COMPLEX,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_DCOMPLEX,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_LONG,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(T_ENUM,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_SUBRANGE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_LIST,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_ARRAY,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_RECORD,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_ENUM_FIELD,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_UNKNOWN,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_VOID,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_DESCRIPT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_FUNCTION,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_POINTER,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_UNION,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_STRUCT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_CLASS,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_TECLASS,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_DERIVED_CLASS,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_DERIVED_TYPE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_COLLECTION,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_DERIVED_COLLECTION,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_MEMBER_POINTER,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_GATE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_EVENT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_SEQUENCE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_DERIVED_TEMPLATE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_REFERENCE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(LOCAL,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(INPUT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(OUTPUT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(IO,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
|
||||||
|
|
||||||
@@ -1,117 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* declaration for the dependencies computation and use in the toolbox */
|
|
||||||
|
|
||||||
/* on declare de macro d'acces aux dependence de donnee */
|
|
||||||
|
|
||||||
#define BIF_DEP_STRUCT1(NODE) ((NODE)->entry.Template.dep_ptr1)
|
|
||||||
#define BIF_DEP_STRUCT2(NODE) ((NODE)->entry.Template.dep_ptr2)
|
|
||||||
|
|
||||||
#define FIRST_DEP_IN_PROJ(X) ((X)->head_dep)
|
|
||||||
/* decription d'une dependance */
|
|
||||||
|
|
||||||
#define DEP_ID(DEP) ((DEP)->id)
|
|
||||||
#define DEP_NEXT(DEP) ((DEP)->thread)
|
|
||||||
#define DEP_TYPE(DEP) ((DEP)->type)
|
|
||||||
#define DEP_DIRECTION(DEP) ((DEP)->direct)
|
|
||||||
#define DEP_SYMB(DEP) ((DEP)->symbol)
|
|
||||||
#define DEP_FROM_BIF(DEP) (((DEP)->from).stmt)
|
|
||||||
#define DEP_FROM_LL(DEP) (((DEP)->from).refer)
|
|
||||||
#define DEP_TO_BIF(DEP) (((DEP)->to).stmt)
|
|
||||||
#define DEP_TO_LL(DEP) (((DEP)->to).refer)
|
|
||||||
#define DEP_FROM_FWD(DEP) ((DEP)->from_fwd)
|
|
||||||
#define DEP_FROM_BACK(DEP) ((DEP)->from_back)
|
|
||||||
#define DEP_TO_FWD(DEP) ((DEP)->to_fwd)
|
|
||||||
#define DEP_TO_BACK(DEP) ((DEP)->to_back)
|
|
||||||
|
|
||||||
|
|
||||||
/* la forme normale de dependence de donnee est le vecteur de direction */
|
|
||||||
|
|
||||||
/* on rappel temporairement la forme des dep (sets.h)
|
|
||||||
struct dep { data dependencies
|
|
||||||
|
|
||||||
int id; identification for reading/writing
|
|
||||||
PTR_DEP thread;
|
|
||||||
|
|
||||||
char type; flow-, output-, or anti-dependence
|
|
||||||
char direct[MAX_DEP]; direction/distance vector
|
|
||||||
|
|
||||||
PTR_SYMB symbol; symbol table entry
|
|
||||||
struct ref from; tail of dependence
|
|
||||||
struct ref to; head of dependence
|
|
||||||
|
|
||||||
PTR_DEP from_fwd, from_back; list of dependencies going to tail
|
|
||||||
PTR_DEP to_fwd, to_back; list of dependencies going to head
|
|
||||||
|
|
||||||
} ;
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* pour la gestion memoire */
|
|
||||||
struct chaining
|
|
||||||
{
|
|
||||||
char *zone;
|
|
||||||
struct chaining *list;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct chaining *ptchaining;
|
|
||||||
|
|
||||||
|
|
||||||
struct stack_chaining
|
|
||||||
{
|
|
||||||
ptchaining first;
|
|
||||||
ptchaining last;
|
|
||||||
struct stack_chaining *prev;
|
|
||||||
struct stack_chaining *next;
|
|
||||||
int level;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct stack_chaining *ptstack_chaining;
|
|
||||||
|
|
||||||
/* structure pour les graphes de dependence */
|
|
||||||
#define MAXSUC 100
|
|
||||||
|
|
||||||
struct graph
|
|
||||||
{
|
|
||||||
int id; /* identificateur */
|
|
||||||
int linenum;
|
|
||||||
int mark;
|
|
||||||
int order;
|
|
||||||
PTR_BFND stmt;
|
|
||||||
PTR_LLND expr;
|
|
||||||
PTR_LLND from_expr[MAXSUC];
|
|
||||||
PTR_LLND to_expr[MAXSUC];
|
|
||||||
PTR_DEP dep_struct[MAXSUC];
|
|
||||||
char *dep_vect[MAXSUC];
|
|
||||||
char type[MAXSUC];
|
|
||||||
struct graph *suc[MAXSUC]; /* next */
|
|
||||||
struct graph *pred[MAXSUC]; /* next */
|
|
||||||
struct graph *list; /* chaine les noeuds d'un graphe */
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct graph *PTR_GRAPH;
|
|
||||||
|
|
||||||
#define CHAIN_LIST(NODE) ((NODE)->list)
|
|
||||||
#define GRAPH_ID(NODE) ((NODE)->id)
|
|
||||||
#define GRAPH_ORDER(NODE) ((NODE)->order)
|
|
||||||
#define GRAPH_MARK(NODE) ((NODE)->mark)
|
|
||||||
#define GRAPH_LINE(NODE) ((NODE)->linenum)
|
|
||||||
#define GRAPH_BIF(NODE) ((NODE)->stmt)
|
|
||||||
#define GRAPH_LL(NODE) ((NODE)->expr)
|
|
||||||
#define GRAPH_DEP(NODE) (((NODE)->dep_struct))
|
|
||||||
#define GRAPH_VECT(NODE) (((NODE)->dep_vect))
|
|
||||||
#define GRAPH_TYPE(NODE) ((NODE)->type)
|
|
||||||
#define GRAPH_SUC(NODE) (((NODE)->suc))
|
|
||||||
#define GRAPH_PRED(NODE) (((NODE)->pred))
|
|
||||||
#define GRAPH_LL_FROM(NODE) (((NODE)->from_expr))
|
|
||||||
#define GRAPH_LL_TO(NODE) (((NODE)->to_expr))
|
|
||||||
|
|
||||||
|
|
||||||
#define NOT_ORDERED -1
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
extern char *Unparse_Annotation();
|
|
||||||
extern PTR_LLND Parse_Annotation();
|
|
||||||
extern Is_Annotation();
|
|
||||||
extern Is_Annotation_Cont();
|
|
||||||
extern char * Get_Annotation_String();
|
|
||||||
extern char * Get_to_Next_Annotation_String();
|
|
||||||
extern Init_Annotation();
|
|
||||||
extern PTR_LLND Get_Define_Field();
|
|
||||||
extern char * Get_Define_Label_Field();
|
|
||||||
extern char * Get_Label_Field();
|
|
||||||
extern PTR_LLND Get_ApplyTo_Field();
|
|
||||||
extern PTR_LLND Get_ApplyToIf_Field();
|
|
||||||
extern PTR_LLND Get_LocalVar_Field();
|
|
||||||
extern PTR_LLND Get_Annotation_Field();
|
|
||||||
extern char * Get_Annotation_Field_Label();
|
|
||||||
extern char * Does_Annotation_Defines();
|
|
||||||
extern int Set_The_Define_Field();
|
|
||||||
extern int Get_Annotation_With_Label();
|
|
||||||
extern Get_Scope_Of_Annotation();
|
|
||||||
extern Propagate_defined_value();
|
|
||||||
extern PTR_LLND Does_Annotation_Apply();
|
|
||||||
extern PTR_LLND Get_Annotation_Field_List_For_Stmt();
|
|
||||||
extern PTR_LLND Get_Annotation_List_For_Stmt();
|
|
||||||
extern Get_Number_of_Annotation();
|
|
||||||
extern PTR_BFND Get_Annotation_Bif();
|
|
||||||
extern PTR_LLND Get_Annotation_Expr();
|
|
||||||
extern char * Get_String_of_Annotation();
|
|
||||||
extern PTR_CMNT Get_Annotation_Comment();
|
|
||||||
extern int Is_Annotation_Defined();
|
|
||||||
extern char * Annotation_Defines_string();
|
|
||||||
extern int Annotation_Defines_string_Value();
|
|
||||||
extern PTR_LLND Annotation_LLND[];
|
|
||||||
extern PTR_TYPE global_int_annotation;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
extern int tiling_p ();/*non implante, mais ne plante pas*/
|
|
||||||
extern void tiling ();
|
|
||||||
extern void strip_mining ();
|
|
||||||
|
|
||||||
extern PTR_BLOB Distribute_Loop ();
|
|
||||||
extern PTR_BLOB Distribute_Loop_SCC ();
|
|
||||||
extern Loop_Fusion ();
|
|
||||||
extern Unroll_Loop ();
|
|
||||||
extern Interchange_Loops ();
|
|
||||||
|
|
||||||
extern Compute_With_Maple ();
|
|
||||||
extern Unimodular ();
|
|
||||||
|
|
||||||
extern Expand_Scalar ();
|
|
||||||
extern PTR_BFND Scalar_Forward_Substitution ();
|
|
||||||
|
|
||||||
extern int Normalized ();
|
|
||||||
extern Normalize_Loop ();
|
|
||||||
|
|
||||||
extern int Vectorize ();
|
|
||||||
extern int Vectorize_Nest ();
|
|
||||||
|
|
||||||
extern Print_Property_For_Loop ();
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
extern PTR_FILE cur_file;
|
|
||||||
extern char *main_input_filename; /*not find in lib*/
|
|
||||||
extern PTR_PROJ cur_proj; /* pointer to the project header */
|
|
||||||
extern char *cunparse_bfnd();
|
|
||||||
extern char *cunparse_llnd();
|
|
||||||
extern char *funparse_bfnd();
|
|
||||||
extern char *funparse_llnd();
|
|
||||||
extern char *cunparse_blck();
|
|
||||||
extern char *funparse_blck();
|
|
||||||
extern PTR_SYMB Current_Proc_Graph_Symb; /*not find in lib*/
|
|
||||||
|
|
||||||
/*extern FILE *finput;
|
|
||||||
extern FILE *outfile;*/
|
|
||||||
|
|
||||||
extern char node_code_type[];
|
|
||||||
extern int node_code_length[];
|
|
||||||
extern enum typenode node_code_kind[];
|
|
||||||
@@ -1,269 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/* DO NOT EDIT THIS FILE! */
|
|
||||||
/* This file was automatically created by /u/sage/bin/mkCextern */
|
|
||||||
/* Source file: /u/sage/project/sage/lib/newsrc/low_level.c */
|
|
||||||
/* Created on Mon Jul 11 13:40:50 EST 1994 (phb) */
|
|
||||||
extern POINTER newNode();
|
|
||||||
extern PTR_BFND FindNearBifNode();
|
|
||||||
extern PTR_BFND Get_Last_Node_Of_Project();
|
|
||||||
extern PTR_BFND Get_bif_with_id();
|
|
||||||
extern PTR_BFND GetcountInStmtNode1();
|
|
||||||
extern PTR_BFND LibGetScopeForDeclare();
|
|
||||||
extern PTR_BFND LibWhereIsSymbDeclare();
|
|
||||||
extern PTR_BFND LibcreateCollectionWithType();
|
|
||||||
extern PTR_BFND LibdeleteStmt();
|
|
||||||
extern PTR_BFND LibextractStmt();
|
|
||||||
extern PTR_BFND LibextractStmtBody();
|
|
||||||
extern PTR_BFND LibfirstElementMethod();
|
|
||||||
extern PTR_BFND LibgetInnermostLoop();
|
|
||||||
extern PTR_BFND LibgetNextNestedLoop();
|
|
||||||
extern PTR_BFND LibgetPreviousNestedLoop();
|
|
||||||
extern PTR_BFND LiblastDeclaration();
|
|
||||||
extern PTR_BFND LocalRedoBifNextChain();
|
|
||||||
extern PTR_BFND Redo_Bif_Next_Chain_Internal();
|
|
||||||
extern PTR_BFND childfInBlobList();
|
|
||||||
extern PTR_BFND computeControlParent();
|
|
||||||
extern PTR_BFND deleteBfnd();
|
|
||||||
extern PTR_BFND deleteBfndFromBlobAndLabel();
|
|
||||||
extern PTR_BFND duplicateOneStmt();
|
|
||||||
extern PTR_BFND duplicateStmts();
|
|
||||||
extern PTR_BFND duplicateStmtsBlock();
|
|
||||||
extern PTR_BFND duplicateStmtsNoExtract();
|
|
||||||
extern PTR_BFND extractBifSectionBetween();
|
|
||||||
extern PTR_BFND getBodyOfSymb();
|
|
||||||
extern PTR_BFND getFirstStmt();
|
|
||||||
extern PTR_BFND getFuncScope();
|
|
||||||
extern PTR_BFND getFunctionHeader();
|
|
||||||
extern PTR_BFND getFunctionHeaderAllFile();
|
|
||||||
extern PTR_BFND getFunctionNumHeader();
|
|
||||||
extern PTR_BFND getGlobalFunctionHeader();
|
|
||||||
extern PTR_BFND getLastNodeList();
|
|
||||||
extern PTR_BFND getLastNodeOfStmt();
|
|
||||||
extern PTR_BFND getLastNodeOfStmtNoControlEnd();
|
|
||||||
extern PTR_BFND getMainProgram();
|
|
||||||
extern PTR_BFND getNodeBefore();
|
|
||||||
extern PTR_BFND getObjectStmt();
|
|
||||||
extern PTR_BFND getScopeForLabel();
|
|
||||||
extern PTR_BFND getStatementNumber();
|
|
||||||
extern PTR_BFND getStructNumHeader();
|
|
||||||
extern PTR_BFND getWhereToInsertInBfnd();
|
|
||||||
extern PTR_BFND lastBifInBlobList();
|
|
||||||
extern PTR_BFND lastBifInBlobList1();
|
|
||||||
extern PTR_BFND lastBifInBlobList2();
|
|
||||||
extern PTR_BFND makeDeclStmt();
|
|
||||||
extern PTR_BFND makeDeclStmtWPar();
|
|
||||||
extern PTR_BFND rec_num_near_search();
|
|
||||||
extern PTR_BLOB appendBlob();
|
|
||||||
extern PTR_BLOB deleteBfndFrom();
|
|
||||||
extern PTR_BLOB getLabelUDChain();
|
|
||||||
extern PTR_BLOB lastBlobInBlobList();
|
|
||||||
extern PTR_BLOB lastBlobInBlobList1();
|
|
||||||
extern PTR_BLOB lastBlobInBlobList2();
|
|
||||||
extern PTR_BLOB lookForBifInBlobList();
|
|
||||||
extern PTR_CMNT Get_cmnt_with_id();
|
|
||||||
extern PTR_FILE GetFileWithNum();
|
|
||||||
extern PTR_FILE GetPointerOnFile();
|
|
||||||
extern PTR_LABEL Get_label_with_id();
|
|
||||||
extern PTR_LABEL getLastLabel();
|
|
||||||
extern PTR_LLND Follow_Llnd();
|
|
||||||
extern PTR_LLND Follow_Llnd0();
|
|
||||||
extern PTR_LLND Get_First_Parameter_For_Call();
|
|
||||||
extern PTR_LLND Get_Second_Parameter_For_Call();
|
|
||||||
extern PTR_LLND Get_Th_Parameter_For_Call();
|
|
||||||
extern PTR_LLND Get_ll_with_id();
|
|
||||||
extern PTR_LLND LibIsSymbolInExpression();
|
|
||||||
extern PTR_LLND LibarrayRefs();
|
|
||||||
extern PTR_LLND LibsymbRefs();
|
|
||||||
extern PTR_LLND Make_Function_Call();
|
|
||||||
extern PTR_LLND addLabelRefToExprList();
|
|
||||||
extern PTR_LLND addSymbRefToExprList();
|
|
||||||
extern PTR_LLND addToExprList();
|
|
||||||
extern PTR_LLND addToList();
|
|
||||||
extern PTR_LLND copyLlNode();
|
|
||||||
extern PTR_LLND deleteNodeInExprList();
|
|
||||||
extern PTR_LLND deleteNodeWithItemInExprList();
|
|
||||||
extern PTR_LLND findPtrRefExp();
|
|
||||||
extern PTR_LLND getPositionInExprList();
|
|
||||||
extern PTR_LLND getPositionInList();
|
|
||||||
extern PTR_LLND giveLlSymbInDeclList();
|
|
||||||
extern PTR_LLND makeDeclExp();
|
|
||||||
extern PTR_LLND makeDeclExpWPar();
|
|
||||||
extern PTR_LLND makeInt();
|
|
||||||
extern PTR_LLND newExpr();
|
|
||||||
extern PTR_SYMB GetThOfFieldList();
|
|
||||||
extern PTR_SYMB GetThOfFieldListForType();
|
|
||||||
extern PTR_SYMB GetThParam();
|
|
||||||
extern PTR_SYMB Get_Symb_with_id();
|
|
||||||
extern PTR_SYMB doesClassInherit();
|
|
||||||
extern PTR_SYMB duplicateParamList();
|
|
||||||
extern PTR_SYMB duplicateSymbol();
|
|
||||||
extern PTR_SYMB duplicateSymbolAcrossFiles();
|
|
||||||
extern PTR_SYMB duplicateSymbolLevel1();
|
|
||||||
extern PTR_SYMB duplicateSymbolLevel2();
|
|
||||||
extern PTR_SYMB getClassNextFieldOrMember();
|
|
||||||
extern PTR_SYMB getFieldOfStructWithName();
|
|
||||||
extern PTR_SYMB getFirstFieldOfStruct();
|
|
||||||
extern PTR_SYMB getSymbolWithName();
|
|
||||||
extern PTR_SYMB getSymbolWithNameInScope();
|
|
||||||
extern PTR_SYMB lookForNameInParamList();
|
|
||||||
extern PTR_SYMB newSymbol();
|
|
||||||
extern PTR_TYPE FollowTypeBaseAndDerived();
|
|
||||||
extern PTR_TYPE GetAtomicType();
|
|
||||||
extern PTR_TYPE Get_type_with_id();
|
|
||||||
extern PTR_TYPE addToBaseTypeList();
|
|
||||||
extern PTR_TYPE createDerivedCollectionType();
|
|
||||||
extern PTR_TYPE duplicateType();
|
|
||||||
extern PTR_TYPE duplicateTypeAcrossFiles();
|
|
||||||
extern PTR_TYPE getDerivedTypeWithName();
|
|
||||||
extern PTR_TYPE lookForInternalBasetype();
|
|
||||||
extern PTR_TYPE lookForTypeDescript();
|
|
||||||
extern char *allocateFreeListNodeExpression();
|
|
||||||
extern char* Get_Function_Name_For_Call();
|
|
||||||
extern char* Remove_Carriage_Return();
|
|
||||||
extern char* UnparseTypeBuffer();
|
|
||||||
extern char* filter();
|
|
||||||
extern char* mymalloc();
|
|
||||||
extern char* xmalloc();
|
|
||||||
extern int Apply_To_Bif();
|
|
||||||
extern int Check_Lang_C();
|
|
||||||
extern int Check_Lang_Fortran();
|
|
||||||
extern int GetFileNum();
|
|
||||||
extern int GetFileNumWithPt();
|
|
||||||
extern int Init_Tool_Box();
|
|
||||||
extern int IsRefToSymb();
|
|
||||||
extern int Is_String_Val_With_Val();
|
|
||||||
extern int LibClanguage();
|
|
||||||
extern int LibFortranlanguage();
|
|
||||||
extern int LibIsSymbolInScope();
|
|
||||||
extern int LibIsSymbolReferenced();
|
|
||||||
extern int LibisEnddoLoop();
|
|
||||||
extern int LibisMethodOfElement();
|
|
||||||
extern int LibnumberOfFiles();
|
|
||||||
extern int LibperfectlyNested();
|
|
||||||
extern void Message();
|
|
||||||
extern int Replace_String_In_Expression();
|
|
||||||
extern int appendBfndListToList1();
|
|
||||||
extern int appendBfndListToList2();
|
|
||||||
extern int appendBfndToList();
|
|
||||||
extern int appendBfndToList1();
|
|
||||||
extern int appendBfndToList2();
|
|
||||||
extern int arraySymbol();
|
|
||||||
extern int blobListLength();
|
|
||||||
extern int buildLinearRep();
|
|
||||||
extern int buildLinearRepSign();
|
|
||||||
extern int convertToEnddoLoop();
|
|
||||||
extern int countInStmtNode1();
|
|
||||||
extern int countInStmtNode2();
|
|
||||||
extern int exprListLength();
|
|
||||||
extern int findBif();
|
|
||||||
extern int findBifInList1();
|
|
||||||
extern int findBifInList2();
|
|
||||||
extern int firstBfndInList1();
|
|
||||||
extern int firstBfndInList2();
|
|
||||||
extern int firstInBfndList2();
|
|
||||||
extern int getElementEvaluate();
|
|
||||||
extern int getLastLabelId();
|
|
||||||
extern int getNumberOfFunction();
|
|
||||||
extern int getNumberOfStruct();
|
|
||||||
extern int getTypeNumDimension();
|
|
||||||
extern int hasNodeASymb();
|
|
||||||
extern int hasTypeBaseType();
|
|
||||||
extern int hasTypeSymbol();
|
|
||||||
extern int inScope();
|
|
||||||
extern int insertBfndInList1();
|
|
||||||
extern int insertBfndInList2();
|
|
||||||
extern int insertBfndListIn();
|
|
||||||
extern int insertBfndListInList1();
|
|
||||||
extern int isABifNode();
|
|
||||||
extern int isAControlEnd();
|
|
||||||
extern int isADeclBif();
|
|
||||||
extern int isAEnumDeclBif();
|
|
||||||
extern int isALoNode();
|
|
||||||
extern int isAStructDeclBif();
|
|
||||||
extern int isASymbNode();
|
|
||||||
extern int isATypeNode();
|
|
||||||
extern int isAUnionDeclBif();
|
|
||||||
extern int isAtomicType();
|
|
||||||
extern int isElementType();
|
|
||||||
extern int isEnumType();
|
|
||||||
extern int isInStmt();
|
|
||||||
extern int isIntegerType();
|
|
||||||
extern int isItInSection();
|
|
||||||
extern int isNodeAConst();
|
|
||||||
extern int isPointerType();
|
|
||||||
extern int isStructType();
|
|
||||||
extern int isTypeEquivalent();
|
|
||||||
extern int isUnionType();
|
|
||||||
extern int lenghtOfFieldList();
|
|
||||||
extern int lenghtOfFieldListForType();
|
|
||||||
extern int lenghtOfParamList();
|
|
||||||
extern int localToFunction();
|
|
||||||
extern int lookForTypeInType();
|
|
||||||
extern int makeLinearExpr();
|
|
||||||
extern int makeLinearExpr_Sign();
|
|
||||||
extern int numberOfBifsInBlobList();
|
|
||||||
extern int open_proj_toolbox();
|
|
||||||
extern int open_proj_files_toolbox();
|
|
||||||
extern int patternMatchExpression();
|
|
||||||
extern int pointerType();
|
|
||||||
extern int replaceTypeInType();
|
|
||||||
extern int sameName();
|
|
||||||
extern int* evaluateExpression();
|
|
||||||
extern void Count_Bif_Next_Chain();
|
|
||||||
extern void LibAddComment();
|
|
||||||
extern void LibSetAllComments();
|
|
||||||
extern void LibconvertLogicIf();
|
|
||||||
extern void LibreplaceSymbByExp();
|
|
||||||
extern void LibreplaceSymbByExpInStmts();
|
|
||||||
extern void LibreplaceWithStmt();
|
|
||||||
extern void LibsaveDepFile();
|
|
||||||
extern void Redo_Bif_Next_Chain();
|
|
||||||
extern void Reset_Bif_Next();
|
|
||||||
extern void Reset_Bif_Next_Chain();
|
|
||||||
extern void Reset_Tool_Box();
|
|
||||||
extern void SetCurrentFileTo();
|
|
||||||
extern void UnparseBif();
|
|
||||||
extern void UnparseLLND();
|
|
||||||
extern void UnparseProgram();
|
|
||||||
extern void addControlEndToList2();
|
|
||||||
extern void addControlEndToStmt();
|
|
||||||
extern void addElementEvaluate();
|
|
||||||
extern void addSymbToFieldList();
|
|
||||||
extern void allocateValueEvaluate();
|
|
||||||
extern void appendSymbToArgList();
|
|
||||||
extern void declareAVar();
|
|
||||||
extern void declareAVarWPar();
|
|
||||||
extern void duplicateAllSymbolDeclaredInStmt();
|
|
||||||
extern void insertBfndBeforeIn();
|
|
||||||
extern void insertSymbInArgList();
|
|
||||||
extern void libFreeExpression();
|
|
||||||
extern void make_a_malloc_stack();
|
|
||||||
extern void myfree();
|
|
||||||
extern void replaceSymbInExpression();
|
|
||||||
extern void replaceSymbInExpressionSameName();
|
|
||||||
extern void replaceSymbInStmts();
|
|
||||||
extern void replaceSymbInStmtsSameName();
|
|
||||||
extern void replaceTypeForSymb();
|
|
||||||
extern void replaceTypeInExpression();
|
|
||||||
extern void replaceTypeInStmts();
|
|
||||||
extern void replaceTypeUsedInStmt();
|
|
||||||
extern void resetDoVarForSymb();
|
|
||||||
extern void resetFreeListForExpressionNode();
|
|
||||||
extern void resetPresetEvaluate();
|
|
||||||
extern void setFreeListForExpressionNode();
|
|
||||||
extern void updateControlParent();
|
|
||||||
extern void updateTypesAndSymbolsInBody();
|
|
||||||
extern void writeDepFileInDebugdep();
|
|
||||||
extern void updateTypeAndSymbolInStmts();
|
|
||||||
extern void updateTypesAndSymbolsInBodyOfRoutine();
|
|
||||||
extern PTR_SYMB duplicateSymbolOfRoutine();
|
|
||||||
extern char* UnparseBif_Char();
|
|
||||||
char *UnparseLLnode_Char();
|
|
||||||
extern void UnparseProgram_ThroughAllocBuffer();
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
extern PTR_BFND Make_For_Loop ();
|
|
||||||
extern PTR_LLND Loop_Set_Borne_Inf ();
|
|
||||||
extern PTR_LLND Loop_Set_Borne_Sup ();
|
|
||||||
extern PTR_LLND Loop_Set_Step ();
|
|
||||||
extern PTR_SYMB Loop_Set_Index ();
|
|
||||||
extern PTR_LLND Loop_Get_Borne_Inf ();
|
|
||||||
extern PTR_LLND Loop_Get_Borne_Sup ();
|
|
||||||
extern PTR_LLND Loop_Get_Step ();
|
|
||||||
extern PTR_SYMB Loop_Get_Index ();
|
|
||||||
|
|
||||||
extern PTR_BFND Get_Scope_For_Declare ();
|
|
||||||
extern PTR_BFND Get_Scope_For_Label ();
|
|
||||||
|
|
||||||
extern PTR_LLND Make_Array_Ref ();
|
|
||||||
extern PTR_LLND Make_Array_Ref_With_Tab ();
|
|
||||||
extern PTR_BFND Declare_Array ();
|
|
||||||
|
|
||||||
extern PTR_BFND Make_Procedure ();
|
|
||||||
extern PTR_LLND Make_Function_Call ();
|
|
||||||
extern PTR_LLND Make_Function_Call_bis ();
|
|
||||||
extern PTR_BFND Make_Procedure_Call ();
|
|
||||||
|
|
||||||
extern PTR_LLND Make_Linear_Expression ();
|
|
||||||
extern PTR_LLND Make_Linear_Expression_From_Int ();
|
|
||||||
extern PTR_LLND Make_Linear_Expression_From_Int_List ();
|
|
||||||
|
|
||||||
extern PTR_BFND Make_Assign ();
|
|
||||||
extern PTR_BFND Make_If_Then_Else ();
|
|
||||||
extern int Declare_Scalar ();
|
|
||||||
extern int Perfectly_Nested ();
|
|
||||||
extern int Is_Good_Loop ();
|
|
||||||
|
|
||||||
extern PTR_BFND Extract_Loop_Body ();
|
|
||||||
extern PTR_BFND Get_Next_Nested_Loop ();
|
|
||||||
extern PTR_BFND Get_Internal_Loop ();
|
|
||||||
extern PTR_BFND Get_Previous_Nested_Loop ();
|
|
||||||
|
|
||||||
extern PTR_BLOB Get_Label_UD_chain ();
|
|
||||||
|
|
||||||
extern int Convert_Loop ();
|
|
||||||
extern int Loop_Conversion ();
|
|
||||||
|
|
||||||
extern PTR_SYMB Generate_Variable_Name ();
|
|
||||||
extern PTR_SYMB Install_Variable ();
|
|
||||||
|
|
||||||
extern int Verif_No_Func ();
|
|
||||||
extern int Verif_Assign ();
|
|
||||||
extern int Verif_Assign_If ();
|
|
||||||
|
|
||||||
extern int Generate_Alternative_Code ();
|
|
||||||
extern void Localize_Array_Section ();
|
|
||||||
|
|
||||||
extern int Check_Index ();
|
|
||||||
extern int Check_Right_Assign ();
|
|
||||||
extern int Check_Left_Assign ();
|
|
||||||
extern int No_Dependent_Index ();
|
|
||||||
extern int No_Basic_Induction ();
|
|
||||||
extern int No_Def_Of_Induction ();
|
|
||||||
@@ -1,272 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/* DO NOT EDIT THIS FILE! */
|
|
||||||
/* This file was automatically created by /u/sage/bin/mkC++extern */
|
|
||||||
/* Source file: /u/sage/project/sage/lib/newsrc/low_level.c */
|
|
||||||
/* Created on Tue Jul 12 12:46:22 EST 1994 (phb) */
|
|
||||||
extern "C" {
|
|
||||||
POINTER newNode(...);
|
|
||||||
PTR_BFND FindNearBifNode(...);
|
|
||||||
PTR_BFND Get_Last_Node_Of_Project(...);
|
|
||||||
PTR_BFND Get_bif_with_id(...);
|
|
||||||
PTR_BFND GetcountInStmtNode1(...);
|
|
||||||
PTR_BFND LibGetScopeForDeclare(...);
|
|
||||||
PTR_BFND LibWhereIsSymbDeclare(...);
|
|
||||||
PTR_BFND LibcreateCollectionWithType(...);
|
|
||||||
PTR_BFND LibdeleteStmt(...);
|
|
||||||
PTR_BFND LibextractStmt(...);
|
|
||||||
PTR_BFND LibextractStmtBody(...);
|
|
||||||
PTR_BFND LibfirstElementMethod(...);
|
|
||||||
PTR_BFND LibgetInnermostLoop(...);
|
|
||||||
PTR_BFND LibgetNextNestedLoop(...);
|
|
||||||
PTR_BFND LibgetPreviousNestedLoop(...);
|
|
||||||
PTR_BFND LiblastDeclaration(...);
|
|
||||||
PTR_BFND LocalRedoBifNextChain(...);
|
|
||||||
PTR_BFND Redo_Bif_Next_Chain_Internal(...);
|
|
||||||
PTR_BFND childfInBlobList(...);
|
|
||||||
PTR_BFND computeControlParent(...);
|
|
||||||
PTR_BFND deleteBfnd(...);
|
|
||||||
PTR_BFND deleteBfndFromBlobAndLabel(...);
|
|
||||||
PTR_BFND duplicateOneStmt(...);
|
|
||||||
PTR_BFND duplicateStmts(...);
|
|
||||||
PTR_BFND duplicateStmtsBlock(...);
|
|
||||||
PTR_BFND duplicateStmtsNoExtract(...);
|
|
||||||
PTR_BFND extractBifSectionBetween(...);
|
|
||||||
PTR_BFND getBodyOfSymb(...);
|
|
||||||
PTR_BFND getFirstStmt(...);
|
|
||||||
PTR_BFND getFuncScope(...);
|
|
||||||
PTR_BFND getFunctionHeader(...);
|
|
||||||
PTR_BFND getFunctionHeaderAllFile(...);
|
|
||||||
PTR_BFND getFunctionNumHeader(...);
|
|
||||||
PTR_BFND getGlobalFunctionHeader(...);
|
|
||||||
PTR_BFND getLastNodeList(...);
|
|
||||||
PTR_BFND getLastNodeOfStmt(...);
|
|
||||||
PTR_BFND getLastNodeOfStmtNoControlEnd(...);
|
|
||||||
PTR_BFND getMainProgram(...);
|
|
||||||
PTR_BFND getNodeBefore(...);
|
|
||||||
PTR_BFND getObjectStmt(...);
|
|
||||||
PTR_BFND getScopeForLabel(...);
|
|
||||||
PTR_BFND getStatementNumber(...);
|
|
||||||
PTR_BFND getStructNumHeader(...);
|
|
||||||
PTR_BFND getWhereToInsertInBfnd(...);
|
|
||||||
PTR_BFND lastBifInBlobList(...);
|
|
||||||
PTR_BFND lastBifInBlobList1(...);
|
|
||||||
PTR_BFND lastBifInBlobList2(...);
|
|
||||||
PTR_BFND makeDeclStmt(...);
|
|
||||||
PTR_BFND makeDeclStmtWPar(...);
|
|
||||||
PTR_BFND rec_num_near_search(...);
|
|
||||||
PTR_BLOB appendBlob(...);
|
|
||||||
PTR_BLOB deleteBfndFrom(...);
|
|
||||||
PTR_BLOB getLabelUDChain(...);
|
|
||||||
PTR_BLOB lastBlobInBlobList(...);
|
|
||||||
PTR_BLOB lastBlobInBlobList1(...);
|
|
||||||
PTR_BLOB lastBlobInBlobList2(...);
|
|
||||||
PTR_BLOB lookForBifInBlobList(...);
|
|
||||||
PTR_CMNT Get_cmnt_with_id(...);
|
|
||||||
PTR_FILE GetFileWithNum(...);
|
|
||||||
PTR_FILE GetPointerOnFile(...);
|
|
||||||
PTR_LABEL Get_label_with_id(...);
|
|
||||||
PTR_LABEL getLastLabel(...);
|
|
||||||
PTR_LLND Follow_Llnd(...);
|
|
||||||
PTR_LLND Follow_Llnd0(...);
|
|
||||||
PTR_LLND Get_First_Parameter_For_Call(...);
|
|
||||||
PTR_LLND Get_Second_Parameter_For_Call(...);
|
|
||||||
PTR_LLND Get_Th_Parameter_For_Call(...);
|
|
||||||
PTR_LLND Get_ll_with_id(...);
|
|
||||||
PTR_LLND LibIsSymbolInExpression(...);
|
|
||||||
PTR_LLND LibarrayRefs(...);
|
|
||||||
PTR_LLND LibsymbRefs(...);
|
|
||||||
PTR_LLND Make_Function_Call(...);
|
|
||||||
PTR_LLND addLabelRefToExprList(...);
|
|
||||||
PTR_LLND addSymbRefToExprList(...);
|
|
||||||
PTR_LLND addToExprList(...);
|
|
||||||
PTR_LLND addToList(...);
|
|
||||||
PTR_LLND copyLlNode(...);
|
|
||||||
PTR_LLND deleteNodeInExprList(...);
|
|
||||||
PTR_LLND deleteNodeWithItemInExprList(...);
|
|
||||||
PTR_LLND findPtrRefExp(...);
|
|
||||||
PTR_LLND getPositionInExprList(...);
|
|
||||||
PTR_LLND getPositionInList(...);
|
|
||||||
PTR_LLND giveLlSymbInDeclList(...);
|
|
||||||
PTR_LLND makeDeclExp(...);
|
|
||||||
PTR_LLND makeDeclExpWPar(...);
|
|
||||||
PTR_LLND makeInt(...);
|
|
||||||
PTR_LLND newExpr(...);
|
|
||||||
PTR_SYMB GetThOfFieldList(...);
|
|
||||||
PTR_SYMB GetThOfFieldListForType(...);
|
|
||||||
PTR_SYMB GetThParam(...);
|
|
||||||
PTR_SYMB Get_Symb_with_id(...);
|
|
||||||
PTR_SYMB doesClassInherit(...);
|
|
||||||
PTR_SYMB duplicateParamList(...);
|
|
||||||
PTR_SYMB duplicateSymbol(...);
|
|
||||||
PTR_SYMB duplicateSymbolAcrossFiles(...);
|
|
||||||
PTR_SYMB duplicateSymbolLevel1(...);
|
|
||||||
PTR_SYMB duplicateSymbolLevel2(...);
|
|
||||||
PTR_SYMB getClassNextFieldOrMember(...);
|
|
||||||
PTR_SYMB getFieldOfStructWithName(...);
|
|
||||||
PTR_SYMB getFirstFieldOfStruct(...);
|
|
||||||
PTR_SYMB getSymbolWithName(...);
|
|
||||||
PTR_SYMB getSymbolWithNameInScope(...);
|
|
||||||
PTR_SYMB lookForNameInParamList(...);
|
|
||||||
PTR_SYMB newSymbol(...);
|
|
||||||
PTR_SYMB duplicateSymbolOfRoutine(...);
|
|
||||||
PTR_TYPE FollowTypeBaseAndDerived(...);
|
|
||||||
PTR_TYPE GetAtomicType(...);
|
|
||||||
PTR_TYPE Get_type_with_id(...);
|
|
||||||
PTR_TYPE addToBaseTypeList(...);
|
|
||||||
PTR_TYPE createDerivedCollectionType(...);
|
|
||||||
PTR_TYPE duplicateType(...);
|
|
||||||
PTR_TYPE duplicateTypeAcrossFiles(...);
|
|
||||||
PTR_TYPE getDerivedTypeWithName(...);
|
|
||||||
PTR_TYPE lookForInternalBasetype(...);
|
|
||||||
PTR_TYPE lookForTypeDescript(...);
|
|
||||||
char *allocateFreeListNodeExpression(...);
|
|
||||||
char* Get_Function_Name_For_Call(...);
|
|
||||||
char* Remove_Carriage_Return(...);
|
|
||||||
char* UnparseTypeBuffer(...);
|
|
||||||
char* filter(...);
|
|
||||||
char* mymalloc(...);
|
|
||||||
char* xmalloc(...);
|
|
||||||
int Apply_To_Bif(...);
|
|
||||||
int Check_Lang_C(...);
|
|
||||||
int Check_Lang_Fortran(...);
|
|
||||||
int GetFileNum(...);
|
|
||||||
int GetFileNumWithPt(...);
|
|
||||||
int Init_Tool_Box(...);
|
|
||||||
int IsRefToSymb(...);
|
|
||||||
int Is_String_Val_With_Val(...);
|
|
||||||
int LibClanguage(...);
|
|
||||||
int LibFortranlanguage(...);
|
|
||||||
int LibIsSymbolInScope(...);
|
|
||||||
int LibIsSymbolReferenced(...);
|
|
||||||
int LibisEnddoLoop(...);
|
|
||||||
int LibisMethodOfElement(...);
|
|
||||||
int LibnumberOfFiles(...);
|
|
||||||
int LibperfectlyNested(...);
|
|
||||||
int Message(...);
|
|
||||||
int Replace_String_In_Expression(...);
|
|
||||||
int appendBfndListToList1(...);
|
|
||||||
int appendBfndListToList2(...);
|
|
||||||
int appendBfndToList(...);
|
|
||||||
int appendBfndToList1(...);
|
|
||||||
int appendBfndToList2(...);
|
|
||||||
int arraySymbol(...);
|
|
||||||
int blobListLength(...);
|
|
||||||
int buildLinearRep(...);
|
|
||||||
int buildLinearRepSign(...);
|
|
||||||
int convertToEnddoLoop(...);
|
|
||||||
int countInStmtNode1(...);
|
|
||||||
int countInStmtNode2(...);
|
|
||||||
int exprListLength(...);
|
|
||||||
int findBif(...);
|
|
||||||
int findBifInList1(...);
|
|
||||||
int findBifInList2(...);
|
|
||||||
int firstBfndInList1(...);
|
|
||||||
int firstBfndInList2(...);
|
|
||||||
int firstInBfndList2(...);
|
|
||||||
int getElementEvaluate(...);
|
|
||||||
int getLastLabelId(...);
|
|
||||||
int getNumberOfFunction(...);
|
|
||||||
int getNumberOfStruct(...);
|
|
||||||
int getTypeNumDimension(...);
|
|
||||||
int hasNodeASymb(...);
|
|
||||||
int hasTypeBaseType(...);
|
|
||||||
int hasTypeSymbol(...);
|
|
||||||
int inScope(...);
|
|
||||||
int insertBfndInList1(...);
|
|
||||||
int insertBfndInList2(...);
|
|
||||||
int insertBfndListIn(...);
|
|
||||||
int insertBfndListInList1(...);
|
|
||||||
int isABifNode(...);
|
|
||||||
int isAControlEnd(...);
|
|
||||||
int isADeclBif(...);
|
|
||||||
int isAEnumDeclBif(...);
|
|
||||||
int isALoNode(...);
|
|
||||||
int isAStructDeclBif(...);
|
|
||||||
int isASymbNode(...);
|
|
||||||
int isATypeNode(...);
|
|
||||||
int isAUnionDeclBif(...);
|
|
||||||
int isAtomicType(...);
|
|
||||||
int isElementType(...);
|
|
||||||
int isEnumType(...);
|
|
||||||
int isInStmt(...);
|
|
||||||
int isIntegerType(...);
|
|
||||||
int isItInSection(...);
|
|
||||||
int isNodeAConst(...);
|
|
||||||
int isPointerType(...);
|
|
||||||
int isStructType(...);
|
|
||||||
int isTypeEquivalent(...);
|
|
||||||
int isUnionType(...);
|
|
||||||
int lenghtOfFieldList(...);
|
|
||||||
int lenghtOfFieldListForType(...);
|
|
||||||
int lenghtOfParamList(...);
|
|
||||||
int localToFunction(...);
|
|
||||||
int lookForTypeInType(...);
|
|
||||||
int makeLinearExpr(...);
|
|
||||||
int makeLinearExpr_Sign(...);
|
|
||||||
int numberOfBifsInBlobList(...);
|
|
||||||
int open_proj_toolbox(...);
|
|
||||||
int open_proj_files_toolbox(...);
|
|
||||||
int patternMatchExpression(...);
|
|
||||||
int pointerType(...);
|
|
||||||
int replaceTypeInType(...);
|
|
||||||
int sameName(...);
|
|
||||||
int* evaluateExpression(...);
|
|
||||||
void Count_Bif_Next_Chain(...);
|
|
||||||
void LibAddComment(...);
|
|
||||||
void LibSetAllComments(...);
|
|
||||||
//Kolganov 15.11.2017
|
|
||||||
void LibDelAllComments(...);
|
|
||||||
void LibconvertLogicIf(...);
|
|
||||||
void LibreplaceSymbByExp(...);
|
|
||||||
void LibreplaceSymbByExpInStmts(...);
|
|
||||||
void LibreplaceWithStmt(...);
|
|
||||||
void LibsaveDepFile(...);
|
|
||||||
void Redo_Bif_Next_Chain(...);
|
|
||||||
void Reset_Bif_Next(...);
|
|
||||||
void Reset_Bif_Next_Chain(...);
|
|
||||||
void Reset_Tool_Box(...);
|
|
||||||
void SetCurrentFileTo(...);
|
|
||||||
void UnparseBif(...);
|
|
||||||
void UnparseLLND(...);
|
|
||||||
void UnparseProgram(...);
|
|
||||||
void addControlEndToList2(...);
|
|
||||||
void addControlEndToStmt(...);
|
|
||||||
void addElementEvaluate(...);
|
|
||||||
void addSymbToFieldList(...);
|
|
||||||
void allocateValueEvaluate(...);
|
|
||||||
void appendSymbToArgList(...);
|
|
||||||
void declareAVar(...);
|
|
||||||
void declareAVarWPar(...);
|
|
||||||
void duplicateAllSymbolDeclaredInStmt(...);
|
|
||||||
void insertBfndBeforeIn(...);
|
|
||||||
void insertSymbInArgList(...);
|
|
||||||
void libFreeExpression(...);
|
|
||||||
void make_a_malloc_stack(...);
|
|
||||||
void myfree(...);
|
|
||||||
void replaceSymbInExpression(...);
|
|
||||||
void replaceSymbInExpressionSameName(...);
|
|
||||||
void replaceSymbInStmts(...);
|
|
||||||
void replaceSymbInStmtsSameName(...);
|
|
||||||
void replaceTypeForSymb(...);
|
|
||||||
void replaceTypeInExpression(...);
|
|
||||||
void replaceTypeInStmts(...);
|
|
||||||
void replaceTypeUsedInStmt(...);
|
|
||||||
void resetDoVarForSymb(...);
|
|
||||||
void resetFreeListForExpressionNode(...);
|
|
||||||
void resetPresetEvaluate(...);
|
|
||||||
void setFreeListForExpressionNode(...);
|
|
||||||
void updateControlParent(...);
|
|
||||||
void updateTypesAndSymbolsInBody(...);
|
|
||||||
void writeDepFileInDebugdep(...);
|
|
||||||
void updateTypeAndSymbolInStmts(...);
|
|
||||||
void updateTypesAndSymbolsInBodyOfRoutine(...);
|
|
||||||
char* UnparseBif_Char(...);
|
|
||||||
char *UnparseLLND_Char(...);
|
|
||||||
char *UnparseLLnode_Char(...);
|
|
||||||
void UnparseProgram_ThroughAllocBuffer(...);
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,434 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/* declaration pour la toolbox 19/12/91 */
|
|
||||||
|
|
||||||
/* The following include files are sigma include files */
|
|
||||||
#include "defs.h"
|
|
||||||
#include "bif.h"
|
|
||||||
#include "ll.h"
|
|
||||||
#include "symb.h"
|
|
||||||
#include "sets.h"
|
|
||||||
#include "db.h"
|
|
||||||
#include "vparse.h"
|
|
||||||
|
|
||||||
#ifdef CPLUS_
|
|
||||||
extern "C" PTR_FILE pointer_on_file_proj;
|
|
||||||
#else
|
|
||||||
extern PTR_FILE pointer_on_file_proj;
|
|
||||||
#endif
|
|
||||||
/* the following are names of constants used by the C parser to */
|
|
||||||
/* add attributed to symbol table entries. */
|
|
||||||
/* For symbptr->attr access with SYMB_ATTR(..) */
|
|
||||||
/* note these are ALSO IN FILE vpc.h and we should find a single spot for them!! */
|
|
||||||
#define ATT_CLUSTER 0
|
|
||||||
#define ATT_GLOBAL 1
|
|
||||||
#define PURE 8
|
|
||||||
#define PRIVATE_FIELD 16
|
|
||||||
#define PROTECTED_FIELD 32
|
|
||||||
#define PUBLIC_FIELD 64
|
|
||||||
#define ELEMENT_FIELD 128
|
|
||||||
#define COLLECTION_FIELD 256
|
|
||||||
#define CONSTRUCTOR 512
|
|
||||||
#define DESTRUCTOR 1024
|
|
||||||
#define PCPLUSPLUS_DOSUBSET 2048
|
|
||||||
#define INVALID 4096
|
|
||||||
#define SUBCOLLECTION 4096*2
|
|
||||||
#define OVOPERATOR 4096*4
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* There are 3 types of macros:
|
|
||||||
* the first type deals with bif nodes and are named BIF_XXX
|
|
||||||
* the second type deals with symbol nodes and are named SYMB_XXX
|
|
||||||
* the last type deasl with low level nodes and are named NODE_XXX
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Macros for BIF NODE */
|
|
||||||
#define DECL_SOURCE_LINE(FUNC) ((FUNC)->g_line)
|
|
||||||
#define DECL_SOURCE_FILE(FUNC) (default_filename)
|
|
||||||
/* give the code of a node */
|
|
||||||
#define BIF_CODE(NODE) ((NODE)->variant)
|
|
||||||
#define BIF_LINE(NODE) ((NODE)->g_line)
|
|
||||||
#define BIF_LOCAL_LINE(NODE) ((NODE)->l_line)
|
|
||||||
#define BIF_DECL_SPECS(NODE) ((NODE)->decl_specs)
|
|
||||||
#define BIF_INDEX(NODE) ((NODE)->index)
|
|
||||||
/* give the identifier */
|
|
||||||
#define BIF_ID(NODE) ((NODE)->id)
|
|
||||||
#define BIF_NEXT(NODE) ((NODE)->thread)
|
|
||||||
#define BIF_CP(NODE) ((NODE)->control_parent)
|
|
||||||
#define BIF_LABEL(NODE) ((NODE)->label)
|
|
||||||
#define BIF_LL1(NODE) ((NODE)->entry.Template.ll_ptr1)
|
|
||||||
#define BIF_LL2(NODE) ((NODE)->entry.Template.ll_ptr2)
|
|
||||||
#define BIF_LL3(NODE) ((NODE)->entry.Template.ll_ptr3)
|
|
||||||
#define BIF_SYMB(NODE) ((NODE)->entry.Template.symbol)
|
|
||||||
#define BIF_BLOB1(NODE) ((NODE)->entry.Template.bl_ptr1)
|
|
||||||
#define BIF_BLOB2(NODE) ((NODE)->entry.Template.bl_ptr2)
|
|
||||||
#define BIF_FLOW(NODE) ((NODE)->entry.Template.bl_ptr1->ref)
|
|
||||||
#define BIF_FLOW_TRUE(NODE) ((NODE)->entry.Template.bl_ptr1->ref)
|
|
||||||
#define BIF_FLOW_FALSE_EXIST(NODE) ((NODE)->entry.Template.bl_ptr2)
|
|
||||||
#define BIF_FLOW_FALSE(NODE) ((NODE)->entry.Template.bl_ptr2->ref)
|
|
||||||
#define BIF_FILE_NAME(NODE) ((NODE)->filename)
|
|
||||||
#define BIF_CMNT(NODE) ((NODE)->entry.Template.cmnt_ptr)
|
|
||||||
#define BIF_LABEL_USE(NODE) ((NODE)->entry.Template.lbl_ptr)
|
|
||||||
#define BIF_SETS(NODE) ((NODE)->entry.Template.sets)
|
|
||||||
#define BIF_PROPLIST(NODE) ((NODE)->prop_list)
|
|
||||||
/* seems to be useless not used that way???????*/
|
|
||||||
#define BIF_PROPLIST_NAME(NODE) ((NODE)->prop_list.prop_name)
|
|
||||||
#define BIF_PROPLIST_VAL(NODE) ((NODE)->prop_list.prop_val)
|
|
||||||
#define BIF_PROPLIST_NEXT(NODE) ((NODE)->prop_list.next)
|
|
||||||
|
|
||||||
/* Macros for LOW LEVEL NODE*/
|
|
||||||
|
|
||||||
/* Give the code of the node */
|
|
||||||
#define NODE_CODE(NODE) ((NODE)->variant)
|
|
||||||
/* give the identifier */
|
|
||||||
#define NODE_ID(NODE) ((NODE)->id)
|
|
||||||
#define NODE_NEXT(NODE) ((NODE)->thread)
|
|
||||||
#define NODE_CHAIN(NODE) ((NODE)->thread)
|
|
||||||
#define NODE_TYPE(NODE) ((NODE)->type)
|
|
||||||
#define NODE_STR(NODE) ((NODE)->entry.string_val)
|
|
||||||
#define NODE_STRING_POINTER(NODE) ((NODE)->entry.string_val)
|
|
||||||
#define NODE_IV(NODE) ((NODE)->entry.ival)
|
|
||||||
|
|
||||||
/* use for integer constant
|
|
||||||
the boolean value is use if the constante is big
|
|
||||||
(two integers) */
|
|
||||||
#define NODE_INT_CST_LOW(NODE) ((NODE)->entry.ival)
|
|
||||||
#define NODE_DOUBLE_CST(NODE) ((NODE)->entry.string_val)
|
|
||||||
#define NODE_FLOAT_CST(NODE) ((NODE)->entry.string_val)
|
|
||||||
#define NODE_CHAR_CST(NODE) ((NODE)->entry.cval)
|
|
||||||
#define NODE_BOOL_CST(NODE) ((NODE)->entry.bval)
|
|
||||||
/* la partie haute est dans les noeuds info
|
|
||||||
A modifier par la suite */
|
|
||||||
|
|
||||||
|
|
||||||
#define NODE_CV(NODE) ((NODE)->entry.cval)
|
|
||||||
#define NODE_DV(NODE) ((NODE)->entry.dval)
|
|
||||||
#define NODE_REAL_CST(NODE) ((NODE)->entry.dval)
|
|
||||||
#define NODE_BV(NODE) ((NODE)->entry.bval)
|
|
||||||
#define NODE_ARRAY_OP(NODE) ((NODE)->entry.array_op)
|
|
||||||
#define NODE_TEMPLATE(NODE) ((NODE)->entry.Template)
|
|
||||||
#define NODE_SYMB(NODE) ((NODE)->entry.Template.symbol)
|
|
||||||
#define NODE_TEMPLATE_LL1(NODE) ((NODE)->entry.Template.ll_ptr1)
|
|
||||||
#define NODE_TEMPLATE_LL2(NODE) ((NODE)->entry.Template.ll_ptr2)
|
|
||||||
#define NODE_OPERAND0(NODE) ((NODE)->entry.Template.ll_ptr1)
|
|
||||||
#define NODE_PURPOSE(NODE) ((NODE)->entry.Template.ll_ptr1)
|
|
||||||
#define NODE_OPERAND1(NODE) ((NODE)->entry.Template.ll_ptr2)
|
|
||||||
#define NODE_OPERAND2(NODE) bif_sorry("OPERAND2")
|
|
||||||
#define NODE_VALUE(NODE) ((NODE)->entry.Template.ll_ptr2)
|
|
||||||
#define NODE_STRING_LENGTH(NODE) (strlen((NODE)->entry.string_val))
|
|
||||||
#define NODE_LABEL(NODE) ((NODE)->entry.label_list.lab_ptr)
|
|
||||||
#define NODE_LIST_ITEM(NODE) ((NODE)->entry.list.item)
|
|
||||||
#define NODE_LIST_NEXT(NODE) ((NODE)->entry.list.next)
|
|
||||||
|
|
||||||
/* For symbole NODE */
|
|
||||||
#define SYMB_VAL(NODE) ((NODE)->entry.const_value)
|
|
||||||
#define SYMB_DECLARED_NAME(NODE) ((NODE)->entry.member_func.declared_name)
|
|
||||||
#define SYMB_CODE(NODE) ((NODE)->variant)
|
|
||||||
#define SYMB_ID(NODE) ((NODE)->id)
|
|
||||||
#define SYMB_IDENT(NODE) ((NODE)->ident)
|
|
||||||
#define SYMB_PARENT(NODE) ((NODE)->parent)
|
|
||||||
#define SYMB_DECL(NODE) ((NODE)->decl)
|
|
||||||
#define SYMB_ATTR(NODE) ((NODE)->attr)
|
|
||||||
#define SYMB_DOVAR(NODE) ((NODE)->dovar)
|
|
||||||
#define SYMB_BLOC_NEXT(NODE) ((NODE)->next_symb)
|
|
||||||
#define SYMB_NEXT(NODE) ((NODE)->thread)
|
|
||||||
#define SYMB_LIST(NODE) ((NODE)->id_list)
|
|
||||||
#define SYMB_TYPE(NODE) ((NODE)->type)
|
|
||||||
#define SYMB_SCOPE(NODE) ((NODE)->scope)
|
|
||||||
#define SYMB_UD_CHAIN(NODE) ((NODE)->ud_chain)
|
|
||||||
#define SYMB_ENTRY(NODE) ((NODE)->entry)
|
|
||||||
#define SYMB_NEXT_DECL(NODE) ((NODE)->entry.var_decl.next_in)
|
|
||||||
#define SYMB_NEXT_FIELD(NODE) ((NODE)->entry.field.next)
|
|
||||||
#define SYMB_RESTRICTED_BIT(NODE) ((NODE)->entry.field.restricted_bit)
|
|
||||||
#define SYMB_BASE_NAME(NODE) ((NODE)->entry.Template.base_name)
|
|
||||||
#define SYMB_FUNC_HEDR(NODE) ((NODE)->entry.func_decl.func_hedr)
|
|
||||||
#define SYMB_FUNC_PARAM(NODE) ((NODE)->entry.proc_decl.in_list)
|
|
||||||
#define SYMB_FUNC_NB_PARAM(NODE) ((NODE)->entry.proc_decl.num_input)
|
|
||||||
#define SYMB_FUNC_OUTPUT(NODE) ((NODE)->entry.proc_decl.num_output)
|
|
||||||
#define SYMB_FIELD_BASENAME(NODE) ((NODE)->entry.field.base_name)
|
|
||||||
#define SYMB_FIELD_TAG(NODE) ((NODE)->entry.field.tag)
|
|
||||||
#define SYMB_FIELD_DECLARED_NAME(NODE) ((NODE)->entry.field.declared_name)
|
|
||||||
#define SYMB_FIELD_OFFSET(NODE) ((NODE)->entry.field.offset)
|
|
||||||
#define SYMB_MEMBER_BASENAME(NODE) ((NODE)->entry.member_func.base_name)
|
|
||||||
#define SYMB_MEMBER_NEXT(NODE) ((NODE)->entry.member_func.next)
|
|
||||||
#define SYMB_MEMBER_HEADER(NODE) ((NODE)->entry.member_func.func_hedr)
|
|
||||||
#define SYMB_MEMBER_LIST(NODE) ((NODE)->entry.member_func.symb_list)
|
|
||||||
#define SYMB_MEMBER_PARAM(NODE) ((NODE)->entry.member_func.in_list)
|
|
||||||
#define SYMB_MEMBER_TAG(NODE) ((NODE)->entry.member_func.tag)
|
|
||||||
#define SYMB_MEMBER_OFFSET(NODE) ((NODE)->entry.member_func.offset)
|
|
||||||
#define SYMB_MEMBER_DECLARED_NAME(NODE) ((NODE)->entry.member_func.declared_name)
|
|
||||||
#define SYMB_MEMBER_OUTLIST(NODE) ((NODE)->entry.member_func.out_list)
|
|
||||||
#define SYMB_MEMBER_NB_OUTPUT(NODE) ((NODE)->entry.member_func.num_output)
|
|
||||||
#define SYMB_MEMBER_NB_IO(NODE) ((NODE)->entry.member_func.num_io)
|
|
||||||
|
|
||||||
/* for Template */
|
|
||||||
#define SYMB_TEMPLATE_DUMMY1(NODE) ((NODE)->entry.Template.seen)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY2(NODE) ((NODE)->entry.Template.num_input)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY3(NODE) ((NODE)->entry.Template.num_output)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY4(NODE) ((NODE)->entry.Template.num_io)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY5(NODE) ((NODE)->entry.Template.in_list)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY6(NODE) ((NODE)->entry.Template.out_list)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY7(NODE) ((NODE)->entry.Template.symb_list)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY8(NODE) ((NODE)->entry.Template.local_size)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY9(NODE) ((NODE)->entry.Template.label_list)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY10(NODE) ((NODE)->entry.Template.func_hedr)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY11(NODE) ((NODE)->entry.Template.call_list)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY12(NODE) ((NODE)->entry.Template.tag)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY13(NODE) ((NODE)->entry.Template.offset)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY14(NODE) ((NODE)->entry.Template.declared_name)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY15(NODE) ((NODE)->entry.Template.next)
|
|
||||||
#define SYMB_TEMPLATE_DUMMY16(NODE) ((NODE)->entry.Template.base_name)
|
|
||||||
|
|
||||||
|
|
||||||
/* for BLOB NODE */
|
|
||||||
|
|
||||||
#define BLOB_NEXT(NODE) ((NODE)->next)
|
|
||||||
#define BLOB_VALUE(NODE) ((NODE)->ref)
|
|
||||||
#define HEAD_BLOB(NODE) ((NODE)->head_blob)
|
|
||||||
|
|
||||||
/* for type node */
|
|
||||||
#define TYPE_CODE(NODE) ((NODE)->variant)
|
|
||||||
#define TYPE_ID(NODE) ((NODE)->id)
|
|
||||||
#define TYPE_SYMB(NODE) ((NODE)->name)
|
|
||||||
#define TYPE_UD_CHAIN(NODE) ((NODE)->ud_chain)
|
|
||||||
#define TYPE_LENGTH(NODE) ((NODE)->length)
|
|
||||||
#define TYPE_BASE(NODE) ((NODE)->entry.Template.base_type)
|
|
||||||
#define TYPE_RANGES(NODE) ((NODE)->entry.Template.ranges)
|
|
||||||
#define TYPE_KIND_LEN(NODE) ((NODE)->entry.Template.kind_len)
|
|
||||||
#define TYPE_QUOTE(NODE) ((NODE)->entry.Template.dummy1)
|
|
||||||
#define TYPE_DIM(NODE) ((NODE)->entry.ar_decl.num_dimensions)
|
|
||||||
#define TYPE_DECL_BASE(NODE) ((NODE)->entry.ar_decl.base_type)
|
|
||||||
#define TYPE_DECL_RANGES(NODE) ((NODE)->entry.ar_decl.ranges)
|
|
||||||
#define TYPE_NEXT(NODE) ((NODE)->thread)
|
|
||||||
#define TYPE_DESCRIP(NODE) ((NODE)->entry.descriptive)
|
|
||||||
#define TYPE_DESCRIP_BASE_TYPE(NODE) ((NODE)->entry.descriptive.base_type)
|
|
||||||
#define TYPE_FIRST_FIELD(NODE) ((NODE)->entry.re_decl.first)
|
|
||||||
#define TYPE_UNSIGNED(NODE) ((NODE)->entry.descriptive.signed_flag)
|
|
||||||
#define TYPE_LONG_SHORT(NODE) ((NODE)->entry.descriptive.long_short_flag)
|
|
||||||
#define TYPE_MODE_FLAG(NODE) ((NODE)->entry.descriptive.mod_flag)
|
|
||||||
#define TYPE_STORAGE_FLAG(NODE) ((NODE)->entry.descriptive.storage_flag)
|
|
||||||
#define TYPE_ACCESS_FLAG(NODE) ((NODE)->entry.descriptive.access_flag)
|
|
||||||
#define TYPE_SYMB_DERIVE(NODE) ((NODE)->entry.derived_type.symbol)
|
|
||||||
#define TYPE_SCOPE_SYMB_DERIVE(NODE) ((NODE)->entry.derived_type.scope_symbol)
|
|
||||||
#define TYPE_COLL_BASE(NODE) ((NODE)->entry.col_decl.base_type)
|
|
||||||
#define TYPE_COLL_ORI_CLASS(NODE) ((NODE)->entry.derived_class.original_class)
|
|
||||||
#define TYPE_COLL_NUM_FIELDS(NODE) ((NODE)->entry.derived_class.num_fields)
|
|
||||||
#define TYPE_COLL_RECORD_SIZE(NODE) ((NODE)->entry.derived_class.record_size)
|
|
||||||
#define TYPE_COLL_FIRST_FIELD(NODE) ((NODE)->entry.derived_class.first)
|
|
||||||
#define TYPE_COLL_NAME(NODE) ((NODE)->entry.col_decl.collection_name)
|
|
||||||
#define TYPE_TEMPL_NAME(NODE) ((NODE)->entry.templ_decl.templ_name)
|
|
||||||
#define TYPE_TEMPL_ARGS(NODE) ((NODE)->entry.templ_decl.args)
|
|
||||||
/* sepcial case for enumeral type */
|
|
||||||
#define TYPE_VALUES(NODE) ((NODE)->entry.Template.ranges) /* wrong, to verify */
|
|
||||||
|
|
||||||
/* To allow copies of type */
|
|
||||||
#define TYPE_TEMPLATE_BASE(NODE) ((NODE)->entry.Template.base_type)
|
|
||||||
#define TYPE_TEMPLATE_DUMMY1(NODE) ((NODE)->entry.Template.dummy1)
|
|
||||||
#define TYPE_TEMPLATE_RANGES(NODE) ((NODE)->entry.Template.ranges)
|
|
||||||
#define TYPE_TEMPLATE_DUMMY2(NODE) ((NODE)->entry.Template.dummy2)
|
|
||||||
#define TYPE_TEMPLATE_DUMMY3(NODE) ((NODE)->entry.Template.dummy3)
|
|
||||||
#define TYPE_TEMPLATE_DUMMY4(NODE) ((NODE)->entry.Template.dummy4)
|
|
||||||
#define TYPE_TEMPLATE_DUMMY5(NODE) ((NODE)->entry.Template.dummy5)
|
|
||||||
/* Other */
|
|
||||||
#define FILE_OF_CURRENT_PROJ(PROJ) ((PROJ)->proj_name)
|
|
||||||
#define FUNCT_NAME(FUNC) ((FUNC)->entry.Template.symbol->ident)
|
|
||||||
#define FUNCT_SYMB(FUNC) ((FUNC)->entry.Template.symbol)
|
|
||||||
#define FUNCT_FIRST_PAR(FUNC) ((FUNC)->entry.Template.symbol->entry.func_decl.in_list)
|
|
||||||
|
|
||||||
|
|
||||||
#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
|
|
||||||
#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
|
|
||||||
#define CEIL(x,y) (((x) + (y) - 1) / (y))
|
|
||||||
|
|
||||||
/* extern pour Bif */
|
|
||||||
|
|
||||||
/* other type of low level node and decl */
|
|
||||||
#define CEIL_DIV_EXPR 1000
|
|
||||||
#define MAX_OP 1001
|
|
||||||
#define BIF_PARM_DECL 1002
|
|
||||||
#define BIF_SAVE_EXPR 1003
|
|
||||||
#define MIN_OP 1004
|
|
||||||
#define BIF_ADDR_EXPR 1005
|
|
||||||
#define BIF_NOP_EXPR 1006
|
|
||||||
#define BIF_RTL_EXPR 1007
|
|
||||||
/* #define TRUNC_MOD_EXPR 1008 killed by dbg because in rid enum*/
|
|
||||||
/* #define TRUNC_DIV_EXPR 1009 killed by dbg because in rid enum*/
|
|
||||||
#define FLOOR_DIV_EXPR 1010
|
|
||||||
#define FLOOR_MOD_EXPR 1011
|
|
||||||
#define CEIL_MOD_EXPR 1012
|
|
||||||
#define ROUND_DIV_EXPR 1013
|
|
||||||
#define ROUND_MOD_EXPR 1014
|
|
||||||
#define RDIV_EXPR 1015
|
|
||||||
#define EXACT_DIV_EXPR 1016
|
|
||||||
#define COND_EXPR EXPR_IF
|
|
||||||
#define CONVERT_EXPR 1017
|
|
||||||
/*#define MINUS_EXPR SUBT_OP removed by Beckman*/
|
|
||||||
#define CONST_DECL 1018 /* to be modify */
|
|
||||||
#define ABS_EXPR 1019
|
|
||||||
#define BIT_NOT_EXPR BIT_COMPLEMENT_OP
|
|
||||||
#define NEGATE_EXPR MINUS_OP
|
|
||||||
#define TRUTH_ANDIF_EXPR 1020
|
|
||||||
#define TRUTH_AND_EXPR 1021
|
|
||||||
#define TRUTH_NOT_EXPR 1022
|
|
||||||
#define TRUTH_ORIF_EXPR 1023
|
|
||||||
#define POSTINCREMENT_EXPR PLUSPLUS_OP
|
|
||||||
#define PREINCREMENT_EXPR 1024
|
|
||||||
#define PREDECREMENT_EXPR 1025
|
|
||||||
#define COMPOUND_EXPR 1026
|
|
||||||
#define ENUMERAL_TYPE T_ENUM
|
|
||||||
#define FLOAT_EXPR 1027
|
|
||||||
/*#define RSHIFT_EXPR RSHIFT_OP
|
|
||||||
#define LSHIFT_EXPR LSHIFT_OP removed by Pete Beckman*/
|
|
||||||
/* #define BIT_IOR_EXPR 1028 killed by dbg because in rid enum*/
|
|
||||||
/* #define BIT_XOR_EXPR 1029 killed by dbg because in rid enum*/
|
|
||||||
#define BIT_ANDTC_EXPR 1030
|
|
||||||
#define ERROR_MARK NULL
|
|
||||||
#define TRUTH_OR_EXPR 1031
|
|
||||||
#define FIX_TRUNC_EXPR 1032
|
|
||||||
#define RROTATE_EXPR 1033
|
|
||||||
#define LROTATE_EXPR 1034
|
|
||||||
#define RANGE_EXPR 1035
|
|
||||||
#define POSTDECREMENT_EXPR 1036
|
|
||||||
#define COMPONENT_REF RECORD_REF /* NODE SYMB define for this node */
|
|
||||||
#define INDIRECT_REF DEREF_OP
|
|
||||||
#define REFERENCE_TYPE 1037
|
|
||||||
/* #define CONSTRUCTOR 1038*/
|
|
||||||
#define FIX_FLOOR_EXPR 1039
|
|
||||||
#define FIX_ROUND_EXPR 1040
|
|
||||||
#define FIX_CEIL_EXPR 1041
|
|
||||||
#define FUNCTION_DECL 1042
|
|
||||||
#define MODIFY_EXPR 1043
|
|
||||||
#define REFERENCE_EXPR 1044
|
|
||||||
#define RESULT_DECL 1045
|
|
||||||
#define PARM_DECL 1046 /* not used */
|
|
||||||
#define CALL_EXPR 1047
|
|
||||||
#define INIT_EXPR 1048
|
|
||||||
|
|
||||||
|
|
||||||
/* other type for type node */
|
|
||||||
#define T_LITERAL 1100 /* not use */
|
|
||||||
#define T_SIZE 1101
|
|
||||||
#define LAST_CODE T_SIZE
|
|
||||||
/* end other type of node */
|
|
||||||
|
|
||||||
/* definition for project */
|
|
||||||
|
|
||||||
#define PROJ_FIRST_SYMB() (pointer_on_file_proj->head_symb)
|
|
||||||
#define PROJ_FIRST_TYPE() (pointer_on_file_proj->head_type)
|
|
||||||
#define PROJ_FIRST_LLND() (pointer_on_file_proj->head_llnd)
|
|
||||||
#define PROJ_FIRST_BIF() (pointer_on_file_proj->head_bfnd)
|
|
||||||
#define PROJ_FIRST_CMNT() (pointer_on_file_proj->head_cmnt)
|
|
||||||
#define PROJ_FIRST_LABEL() (pointer_on_file_proj->head_lab)
|
|
||||||
|
|
||||||
#define CUR_FILE_NUM_BIFS() (pointer_on_file_proj->num_bfnds)
|
|
||||||
#define CUR_FILE_NUM_LLNDS() (pointer_on_file_proj->num_llnds)
|
|
||||||
#define CUR_FILE_NUM_SYMBS() (pointer_on_file_proj->num_symbs)
|
|
||||||
#define CUR_FILE_NUM_TYPES() (pointer_on_file_proj->num_types)
|
|
||||||
#define CUR_FILE_NUM_LABEL() (pointer_on_file_proj->num_label)
|
|
||||||
#define CUR_FILE_NUM_BLOBS() (pointer_on_file_proj->num_blobs)
|
|
||||||
#define CUR_FILE_NUM_CMNT() (pointer_on_file_proj->num_cmnt)
|
|
||||||
#define CUR_FILE_CUR_BFND() (pointer_on_file_proj->cur_bfnd)
|
|
||||||
#define CUR_FILE_CUR_LLND() (pointer_on_file_proj->cur_llnd)
|
|
||||||
#define CUR_FILE_CUR_SYMB() (pointer_on_file_proj->cur_symb)
|
|
||||||
#define CUR_FILE_CUR_TYPE() (pointer_on_file_proj->cur_type)
|
|
||||||
#define CUR_FILE_GLOBAL_BFND() (pointer_on_file_proj->global_bfnd)
|
|
||||||
#define CUR_FILE_NAME() (pointer_on_file_proj->filename)
|
|
||||||
#define CUR_FILE_HEAD_FILE() (pointer_on_file_proj->head_file)
|
|
||||||
|
|
||||||
|
|
||||||
#define FILE_GLOBAL_BFND(FIL) ((FIL)->global_bfnd)
|
|
||||||
#define FILE_FILENAME(FIL) ((FIL)->filename)
|
|
||||||
#define FILE_LANGUAGE(FIL) ((FIL)->lang)
|
|
||||||
|
|
||||||
|
|
||||||
#define CUR_PROJ_FILE_CHAIN() (cur_proj->file_chain) /* modified by Pete */
|
|
||||||
#define CUR_PROJ_NAME() (cur_proj->proj_name) /* modified by Pete */
|
|
||||||
|
|
||||||
#define PROJ_FILE_CHAIN(PROJ) ((PROJ)->file_chain)
|
|
||||||
|
|
||||||
/* use as a general pointer */
|
|
||||||
|
|
||||||
typedef char *POINTER;
|
|
||||||
enum typenode { BIFNODE, LLNODE, SYMBNODE, TYPENODE, BLOBNODE,
|
|
||||||
BLOB1NODE, LABEL, FILENODE}; //add LABEL (Kataev 21.03.2013), FILE (Kataev 15.07.2013
|
|
||||||
|
|
||||||
|
|
||||||
#define MAXTILE 10 /* nombre maximum de boucle que l'on peut tiler */
|
|
||||||
#define MAX_STMT 100 /* nombre d'instruction d'une boucle */
|
|
||||||
|
|
||||||
|
|
||||||
/**************** For Comment Nodes *****************************/
|
|
||||||
|
|
||||||
|
|
||||||
#define CMNT_ID(NODE) ((NODE)->id)
|
|
||||||
#define CMNT_TYPE(NODE) ((NODE)->type)
|
|
||||||
#define CMNT_STRING(NODE) ((NODE)->string)
|
|
||||||
#define CMNT_NEXT(NODE) ((NODE)->thread)
|
|
||||||
#define CMNT_NEXT_ATTACH(NODE) ((NODE)->next)
|
|
||||||
|
|
||||||
|
|
||||||
/**************** For LABEL NODES *****************************/
|
|
||||||
|
|
||||||
#define LABEL_ID(NODE) ((NODE)->id)
|
|
||||||
#define LABEL_NEXT(NODE) ((NODE)->next)
|
|
||||||
#define LABEL_UD_CHAIN(NODE) ((NODE)->ud_chain)
|
|
||||||
#define LABEL_USED(NODE) ((NODE)->labused)
|
|
||||||
#define LABEL_ILLEGAL(NODE) ((NODE)->labinacc)
|
|
||||||
#define LABEL_DEFINED(NODE) ((NODE)->labdefined)
|
|
||||||
#define LABEL_SCOPE(NODE) ((NODE)->scope)
|
|
||||||
#define LABEL_BODY(NODE) ((NODE)->statbody)
|
|
||||||
#define LABEL_SYMB(NODE) ((NODE)->label_name)
|
|
||||||
#define LABEL_TYPE(NODE) ((NODE)->labtype)
|
|
||||||
#define LABEL_STMTNO(NODE) ((NODE)->stateno)
|
|
||||||
|
|
||||||
|
|
||||||
/**************** Misceallous ***********************************/
|
|
||||||
|
|
||||||
#define LABEL_KIND 100000 /* bigger than the variant of all kind of node*/
|
|
||||||
#define BLOB_KIND 100001
|
|
||||||
#define CMNT_KIND 100002
|
|
||||||
|
|
||||||
/************** For Sets Node ********************************/
|
|
||||||
|
|
||||||
#define SETS_GEN(NODE) ((NODE)->gen)
|
|
||||||
#define SETS_INDEF(NODE) ((NODE)->in_def)
|
|
||||||
#define SETS_USE(NODE) ((NODE)->use)
|
|
||||||
#define SETS_INUSE(NODE) ((NODE)->in_use)
|
|
||||||
#define SETS_OUTDEF(NODE) ((NODE)->out_def)
|
|
||||||
#define SETS_OUTUSE(NODE) ((NODE)->out_use)
|
|
||||||
#define SETS_ARRAYEF(NODE) ((NODE)->arefl)
|
|
||||||
|
|
||||||
#define SETS_REFL_SYMB(NODE) ((NODE)->id)
|
|
||||||
#define SETS_REFL_NEXT(NODE) ((NODE)->next)
|
|
||||||
#define SETS_REFL_NODE(NODE) ((NODE)->node)
|
|
||||||
#define SETS_REFL_REF(NODE) ((NODE)->node->refer)
|
|
||||||
#define SETS_REFL_STMT(NODE) ((NODE)->node->stmt)
|
|
||||||
|
|
||||||
/************** For HASH NODE ********************************/
|
|
||||||
#define HASH_IDENT(NODE) ((NODE)->ident)
|
|
||||||
|
|
||||||
/************** For Special malloc ********************************/
|
|
||||||
|
|
||||||
|
|
||||||
/* pour la gestion memoire */
|
|
||||||
struct chaining
|
|
||||||
{
|
|
||||||
char *zone;
|
|
||||||
struct chaining *list;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct chaining *ptchaining;
|
|
||||||
struct stack_chaining
|
|
||||||
{
|
|
||||||
ptchaining first;
|
|
||||||
ptchaining last;
|
|
||||||
struct stack_chaining *prev;
|
|
||||||
struct stack_chaining *next;
|
|
||||||
int level;
|
|
||||||
};
|
|
||||||
typedef struct stack_chaining *ptstack_chaining;
|
|
||||||
@@ -1,123 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************/
|
|
||||||
/* A class for creating a static call tree for C++ and pC++ */
|
|
||||||
/* functions. usage: */
|
|
||||||
/* include "sage++user.h" */
|
|
||||||
/* include "sage++callgraph.h" */
|
|
||||||
/* main(){ */
|
|
||||||
/* SgProject project("myfile") */
|
|
||||||
/* SgCallGraph CG; */
|
|
||||||
/* Cg.GenCallTree(&(project->file(0))); */
|
|
||||||
/* CG.computeClosures(); */
|
|
||||||
/* the object then contains call info for that file. */
|
|
||||||
/* see the public functions for data that can be extracted */
|
|
||||||
/*******************************************************************/
|
|
||||||
#define SGMOE_FUN 1
|
|
||||||
#define SGNORMAL_FUN 0
|
|
||||||
#define SGMOC_FUN 2
|
|
||||||
#define SGMAX_HASH 541
|
|
||||||
|
|
||||||
class SgCallGraphFunRec;
|
|
||||||
|
|
||||||
typedef struct _SgCallSiteList{
|
|
||||||
SgStatement *stmt;
|
|
||||||
SgExpression *expr;
|
|
||||||
struct _SgCallSiteList *next;
|
|
||||||
}SgCallSiteList;
|
|
||||||
|
|
||||||
typedef struct _SgCallGraphFunRecList{
|
|
||||||
SgStatement *stmt;
|
|
||||||
SgExpression *expr;
|
|
||||||
SgCallGraphFunRec *fr;
|
|
||||||
struct _SgCallGraphFunRecList *next;
|
|
||||||
}SgCallGraphFunRecList;
|
|
||||||
|
|
||||||
class SgCallGraphFunRec{
|
|
||||||
public:
|
|
||||||
int type; // either moe, normal or moc.
|
|
||||||
SgStatement *body;
|
|
||||||
SgCallSiteList *callSites; // pointer to tail of circular linked list
|
|
||||||
SgSymbol *s;
|
|
||||||
int Num_Call_Sites;
|
|
||||||
SgCallGraphFunRecList *callList; // pointer to tail of circular linked list
|
|
||||||
int Num_Call_List;
|
|
||||||
int isCollection; // = 1 if this is a method of a collection
|
|
||||||
int calledInPar; // = 1 if called in a parallel section
|
|
||||||
int calledInSeq; // = 1 if called in sequentail main thread
|
|
||||||
SgSymbol *className; // for member functions.
|
|
||||||
int flag; // used for traversals.
|
|
||||||
|
|
||||||
int id; // serial number
|
|
||||||
SgCallGraphFunRec *next; // used for linked list
|
|
||||||
SgCallGraphFunRec *next_hash; // used for hash table collisions
|
|
||||||
// used for next* functions
|
|
||||||
SgCallSiteList *currentCallSite;
|
|
||||||
SgCallSiteList *currentCallExpr;
|
|
||||||
SgCallGraphFunRecList *currentFunCall;
|
|
||||||
};
|
|
||||||
|
|
||||||
class SgCallGraph{
|
|
||||||
|
|
||||||
public:
|
|
||||||
SgCallGraph(void) {}; // constructor
|
|
||||||
void GenCallTree(SgFile *); // initialize and build the call tree
|
|
||||||
void printFunctionEntry(SgSymbol *fname); // print info about fname
|
|
||||||
int numberOfFunctionsInGraph(); // number of functions in the table.
|
|
||||||
int numberOfCallSites(SgSymbol *fname); // number of call sites for funame
|
|
||||||
int numberOfFunsCalledFrom(SgSymbol *fname); // how many call sites in fname
|
|
||||||
|
|
||||||
int isAMethodOfElement(SgSymbol* fname); // 1 if fname is a method of an element of a coll.
|
|
||||||
int isACollectionFunc(SgSymbol* fname); // 1 if fname is a method of a collection (not MOE)
|
|
||||||
int isCalledInSeq(SgSymbol* fname); // 1 if fname is called in a sequential sect.
|
|
||||||
int isCalledInPar(SgSymbol* fname); // 1 if fname is called in parallel code
|
|
||||||
void computeClosures();
|
|
||||||
|
|
||||||
SgSymbol *firstFunction(); // first function in callgraph
|
|
||||||
SgSymbol *nextFunction(); // next function in callgraph
|
|
||||||
int functionId(SgSymbol *fname); // id of fname
|
|
||||||
SgStatement *functionBody(SgSymbol *fname); // body of fname
|
|
||||||
SgStatement *firstCallSiteStmt(SgSymbol *fname); // stmt of first call of fname
|
|
||||||
SgStatement *nextCallSiteStmt(SgSymbol *fname); // stmt of next call of fname
|
|
||||||
SgExpression *firstCallSiteExpr(SgSymbol *fname); // expression of first call
|
|
||||||
SgExpression *nextCallSiteExpr(SgSymbol *fname); // expression of next call
|
|
||||||
SgSymbol *firstCalledFunction(SgSymbol *fname); // first function called in fname
|
|
||||||
SgSymbol *nextCalledFunction(SgSymbol *fname); // next function called in fname
|
|
||||||
SgStatement *SgCalledFunctionStmt(SgSymbol *fname); // get statement of current called function
|
|
||||||
SgExpression *SgCalledFunctionExpr(SgSymbol *fname); // get expression of current called function
|
|
||||||
|
|
||||||
// obsolete functions:
|
|
||||||
SgSymbol *function(int i); // i-th function in table (0 = first)
|
|
||||||
SgStatement *functionBody(int i); // i-th function in table (0 = first)
|
|
||||||
void printTableEntry(int); // print the i-th table entry.
|
|
||||||
|
|
||||||
SgStatement *callSiteStmt(SgSymbol *fname, int i); // stmt of i-th call of fname
|
|
||||||
SgExpression *callSiteExpr(SgSymbol *fname, int i); // expression of i-th call
|
|
||||||
SgSymbol *calledFunction(SgSymbol *fname, int i); // i-th function called in fname
|
|
||||||
// end obsolete
|
|
||||||
protected:
|
|
||||||
SgCallGraphFunRec *FunListHead;
|
|
||||||
int num_funs_in_table;
|
|
||||||
SgCallGraphFunRec *hash_table[SGMAX_HASH];
|
|
||||||
SgCallGraphFunRec *locateFunctionInTable(SgSymbol *);
|
|
||||||
SgCallGraphFunRec *lookForFunctionOpForClass(SgSymbol *);
|
|
||||||
void updateFunctionTableConnections(SgCallGraphFunRec *, SgStatement *, SgExpression *);
|
|
||||||
void findFunctionCalls(SgStatement *, SgExpression *);
|
|
||||||
void init();
|
|
||||||
|
|
||||||
void insertInHashTable(SgSymbol *, SgCallGraphFunRec *);
|
|
||||||
unsigned long int hashSymbol(SgSymbol *);
|
|
||||||
SgCallGraphFunRec *currentFun;
|
|
||||||
};
|
|
||||||
|
|
||||||
SgType *findTrueType(SgExpression *);
|
|
||||||
SgType *makeReducedType(SgType *);
|
|
||||||
SgSymbol *firstFunction();
|
|
||||||
SgSymbol *nextFunction();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,216 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
// ----------------------------------
|
|
||||||
// Darryl Brown
|
|
||||||
// University of Oregon pC++/Sage++
|
|
||||||
//
|
|
||||||
// sage++classhierarchy.h - the header file for the class classHierarchy.
|
|
||||||
//
|
|
||||||
// a class(es) for inspecting the class hierarchy
|
|
||||||
// of a sage++ project.
|
|
||||||
//
|
|
||||||
// ----------------------------------
|
|
||||||
|
|
||||||
// ----------------------------------
|
|
||||||
// To traverse the hierarcy of classes, the most obvious approach is
|
|
||||||
// in the following example. This example searches the tree for a given
|
|
||||||
// class name and a hierarchy to search. Note that this searches the whole
|
|
||||||
// tree, not just the immediate children.
|
|
||||||
//
|
|
||||||
// classHierarchy *findHierarchy(char *name, classHierarchy *h) {
|
|
||||||
// classHierarchy *tmp, *depth;
|
|
||||||
//
|
|
||||||
// // initialize searchlist of hierarchy immediate children...;
|
|
||||||
// // this returns the first hierarchy in the child list...;
|
|
||||||
// tmp = (classHierarchy *) h->children->searchList();
|
|
||||||
//
|
|
||||||
// while (tmp) {
|
|
||||||
//
|
|
||||||
// // if they are the same, return the current hierarchy...;
|
|
||||||
// if (strcmp(name, tmp->className) == 0) {
|
|
||||||
// return tmp;
|
|
||||||
// } else {
|
|
||||||
// // search tmps children recursively, if not NULL, return that value...;
|
|
||||||
// if (depth = findHierarchy(name, tmp)) {
|
|
||||||
// return depth;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// // get next item in list;
|
|
||||||
// tmp = (classHierarchy *) h->children->nextItem();
|
|
||||||
// }
|
|
||||||
// // if weve made it to here, it is not anywhere in the hierarchy,
|
|
||||||
// // so return NULL;
|
|
||||||
// return NULL;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// -------------------------------------------------------
|
|
||||||
// There is also a list of the classMembers for each class. To traverse
|
|
||||||
// that list, it is very similar, but more simple than the above example.
|
|
||||||
// Here is an example of printing out each class member of a specific
|
|
||||||
// member type (e.g. public function).
|
|
||||||
//
|
|
||||||
// virtual void printMemberType(memberType mt, classHierarchy *h) {
|
|
||||||
// classMember *tmp;
|
|
||||||
//
|
|
||||||
// tmp = (classMember *) h->classMembers->searchList();
|
|
||||||
//
|
|
||||||
// while (tmp) {
|
|
||||||
// if (tmp->typeVariant == mt) {
|
|
||||||
// tmp->print();
|
|
||||||
// }
|
|
||||||
// tmp = (classMember *) h->classMembers->nextItem();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
// -------------------------------------------------------------
|
|
||||||
// Forward declarations;
|
|
||||||
//
|
|
||||||
class relationList;
|
|
||||||
|
|
||||||
// -------------------------------------------------------------
|
|
||||||
// Extern declarations
|
|
||||||
//
|
|
||||||
//
|
|
||||||
extern int strToType(char *s);
|
|
||||||
extern char *typeToStr(int ty);
|
|
||||||
|
|
||||||
|
|
||||||
// --------------------
|
|
||||||
// type of class members...;
|
|
||||||
typedef enum {
|
|
||||||
UNKNOWN_FUNC,
|
|
||||||
PRIVATE_FUNC,
|
|
||||||
PUBLIC_FUNC,
|
|
||||||
PROTECTED_FUNC,
|
|
||||||
ELEMENT_FUNC,
|
|
||||||
UNKNOWN_VAR,
|
|
||||||
PRIVATE_VAR,
|
|
||||||
PUBLIC_VAR,
|
|
||||||
PROTECTED_VAR,
|
|
||||||
ELEMENT_VAR
|
|
||||||
} memberType;
|
|
||||||
|
|
||||||
// -------------------------------------------------------------
|
|
||||||
// the main class for accessing the class hierarchy within a sage++
|
|
||||||
// file.
|
|
||||||
class classHierarchy : public brk_basePtr {
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
// private functions
|
|
||||||
virtual classHierarchy *findClassHierarchy(char *cl);
|
|
||||||
//returns the hierarchy of the class with className cl;
|
|
||||||
classHierarchy *pushOnTop(SgClassStmt *clSt);
|
|
||||||
// creates a new hierarchy for clSt (a class declarative statement);
|
|
||||||
// and puts it at the highest level of the hierarchy (exclusively ;
|
|
||||||
// for classes with no superclasses) ;
|
|
||||||
virtual classHierarchy * storeInClassHierarchy (SgClassStmt *clSt);
|
|
||||||
// creates a new hierarchy for the class declarative statement clSt;
|
|
||||||
// and stores it where it fits in the hierarchy of classes. It makes
|
|
||||||
// use of the above two functions pushOnTop and findHierarchy.;
|
|
||||||
void determineMembers(SgFile *aFile);
|
|
||||||
// finds all members in a class, initializing publicVars, protectedVars,
|
|
||||||
// privateVars, publicFuncs, protectedFuncs, and privateFuncs;
|
|
||||||
void allocateLists();
|
|
||||||
// allocates new relationList instances for member fields.;
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
// members;
|
|
||||||
relationList *parents; // linked list of parents ;
|
|
||||||
relationList *children; // linked list of children ;
|
|
||||||
relationList *classMembers; // linked list of class vars and funcs ;
|
|
||||||
char *className; // contains the class name ;
|
|
||||||
SgSymbol *classSymbol; // contains the Sage symbol for the name;
|
|
||||||
SgClassStmt *declaration; // contains the Sage declaration of the class;
|
|
||||||
|
|
||||||
// constructors;
|
|
||||||
classHierarchy(void);
|
|
||||||
classHierarchy(char * cn);
|
|
||||||
classHierarchy(SgSymbol * cs);
|
|
||||||
classHierarchy(SgClassStmt * clSt);
|
|
||||||
|
|
||||||
// access functions;
|
|
||||||
virtual void print(int tabs); // prints out this class after <tabs> tabs.;
|
|
||||||
virtual void print(); // prints out this class after 0 tabs.;
|
|
||||||
virtual void printAll(int tabs);
|
|
||||||
// prints out this class after <tabs> tabs, as well as all descendants;
|
|
||||||
virtual void printAllCollections(int tabs);
|
|
||||||
// prints out this class if it is a collection ;
|
|
||||||
// after <tabs> tabs, as well as all descendants;
|
|
||||||
virtual void printAll();
|
|
||||||
// prints out this class after 0 tabs, as well as all descendants;
|
|
||||||
virtual void printMemberType(memberType mt);
|
|
||||||
// prints out all member field/functions of type mt;
|
|
||||||
classHierarchy *findMember (brk_basePtr *); // look for this element and
|
|
||||||
// return the ptrNode that points to it;
|
|
||||||
int numParents(); // returns the number of parents;
|
|
||||||
int numChildren(); // returns the number of children ;
|
|
||||||
void determineClassHierarchy(SgFile *aFile);
|
|
||||||
// finds all classes in a file and stores them in a hierarchy. It makes
|
|
||||||
// use of private functions. Typically, this is the only necessary
|
|
||||||
// function to call when trying to find out a class hierarchy for a file.
|
|
||||||
int numberOfDescendants (void);
|
|
||||||
// returns the total number of all descendants;
|
|
||||||
int numberOfParents (void);
|
|
||||||
// returns the number of parents of this class;
|
|
||||||
int numberOfChildren (void);
|
|
||||||
// returns the number of direct children of this class;
|
|
||||||
int isCollection();
|
|
||||||
// returns true if it is a collection, false if not a collection,
|
|
||||||
// or if it is not known.;
|
|
||||||
char *fileName(); // returns file name where this class is defined if known,
|
|
||||||
// NULL if not known.;
|
|
||||||
int lineNumber(); // returns line number where this class is defined if known,
|
|
||||||
// -1 if not known.;
|
|
||||||
virtual int compare(brk_basePtr *);
|
|
||||||
// compares this heirarchy with another alphabetically using className;
|
|
||||||
void sort (); // sorts the list, elements must have compare function.,;
|
|
||||||
void sort(int (* compareFunc) (brk_basePtr *, brk_basePtr *));
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// -------------------------------------------------------------
|
|
||||||
// the class implementing the linked list for
|
|
||||||
class relationList : public brk_linkedList {
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
// constructor;
|
|
||||||
relationList();
|
|
||||||
|
|
||||||
// access functions;
|
|
||||||
virtual void printAll(int tNum); // print all elements in list preceded by
|
|
||||||
// tNum tabs AND print all descendants, incrementing tNum with each
|
|
||||||
// generation;
|
|
||||||
virtual void printAll(); // as above, with tNum = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// -------------------------------------------------------------;
|
|
||||||
// For class variables & functions..;
|
|
||||||
class classMember : public brk_basePtr {
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
// class vars
|
|
||||||
memberType typeVariant;
|
|
||||||
SgStatement * declaration;
|
|
||||||
SgSymbol * symbol;
|
|
||||||
char * name;
|
|
||||||
char * typeOf;
|
|
||||||
SgType *memType;
|
|
||||||
|
|
||||||
// access functions
|
|
||||||
classMember(SgSymbol *sym, memberType tv);
|
|
||||||
classMember(SgStatement *decl, memberType tv);
|
|
||||||
virtual void print();
|
|
||||||
virtual void print(int);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
extern void **tablebfnd[];
|
|
||||||
extern void **tablellnd[];
|
|
||||||
extern void **tabletype[];
|
|
||||||
extern void **tablesymbol[];
|
|
||||||
extern void **tablelabel[];
|
|
||||||
|
|
||||||
extern int numtablebfnd[];
|
|
||||||
extern int numtablellnd[];
|
|
||||||
extern int numtabletype[];
|
|
||||||
extern int numtablesymbol[];
|
|
||||||
extern int numtablelabel[];
|
|
||||||
|
|
||||||
|
|
||||||
extern void **fileTableClass;
|
|
||||||
extern int allocatedForfileTableClass;
|
|
||||||
extern void **bfndTableClass;
|
|
||||||
extern int allocatedForbfndTableClass;
|
|
||||||
extern void **llndTableClass;
|
|
||||||
extern int allocatedForllndTableClass;
|
|
||||||
extern void **typeTableClass;
|
|
||||||
extern int allocatedFortypeTableClass;
|
|
||||||
extern void **symbolTableClass;
|
|
||||||
extern int allocatedForsymbolTableClass;
|
|
||||||
extern void **labelTableClass;
|
|
||||||
extern int allocatedForlabelTableClass;
|
|
||||||
|
|
||||||
extern SgProject *CurrentProject;
|
|
||||||
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void SwitchToFile(int i);
|
|
||||||
void ReallocatefileTableClass();
|
|
||||||
void ReallocatebfndTableClass();
|
|
||||||
void ResetbfndTableClass();
|
|
||||||
void ReallocatellndTableClass();
|
|
||||||
void ReallocatesymbolTableClass();
|
|
||||||
void ReallocatelabelTableClass();
|
|
||||||
void ReallocatetypeTableClass();
|
|
||||||
void RemoveFromTableType(void * pt);
|
|
||||||
void RemoveFromTableSymb(void * pt);
|
|
||||||
void RemoveFromTableBfnd(void * pt);
|
|
||||||
void RemoveFromTableFile(void * pt);
|
|
||||||
void RemoveFromTableLlnd(void * pt);
|
|
||||||
void RemoveFromTableLabel(void * pt);
|
|
||||||
void SetMappingInTableForBfnd(PTR_BFND bif, void *pt);
|
|
||||||
void SetMappingInTableForType(PTR_TYPE type, void *pt);
|
|
||||||
void SetMappingInTableForSymb(PTR_SYMB symb, void *pt);
|
|
||||||
void SetMappingInTableForLabel(PTR_LABEL lab, void *pt);
|
|
||||||
void SetMappingInTableForLlnd(PTR_LLND ll, void *pt);
|
|
||||||
void SetMappingInTableForFile(PTR_FILE file, void *pt);
|
|
||||||
SgSymbol *GetMappingInTableForSymbol(PTR_SYMB symb);
|
|
||||||
SgLabel *GetMappingInTableForLabel(PTR_LABEL lab);
|
|
||||||
SgStatement *GetMappingInTableForBfnd(PTR_BFND bf);
|
|
||||||
SgStatement *GetMappingInTableForBfnd(PTR_BFND bf);
|
|
||||||
SgType *GetMappingInTableForType(PTR_TYPE t);
|
|
||||||
SgExpression *GetMappingInTableForLlnd(PTR_LLND ll);
|
|
||||||
SgFile *GetMappingInTableForFile(PTR_FILE file);
|
|
||||||
SgStatement * BfndMapping(PTR_BFND bif);
|
|
||||||
SgExpression * LlndMapping(PTR_LLND llin);
|
|
||||||
SgSymbol * SymbMapping(PTR_SYMB symb);
|
|
||||||
SgType * TypeMapping(PTR_TYPE ty);
|
|
||||||
SgLabel * LabelMapping(PTR_LABEL label);
|
|
||||||
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
#ifndef SAGEXXUSER_H
|
|
||||||
#define SAGEXXUSER_H 1
|
|
||||||
|
|
||||||
#include "macro.h"
|
|
||||||
|
|
||||||
// For C/C++ parser internals
|
|
||||||
#include "vpc.h"
|
|
||||||
|
|
||||||
// For the fortran parser internals
|
|
||||||
#include "f90.h"
|
|
||||||
|
|
||||||
// All the "C" functions from the Rennes toolbox
|
|
||||||
#include "extcxx_low.h"
|
|
||||||
|
|
||||||
class SgProject;
|
|
||||||
class SgFile;
|
|
||||||
class SgStatement;
|
|
||||||
class SgExpression;
|
|
||||||
class SgLabel;
|
|
||||||
class SgSymbol;
|
|
||||||
class SgType;
|
|
||||||
class SgUnaryExp;
|
|
||||||
class SgClassSymb;
|
|
||||||
class SgVarDeclStmt;
|
|
||||||
class SgVarRefExp; /* ajm: I think they should all be here! @$!@ */
|
|
||||||
|
|
||||||
// All the externs (from libSage++.C) used in libSage++.h
|
|
||||||
#include "sage++extern.h"
|
|
||||||
|
|
||||||
#define SORRY Message("Sorry, not implemented yet",0)
|
|
||||||
|
|
||||||
// Prototype definitions for all the functions in libSage++.C
|
|
||||||
#include "sage++proto.h"
|
|
||||||
|
|
||||||
|
|
||||||
// dont delete needed in libSage++.h
|
|
||||||
#define USER
|
|
||||||
#include "libSage++.h"
|
|
||||||
|
|
||||||
#endif /* ndef SAGEXXUSER_H */
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
DEFNODECODE(BIF_PARM_DECL,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(CONST_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(ENUM_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(FIELD_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(VARIABLE_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(TYPE_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(PROGRAM_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(PROCEDURE_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(PROCESS_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(VAR_FIELD,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(LABEL_VAR,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(FUNCTION_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(MEMBER_FUNC,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(CLASS_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(TECLASS_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(UNION_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(STRUCT_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(LABEL_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(COLLECTION_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(ROUTINE_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(CONSTRUCT_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(INTERFACE_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(MODULE_NAME,'_','_','_','_','_')
|
|
||||||
DEFNODECODE(COMMON_NAME,'_','_','_','_','_')
|
|
||||||
|
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/* format is the following variant 'a'|'s'|'u'|'t'|'e'|'p'|'d'|'D'|'_',
|
|
||||||
's'|'_', 'b'|'_','c'|'C'|'_', 'f'|'_'
|
|
||||||
|
|
||||||
_ stands for no
|
|
||||||
-----------------------
|
|
||||||
a stands for atomic type (T_INT and so on)
|
|
||||||
u stands for union
|
|
||||||
t stands for array
|
|
||||||
s stands for structure (first field structure)
|
|
||||||
e stands for enumeration
|
|
||||||
p stands for pointer or reference
|
|
||||||
d stands for derived
|
|
||||||
D stands for descript type
|
|
||||||
------------------
|
|
||||||
s stands for symbol
|
|
||||||
------------------
|
|
||||||
b stands for bastype
|
|
||||||
------------------
|
|
||||||
c stands for class type
|
|
||||||
C stand for collection type
|
|
||||||
------------------
|
|
||||||
f stands have a list of fields (should go to symbol also)
|
|
||||||
|
|
||||||
*/
|
|
||||||
DEFNODECODE(DEFAULT, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_INT, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_FLOAT, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_DOUBLE, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_CHAR, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_BOOL, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_STRING, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_COMPLEX, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_DCOMPLEX, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_GATE, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_EVENT, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_SEQUENCE, 'a','_','_','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(T_ENUM, 'e','_','_','_','f')
|
|
||||||
DEFNODECODE(T_SUBRANGE, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_LIST, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_ARRAY, 't','_','b','_','_')
|
|
||||||
DEFNODECODE(T_RECORD, 's','_','_','_','f')
|
|
||||||
DEFNODECODE(T_ENUM_FIELD, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(T_UNKNOWN, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_VOID, 'a','_','_','_','_')
|
|
||||||
DEFNODECODE(T_DESCRIPT, 'D','_','b','_','_')
|
|
||||||
DEFNODECODE(T_FUNCTION, '_','_','b','_','_')
|
|
||||||
DEFNODECODE(T_POINTER, 'p','_','b','_','_')
|
|
||||||
DEFNODECODE(T_UNION, 'u','_','_','_','f')
|
|
||||||
DEFNODECODE(T_STRUCT, 's','_','_','_','f')
|
|
||||||
DEFNODECODE(T_CLASS, 's','_','_','_','f')
|
|
||||||
DEFNODECODE(T_TECLASS, 's','_','_','_','f')
|
|
||||||
DEFNODECODE(T_DERIVED_CLASS, 'd','s','_','_','_')
|
|
||||||
DEFNODECODE(T_DERIVED_TYPE, 'd','s','_','_','_')
|
|
||||||
DEFNODECODE(T_COLLECTION, 's','_','_','_','f')
|
|
||||||
DEFNODECODE(T_DERIVED_COLLECTION, 'd','s','_','_','_')
|
|
||||||
DEFNODECODE(T_DERIVED_TEMPLATE, 'd','s','_','_','_')
|
|
||||||
DEFNODECODE(T_REFERENCE, 'p','_','b','_','_')
|
|
||||||
|
|
||||||
DEFNODECODE(LOCAL, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(INPUT, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(OUTPUT, '_','_','_','_','_')
|
|
||||||
DEFNODECODE(IO, '_','_','_','_','_')
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,833 +0,0 @@
|
|||||||
/*********************************************************************/
|
|
||||||
/* pC++/Sage++ Copyright (C) 1993 */
|
|
||||||
/* Indiana University University of Oregon University of Rennes */
|
|
||||||
/*********************************************************************/
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
/***** *****/
|
|
||||||
/***** UNPARSE.DEF: Bodin Francois Sepetmber 1992 *****/
|
|
||||||
/***** with major changes by d. gannon summer 1993 *****/
|
|
||||||
/***** Version C++ *****/
|
|
||||||
/***** *****/
|
|
||||||
/*****************************************************************************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
DEFNODECODE(GLOBAL, "%SETFLAG(ARRAYREF)%UNSETFLAG(ARRAYREF)%SETFLAG(CLASSDECL)%UNSETFLAG(CLASSDECL)%SETFLAG(PAREN)%UNSETFLAG(PAREN)%SETFLAG(ELIST)%UNSETFLAG(ELIST)%SETFLAG(QUOTE)%BLOB1%UNSETFLAG(QUOTE)",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(PROG_HEDR, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(PROC_HEDR, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(BASIC_BLOCK, "%CMNT%PUTTAB{%NL%INCTAB%BLOB1%DECTAB%PUTTAB}%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(MODULE_STMT, "%CMNT%PUTTAB%NL%INCTAB%BLOB1%DECTAB%PUTTAB%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
/* 107 is value for FOR_NODE */
|
|
||||||
DEFNODECODE(CONTROL_END, "",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(IF_NODE, "%CMNT%PUTTABif (%LL1) %NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL%IF (%BLOB2 != %NULL)%PUTTABelse %NL%PUTTAB{%INCTAB%NL%BLOB2%DECTAB%PUTTAB}%NL%ENDIF",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(ARITHIF_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(LOGIF_NODE, "%CMNT%PUTTABif (%LL1) %NL%PUTTAB%INCTAB%BLOB1%DECTAB%PUTTAB%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(LOOP_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(FOR_NODE, "%CMNT%PUTTABfor (%LL1 ; %LL2 ; %LL3)%NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(FORALL_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(WHILE_NODE, "%CMNT%PUTTABwhile (%LL1)%NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(TRY_STAT, "%CMNT%PUTTABtry {%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(CATCH_STAT, "%CMNT%PUTTABcatch (%SETFLAG(VARDECL)%TMPLARGS%UNSETFLAG(VARDECL)){%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(SDOALL_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DOACROSS_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(CDOACROSS_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(EXIT_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(GOTO_NODE, "%CMNT%PUTTABgoto %LL3;%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(ASSGOTO_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(COMGOTO_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(PAUSE_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(STOP_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ASSIGN_STAT, "%CMNT%IF(%LABEL != %NULL)%LABEL%ENDIF%PUTTAB%LL1 = %LL2;%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
/*
|
|
||||||
DEFNODECODE(ASSIGN_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE) */
|
|
||||||
DEFNODECODE(M_ASSIGN_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(PROC_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(ASSLAB_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(SUM_ACC, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(MULT_ACC, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(MAX_ACC, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(MIN_ACC, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(CAT_ACC, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(OR_ACC, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(AND_ACC, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(READ_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(WRITE_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(PRINT_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(OTHERIO_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(BLOB, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(SIZES, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
/* podd 12.01.12 %CONSTRU deleted
|
|
||||||
DEFNODECODE(FUNC_HEDR, "%CMNT%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUTTAB%DECLSPEC%SYMBTYPE %IF (%CHECKFLAG(CLASSDECL) == %NULL)%SYMBSCOPE%IF(%LL3 != %NULL)<%TMPLARGS >%ENDIF%SYMBDC%ENDIF %SETFLAG(VARDECL)%FUNHD%UNSETFLAG(VARDECL)%CONSTRU%ENDIF%CNSTF{%INCTAB%NL%PUSHFLAG(CLASSDECL)%BLOB1%POPFLAG(CLASSDECL)%DECTAB%PUTTAB}%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
*/
|
|
||||||
DEFNODECODE(FUNC_HEDR, "%CMNT%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUTTAB%DECLSPEC%SYMBTYPE %IF (%CHECKFLAG(CLASSDECL) == %NULL)%SYMBSCOPE%IF(%LL3 != %NULL)<%TMPLARGS >%ENDIF%SYMBDC%ENDIF %SETFLAG(VARDECL)%FUNHD%UNSETFLAG(VARDECL)%ENDIF%CNSTF%NL%PUTTAB{%INCTAB%NL%PUSHFLAG(CLASSDECL)%BLOB1%POPFLAG(CLASSDECL)%DECTAB%PUTTAB}%NL%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(TEMPLATE_FUNDECL, "%CMNT%PUTTABtemplate <%SETFLAG(VARDECL)%TMPLARGS%UNSETFLAG(VARDECL) > %BLOB1",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
|
|
||||||
DEFNODECODE(WHERE_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(ALLDO_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(IDENTIFY, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(FORMAT_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(STOP_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(RETURN_STAT, "%CMNT%PUTTABreturn%IF (%LL1 != %NULL) %LL1%ENDIF;%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ELSEIF_NODE, "%CMNT%DECTAB%PUTTAB}%NL%PUTTABelse if (%LL1) %NL%PUTTAB{%INCTAB%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
/*NO_OPnodes*/
|
|
||||||
DEFNODECODE(COMMENT_STAT, "%CMNT%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(CONT_STAT, "%CMNT%PUTTABcontinue;%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(VAR_DECL, "%CMNT%SETFLAG(VARDECL)%IF (%CHECKFLAG(ENUM) == %NULL)%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUTTAB%DECLSPEC%TYPE %ENDIF%LL1%IF (%CHECKFLAG(ENUM) == %NULL);%ENDIF%UNSETFLAG(VARDECL)%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(PRIVATE_AR_DECL, "%CMNT%PUTTABPrivateArray<%LL1,%LL2> %LL3;%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(PARAM_DECL, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(COMM_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(EQUI_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(IMPL_DECL, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DATA_DECL, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(SAVE_DECL, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(STMTFN_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DIM_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(EXTERN_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(INTRIN_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ENUM_DECL, "%CMNT%PUTTAB%DECLSPEC%SETFLAG(ENUM)enum %SYMBID %IF (%BLOB1 != %NULL){%INCTAB%NL %BLOB1%DECTAB%PUTTAB}%LL1;%NL%ELSE%LL1;%NL%ENDIF%UNSETFLAG(ENUM)",
|
|
||||||
'd',0,BIFNODE)
|
|
||||||
/* the public: in the line below is to mask a dep2C++ bug */
|
|
||||||
DEFNODECODE(CLASS_DECL, "%CMNT%INCLASSON%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUSHFLAG(CLASSDECL)%PUTTAB%DECLSPEC%RIDPT%SETFLAG(CLASSDECL)class %SYMBID%IF (%LL2 !=%NULL):%SETFLAG(SUBCLASS)%LL2%UNSETFLAG(SUBCLASS)%ENDIF %IF (%BLOB1 != %NULL){%INCTAB%NLpublic:%NL%BLOB1 %NL%DECTAB%PUTTAB}%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ELSE%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ENDIF%UNSETFLAG(CLASSDECL)%POPFLAG(CLASSDECL)%IF (%CHECKFLAG(CLASSDECL) == %NULL)%INCLASSOFF",
|
|
||||||
'd',0,BIFNODE)
|
|
||||||
DEFNODECODE(TECLASS_DECL, "%CMNT%INCLASSON%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUSHFLAG(CLASSDECL)%PUTTAB%DECLSPEC%RIDPT%SETFLAG(CLASSDECL)TEClass %SYMBID%IF (%LL2 !=%NULL):%SETFLAG(SUBCLASS)%LL2%UNSETFLAG(SUBCLASS)%ENDIF %IF (%BLOB1 != %NULL){%INCTAB%NLpublic:%NL%BLOB1 %NL%DECTAB%PUTTAB}%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ELSE%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ENDIF%UNSETFLAG(CLASSDECL)%POPFLAG(CLASSDECL)%INCLASSOFF",
|
|
||||||
'd',0,BIFNODE)
|
|
||||||
DEFNODECODE(UNION_DECL, "%CMNT%PUTTAB%DECLSPEC%RIDPTunion %SYMBID %IF (%BLOB1 != %NULL){%INCTAB%NL%BLOB1%NL%DECTAB%PUTTAB} %LL1;%NL%ELSE%LL1;%NL%ENDIF",
|
|
||||||
'd',0,BIFNODE)
|
|
||||||
DEFNODECODE(STRUCT_DECL, "%CMNT%PUTTAB%DECLSPEC%RIDPTstruct %SYMBID %IF (%LL2 !=%NULL):%SETFLAG(SUBCLASS)%LL2%UNSETFLAG(SUBCLASS)%ENDIF %IF (%BLOB1!=%NULL){%INCTAB%NL%BLOB1%DECTAB%PUTTAB} %SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ELSE%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ENDIF",
|
|
||||||
'd',0,BIFNODE)
|
|
||||||
DEFNODECODE(EXTERN_C_STAT, "%CMNT%PUTTABextern \"C\" %IF (%BLOB1!=%NULL){%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL%ENDIF",
|
|
||||||
'd',0,BIFNODE)
|
|
||||||
DEFNODECODE(DERIVED_CLASS_DECL, "%ERROR",
|
|
||||||
'd',0,BIFNODE)
|
|
||||||
DEFNODECODE(EXPR_STMT_NODE, "%CMNT%PUTTAB%LL1;%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DO_WHILE_NODE, "%CMNT%PUTTABdo {%NL%INCTAB%NL%BLOB1%DECTAB%PUTTAB} while (%LL1);%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(SWITCH_NODE, "%CMNT%PUTTABswitch (%LL1)%NL%PUTTAB{%NL%INCTAB%BLOB1%DECTAB%PUTTAB}%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(CASE_NODE, "%CMNT%PUTTABcase %LL1:%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DEFAULT_NODE, "%CMNT%PUTTABdefault:%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(BREAK_NODE, "%CMNT%PUTTABbreak;%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(CONTINUE_NODE, "%CMNT%PUTTABcontinue;%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(RETURN_NODE, "%CMNT%PUTTABreturn%IF (%LL1 != %NULL) %LL1%ENDIF;%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(ASM_NODE, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(SPAWN_NODE, "%CMNT%PUTTABspawn %LL1;%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(PARFOR_NODE, "%CMNT%PUTTABparfor (%LL1 ; %LL2 ; %LL3)%NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(PAR_NODE, "%CMNT%PUTTABpar%NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(LABEL_STAT, "%CMNT%LABNAME:%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(PROS_COMM, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(ATTR_DECL, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(NAMELIST_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(OPEN_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(CLOSE_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(ENDFILE_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(REWIND_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
/* DEFNODECODE(ENTRY_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE) */
|
|
||||||
DEFNODECODE(ENTRY_STAT, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(BLOCK_DATA, "%ERROR",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(COLLECTION_DECL, "%INCLASSON%CMNT%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUSHFLAG(CLASSDECL)%PUTTAB%RIDPT%SETFLAG(CLASSDECL)Collection %SYMBID%IF (%LL2 !=%NULL):public %LL2%ENDIF %IF (%BLOB1 != %NULL){%INCTAB%NL%BLOB1 %NL%DECTAB%PUTTAB}%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ELSE%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ENDIF%UNSETFLAG(CLASSDECL)%POPFLAG(CLASSDECL)%INCLASSOFF",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(INCLUDE_LINE, "%CMNT#include %LL1%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(PREPROCESSOR_DIR, "%CMNT%LL1%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
/*****************variant tags for low level nodes********************/
|
|
||||||
|
|
||||||
/***** List of commands for LOW LEVEL NODES *****/
|
|
||||||
/* %ERROR : Error ; syntax : %ERROR'message' */
|
|
||||||
/* %NL : NewLine */
|
|
||||||
/* %% : '%' (Percent Sign) */
|
|
||||||
/* %TAB : Tab */
|
|
||||||
/* %IF : If ; syntax : %IF (condition) then_bloc [%ELSE else_bloc] %ENDIF */
|
|
||||||
/* %ELSE : Else */
|
|
||||||
/* %ENDIF : End of If */
|
|
||||||
/* %LL1 : Low Level Node 1 */
|
|
||||||
/* %LL2 : Low Level Node 2 */
|
|
||||||
/* %SYMBID : Symbol identifier */
|
|
||||||
/* %TYPE : Type */
|
|
||||||
/* %L1SYMBCST : Constant Value of Low Level Node Symbol */
|
|
||||||
/* %INTVAL : Integer Value */
|
|
||||||
/* %STATENO : Statement Number */
|
|
||||||
/* %STRVAL : String Value */
|
|
||||||
/* %BOOLVAL : Boolean Value */
|
|
||||||
/* %CHARVAL : Char Value */
|
|
||||||
/* %ORBPL1 : Openning Round Brackets on Precedence of Low Level Node 1 */
|
|
||||||
/* %CRBPL1 : Closing Round Brackets on Precedence of Low Level Node 1 */
|
|
||||||
/* %ORBPL2 : Openning Round Brackets on Precedence of Low Level Node 2 */
|
|
||||||
/* %CRBPL2 : Closing Round Brackets on Precedence of Low Level Node 2 */
|
|
||||||
/***********************************************/
|
|
||||||
|
|
||||||
/***** List of commands for evaluation in IF THEN ELSE ENDIF statements for LOW LEVEL NODE *****/
|
|
||||||
/* %STRCST : String Constant in '' */
|
|
||||||
/* %SYMBID : Symbol Identifier (string) */
|
|
||||||
/* %SYMBOL : Symbol node (integer) */
|
|
||||||
/* == : Equal (operation) */
|
|
||||||
/* != : Different (operation) */
|
|
||||||
/* %NULL : 0, Integer Constant (or false boolean) */
|
|
||||||
/* %LL1 : Low Level Node 1 (integer) */
|
|
||||||
/* %LL2 : Low Level Node 2 (integer) */
|
|
||||||
/* %LABUSE : Label ptr (do end) (integer) */
|
|
||||||
/* %L1CODE : Code (variant) of Low Level Node 1 (integer) */
|
|
||||||
/* %L2CODE : Code (variant) of Low Level Node 2 (integer) */
|
|
||||||
/* %INWRITE : In_Write_Statement (integer / boolean flag) */
|
|
||||||
/* %INPARAM : In_Param_Statement (integer / boolean flag) */
|
|
||||||
/* %INIMPLI : In_Impli_Statement (integer / boolean flag) */
|
|
||||||
/************************************************************************************************/
|
|
||||||
|
|
||||||
/* CODES AYANT DISPARU :
|
|
||||||
RENAME_NODE, ONLY_NODE, DEFAULT, LEN_OP, TARGET_OP,
|
|
||||||
SAVE_OP, POINTER_OP, INTRINSIC_OP, INOUT_OP, OUT_OP,
|
|
||||||
IN_OP, OPTIONAL_OP, EXTERNAL_OP, DIMENSION_OP, ALLOCATABLE_OP,
|
|
||||||
PRIVATE_OP, PUBLIC_OP, PARAMETER_OP, MAXPARALLEL_OP, EXTEND_OP,
|
|
||||||
ORDERED_OP, PAREN_OP, OVERLOADED_CALL, STRUCTURE_CONSTRUCTOR, INTERFACE_REF,
|
|
||||||
TYPE_REF, KEYWORD_ARG,
|
|
||||||
*/
|
|
||||||
|
|
||||||
DEFNODECODE(LEN_OP, "%IF (%LL1 != %NULL)*(%LL1)%ENDIF",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(INT_VAL, "%INTKIND",
|
|
||||||
'c',0,LLNODE)
|
|
||||||
DEFNODECODE(FLOAT_VAL, "%STRVAL",
|
|
||||||
'c',0,LLNODE)
|
|
||||||
DEFNODECODE(DOUBLE_VAL, "%STRVAL",
|
|
||||||
'c',0,LLNODE)
|
|
||||||
DEFNODECODE(BOOL_VAL, "%BOOLVAL",
|
|
||||||
'c',0,LLNODE)
|
|
||||||
DEFNODECODE(CHAR_VAL, "%IF (%INIMPLI == %NULL)'%ENDIF%CHARVAL%IF (%INIMPLI == %NULL)'%ENDIF",
|
|
||||||
'c',0,LLNODE)
|
|
||||||
DEFNODECODE(STRING_VAL, "%IF (%CHECKFLAG(QUOTE) != %NULL)\"%STRVAL\"%ELSE\"%STRVAL\"%ENDIF",
|
|
||||||
'c',0,LLNODE)
|
|
||||||
DEFNODECODE(KEYWORD_VAL, "%STRVAL",
|
|
||||||
'c',0,LLNODE)
|
|
||||||
DEFNODECODE(COMPLEX_VAL, "(%LL1, %LL2)",
|
|
||||||
'c',0,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(CONST_REF, "%SYMBID",
|
|
||||||
'r',2,LLNODE)
|
|
||||||
DEFNODECODE(VAR_REF, "%IF(%CHECKFLAG(SUBCLASS) != %NULL)%DOPROC%ENDIF%SYMBID%IF(%LL2 != %NULL)%PUSHFLAG(PAREN)<%LL2 >%POPFLAG(PAREN)%ENDIF",
|
|
||||||
'r',0,LLNODE)
|
|
||||||
DEFNODECODE(ARRAY_REF, "%SYMBID%IF (%LL1 != %NULL)%PUSHFLAG(ARRAYREF)%SETFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(ARRAYREF)%UNSETFLAG(PAREN)%POPFLAG(PAREN)%POPFLAG(ARRAYREF)%ENDIF",
|
|
||||||
'r',1,LLNODE)
|
|
||||||
DEFNODECODE(RECORD_REF, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1.%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
|
||||||
'r',2,LLNODE)
|
|
||||||
DEFNODECODE(ENUM_REF, "%LL1",
|
|
||||||
'r',2,LLNODE)
|
|
||||||
DEFNODECODE(LABEL_REF, "%LABELNAME",
|
|
||||||
'r',0,LLNODE)
|
|
||||||
DEFNODECODE(TYPE_REF, "%TYPE",
|
|
||||||
'r',0,LLNODE)
|
|
||||||
DEFNODECODE(TYPE_OP, "%TYPE",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(THROW_OP, "throw %IF(%LL1 != %NULL)%LL1%ENDIF",
|
|
||||||
'r',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(VAR_LIST, "%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(FORDECL_OP, "%VARLISTTY",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(EXPR_LIST,
|
|
||||||
"%IF(%CHECKFLAG(PAREN)!=%NULL)%IF(%CHECKFLAG(ARRAYREF)!=%NULL)[%ELSE%IF(%CHECKFLAG(ELIST)==%NULL)(%ELSE, %ENDIF%ENDIF%ELSE%IF(%CHECKFLAG(ELIST) != %NULL), %ENDIF%ENDIF%PUSHFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%PUSHFLAG(ELIST)%LL1%POPFLAG(ELIST)%POPFLAG(ARRAYREF)%POPFLAG(PAREN)%IF(%CHECKFLAG(PARAM)!=%NULL) = %L1SYMBCST%ENDIF%IF(%CHECKFLAG(ARRAYREF)!=%NULL)]%ENDIF%IF(%LL2!=%NULL)%IF(%CHECKFLAG(ELIST)==%NULL)%SETFLAG(ELIST)%ENDIF%LL2%ENDIF%IF(%CHECKFLAG(PAREN) != %NULL)%IF(%LL2 == %NULL)%IF(%CHECKFLAG(ARRAYREF) == %NULL))%ENDIF%ENDIF%ENDIF%IF(%LL2 == %NULL)%IF(%CHECKFLAG(ELIST) != %NULL)%UNSETFLAG(ELIST)%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
/* second way (wrong)
|
|
||||||
DEFNODECODE(EXPR_LIST,
|
|
||||||
"%IF (%CHECKFLAG(PAREN) != %NULL)%IF (%CHECKFLAG(ARRAYREF) != %NULL)[%ELSE(%ENDIF%ENDIF%PUSHFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%POPFLAG(ARRAYREF)%IF (%CHECKFLAG(PARAM) != %NULL) = %L1SYMBCST%ENDIF%IF (%LL2 != %NULL)%IF (%CHECKFLAG(ARRAYREF) != %NULL)][%ELSE,%ENDIF%LL2%ENDIF%POPFLAG(PAREN)%IF (%CHECKFLAG(PAREN) != %NULL)%IF (%CHECKFLAG(ARRAYREF) != %NULL)]%ELSE)%ENDIF%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
DEFNODECODE(EXPR_LIST, "%PUSHFLAG(ARRAYREF)%LL1%POPFLAG(ARRAYREF)%IF (%CHECKFLAG(PARAM) != %NULL) = %L1SYMBCST%ENDIF%ENDIF%IF (%LL2 != %NULL)%IF (%CHECKFLAG(ARRAYREF) != %NULL)][%ELSE,%ENDIF%LL2%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
*/
|
|
||||||
DEFNODECODE(RANGE_LIST, "%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(CASE_CHOICE, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(DEF_CHOICE, "%LL1%IF (%LL2 != %NULL):%LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(VARIANT_CHOICE, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DDOT, "%LL1%IF (%INWRITE != %NULL),%ELSE%IF (%INIMPLI != %NULL)-%ELSE%IF (%CHECKFLAG(LOOP) != %NULL),%ELSE:%ENDIF%ENDIF%ENDIF%LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(RANGE_OP, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(UPPER_OP, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(LOWER_OP, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(EQ_OP, "%ORBCPL1%LL1%CRBCPL1 == %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(LT_OP, "%ORBCPL1%LL1%CRBCPL1 < %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(GT_OP, "%ORBCPL1%LL1%CRBCPL1 > %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(NOTEQL_OP, "%ORBCPL1%LL1%CRBCPL1 != %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(LTEQL_OP, "%ORBCPL1%LL1%CRBCPL1 <= %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(GTEQL_OP, "%ORBCPL1%LL1%CRBCPL1 >= %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ADD_OP, "%ORBCPL1%LL1%CRBCPL1 + %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(SUBT_OP, "%ORBCPL1%LL1%CRBCPL1 - %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(OR_OP, "%ORBCPL1%LL1%CRBCPL1 || %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(MULT_OP, "%ORBCPL1%LL1%CRBCPL1 * %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(DIV_OP, "%ORBCPL1%LL1%CRBCPL1 / %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(MOD_OP, "%ORBCPL1%LL1%CRBCPL1 %% %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(AND_OP, "%ORBCPL1%LL1%CRBCPL1 && %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(EXP_OP, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(ARRAY_MULT, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
/*DEFNODECODE(CONCAT_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1//%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
|
||||||
'e',2,LLNODE)*/
|
|
||||||
DEFNODECODE(CONCAT_OP, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(XOR_OP, "%ORBCPL1%LL1%CRBCPL1 ^ %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(EQV_OP, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(NEQV_OP, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(MINUS_OP, "(-%ORBCPL1%LL1%CRBCPL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(NOT_OP, "!%ORBCPL1%LL1%CRBCPL1",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 = %PUSHFLAG(VARDECL)%LL2%POPFLAG(VARDECL)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
/*
|
|
||||||
DEFNODECODE(DEREF_OP, "%IF (%CHECKFLAG(VARDECL) == %NULL)(*%LL1)%ELSE*%LL1%ENDIF",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
*/
|
|
||||||
DEFNODECODE(DEREF_OP, "%IF (%CHECKFLAG(VARDECL) == %NULL)*%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE*%CNSTCHK%LL1%ENDIF",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(ARROWSTAR_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)->*%LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(DOTSTAR_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN).*%LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(POINTST_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)->%LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(SCOPE_OP, "%LL1::%LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
/* should be
|
|
||||||
DEFNODECODE(FUNCTION_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%IF (%CHECKFLAG(VARDECL) != %NULL)(%VARLISTTY)%ELSE%LL2%ENDIF%POPFLAG(PAREN)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
but the following works for now */
|
|
||||||
|
|
||||||
DEFNODECODE(FUNCTION_OP, "%PUSHFLAG(PAREN)(%LL1)%PUSHFLAG(FREF)%SETFLAG(FREF)%IF (%CHECKFLAG(VARDECL) != %NULL)(%VARLISTTY)%ELSE%IF(%LL2 != %NULL)%SETFLAG(PAREN)%LL2%UNSETFLAG(PAREN)%ELSE()%ENDIF%ENDIF%UNSETFLAG(FREF)%POPFLAG(FREF)%POPFLAG(PAREN)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(MINUSMINUS_OP, "%IF (%LL2 != %NULL)%ORBCPL2%LL2%CRBCPL2%ENDIF--%IF (%LL1 != %NULL)%ORBCPL1%LL1%CRBCPL1%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(PLUSPLUS_OP, "%IF (%LL2 != %NULL)%ORBCPL2%LL2%CRBCPL2%ENDIF++%IF (%LL1 != %NULL)%ORBCPL1%LL1%CRBCPL1%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(BITAND_OP, "%ORBCPL1%LL1%CRBCPL1 & %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(BITOR_OP, "%ORBCPL1%LL1%CRBCPL1 | %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(PLUS_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 += %LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(MINUS_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 -= %LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(AND_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 &= %LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(IOR_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 |= %LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(MULT_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 *= %LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(DIV_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 /= %LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(MOD_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 %= %LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(XOR_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 ^= %LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(LSHIFT_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 <<= %LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(RSHIFT_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 >>= %LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
|
|
||||||
DEFNODECODE(STAR_RANGE, "*",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(PROC_CALL, "%SYMBID%IF(%LL1 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE()%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(FUNC_CALL, "%SYMBID%IF(%LL2 != %NULL)%PUSHFLAG(PAREN)<%LL2 >%POPFLAG(PAREN)%ENDIF%IF(%LL1 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE()%ENDIF",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(ACC_CALL_OP, "%SYMBID%IF(%LL2 != %NULL)%PUSHFLAG(PAREN)<<<%LL2>>>%POPFLAG(PAREN)%ENDIF%IF(%LL1 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE()%ENDIF",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(CONSTRUCTOR_REF, "(/%LL1/)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(ACCESS_REF, "%LL1%IF (%LL2 != %NULL) (%LL2)%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(CONS, "%LL1, %LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(ACCESS, "%LL1, FORALL = (%SYMBID = %LL2)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(IOACCESS, "%IF (%LL1 != %NULL)(%LL1, %ENDIF%SYMBID = %LL2%IF (%LL1 != %NULL))%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(CONTROL_LIST, "%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(SEQ, "%LL1%IF (%LL2 != %NULL):%LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(SPEC_PAIR, "%IF (%CHECKFLAG(PRINT) != %NULL)%LL2%ELSE%LL1 = %LL2%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(COMM_LIST, "%IF (%SYMBOL != %NULL)/%SYMBID/%ENDIF%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(STMT_STR, "%STRVAL",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(EQUI_LIST, "(%LL1)%IF (%LL2 != %NULL), %LL2%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(IMPL_TYPE, "%TYPE %IF (%LL1 != %NULL)(%LL1)%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(STMTFN_DECL, "%SYMBID (%VARLIST) = %LL1",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(BIT_COMPLEMENT_OP, "~%ORBCPL1%LL1%CRBCPL1",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(EXPR_IF, "(%LL1)?%LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(EXPR_IF_BODY, "%LL1:%LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(FUNCTION_REF, "%SETFLAG(FREF)%SYMBID%IF (%CHECKFLAG(VARDECL) != %NULL)%IF(%CHECKFLAG(TMPLDEC) == %NULL)(%VARLISTTY)%CNSTF%PURE%ENDIF%ENDIF%UNSETFLAG(FREF)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(LSHIFT_OP, "%ORBCPL1%LL1%CRBCPL1 << %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(RSHIFT_OP, "%ORBCPL1%LL1%CRBCPL1 >> %ORBCPL2%LL2%CRBCPL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(UNARY_ADD_OP, "(+(%LL1))",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
/*
|
|
||||||
DEFNODECODE(SIZE_OP, "%IF(%CHECKFLAG(NEW) != %NULL)sizeof(%LL1)%ELSEsizeof %LL1",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
*/
|
|
||||||
DEFNODECODE(SIZE_OP, "sizeof(%LL1)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(INTEGER_DIV_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1/%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(SUB_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1-%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(LE_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1<=%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(GE_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1>=%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(NE_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1!=%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(CLASSINIT_OP, "%LL1%IF(%LL2 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE()%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
/*
|
|
||||||
DEFNODECODE(CAST_OP, "%IF(%CHECKFLAG(NEW) != %NULL)%IF (%LL2 != %NULL)%PUSHFLAG(VARDECL)%SETFLAG(VARDECL)(%VARLISTTY)%UNSETFLAG(VARDECL)%POPFLAG(VARDECL)%ELSE%SETFLAG(CASTOP)%TYPE%UNSETFLAG(CASTOP)%ENDIF%IF (%LL1 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ENDIF%ELSE%IF (%LL2 != %NULL)%TYPE%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE%SETFLAG(CASTOP)(%TYPE)%UNSETFLAG(CASTOP)%PUSHFLAG(PAREN)%SETFLAG(PAREN) %LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ENDIF%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
*/
|
|
||||||
DEFNODECODE(CAST_OP, "%IF (%LL2 != %NULL)%PUSHFLAG(VARDECL)%SETFLAG(VARDECL)(%VARLISTTY)%UNSETFLAG(VARDECL)%POPFLAG(VARDECL)%ELSE%SETFLAG(CASTOP)%TYPE%UNSETFLAG(CASTOP)%ENDIF%IF (%LL1 != %NULL)%ORBCPL1%LL1%CRBCPL1%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(ADDRESS_OP, "%IF (%CHECKFLAG(VARDECL) == %NULL)&%ORBCPL1%LL1%CRBCPL1%ELSE&%CNSTCHK%LL1%ENDIF",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
/*
|
|
||||||
DEFNODECODE(ADDRESS_OP, "&(%LL1)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
*/
|
|
||||||
DEFNODECODE(POINSTAT_OP, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(COPY_NODE, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(INIT_LIST, "%PUSHFLAG(PAREN){%LL1}%POPFLAG(PAREN)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(VECTOR_CONST, "[%LL1]",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(BIT_NUMBER, "%LL1:%LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(ARITH_ASSGN_OP, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(ARRAY_OP, "%PUSHFLAG(PAREN)(%LL1)%POPFLAG(PAREN)%PUSHFLAG(ARRAYREF)%SETFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2%UNSETFLAG(ARRAYREF)%UNSETFLAG(PAREN)%POPFLAG(PAREN)%POPFLAG(ARRAYREF)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
/*
|
|
||||||
DEFNODECODE(NEW_OP, "%SETFLAG(NEW)new %LL1 %IF (%LL2 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ENDIF%UNSETFLAG(NEW)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
*/
|
|
||||||
DEFNODECODE(NEW_OP, "%SETFLAG(NEW)new %IF (%LL2 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2 %UNSETFLAG(PAREN)%POPFLAG(PAREN)%ENDIF%LL1%UNSETFLAG(NEW)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(DELETE_OP, "%IF (%LL2 != %NULL)%SETFLAG(NEW)%ENDIFdelete %IF(%LL2 != %NULL) %LL2 %ENDIF %LL1%IF(%LL2 != %NULL) %UNSETFLAG(NEW)%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(NAMELIST_LIST, "%IF (%SYMBOL != %NULL)/%SYMBID/%ENDIF%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(THIS_NODE, "this %LL1",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
/* new tag for some expression
|
|
||||||
these are tokens not expressions.
|
|
||||||
I have killed them. dbg.
|
|
||||||
|
|
||||||
DEFNODECODE(CEIL_DIV_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(MAX_OP, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(BIF_SAVE_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(MIN_OP, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(BIF_ADDR_EXPR, "%ERROR",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(BIF_NOP_EXPR, "%ERROR",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(BIF_RTL_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(TRUNC_MOD_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(TRUNC_DIV_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(FLOOR_DIV_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(FLOOR_MOD_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(CEIL_MOD_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(ROUND_DIV_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(ROUND_MOD_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(RDIV_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(EXACT_DIV_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(CONVERT_EXPR, "%ERROR",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(CONST_DECL, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(ABS_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(TRUTH_ANDIF_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(TRUTH_AND_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(TRUTH_NOT_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(TRUTH_ORIF_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(PREINCREMENT_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(PREDECREMENT_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(COMPOUND_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(FLOAT_EXPR, "%ERROR",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(BIT_IOR_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(BIT_XOR_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(BIT_ANDTC_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(TRUTH_OR_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(FIX_TRUNC_EXPR, "%ERROR",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(RROTATE_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(LROTATE_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(RANGE_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(POSTDECREMENT_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(REFERENCE_TYPE, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(FIX_FLOOR_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(FIX_ROUND_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(FIX_CEIL_EXPR , "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(FUNCTION_DECL , "%ERROR",
|
|
||||||
'd',2,LLNODE)
|
|
||||||
DEFNODECODE(MODIFY_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(REFERENCE_EXPR, "%ERROR",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(RESULT_DECL, "%ERROR",
|
|
||||||
'd',2,LLNODE)
|
|
||||||
DEFNODECODE(PARM_DECL, "%ERROR",
|
|
||||||
'd',2,LLNODE)
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*****************variant tags for symbol table entries********************/
|
|
||||||
|
|
||||||
DEFNODECODE(BIF_PARM_DECL, "%ERROR",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(CONST_NAME, "%ERROR",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(ENUM_NAME, "enum %SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(FIELD_NAME, "%ERROR",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(VARIABLE_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(TYPE_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(PROGRAM_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(PROCEDURE_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(VAR_FIELD, "%ERROR",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(LABEL_VAR, "%ERROR",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(FUNCTION_NAME, "%ERROR",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(MEMBER_FUNC, "%ERROR",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(CLASS_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(TECLASS_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(UNION_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(STRUCT_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(LABEL_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(COLLECTION_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(ROUTINE_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(CONSTRUCT_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(INTERFACE_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
DEFNODECODE(MODULE_NAME, "%SYMBID",
|
|
||||||
'r',0,SYMBNODE)
|
|
||||||
/*****************variant tags for type nodes********************/
|
|
||||||
|
|
||||||
/***** List of commands for TYPE NODES *****/
|
|
||||||
/* %ERROR : Error ; syntax : %ERROR'message' */
|
|
||||||
/* %NL : NewLine */
|
|
||||||
/* %% : '%' (Percent Sign) */
|
|
||||||
/* %TAB : Tab */
|
|
||||||
/* %IF : If ; syntax : %IF (condition) then_bloc [%ELSE else_bloc] %ENDIF */
|
|
||||||
/* %ELSE : Else */
|
|
||||||
/* %ENDIF : End of If */
|
|
||||||
/* %BASETYPE : Base Type Name Identifier */
|
|
||||||
/* %NAMEID : Name Identifier */
|
|
||||||
/* %TABNAME : Self Name from Table */
|
|
||||||
/* %RANGES : Ranges */
|
|
||||||
/* %RANGLL1 : Low Level Node 1 of Ranges */
|
|
||||||
/*******************************************/
|
|
||||||
|
|
||||||
/***** List of commands for evaluation in IF THEN ELSE ENDIF statements for TYPE NODE *****/
|
|
||||||
/* %STRCST : String Constant in '' */
|
|
||||||
/* == : Equal (operation) */
|
|
||||||
/* != : Different (operation) */
|
|
||||||
/* %NULL : 0, Integer Constant (or false boolean) */
|
|
||||||
/* %INIMPLI : In_Impli_Statement (integer / boolean flag) */
|
|
||||||
/******************************************************************************************/
|
|
||||||
|
|
||||||
/* CODES AYANT DISPARU :
|
|
||||||
T_SEQUENCE, T_EVENT, T_GATE,
|
|
||||||
*/
|
|
||||||
|
|
||||||
DEFNODECODE(DEFAULT, "",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_INT, "%TABNAME",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_FLOAT, "%TABNAME",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_DOUBLE, "%TABNAME",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_CHAR, "%TABNAME",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_BOOL, "%TABNAME",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_STRING, "%TABNAME",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_COMPLEX, "%TABNAME",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_LONG, "%TABNAME",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_ENUM, "%ERROR",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_SUBRANGE, "%ERROR",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_LIST, "%ERROR",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
/*
|
|
||||||
DEFNODECODE(T_ARRAY, "%IF (%CHECKFLAG(CASTOP) == %NULL)%BASETYPE%ELSE%SUBTYPE [%RANGES]%ENDIF",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
*/
|
|
||||||
DEFNODECODE(T_ARRAY, "%IF (%CHECKFLAG(CASTOP) == %NULL)%BASETYPE%ELSE%SUBTYPE %PUSHFLAG(ARRAYREF)%SETFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%PUSHFLAG(CASTOP)%PUSHFLAG(NEW)%RANGES%POPFLAG(NEW)%POPFLAG(CASTOP)%UNSETFLAG(PAREN)%UNSETFLAG(ARRAYREF)%POPFLAG(PAREN)%POPFLAG(ARRAYREF)%ENDIF",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_RECORD, "%ERROR",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_ENUM_FIELD, "%ERROR",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_UNKNOWN, "unknown",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_VOID, "void ",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_DESCRIPT, "%RIDPT%BASETYPE",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_FUNCTION, "%ERROR",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_POINTER, "%FBASETYPE %IF (%CHECKFLAG(VARDECL) == %NULL)%STAR%ELSE%IF (%CHECKFLAG(CASTOP) != %NULL)%STAR%ELSE%IF (%CHECKFLAG(FREF) != %NULL)%STAR%ENDIF%ENDIF%ENDIF",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_UNION, "%ERROR",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_STRUCT, "%ERROR",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_CLASS, "--ERROR--CLASS NAME---",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_DERIVED_CLASS, "%SYMBID",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_DERIVED_TYPE, "%SYMBID",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_COLLECTION, "------ERROR-----T_COLLECTION",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_DERIVED_COLLECTION, "%SYMBID<%COLLBASE>",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
/*
|
|
||||||
DEFNODECODE(T_MEMBER_POINTER, "%COLLBASE %IF (%CHECKFLAG(VARDECL) == %NULL)%SYMBID::*%ELSE%IF (%CHECKFLAG(CASTOP) != %NULL)%SYMBID::*%ELSE%IF (%CHECKFLAG(FREF) != %NULL)%SYMBID::*%ENDIF%ENDIF%ENDIF",
|
|
||||||
't',0,TYPENODE) i can't solve the problem with %SYMB. something
|
|
||||||
to do with %SYMBID getting a T_CLASS where it expects a symbol
|
|
||||||
*/
|
|
||||||
|
|
||||||
DEFNODECODE(T_MEMBER_POINTER, "%COLLBASE ", 't',0,TYPENODE)
|
|
||||||
DEFNODECODE(T_DERIVED_TEMPLATE, "%SYMBID%SETFLAG(TMPLDEC)%PUSHFLAG(PAREN)<%TMPLARGS >%POPFLAG(PAREN)%UNSETFLAG(TMPLDEC)",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
/*
|
|
||||||
DEFNODECODE(T_REFERENCE, "%BASETYPE %IF (%CHECKFLAG(VARDECL) == %NULL)&%ELSE%IF (%CHECKFLAG(FREF) != %NULL)& %ENDIF%ENDIF",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
*/
|
|
||||||
DEFNODECODE(T_REFERENCE, "%FBASETYPE %IF (%CHECKFLAG(VARDECL) == %NULL)%STAR%ELSE%IF (%CHECKFLAG(CASTOP) != %NULL)%STAR%ELSE%IF (%CHECKFLAG(FREF) != %NULL)%STAR%ENDIF%ENDIF%ENDIF",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(LOCAL, "%ERROR",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(INPUT, "%ERROR",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(OUTPUT, "%ERROR",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
DEFNODECODE(IO, "%ERROR",
|
|
||||||
't',0,TYPENODE)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,448 +0,0 @@
|
|||||||
/*****************variant tags for DVM nodes*****************************/
|
|
||||||
|
|
||||||
DEFNODECODE(BLOCK_OP, "%IF(%LL1!=%NULL)WGT_BLOCK(%SYMBID,%LL1)%ELSE%IF(%LL2!=%NULL)MULT_BLOCK(%LL2)%ELSE%IF(%SYMBOL!=%NULL)GEN_BLOCK(%SYMBID)%ELSEBLOCK%ENDIF%ENDIF%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(INDIRECT_OP, "%IF(%LL1!=%NULL)DERIVED(%LL1)%ELSEINDIRECT(%SYMBID)%ENDIF",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DERIVED_OP, "(%LL1) WITH %LL2",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DUMMY_REF, "@%SYMBID%IF(%LL1!=%NULL)+%LL1%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(NEW_VALUE_OP, "%IF(%LL1!=%NULL) NEW(%LL1)%ELSE NEW%ENDIF",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(NEW_SPEC_OP, "NEW(%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(TEMPLATE_OP, "TEMPLATE",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(PROCESSORS_OP, "PROCESSORS",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DYNAMIC_OP, "DYNAMIC",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DIMENSION_OP, "%IF(%CHECKFLAG(DVM) != %NULL)DIMENSION%ELSEdimension%ENDIF(%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(SHADOW_OP, "SHADOW (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ALIGN_OP, "ALIGN %IF(%LL1!=%NULL) (%LL1)%ENDIF%IF(%LL2!=%NULL) WITH %LL2%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DISTRIBUTE_OP, "DISTRIBUTE%IF(%LL1!=%NULL) (%LL1)%ENDIF%IF(%LL2!=%NULL) ONTO %LL2%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(REMOTE_ACCESS_OP, "REMOTE_ACCESS (%IF (%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(INDIRECT_ACCESS_OP, "INDIRECT_ACCESS (%IF(%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACROSS_OP, "ACROSS (%LL1)%IF(%LL2!=%NULL)(%LL2)%ENDIF",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(SHADOW_RENEW_OP, "SHADOW_RENEW (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(SHADOW_START_OP, "SHADOW_START %SYMBID",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(SHADOW_WAIT_OP, "SHADOW_WAIT %SYMBID",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(SHADOW_COMP_OP, "SHADOW_COMPUTE %IF(%LL1!=%NULL)(%LL1)%ENDIF",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(REDUCTION_OP, "REDUCTION (%IF(%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(CONSISTENT_OP, "CONSISTENT (%IF(%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_PRIVATE_OP, "PRIVATE (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(STAGE_OP, "STAGE (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(COMMON_OP, "COMMON",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_CUDA_BLOCK_OP, "CUDA_BLOCK (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_TIE_OP, "TIE (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_CUDA_OP, "CUDA",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_HOST_OP, "HOST",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_ASYNC_OP, "ASYNC",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(PARALLEL_OP, "PARALLEL",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_TARGETS_OP, "TARGETS (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_INLOCAL_OP, "INLOCAL (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_LOCAL_OP, "LOCAL%IF(%LL1!=%NULL) (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_OUT_OP, "OUT (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_INOUT_OP, "INOUT (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_IN_OP, "IN (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_NEW_VALUE_DIR, "%CMNT!DVM$%PUTTABCOMTNEW_VALUE%IF(%LL1!=%NULL) %LL1%ENDIF",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(HPF_TEMPLATE_STAT, "%CMNT!DVM$%PUTTABCOMTTEMPLATE%IF(%LL2!=%NULL), %LL2::%ENDIF %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_DYNAMIC_DIR, "%CMNT!DVM$%PUTTABCOMTDYNAMIC %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_INHERIT_DIR, "%CMNT!DVM$%PUTTABCOMTINHERIT %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(HPF_PROCESSORS_STAT, "%CMNT!DVM$%PUTTABCOMTPROCESSORS %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_SHADOW_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW %LL1( %LL2 )%NL",
|
|
||||||
's',2,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_INDIRECT_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTINDIRECT_GROUP %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_REMOTE_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTREMOTE_GROUP %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_REDUCTION_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTREDUCTION_GROUP %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_CONSISTENT_DIR, "%CMNT!DVM$%PUTTABCOMTCONSISTENT %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_CONSISTENT_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTCONSISTENT_GROUP %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_DISTRIBUTE_DIR, "%CMNT!DVM$%PUTTABCOMTDISTRIBUTE%IF(%LL2!=%NULL) (%LL2)%ENDIF%IF(%LL3!=%NULL) ONTO %LL3 %ENDIF :: %LL1%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_REDISTRIBUTE_DIR, "%CMNT!DVM$%PUTTABCOMTREDISTRIBUTE (%LL2)%IF(%LL3!=%NULL) ONTO %LL3%ENDIF :: %LL1%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_ALIGN_DIR, "%CMNT!DVM$%PUTTABCOMTALIGN (%LL2) WITH %LL3 :: %LL1%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_REALIGN_DIR, "%CMNT!DVM$%PUTTABCOMTREALIGN (%LL2) WITH %LL3 :: %LL1%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_PARALLEL_ON_DIR, "%CMNT!DVM$%PUTTABCOMTPARALLEL (%LL3)%IF(%LL1!=%NULL) ON %LL1%ENDIF%IF(%LL2!=%NULL), %LL2%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_PARALLEL_TASK_DIR, "%CMNT!DVM$%PUTTABCOMTPARALLEL (%LL3)%IF(%LL1!=%NULL) ON %LL1%ENDIF%IF(%LL2!=%NULL), %LL2%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_SHADOW_START_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_START %SYMBID%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_SHADOW_WAIT_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_WAIT %SYMBID%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_SHADOW_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_GROUP %SYMBID ( %LL1 )%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_REDUCTION_START_DIR, "%CMNT!DVM$%PUTTABCOMTREDUCTION_START %SYMBID%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_REDUCTION_WAIT_DIR, "%CMNT!DVM$%PUTTABCOMTREDUCTION_WAIT %SYMBID%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_CONSISTENT_START_DIR, "%CMNT!DVM$%PUTTABCOMTCONSISTENT_START %SYMBID%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_CONSISTENT_WAIT_DIR, "%CMNT!DVM$%PUTTABCOMTCONSISTENT_WAIT %SYMBID%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_REMOTE_ACCESS_DIR, "%CMNT!DVM$%PUTTABCOMTREMOTE_ACCESS (%IF(%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_TASK_DIR, "%CMNT!DVM$%PUTTABCOMTTASK %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_MAP_DIR, "%CMNT!DVM$%PUTTABCOMTMAP %LL1 %IF(%LL2 != %NULL)ONTO %LL2%ENDIF%IF(%LL3 != %NULL)BY %LL3%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_PREFETCH_DIR, "%CMNT!DVM$%PUTTABCOMTPREFETCH %SYMBID%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_RESET_DIR, "%CMNT!DVM$%PUTTABCOMTRESET %SYMBID%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_DEBUG_DIR, "%CMNT!DVM$%PUTTABCOMTDEBUG %LL1 %IF(%LL2!=%NULL)(%LL2)%ENDIF%NL",
|
|
||||||
's',2,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_ENDDEBUG_DIR, "%CMNT!DVM$%PUTTABCOMTEND DEBUG %LL1%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_INTERVAL_DIR, "%CMNT!DVM$%PUTTABCOMTINTERVAL %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_EXIT_INTERVAL_DIR, "%CMNT!DVM$%PUTTABCOMTEXIT INTERVAL %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_ENDINTERVAL_DIR, "%CMNT!DVM$%PUTTABCOMTEND INTERVAL%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_TRACEON_DIR, "%CMNT!DVM$%PUTTABCOMTTRACE ON%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_TRACEOFF_DIR, "%CMNT!DVM$%PUTTABCOMTTRACE OFF%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_BARRIER_DIR, "%CMNT!DVM$%PUTTABCOMTBARRIER%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_CHECK_DIR, "%CMNT!DVM$%PUTTABCOMTCHECK (%LL2) :: %LL1%NL",
|
|
||||||
's',2,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_OWN_DIR, "%CMNT!DVM$%PUTTABCOMTOWN%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_ON_DIR, "%CMNT!DVM$%PUTTABCOMTON %LL1%IF(%LL2 != %NULL), %LL2%ENDIF%NL",
|
|
||||||
's',2,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_END_ON_DIR, "%CMNT!DVM$%PUTTABCOMTEND ON%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_TASK_REGION_DIR, "%CMNT!DVM$%PUTTABCOMTTASK_REGION %SYMBID%IF(%LL2 != %NULL), %LL2%ENDIF%NL",
|
|
||||||
's',2,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_END_TASK_REGION_DIR, "%CMNT!DVM$%PUTTABCOMTEND TASK_REGION%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_POINTER_DIR, "%CMNT!DVM$%PUTTABCOMT%LL3, POINTER(%LL2) :: %LL1%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_F90_DIR, "%CMNT!DVM$%PUTTABCOMTF90 %LL1 = %LL2%NL",
|
|
||||||
's',2,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_ASYNCHRONOUS_DIR, "%CMNT!DVM$%PUTTABCOMTASYNCHRONOUS %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_ENDASYNCHRONOUS_DIR, "%CMNT!DVM$%PUTTABCOMTEND ASYNCHRONOUS%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_ASYNCWAIT_DIR, "%CMNT!DVM$%PUTTABCOMTASYNCWAIT %LL1%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_TEMPLATE_CREATE_DIR, "%CMNT!DVM$%PUTTABCOMTTEMPLATE_CREATE (%LL1)%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_TEMPLATE_DELETE_DIR, "%CMNT!DVM$%PUTTABCOMTTEMPLATE_DELETE (%LL1)%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_VAR_DECL, "%CMNT!DVM$%PUTTABCOMT%SETFLAG(VARLEN)%IF(%LL3 != %NULL)%SETFLAG(DVM)%LL3%UNSETFLAG(DVM):: %SETFLAG(PARAM)%LL1%UNSETFLAG(PARAM)%ELSE%SETFLAG(VARDECL) %LL1%UNSETFLAG(VARDECL)%ENDIF%IF (%CHECKFLAG(VARLEN) != %NULL)%UNSETFLAG(VARLEN)%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_HEAP_DIR, "%CMNT!DVM$%PUTTABCOMTHEAP %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_ASYNCID_DIR, "%CMNT!DVM$%PUTTABCOMTASYNCID%IF(%LL2 != %NULL), COMMON::%ENDIF %LL1%NL",
|
|
||||||
's',2,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_NEW_VALUE_DIR, "%CMNT!DVM$%PUTTABCOMTNEW_VALUE%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(DVM_IO_MODE_DIR, "%CMNT!DVM$%PUTTABCOMTIO_MODE (%LL1)%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_SHADOW_ADD_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_ADD (%LL1 = %LL2)%IF(%LL3!=%NULL) INCLUDE_TO %LL3%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
DEFNODECODE(DVM_LOCALIZE_DIR, "%CMNT!DVM$%PUTTABCOMTLOCALIZE (%LL1 => %LL2)%NL",
|
|
||||||
's',2,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(ACC_REGION_DIR, "%CMNT!DVM$%PUTTABCOMTREGION %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
DEFNODECODE(ACC_END_REGION_DIR, "%CMNT!DVM$%PUTTABCOMTEND REGION%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(ACC_GET_ACTUAL_DIR, "%CMNT!DVM$%PUTTABCOMTGET_ACTUAL%IF(%LL1!=%NULL) (%LL1)%ENDIF%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
DEFNODECODE(ACC_ACTUAL_DIR, "%CMNT!DVM$%PUTTABCOMTACTUAL%IF(%LL1!=%NULL) (%LL1)%ENDIF%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
DEFNODECODE(ACC_CHECKSECTION_DIR, "%CMNT!DVM$%PUTTABCOMTHOSTSECTION%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(ACC_END_CHECKSECTION_DIR,"%CMNT!DVM$%PUTTABCOMTEND HOSTSECTION%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(ACC_ROUTINE_DIR, "%CMNT!DVM$%PUTTABCOMTROUTINE%IF(%LL1!=%NULL), %LL1%ENDIF%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
DEFNODECODE(ACC_DECLARE_DIR, "%CMNT!DVM$%PUTTABCOMTDECLARE %LL1%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_NOWAIT, "NOWAIT",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_PRIVATE, "PRIVATE (%LL1)",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_FIRSTPRIVATE, "FIRSTPRIVATE (%LL1)",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_LASTPRIVATE, "LASTPRIVATE (%LL1)",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_THREADPRIVATE, "/%LL1/",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_COPYIN, "COPYIN (%LL1)",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_SHARED, "SHARED (%LL1)",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_DEFAULT, "DEFAULT (%LL1)",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_ORDERED, "ORDERED",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_IF, "IF (%LL1)",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_NUM_THREADS, "NUM_THREADS (%LL1)",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_REDUCTION, "REDUCTION (%LL1)",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_COLLAPSE, "COLLAPSE (%LL1)",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_SCHEDULE, "SCHEDULE (%LL1%IF(%LL2!=%NULL),%LL2%ENDIF)",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(OMP_COPYPRIVATE, "COPYPRIVATE (%LL1)",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_PARALLEL_DIR, "!$OMP%PUTTABCOMTPARALLEL %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_END_PARALLEL_DIR, "!$OMP%DECTAB%PUTTABCOMTEND PARALLEL %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_SECTIONS_DIR, "!$OMP%PUTTABCOMTSECTIONS %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_SECTION_DIR, "!$OMP%PUTTABCOMTSECTION%INCTAB%NL%BLOB1%DECTAB",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_END_SECTIONS_DIR, "!$OMP%DECTAB%PUTTABCOMTEND SECTIONS %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_DO_DIR, "!$OMP%PUTTABCOMTDO %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_END_DO_DIR, "!$OMP%PUTTABCOMTEND DO %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_SINGLE_DIR, "!$OMP%PUTTABCOMTSINGLE %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_END_SINGLE_DIR, "!$OMP%DECTAB%PUTTABCOMTEND SINGLE %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_WORKSHARE_DIR, "!$OMP%PUTTABCOMTWORKSHARE %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_END_WORKSHARE_DIR, "!$OMP%DECTAB%PUTTABCOMTEND WORKSHARE %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_PARALLEL_DO_DIR, "!$OMP%PUTTABCOMTPARALLEL DO %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_END_PARALLEL_DO_DIR, "!$OMP%PUTTABCOMTEND PARALLEL DO %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_PARALLEL_SECTIONS_DIR, "!$OMP%PUTTABCOMTPARALLEL SECTIONS %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_END_PARALLEL_SECTIONS_DIR, "!$OMP%DECTAB%PUTTABCOMTEND PARALLEL SECTIONS %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_PARALLEL_WORKSHARE_DIR, "!$OMP%PUTTABCOMTPARALLEL WORKSHARE %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_END_PARALLEL_WORKSHARE_DIR, "!$OMP%DECTAB%PUTTABCOMTEND PARALLEL WORKSHARE %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_THREADPRIVATE_DIR, "!$OMP%PUTTABCOMTTHREADPRIVATE %IF(%LL1!=%NULL) ( %LL1 )%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_MASTER_DIR, "!$OMP%PUTTABCOMTMASTER%INCTAB%NL%BLOB1",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_END_MASTER_DIR, "!$OMP%DECTAB%PUTTABCOMTEND MASTER%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_ORDERED_DIR, "!$OMP%PUTTABCOMTORDERED%INCTAB%NL%BLOB1",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_END_ORDERED_DIR, "!$OMP%DECTAB%PUTTABCOMTEND ORDERED%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_ATOMIC_DIR, "!$OMP%PUTTABCOMTATOMIC%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_BARRIER_DIR, "!$OMP%PUTTABCOMTBARRIER%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_CRITICAL_DIR, "!$OMP%PUTTABCOMTCRITICAL %IF(%LL1!=%NULL) ( %LL1 )%ENDIF%INCTAB%NL%BLOB1",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_END_CRITICAL_DIR, "!$OMP%DECTAB%PUTTABCOMTEND CRITICAL %IF(%LL1!=%NULL) ( %LL1 )%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(OMP_FLUSH_DIR, "!$OMP%PUTTABCOMTFLUSH %IF(%LL1!=%NULL) ( %LL1 )%ENDIF%NL",
|
|
||||||
's',3,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(RECORD_DECL, "%CMNT%PUTTABtype %IF (%LL1 != %NULL),%LL1::%ENDIF%SYMBID%INCTAB%NL%BLOB1%DECTAB",
|
|
||||||
'd',0,BIFNODE)
|
|
||||||
|
|
||||||
|
|
||||||
/*****************variant tags for SPF nodes*****************************/
|
|
||||||
DEFNODECODE(SPF_ANALYSIS_DIR, "%CMNT!$SPF%PUTTABCOMTANALYSIS (%LL1)%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(SPF_PARALLEL_DIR, "%CMNT!$SPF%PUTTABCOMTPARALLEL (%LL1)%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(SPF_TRANSFORM_DIR, "%CMNT!$SPF%PUTTABCOMTTRANSFORM (%LL1)%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(SPF_PARALLEL_REG_DIR, "%CMNT!$SPF%PUTTABCOMTPARALLEL_REG %SYMBID %IF(%LL1 != %NULL), APPLY_REGION(%LL1)%ENDIF%IF(%LL2 != %NULL), APPLY_FRAGMENT(%LL2)%ENDIF%NL",
|
|
||||||
's',2,BIFNODE)
|
|
||||||
DEFNODECODE(SPF_END_PARALLEL_REG_DIR, "%CMNT!$SPF%PUTTABCOMTEND PARALLEL_REG%NL",
|
|
||||||
's',0,BIFNODE)
|
|
||||||
DEFNODECODE(SPF_CHECKPOINT_DIR, "%CMNT!$SPF%PUTTABCOMTCHECKPOINT (%LL1)%NL",
|
|
||||||
's',1,BIFNODE)
|
|
||||||
|
|
||||||
DEFNODECODE(SPF_NOINLINE_OP, "NOINLINE",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(SPF_FISSION_OP, "FISSION (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(SPF_EXPAND_OP, "EXPAND %IF(%LL1 != %NULL)(%LL1)%ENDIF",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(SPF_SHRINK_OP, "SHRINK (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(SPF_TYPE_OP, "TYPE (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(SPF_VARLIST_OP, "VARLIST (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(SPF_EXCEPT_OP, "EXCEPT (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(SPF_FILES_COUNT_OP, "FILES_COUNT (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(SPF_INTERVAL_OP, "INTERVAL (%LL1, %LL2)",
|
|
||||||
'e',2,LLNODE)
|
|
||||||
DEFNODECODE(SPF_TIME_OP, "TIME",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(SPF_ITER_OP, "ITER",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(SPF_FLEXIBLE_OP, "FLEXIBLE",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(SPF_PARAMETER_OP, "PARAMETER (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(SPF_UNROLL_OP, "UNROLL %IF(%LL1 != %NULL)(%LL1)%ENDIF",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(SPF_MERGE_OP, "MERGE",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
DEFNODECODE(SPF_COVER_OP, "COVER (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(SPF_PROCESS_PRIVATE_OP, "PROCESS_PRIVATE (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(SPF_WEIGHT_OP, "WEIGHT (%LL1)",
|
|
||||||
'e',1,LLNODE)
|
|
||||||
DEFNODECODE(SPF_CODE_COVERAGE_OP, "CODE_COVERAGE",
|
|
||||||
'e',0,LLNODE)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
## Copyright (C) 1999 ##
|
|
||||||
## Keldysh Institute of Appllied Mathematics ##
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
# sage/lib/Makefile (phb)
|
|
||||||
#
|
|
||||||
# This makefile recursively calls MAKE in each subdirectory
|
|
||||||
#
|
|
||||||
|
|
||||||
# What to compile
|
|
||||||
SUBDIR=oldsrc newsrc
|
|
||||||
|
|
||||||
oldsrc:
|
|
||||||
cd oldsrc; $(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" all
|
|
||||||
|
|
||||||
newsrc:
|
|
||||||
cd newsrc; $(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" all
|
|
||||||
|
|
||||||
all: oldsrc newsrc
|
|
||||||
@echo "****** DONE MAKING SUBDIRECTORIES $(SUBDIR) ******"
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@echo "****** RECURSIVELY CLEAN SUBDIRECTORIES $(SUBDIR) ******"
|
|
||||||
cd oldsrc; $(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" clean
|
|
||||||
cd newsrc; $(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" clean
|
|
||||||
@echo "****** DONE CLEAN SUBDIRECTORIES $(SUBDIR) ******"
|
|
||||||
|
|
||||||
cleanall:
|
|
||||||
@echo "****** RECURSIVELY CLEANALL SUBDIRECTORIES $(SUBDIR) ******"
|
|
||||||
cd oldsrc; $(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" cleanall
|
|
||||||
cd newsrc; $(MAKE) "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" cleanall
|
|
||||||
@echo "****** DONE CLEANALL SUBDIRECTORIES $(SUBDIR) ******"
|
|
||||||
|
|
||||||
.PHONY: all clean cleanall oldsrc newsrc
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
## Copyright (C) 1999 ##
|
|
||||||
## Keldysh Institute of Appllied Mathematics ##
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# sage/lib/Makefile (phb)
|
|
||||||
|
|
||||||
# Valentin Emelianov (4/01/99)
|
|
||||||
|
|
||||||
#
|
|
||||||
# This makefile recursively calls MAKE in each subdirectory
|
|
||||||
#
|
|
||||||
|
|
||||||
# What to compile
|
|
||||||
SUBDIR=oldsrc newsrc
|
|
||||||
|
|
||||||
|
|
||||||
all:
|
|
||||||
@echo "****** RECURSIVELY MAKING SUBDIRECTORIES $(SUBDIR) ******"
|
|
||||||
@cd oldsrc
|
|
||||||
@$(MAKE) /nologo -f makefile.win "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" all
|
|
||||||
@cd ..
|
|
||||||
@cd newsrc
|
|
||||||
@$(MAKE) /nologo -f makefile.win "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" all
|
|
||||||
@cd ..
|
|
||||||
@echo "****** DONE MAKING SUBDIRECTORIES $(SUBDIR) ******"
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@echo "****** RECURSIVELY CLEAN SUBDIRECTORIES $(SUBDIR) ******"
|
|
||||||
@cd oldsrc
|
|
||||||
@$(MAKE) /nologo -f makefile.win "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" clean
|
|
||||||
@cd ..
|
|
||||||
@cd newsrc
|
|
||||||
@$(MAKE) /nologo -f makefile.win "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" clean
|
|
||||||
@cd ..
|
|
||||||
@echo "****** DONE CLEAN SUBDIRECTORIES $(SUBDIR) ******"
|
|
||||||
|
|
||||||
cleanall:
|
|
||||||
@echo "****** RECURSIVELY CLEANALL SUBDIRECTORIES $(SUBDIR) ******"
|
|
||||||
@cd oldsrc
|
|
||||||
@$(MAKE) /nologo -f makefile.win "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" clean
|
|
||||||
@cd ..
|
|
||||||
@cd newsrc
|
|
||||||
@$(MAKE) /nologo -f makefile.win "MAKE=$(MAKE)" "CC=$(CC)" "CXX=$(CXX)" "LINKER=$(LINKER)" clean
|
|
||||||
@cd ..
|
|
||||||
@echo "****** DONE CLEANALL SUBDIRECTORIES $(SUBDIR) ******"
|
|
||||||
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
set(SAGE_SOURCES low_level.c unparse.c)
|
|
||||||
|
|
||||||
if(MSVC_IDE)
|
|
||||||
foreach(DIR ${DVM_SAGE_INCLUDE_DIRS})
|
|
||||||
file(GLOB_RECURSE FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
"${DIR}/*.h" "${DIR}/*.def" "${DIR}/head" "${DIR}/tag")
|
|
||||||
set(SAGE_HEADERS ${SAGE_HEADERS} ${FILES})
|
|
||||||
endforeach()
|
|
||||||
source_group("Header Files" FILES ${SAGE_HEADERS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_library(sage ${SAGE_SOURCES} ${SAGE_HEADERS})
|
|
||||||
|
|
||||||
target_compile_definitions(sage PRIVATE SYS5)
|
|
||||||
target_include_directories(sage PUBLIC "${DVM_SAGE_INCLUDE_DIRS}")
|
|
||||||
set_target_properties(sage PROPERTIES FOLDER "${DVM_LIBRARY_FOLDER}")
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
## pC++/Sage++ Copyright (C) 1993 ##
|
|
||||||
## Indiana University University of Oregon University of Rennes ##
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# sage/lib/newsrc/Makefile (phb)
|
|
||||||
|
|
||||||
LSX = .a
|
|
||||||
|
|
||||||
#HP_CFLAGS#CEXTRA = -Aa +z#ENDIF#
|
|
||||||
#HP_CFLAGS#LSX = .sl#ENDIF#
|
|
||||||
|
|
||||||
SHELL = /bin/sh
|
|
||||||
CONFIG_ARCH=iris4d
|
|
||||||
|
|
||||||
# ALPHA Sage new lib.a modified by Pete Beckman (2/1/93)
|
|
||||||
|
|
||||||
RANLIB_TEST = [ -f /usr/bin/ranlib ] || [ -f /bin/ranlib ]
|
|
||||||
#NO_RANLIB#RANLIB_TEST = (exit 1)#ENDIF#
|
|
||||||
|
|
||||||
CC = gcc
|
|
||||||
#CC=cc#ENDIF##USE_CC#
|
|
||||||
|
|
||||||
CXX = g++
|
|
||||||
CXX = /usr/WorkShop/usr/bin/DCC
|
|
||||||
OLDHEADERS = ../../h
|
|
||||||
|
|
||||||
#INSTALLDEST = ../$(CONFIG_ARCH)
|
|
||||||
INSTALLDEST = ../../../libsage
|
|
||||||
INSTALL = /bin/cp
|
|
||||||
|
|
||||||
# Directory in which include file can be found
|
|
||||||
toolbox_include = ../include
|
|
||||||
|
|
||||||
INCLUDE = -I$(OLDHEADERS) -I../include
|
|
||||||
CFLAGS = $(INCLUDE) -g -Wall $(CEXTRA)
|
|
||||||
LDFLAGS =
|
|
||||||
BISON= /usr/freeware/bin/bison
|
|
||||||
BISON= bison
|
|
||||||
TOOLBOX_SRC = comments.c low_level.c unparse.c toolsann.c annotate.tab.c
|
|
||||||
|
|
||||||
TOOLBOX_HDR = $(toolbox_include)/macro.h $(toolbox_include)/bif_node.def $(toolbox_include)/type.def $(toolbox_include)/symb.def
|
|
||||||
|
|
||||||
TOOLBOX_OBJ = low_level.o unparse.o
|
|
||||||
|
|
||||||
TOOLBOX_OBJ_ANN = comments.o toolsann.o annotate.tab.o
|
|
||||||
|
|
||||||
all: libsage$(LSX)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
/bin/rm -f *.o lib*$(LSX)
|
|
||||||
|
|
||||||
low_level.o: low_level.c $(TOOLBOX_HDR)
|
|
||||||
|
|
||||||
unparse.o: unparse.c $(TOOLBOX_HDR) $(toolbox_include)/unparse.def $(toolbox_include)/unparseC++.def
|
|
||||||
|
|
||||||
main.o : main.c
|
|
||||||
|
|
||||||
libsage : libsage$(LSX)
|
|
||||||
|
|
||||||
libsage.a: $(TOOLBOX_OBJ) $(TOOLBOX_HDR)
|
|
||||||
/bin/rm -f libsage.a
|
|
||||||
ar qc libsage.a $(TOOLBOX_OBJ)
|
|
||||||
@if $(RANLIB_TEST) ; then ranlib libsage.a ; \
|
|
||||||
else echo "\tNOTE: ranlib not required" ; fi
|
|
||||||
|
|
||||||
libsage.sl: $(TOOLBOX_OBJ) $(TOOLBOX_HDR)
|
|
||||||
/bin/rm -f libsage.sl
|
|
||||||
ld -b -s -o libsage.sl $(TOOLBOX_OBJ)
|
|
||||||
|
|
||||||
|
|
||||||
install: $(INSTALLDEST)/libsage$(LSX)
|
|
||||||
|
|
||||||
$(INSTALLDEST)/libsage$(LSX): libsage$(LSX)
|
|
||||||
if [ -d $(INSTALLDEST) ] ; then true; else mkdir $(INSTALLDEST) ;fi
|
|
||||||
$(INSTALL) libsage$(LSX) $(INSTALLDEST)/libsage$(LSX)
|
|
||||||
@if $(RANLIB_TEST) ; then ranlib $(INSTALLDEST)/libsage$(LSX) ; \
|
|
||||||
else echo "\tNOTE: ranlib not required" ; fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user