Compare commits
202 Commits
f5f388a6e1
...
private_ar
| Author | SHA1 | Date | |
|---|---|---|---|
| 9ac15eec79 | |||
| 03f565f50b | |||
| 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 | |||
| 033bbce220 | |||
| f840006398 | |||
| 18f561925b | |||
| a4c8785e66 | |||
| 684d391bff | |||
| 24210c8bfb | |||
| 6a4040be3e | |||
|
|
1c851baa7e | ||
|
|
817a910a4b | ||
|
|
ab294fbeb2 | ||
|
|
0b594f7c2a | ||
|
|
c58755df2b | ||
|
|
7b12fb1bb0 | ||
|
|
6b0eaab96d | ||
|
|
83a303cc30 | ||
|
|
7e17c62bbb | ||
|
|
f135cd6d06 | ||
|
|
1504504d96 | ||
|
|
d8aa5606ef | ||
|
|
c5d063b0da | ||
|
|
ab7b617e76 | ||
|
|
a14bc20cf4 | ||
|
|
8879eb2fbf | ||
|
|
3c924aee73 | ||
|
|
15535fad2a | ||
|
|
95cfb4446b | ||
|
|
fe7345aab0 | ||
|
|
631a73ddc0 | ||
|
|
b0df33e926 | ||
|
|
f3f7368bdc | ||
|
|
34cf4cc202 | ||
|
|
fcedc0e029 | ||
|
|
21acea498e | ||
| 77c46121a2 | |||
| 7d342c51a8 | |||
|
|
d6cb4c2a8a | ||
|
|
2e2bcadfa1 | ||
| dacca844ed | |||
| 6254f38cff | |||
| d9d4d50e5a | |||
|
|
c63c4dd46c | ||
| b163958711 | |||
| 4a06430139 | |||
| 3a7a54e4be | |||
| 413daa2aea | |||
| b1faa5e80a | |||
|
|
dfad887814 | ||
|
|
5e60b5cd5c |
158
.gitignore
vendored
158
.gitignore
vendored
@@ -1,78 +1,80 @@
|
||||
# Add any directories, files, or patterns you don't want to be tracked by version control
|
||||
*.o
|
||||
sapfor/experts/Sapfor_2017/.idea/
|
||||
sapfor/experts/Sapfor_2017/cmake-build-debug/
|
||||
sapfor/experts/Sapfor_2017/.vs/
|
||||
sapfor/experts/Sapfor_2017/_bin/
|
||||
sapfor/experts/Sapfor_2017/_lib/
|
||||
sapfor/experts/Sapfor_2017/Inliner/x64/
|
||||
sapfor/experts/Sapfor_2017/Parser/x64/
|
||||
sapfor/experts/Sapfor_2017/SageLib/x64/
|
||||
sapfor/experts/Sapfor_2017/SageNewSrc/x64/
|
||||
sapfor/experts/Sapfor_2017/SageOldSrc/x64/
|
||||
sapfor/experts/Sapfor_2017/Sapfor/x64/
|
||||
sapfor/experts/Sapfor_2017/TransformCommonLib/x64/
|
||||
sapfor/experts/Sapfor_2017/TransformLib/x64/
|
||||
sapfor/experts/Sapfor_2017/TransformUtils/x64/
|
||||
dvm/fdvm/trunk/.svn/
|
||||
sapfor/experts/Sapfor_2017/.svn/
|
||||
sapfor/transformers
|
||||
sapfor/transformers/.svn/
|
||||
sapfor/experts/Sapfor_2017/_src/boost
|
||||
sapfor/experts/Sapfor_2017/Sapfor/Sapfor.vcxproj.user
|
||||
sapfor/analyzers/
|
||||
sapfor/general/
|
||||
sapfor/generators/
|
||||
sapfor/idb/
|
||||
sapfor/CMakeLists.txt
|
||||
sapfor/experts/expert/
|
||||
sapfor/experts/expert_maxim_last_version/
|
||||
sapfor/experts/visualizer/
|
||||
sapfor/.svn/
|
||||
|
||||
sapfor/experts/Sapfor_2017/cmake-build-debug/
|
||||
sapfor/experts/Sapfor_2017/build/
|
||||
sapfor/experts/Sapfor_2017/Inliner/build/
|
||||
sapfor/experts/Sapfor_2017/Parser/build/
|
||||
sapfor/experts/Sapfor_2017/Sapfor/*.o
|
||||
sapfor/transformers/ftransform/trunk/cmake-build-debug/
|
||||
sapfor/transformers/ftransform/trunk/build/
|
||||
sapfor/transformers/ftransform/trunk/parser/build/
|
||||
**/.idea
|
||||
|
||||
dvm/cdvm/
|
||||
dvm/cdvmh-clang/
|
||||
dvm/driver/
|
||||
dvm/general/
|
||||
dvm/releases/
|
||||
dvm/rts/
|
||||
dvm/rts-dvmh/
|
||||
dvm/tools/projectStructureForFortran/
|
||||
dvm/tools/pppa/.svn
|
||||
dvm/tools/Zlib/.svn
|
||||
dvm/tools/predictor/
|
||||
dvm/tools/omp-dbg/
|
||||
dvm/tools/omp-otc/
|
||||
dvm/tools/omp-pa/
|
||||
dvm/CMakeLists.txt
|
||||
dvm/.svn/
|
||||
dvm/fdvm/branches/
|
||||
sapfor/experts/Sapfor_2017/TransformCommonLib/TransformCommonLib.vcxproj.user
|
||||
sapfor/experts/Sapfor_2017/SageOldSrc/SageOldSrc.vcxproj.user
|
||||
sapfor/experts/Sapfor_2017/SageNewSrc/SageNewSrc.vcxproj.user
|
||||
sapfor/experts/Sapfor_2017/SageLib/SageLib.vcxproj.user
|
||||
sapfor/experts/Sapfor_2017/Inliner/Inliner.vcxproj.user
|
||||
sapfor/experts/Sapfor_2017/TransformUtils/TransformUtils.vcxproj.user
|
||||
sapfor/experts/Sapfor_2017/Parser/Parser.vcxproj.user
|
||||
.vscode/*
|
||||
.vs/
|
||||
**/**/.DS_Store
|
||||
sapfor/experts/Sapfor_2017/Sapc++/Sapc++/Sapc++.vcxproj.user
|
||||
sapfor/experts/Sapfor_2017/Sapc++/Sapc++/Sapc++.vcxproj.filters
|
||||
sapfor/experts/Sapfor_2017/Sapc++/Sapc++/Sapc++.vcxproj
|
||||
sapfor/experts/Sapfor_2017/Sapc++/Sapc++/x64/
|
||||
sapfor/experts/Sapfor_2017/Sapc++/x64/
|
||||
|
||||
/build
|
||||
|
||||
sapfor/experts/Sapfor_2017/out/
|
||||
# Add any directories, files, or patterns you don't want to be tracked by version control
|
||||
*.o
|
||||
Sapfor/.idea/
|
||||
Sapfor/cmake-build-debug/
|
||||
Sapfor/.vs/
|
||||
Sapfor/_bin/
|
||||
Sapfor/_lib/
|
||||
Sapfor/Inliner/x64/
|
||||
Sapfor/Parser/x64/
|
||||
Sapfor/SageLib/x64/
|
||||
Sapfor/SageNewSrc/x64/
|
||||
Sapfor/SageOldSrc/x64/
|
||||
Sapfor/Sapfor/x64/
|
||||
Sapfor/TransformCommonLib/x64/
|
||||
Sapfor/TransformLib/x64/
|
||||
Sapfor/TransformUtils/x64/
|
||||
dvm/fdvm/trunk/.svn/
|
||||
Sapfor/.svn/
|
||||
sapfor/transformers
|
||||
sapfor/transformers/.svn/
|
||||
Sapfor/_src/boost
|
||||
Sapfor/Sapfor/Sapfor.vcxproj.user
|
||||
sapfor/analyzers/
|
||||
sapfor/general/
|
||||
sapfor/generators/
|
||||
sapfor/idb/
|
||||
sapfor/CMakeLists.txt
|
||||
sapfor/experts/expert/
|
||||
sapfor/experts/expert_maxim_last_version/
|
||||
sapfor/experts/visualizer/
|
||||
sapfor/.svn/
|
||||
|
||||
Sapfor/cmake-build-debug/
|
||||
Sapfor/build/
|
||||
Sapfor/Inliner/build/
|
||||
Sapfor/Parser/build/
|
||||
Sapfor/Sapfor/*.o
|
||||
sapfor/transformers/ftransform/trunk/cmake-build-debug/
|
||||
sapfor/transformers/ftransform/trunk/build/
|
||||
sapfor/transformers/ftransform/trunk/parser/build/
|
||||
**/.idea
|
||||
|
||||
dvm/cdvm/
|
||||
dvm/cdvmh-clang/
|
||||
dvm/driver/
|
||||
dvm/general/
|
||||
dvm/releases/
|
||||
dvm/rts/
|
||||
dvm/rts-dvmh/
|
||||
dvm/tools/projectStructureForFortran/
|
||||
dvm/tools/pppa/.svn
|
||||
dvm/tools/Zlib/.svn
|
||||
dvm/tools/predictor/
|
||||
dvm/tools/omp-dbg/
|
||||
dvm/tools/omp-otc/
|
||||
dvm/tools/omp-pa/
|
||||
dvm/CMakeLists.txt
|
||||
dvm/.svn/
|
||||
dvm/fdvm/branches/
|
||||
Sapfor/TransformCommonLib/TransformCommonLib.vcxproj.user
|
||||
Sapfor/SageOldSrc/SageOldSrc.vcxproj.user
|
||||
Sapfor/SageNewSrc/SageNewSrc.vcxproj.user
|
||||
Sapfor/SageLib/SageLib.vcxproj.user
|
||||
Sapfor/Inliner/Inliner.vcxproj.user
|
||||
Sapfor/TransformUtils/TransformUtils.vcxproj.user
|
||||
Sapfor/Parser/Parser.vcxproj.user
|
||||
.vscode/*
|
||||
.vs/
|
||||
**/**/.DS_Store
|
||||
Sapfor/Sapc++/Sapc++/Sapc++.vcxproj.user
|
||||
Sapfor/Sapc++/Sapc++/Sapc++.vcxproj.filters
|
||||
Sapfor/Sapc++/Sapc++/Sapc++.vcxproj
|
||||
Sapfor/Sapc++/Sapc++/x64/
|
||||
Sapfor/Sapc++/x64/
|
||||
|
||||
/build
|
||||
/cmake-build-debug
|
||||
|
||||
Sapfor/out/
|
||||
Sapfor/_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
|
||||
533
CMakeLists.txt
Normal file
533
CMakeLists.txt
Normal file
@@ -0,0 +1,533 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
set(project Sapfor)
|
||||
if (TARGET ${project})
|
||||
return()
|
||||
endif ()
|
||||
project(${project})
|
||||
message("processing ${project}")
|
||||
#include(CTest)
|
||||
|
||||
add_definitions("-D SYS5")
|
||||
add_definitions("-D YYDEBUG")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_C_STANDARD 17)
|
||||
|
||||
set(fdvm_include projects/dvm/fdvmh/include/fdvmh/)
|
||||
set(fdvm_sources projects/dvm/fdvmh/tools/fdvmh/)
|
||||
set(sage_include_1 projects/dvm/fdvmh/include/sage/lib/)
|
||||
set(sage_include_2 projects/dvm/fdvmh/include/sage/h/)
|
||||
set(libdb_sources projects/dvm/fdvmh/lib/sage/db/)
|
||||
set(sage_sources projects/dvm/fdvmh/lib/sage/sage/)
|
||||
set(sagepp_sources projects/dvm/fdvmh/lib/sage/sage++/)
|
||||
set(parser_sources projects/dvm/fdvmh/tools/parser/)
|
||||
set(pppa_sources projects/dvm/pppa/src/)
|
||||
set(zlib_sources projects/dvm/third-party/Zlib/)
|
||||
set(libpred_sources projects/libpredictor/src/)
|
||||
set(libpred_include projects/libpredictor/include/)
|
||||
|
||||
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
|
||||
include_directories(${fdvm_include})
|
||||
include_directories(${sage_include_1})
|
||||
include_directories(${sage_include_2})
|
||||
#Zlib includes
|
||||
include_directories(${zlib_sources}/include)
|
||||
#PPPA includes
|
||||
include_directories(${pppa_sources})
|
||||
#Libpredictor includes
|
||||
include_directories(${libpred_include})
|
||||
|
||||
set(PR_PARAM src/ProjectParameters/projectParameters.cpp
|
||||
src/ProjectParameters/projectParameters.h)
|
||||
|
||||
set(GR_LAYOUT src/VisualizerCalls/graphLayout/algebra.cpp
|
||||
src/VisualizerCalls/graphLayout/algebra.hpp
|
||||
src/VisualizerCalls/graphLayout/fruchterman_reingold.cpp
|
||||
src/VisualizerCalls/graphLayout/fruchterman_reingold.hpp
|
||||
src/VisualizerCalls/graphLayout/kamada_kawai.cpp
|
||||
src/VisualizerCalls/graphLayout/kamada_kawai.hpp
|
||||
src/VisualizerCalls/graphLayout/layout.cpp
|
||||
src/VisualizerCalls/graphLayout/layout.hpp
|
||||
src/VisualizerCalls/graphLayout/nodesoup.cpp
|
||||
src/VisualizerCalls/graphLayout/nodesoup.hpp)
|
||||
|
||||
set(VS_CALLS src/VisualizerCalls/get_information.cpp
|
||||
src/VisualizerCalls/get_information.h
|
||||
src/VisualizerCalls/SendMessage.cpp
|
||||
src/VisualizerCalls/SendMessage.h
|
||||
src/VisualizerCalls/BuildGraph.cpp
|
||||
src/VisualizerCalls/BuildGraph.h)
|
||||
|
||||
set(VERIF src/VerificationCode/CorrectVarDecl.cpp
|
||||
src/VerificationCode/IncludeChecker.cpp
|
||||
src/VerificationCode/StructureChecker.cpp
|
||||
src/VerificationCode/VerifySageStructures.cpp
|
||||
src/VerificationCode/verifications.h)
|
||||
|
||||
set(UTILS src/Utils/AstWrapper.h
|
||||
src/Utils/BoostStackTrace.cpp
|
||||
src/Utils/CommonBlock.h
|
||||
src/Utils/DefUseList.h
|
||||
src/Utils/errors.h
|
||||
src/Utils/leak_detector.h
|
||||
src/Utils/RationalNum.cpp
|
||||
src/Utils/RationalNum.h
|
||||
src/Utils/SgUtils.cpp
|
||||
src/Utils/SgUtils.h
|
||||
src/Utils/types.h
|
||||
src/Utils/utils.cpp
|
||||
src/Utils/utils.h
|
||||
src/Utils/version.h
|
||||
src/Utils/module_utils.h
|
||||
src/Utils/module_utils.cpp
|
||||
src/Utils/json.hpp)
|
||||
|
||||
set(OMEGA src/SageAnalysisTool/OmegaForSage/add-assert.cpp
|
||||
src/SageAnalysisTool/OmegaForSage/affine.cpp
|
||||
src/SageAnalysisTool/OmegaForSage/cover.cpp
|
||||
src/SageAnalysisTool/OmegaForSage/ddomega-build.cpp
|
||||
src/SageAnalysisTool/OmegaForSage/ddomega-use.cpp
|
||||
src/SageAnalysisTool/OmegaForSage/ddomega.cpp
|
||||
src/SageAnalysisTool/OmegaForSage/debug.cpp
|
||||
src/SageAnalysisTool/OmegaForSage/ip.cpp
|
||||
src/SageAnalysisTool/OmegaForSage/kill.cpp
|
||||
src/SageAnalysisTool/OmegaForSage/refine.cpp
|
||||
src/SageAnalysisTool/OmegaForSage/sagedriver.cpp
|
||||
src/SageAnalysisTool/annotationDriver.cpp
|
||||
src/SageAnalysisTool/arrayRef.cpp
|
||||
src/SageAnalysisTool/computeInducVar.cpp
|
||||
src/SageAnalysisTool/constanteProp.cpp
|
||||
src/SageAnalysisTool/constanteSet.h
|
||||
src/SageAnalysisTool/controlFlow.cpp
|
||||
src/SageAnalysisTool/defUse.cpp
|
||||
src/SageAnalysisTool/dependence.cpp
|
||||
src/SageAnalysisTool/depGraph.cpp
|
||||
src/SageAnalysisTool/depInterface.cpp
|
||||
src/SageAnalysisTool/depInterfaceExt.h
|
||||
src/SageAnalysisTool/flowAnalysis.cpp
|
||||
src/SageAnalysisTool/inducVar.h
|
||||
src/SageAnalysisTool/intrinsic.cpp
|
||||
src/SageAnalysisTool/invariant.cpp
|
||||
src/SageAnalysisTool/loopTransform.cpp
|
||||
src/SageAnalysisTool/set.cpp)
|
||||
|
||||
set(PRIV src/PrivateAnalyzer/private_analyzer.cpp
|
||||
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
|
||||
${fdvm_sources}/acc_across.cpp
|
||||
${fdvm_sources}/acc_across_analyzer.cpp
|
||||
${fdvm_sources}/acc_analyzer.cpp
|
||||
${fdvm_sources}/acc_data.cpp
|
||||
${fdvm_sources}/acc_f2c.cpp
|
||||
${fdvm_sources}/acc_f2c_handlers.cpp
|
||||
${fdvm_sources}/acc_rtc.cpp
|
||||
${fdvm_sources}/acc_rtc.cpp
|
||||
${fdvm_sources}/acc_utilities.cpp
|
||||
${fdvm_sources}/aks_analyzeLoops.cpp
|
||||
${fdvm_sources}/aks_structs.cpp
|
||||
${fdvm_sources}/checkpoint.cpp
|
||||
${fdvm_sources}/debug.cpp
|
||||
${fdvm_sources}/dvm.cpp
|
||||
${fdvm_sources}/calls.cpp
|
||||
${fdvm_sources}/funcall.cpp
|
||||
${fdvm_sources}/help.cpp
|
||||
${fdvm_sources}/hpf.cpp
|
||||
${fdvm_sources}/io.cpp
|
||||
${fdvm_sources}/omp.cpp
|
||||
${fdvm_sources}/ompdebug.cpp
|
||||
${fdvm_sources}/parloop.cpp
|
||||
${fdvm_sources}/stmt.cpp)
|
||||
|
||||
set(PARALLEL_REG src/ParallelizationRegions/ParRegions.cpp
|
||||
src/ParallelizationRegions/ParRegions.h
|
||||
src/ParallelizationRegions/ParRegions_func.h
|
||||
src/ParallelizationRegions/expand_extract_reg.cpp
|
||||
src/ParallelizationRegions/expand_extract_reg.h
|
||||
src/ParallelizationRegions/resolve_par_reg_conflicts.cpp
|
||||
src/ParallelizationRegions/resolve_par_reg_conflicts.h)
|
||||
|
||||
set(TR_DEAD_CODE src/Transformations/DeadCodeRemoving/dead_code.cpp
|
||||
src/Transformations/DeadCodeRemoving/dead_code.h)
|
||||
set(TR_CP src/Transformations/CheckPoints/checkpoints.cpp
|
||||
src/Transformations/CheckPoints/checkpoints.h)
|
||||
set(TR_VECTOR src/Transformations/VectorAssignToLoop/array_assign_to_loop.cpp
|
||||
src/Transformations/VectorAssignToLoop/array_assign_to_loop.h)
|
||||
set(TR_ENDDO_LOOP src/Transformations/LoopEndDoConverter/enddo_loop_converter.cpp
|
||||
src/Transformations/LoopEndDoConverter/enddo_loop_converter.h)
|
||||
set(TR_LOOP_NEST src/Transformations/LoopNesting/loop_transform.cpp
|
||||
src/Transformations/LoopNesting/loop_transform.h)
|
||||
set(TR_LOOP_COMB src/Transformations/LoopCombining/loops_combiner.cpp
|
||||
src/Transformations/LoopCombining/loops_combiner.h)
|
||||
set(TR_LOOP_SPLIT src/Transformations/LoopSplitting/loops_splitter.cpp
|
||||
src/Transformations/LoopSplitting/loops_splitter.h)
|
||||
set(TR_LOOP_UNROLL src/Transformations/LoopUnrolling/loops_unrolling.cpp
|
||||
src/Transformations/LoopUnrolling/loops_unrolling.h)
|
||||
set(TR_PRIV_BR src/Transformations/PrivateArrayResizing/private_arrays_resizing.cpp
|
||||
src/Transformations/PrivateArrayResizing/private_arrays_resizing.h)
|
||||
set(TR_PRIV_DEL src/Transformations/PrivateArrayRemoving/private_removing.cpp
|
||||
src/Transformations/PrivateArrayRemoving/private_removing.h)
|
||||
set(TR_SWAP_ARR_DIMS src/Transformations/ArrayDimsSwapping/swap_array_dims.cpp
|
||||
src/Transformations/ArrayDimsSwapping/swap_array_dims.h)
|
||||
set(TR_FUNC_DUP src/Transformations/FunctionDuplication/uniq_call_chain_dup.cpp
|
||||
src/Transformations/FunctionDuplication/uniq_call_chain_dup.h)
|
||||
set(TR_FUNC_PURE src/Transformations/FunctionPurifying/function_purifying.cpp
|
||||
src/Transformations/FunctionPurifying/function_purifying.h)
|
||||
set(TR_GV src/Transformations/GlobalVariables/fix_common_blocks.cpp
|
||||
src/Transformations/GlobalVariables/fix_common_blocks.h)
|
||||
set(TR_CONV src/Transformations/ConvertToC/convert_to_c.cpp
|
||||
src/Transformations/ConvertToC/convert_to_c.h)
|
||||
set(TR_IMPLICIT_NONE src/Transformations/SetImplicitNone/set_implicit_none.cpp
|
||||
src/Transformations/SetImplicitNone/set_implicit_none.h)
|
||||
set(TR_REPLACE_ARRAYS_IN_IO src/Transformations/ReplaceArraysInIO/replace_dist_arrays_in_io.cpp
|
||||
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(TRANSFORMS
|
||||
${TR_DEAD_CODE}
|
||||
${TR_CP}
|
||||
${TR_VECTOR}
|
||||
${TR_ENDDO_LOOP}
|
||||
${TR_LOOP_NEST}
|
||||
${TR_LOOP_COMB}
|
||||
${TR_LOOP_SPLIT}
|
||||
${TR_PRIV_BR}
|
||||
${TR_SWAP_ARR_DIMS}
|
||||
${TR_FUNC_DUP}
|
||||
${TR_FUNC_PURE}
|
||||
${TR_LOOP_UNROLL}
|
||||
${TR_GV}
|
||||
${TR_PRIV_DEL}
|
||||
${TR_CONV}
|
||||
${TR_PRIV_DEL}
|
||||
${TR_IMPLICIT_NONE}
|
||||
${TR_REPLACE_ARRAYS_IN_IO}
|
||||
${TR_EXPR_TRANSFORM}
|
||||
${TR_INLINER}
|
||||
${TR_RENAME_SYMBOLS})
|
||||
|
||||
set(CFG src/CFGraph/IR.cpp
|
||||
src/CFGraph/IR.h
|
||||
src/CFGraph/IR_domTree.cpp
|
||||
src/CFGraph/IR_domTree.h
|
||||
src/CFGraph/CFGraph.cpp
|
||||
src/CFGraph/CFGraph.h
|
||||
src/CFGraph/RD_subst.cpp
|
||||
src/CFGraph/RD_subst.h
|
||||
src/CFGraph/live_variable_analysis.cpp
|
||||
src/CFGraph/live_variable_analysis.h
|
||||
src/CFGraph/private_variables_analysis.cpp
|
||||
src/CFGraph/private_variables_analysis.h
|
||||
)
|
||||
|
||||
set(DATA_FLOW
|
||||
src/CFGraph/DataFlow/data_flow.h
|
||||
src/CFGraph/DataFlow/data_flow_impl.h
|
||||
src/CFGraph/DataFlow/backward_data_flow.h
|
||||
src/CFGraph/DataFlow/backward_data_flow_impl.h
|
||||
)
|
||||
|
||||
set(CREATE_INTER_T src/CreateInterTree/CreateInterTree.cpp
|
||||
src/CreateInterTree/CreateInterTree.h)
|
||||
|
||||
set(DIRA src/DirectiveProcessing/directive_analyzer.cpp
|
||||
src/DirectiveProcessing/directive_analyzer.h
|
||||
src/DirectiveProcessing/directive_creator.cpp
|
||||
src/DirectiveProcessing/directive_creator_base.cpp
|
||||
src/DirectiveProcessing/directive_creator.h
|
||||
src/DirectiveProcessing/directive_parser.cpp
|
||||
src/DirectiveProcessing/directive_parser.h
|
||||
src/DirectiveProcessing/directive_omp_parser.cpp
|
||||
src/DirectiveProcessing/directive_omp_parser.h
|
||||
src/DirectiveProcessing/insert_directive.cpp
|
||||
src/DirectiveProcessing/insert_directive.h
|
||||
src/DirectiveProcessing/remote_access.cpp
|
||||
src/DirectiveProcessing/remote_access_base.cpp
|
||||
src/DirectiveProcessing/remote_access.h
|
||||
src/DirectiveProcessing/shadow.cpp
|
||||
src/DirectiveProcessing/shadow.h
|
||||
src/DirectiveProcessing/spf_directive_preproc.cpp)
|
||||
|
||||
set(DISTR src/Distribution/Array.cpp
|
||||
src/Distribution/ArrayAnalysis.cpp
|
||||
src/Distribution/Array.h
|
||||
src/Distribution/Arrays.h
|
||||
src/Distribution/CreateDistributionDirs.cpp
|
||||
src/Distribution/CreateDistributionDirs.h
|
||||
src/Distribution/Cycle.cpp
|
||||
src/Distribution/Cycle.h
|
||||
src/Distribution/Distribution.cpp
|
||||
src/Distribution/Distribution.h
|
||||
src/Distribution/DvmhDirective.cpp
|
||||
src/Distribution/DvmhDirective.h
|
||||
src/Distribution/DvmhDirective_func.h
|
||||
src/Distribution/DvmhDirectiveBase.cpp
|
||||
src/Distribution/DvmhDirectiveBase.h
|
||||
src/Distribution/GraphCSR.cpp
|
||||
src/Distribution/GraphCSR.h)
|
||||
|
||||
set(DVMH_REG src/DvmhRegions/DvmhRegionInserter.cpp
|
||||
src/DvmhRegions/DvmhRegionInserter.h
|
||||
src/DvmhRegions/RegionsMerger.cpp
|
||||
src/DvmhRegions/RegionsMerger.h
|
||||
src/DvmhRegions/ReadWriteAnalyzer.cpp
|
||||
src/DvmhRegions/ReadWriteAnalyzer.h
|
||||
src/DvmhRegions/LoopChecker.cpp
|
||||
src/DvmhRegions/LoopChecker.h
|
||||
src/DvmhRegions/DvmhRegion.cpp
|
||||
src/DvmhRegions/DvmhRegion.h
|
||||
src/DvmhRegions/VarUsages.cpp
|
||||
src/DvmhRegions/VarUsages.h
|
||||
src/DvmhRegions/TypedSymbol.cpp
|
||||
src/DvmhRegions/TypedSymbol.h)
|
||||
|
||||
set(DYNA src/DynamicAnalysis/createParallelRegions.cpp
|
||||
src/DynamicAnalysis/createParallelRegions.h
|
||||
src/DynamicAnalysis/gcov_info.cpp
|
||||
src/DynamicAnalysis/gcov_info.h
|
||||
src/DynamicAnalysis/gCov_parser.cpp
|
||||
src/DynamicAnalysis/gCov_parser_func.h)
|
||||
|
||||
set(GR_CALL src/GraphCall/graph_calls.cpp
|
||||
src/GraphCall/graph_calls.h
|
||||
src/GraphCall/graph_calls_base.cpp
|
||||
src/GraphCall/graph_calls_func.h)
|
||||
|
||||
set(GR_LOOP src/GraphLoop/graph_loops_base.cpp
|
||||
src/GraphLoop/graph_loops.cpp
|
||||
src/GraphLoop/graph_loops.h
|
||||
src/GraphLoop/graph_loops_func.h)
|
||||
|
||||
set(LOOP_ANALYZER src/LoopAnalyzer/allocations_prepoc.cpp
|
||||
src/LoopAnalyzer/dep_analyzer.cpp
|
||||
src/LoopAnalyzer/loop_analyzer.cpp
|
||||
src/LoopAnalyzer/loop_analyzer.h)
|
||||
|
||||
set(MAIN src/Sapfor.cpp
|
||||
src/Sapfor.h
|
||||
src/SapforData.h
|
||||
src/Utils/PassManager.h)
|
||||
|
||||
set(PREDICTOR src/Predictor/PredictScheme.cpp
|
||||
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
|
||||
src/ProjectManipulation/ParseFiles.h
|
||||
src/ProjectManipulation/StdCapture.h
|
||||
src/ProjectManipulation/PerfAnalyzer.cpp
|
||||
src/ProjectManipulation/PerfAnalyzer.h
|
||||
src/ProjectManipulation/FileInfo.cpp
|
||||
src/ProjectManipulation/FileInfo.h
|
||||
src/ProjectManipulation/ConvertFiles.cpp
|
||||
src/ProjectManipulation/ConvertFiles.h)
|
||||
|
||||
set(PARSER ${parser_sources}/cftn.c
|
||||
${parser_sources}/errors.c
|
||||
${parser_sources}/gram1.tab.c
|
||||
${parser_sources}/hash.c
|
||||
${parser_sources}/init.c
|
||||
${parser_sources}/lexfdvm.c
|
||||
${parser_sources}/lists.c
|
||||
${parser_sources}/low_hpf.c
|
||||
${parser_sources}/misc.c
|
||||
${parser_sources}/stat.c
|
||||
${parser_sources}/sym.c
|
||||
${parser_sources}/types.c
|
||||
${parser_sources}/unparse_hpf.c)
|
||||
|
||||
set(PPPA ${pppa_sources}/inter.cpp
|
||||
${pppa_sources}/potensyn.cpp
|
||||
${pppa_sources}/stat.cpp
|
||||
${pppa_sources}/statfile.cpp
|
||||
${pppa_sources}/statinter.cpp
|
||||
${pppa_sources}/statlist.cpp
|
||||
${pppa_sources}/statprintf.cpp
|
||||
${pppa_sources}/statread.cpp
|
||||
${pppa_sources}/treeinter.cpp
|
||||
|
||||
${pppa_sources}/bool.h
|
||||
${pppa_sources}/dvmh_stat.h
|
||||
${pppa_sources}/inter.h
|
||||
${pppa_sources}/potensyn.h
|
||||
${pppa_sources}/statist.h
|
||||
${pppa_sources}/statlist.h
|
||||
${pppa_sources}/statprintf.h
|
||||
${pppa_sources}/statread.h
|
||||
${pppa_sources}/strall.h
|
||||
${pppa_sources}/sysstat.h
|
||||
${pppa_sources}/treeinter.h
|
||||
${pppa_sources}/ver.h
|
||||
${pppa_sources}/statinter.h
|
||||
${pppa_sources}/json.hpp)
|
||||
|
||||
set(ZLIB ${zlib_sources}/src/adler32.c
|
||||
${zlib_sources}/src/compress.c
|
||||
${zlib_sources}/src/crc32.c
|
||||
${zlib_sources}/src/deflate.c
|
||||
${zlib_sources}/src/gzio.c
|
||||
${zlib_sources}/src/infblock.c
|
||||
${zlib_sources}/src/infcodes.c
|
||||
${zlib_sources}/src/inffast.c
|
||||
${zlib_sources}/src/inflate.c
|
||||
${zlib_sources}/src/inftrees.c
|
||||
${zlib_sources}/src/infutil.c
|
||||
${zlib_sources}/src/trees.c
|
||||
${zlib_sources}/src/uncompr.c
|
||||
${zlib_sources}/src/zutil.c)
|
||||
|
||||
set(SOURCE_EXE
|
||||
${CFG}
|
||||
${DATA_FLOW}
|
||||
${CREATE_INTER_T}
|
||||
${DIRA}
|
||||
${DISTR}
|
||||
${DVMH_REG}
|
||||
${DYNA}
|
||||
${GR_CALL}
|
||||
${GR_LOOP}
|
||||
${LOOP_ANALYZER}
|
||||
${TRANSFORMS}
|
||||
${PARALLEL_REG}
|
||||
${PRIV}
|
||||
${FDVM}
|
||||
${OMEGA}
|
||||
${UTILS}
|
||||
${VERIF}
|
||||
${VS_CALLS}
|
||||
${MAIN}
|
||||
${PREDICTOR}
|
||||
${LIBPREDICTOR}
|
||||
${PARSER}
|
||||
${PPPA}
|
||||
${ZLIB}
|
||||
${GR_LAYOUT}
|
||||
${PR_PARAM}
|
||||
${PROJ_MAN})
|
||||
|
||||
add_executable(Sapfor_F ${SOURCE_EXE})
|
||||
source_group (CFGraph FILES ${CFG})
|
||||
source_group (CFGraph\\DataFlow FILES ${DATA_FLOW})
|
||||
|
||||
source_group (Transformations\\DeadCodeRemoving FILES ${TR_DEAD_CODE})
|
||||
source_group (Transformations\\ExpressionSubstitution FILES ${TR_EXPR_TRANSFORM})
|
||||
source_group (Transformations\\CheckPoints FILES ${TR_CP})
|
||||
source_group (Transformations\\LoopEndDoConverter FILES ${TR_ENDDO_LOOP})
|
||||
source_group (Transformations\\LoopNesting FILES ${TR_LOOP_NEST})
|
||||
source_group (Transformations\\LoopCombining FILES ${TR_LOOP_COMB})
|
||||
source_group (Transformations\\LoopSplitting FILES ${TR_LOOP_SPLIT})
|
||||
source_group (Transformations\\LoopUnrolling FILES ${TR_LOOP_UNROLL})
|
||||
source_group (Transformations\\FunctionDuplication FILES ${TR_FUNC_DUP})
|
||||
source_group (Transformations\\FunctionInlining FILES ${TR_INLINER})
|
||||
source_group (Transformations\\FunctionPurifying FILES ${TR_FUNC_PURE})
|
||||
source_group (Transformations\\ArrayDimsSwapping FILES ${TR_SWAP_ARR_DIMS})
|
||||
source_group (Transformations\\PrivateArrayResizing FILES ${TR_PRIV_BR})
|
||||
source_group (Transformations\\PrivateArrayRemoving FILES ${TR_PRIV_DEL})
|
||||
source_group (Transformations\\VectorAssignToLoop FILES ${TR_VECTOR})
|
||||
source_group (Transformations\\RenameSymbols FILES ${TR_RENAME_SYMBOLS})
|
||||
source_group (Transformations\\GlobalVariables FILES ${TR_GV})
|
||||
source_group (Transformations\\ConvertToC FILES ${TR_CONV})
|
||||
source_group (Transformations\\SetImplicitNone FILES ${TR_IMPLICIT_NONE})
|
||||
source_group (Transformations\\ReplaceArraysInIO FILES ${TR_REPLACE_ARRAYS_IN_IO})
|
||||
|
||||
|
||||
source_group (CreateIntervals FILES ${CREATE_INTER_T})
|
||||
source_group (DirectiveProcessing FILES ${DIRA})
|
||||
source_group (Distribution FILES ${DISTR})
|
||||
source_group (DvmhRegions FILES ${DVMH_REG})
|
||||
source_group (DynamicAnalysis FILES ${DYNA})
|
||||
source_group (GraphCall FILES ${GR_CALL})
|
||||
source_group (GraphLoop FILES ${GR_LOOP})
|
||||
source_group (LoopAnalyzer FILES ${LOOP_ANALYZER})
|
||||
source_group (ParallelizationRegions FILES ${PARALLEL_REG})
|
||||
source_group (PrivateAnalyzer FILES ${PRIV})
|
||||
source_group (FDVM_Compiler FILES ${FDVM})
|
||||
source_group (SageExtension FILES ${OMEGA})
|
||||
source_group (Utils FILES ${UTILS})
|
||||
source_group (VerificationCode FILES ${VERIF})
|
||||
source_group (ProjectParameters FILES ${PR_PARAM})
|
||||
source_group (ProjectManipulation FILES ${PROJ_MAN})
|
||||
|
||||
source_group (VisualizerCalls FILES ${VS_CALLS})
|
||||
source_group (VisualizerCalls\\GraphLayout FILES ${GR_LAYOUT})
|
||||
|
||||
source_group (_SapforMain FILES ${MAIN})
|
||||
source_group (Predictor\\Analyzer FILES ${PREDICTOR})
|
||||
source_group (Predictor\\Library FILES ${LIBPREDICTOR})
|
||||
source_group (Parser FILES ${PARSER})
|
||||
source_group (PPPA\\PPPA FILES ${PPPA})
|
||||
source_group (PPPA\\ZLib FILES ${ZLIB})
|
||||
|
||||
if (MSVC_IDE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /Zc:__cplusplus")
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
endif()
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_subdirectory(projects/Fdvm)
|
||||
|
||||
add_definitions("-D __SPF")
|
||||
add_definitions("-D _CRT_SECURE_NO_WARNINGS")
|
||||
add_definitions("-D _CRT_NON_CONFORMING_SWPRINTFS")
|
||||
|
||||
add_subdirectory(projects/SageOldSrc)
|
||||
add_subdirectory(projects/SageNewSrc)
|
||||
add_subdirectory(projects/SageLib)
|
||||
add_subdirectory(projects/Parser)
|
||||
|
||||
add_definitions("-D __SPF_BUILT_IN_FDVM")
|
||||
add_definitions("-D __SPF_BUILT_IN_PARSER")
|
||||
add_definitions("-D __SPF_BUILT_IN_PPPA")
|
||||
|
||||
if (WIN32)
|
||||
target_link_libraries(Sapfor_F SageNewSrc SageLib SageOldSrc)
|
||||
elseif(APPLE)
|
||||
target_link_libraries(Sapfor_F SageNewSrc SageLib SageOldSrc pthread)
|
||||
elseif(UNIX)
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
|
||||
target_link_libraries(Sapfor_F SageNewSrc SageLib SageOldSrc pthread stdc++fs)
|
||||
else()
|
||||
target_link_libraries(Sapfor_F SageNewSrc SageLib SageOldSrc pthread)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#install(TARGETS <name.exe/dll>
|
||||
# LIBRARY DESTINATION <name_f>
|
||||
# RUNTIME DESTINATION <name_f>)
|
||||
@@ -1,8 +1,8 @@
|
||||
# Общие правила по работе с SAPFOR #
|
||||
Перед началом работы с репозиторием необходимо убрать настройку git по автоматической замене LF -> CRLF
|
||||
Перед началом работы с репозиторием необходимо выставить настройку git по автоматической замене LF -> CRLF
|
||||
|
||||
* либо командой git config --global core.autocrlf false
|
||||
* либо командой git config --local core.autocrlf false
|
||||
* либо командой git config --global core.autocrlf true
|
||||
* либо командой git config --local core.autocrlf true
|
||||
|
||||
Инструкция по SAPFOR находится в Вики этого репозитория.
|
||||
|
||||
|
||||
@@ -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,625 +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 */
|
||||
|
||||
/***************** 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_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 */
|
||||
|
||||
@@ -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,627 +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";
|
||||
|
||||
/***************** 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_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";
|
||||
|
||||
@@ -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,592 +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, '_','_','_','_','_')
|
||||
|
||||
/* 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_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,831 +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(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,442 +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 %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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,74 +0,0 @@
|
||||
typedef union {
|
||||
int token ;
|
||||
char charv ;
|
||||
char *charp;
|
||||
PTR_BFND bfnode ;
|
||||
PTR_LLND ll_node ;
|
||||
PTR_SYMB symbol ;
|
||||
PTR_TYPE data_type ;
|
||||
PTR_HASH hash_entry ;
|
||||
PTR_LABEL label ;
|
||||
PTR_BLOB blob_ptr ;
|
||||
} YYSTYPE;
|
||||
#define IFDEFA 258
|
||||
#define APPLYTO 259
|
||||
#define ALABELT 260
|
||||
#define SECTIONT 261
|
||||
#define SPECIALAF 262
|
||||
#define FROMT 263
|
||||
#define TOT 264
|
||||
#define TOTLABEL 265
|
||||
#define TOFUNCTION 266
|
||||
#define DefineANN 267
|
||||
#define IDENTIFIER 268
|
||||
#define TYPENAME 269
|
||||
#define SCSPEC 270
|
||||
#define TYPESPEC 271
|
||||
#define TYPEMOD 272
|
||||
#define CONSTANT 273
|
||||
#define STRING 274
|
||||
#define ELLIPSIS 275
|
||||
#define SIZEOF 276
|
||||
#define ENUM 277
|
||||
#define STRUCT 278
|
||||
#define UNION 279
|
||||
#define IF 280
|
||||
#define ELSE 281
|
||||
#define WHILE 282
|
||||
#define DO 283
|
||||
#define FOR 284
|
||||
#define SWITCH 285
|
||||
#define CASE 286
|
||||
#define DEFAULT_TOKEN 287
|
||||
#define BREAK 288
|
||||
#define CONTINUE 289
|
||||
#define RETURN 290
|
||||
#define GOTO 291
|
||||
#define ASM 292
|
||||
#define CLASS 293
|
||||
#define PUBLIC 294
|
||||
#define FRIEND 295
|
||||
#define ACCESSWORD 296
|
||||
#define OVERLOAD 297
|
||||
#define OPERATOR 298
|
||||
#define COBREAK 299
|
||||
#define COLOOP 300
|
||||
#define COEXEC 301
|
||||
#define LOADEDOPR 302
|
||||
#define MULTIPLEID 303
|
||||
#define MULTIPLETYPENAME 304
|
||||
#define ASSIGN 305
|
||||
#define OROR 306
|
||||
#define ANDAND 307
|
||||
#define EQCOMPARE 308
|
||||
#define ARITHCOMPARE 309
|
||||
#define LSHIFT 310
|
||||
#define RSHIFT 311
|
||||
#define UNARY 312
|
||||
#define PLUSPLUS 313
|
||||
#define MINUSMINUS 314
|
||||
#define HYPERUNARY 315
|
||||
#define DOUBLEMARK 316
|
||||
#define POINTSAT 317
|
||||
|
||||
extern YYSTYPE yylval;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,694 +0,0 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993,1995 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/* Created By Jenq-Kuen Lee April 14, 1988 */
|
||||
/* A Sub-program to help yylex() catch all the comments */
|
||||
/* A small finite automata used to identify the input token corresponding to */
|
||||
/* Bif node position */
|
||||
|
||||
#include <stdio.h>
|
||||
#include "vparse.h"
|
||||
#include "vpc.h"
|
||||
#include "db.h"
|
||||
#include "vextern.h"
|
||||
#include "annotate.tab.h"
|
||||
|
||||
extern void Message(char *s, int l);
|
||||
|
||||
void reset_semicoln_handler();
|
||||
void reset();
|
||||
int class_struct(int value);
|
||||
int is_declare(int value);
|
||||
int declare_symb(int value);
|
||||
int block_like(int state);
|
||||
int keep_original(int state);
|
||||
|
||||
int lastdecl_id; /* o if no main_type appeared */
|
||||
int left_paren ;
|
||||
static int cur_state ;
|
||||
int cur_counter;
|
||||
|
||||
struct {
|
||||
PTR_CMNT stack[MAX_NESTED_SIZE];
|
||||
int counter[MAX_NESTED_SIZE];
|
||||
int node_type[MAX_NESTED_SIZE];
|
||||
int automata_state[MAX_NESTED_SIZE];
|
||||
int top ;
|
||||
} comment_stack ;
|
||||
|
||||
|
||||
struct {
|
||||
PTR_CMNT stack[MAX_NESTED_SIZE + 1 ];
|
||||
int front ;
|
||||
int rear ;
|
||||
} comment_queue;
|
||||
|
||||
struct {
|
||||
int line_stack[MAX_NESTED_SIZE + 1 ];
|
||||
PTR_FNAME file_stack[MAX_NESTED_SIZE + 1 ];
|
||||
int front ;
|
||||
int rear ;
|
||||
int BUGGY[100]; /* This is included because some versions of
|
||||
gcc seemed to have bugs that overwrite
|
||||
previous fields without. */
|
||||
} line_queue;
|
||||
|
||||
|
||||
PTR_FNAME find_file_entry()
|
||||
{
|
||||
/* dummy, should not be use after cleaning */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
void put_line_queue(line_offset,name)
|
||||
int line_offset ;
|
||||
char *name;
|
||||
{ PTR_FNAME find_file_entry();
|
||||
|
||||
if (line_queue.rear == MAX_NESTED_SIZE) line_queue.rear = 0;
|
||||
else line_queue.rear++;
|
||||
if (line_queue.rear == line_queue.front) Message("stack/queue overflow",0);
|
||||
line_queue.line_stack[line_queue.rear] = line_offset ;
|
||||
line_queue.file_stack[line_queue.rear] = find_file_entry(name);
|
||||
}
|
||||
|
||||
|
||||
PTR_FNAME
|
||||
fetch_line_queue(line_ptr )
|
||||
int *line_ptr;
|
||||
{
|
||||
if (line_queue.front == line_queue.rear)
|
||||
{ *line_ptr = line_queue.line_stack[line_queue.front] ;
|
||||
return(line_queue.file_stack[line_queue.front]);
|
||||
}
|
||||
if (line_queue.front == MAX_NESTED_SIZE) line_queue.front = 0;
|
||||
else line_queue.front++;
|
||||
*line_ptr = line_queue.line_stack[line_queue.front] ;
|
||||
return(line_queue.file_stack[line_queue.front]);
|
||||
}
|
||||
|
||||
|
||||
void push_state()
|
||||
{
|
||||
comment_stack.top++;
|
||||
comment_stack.stack[ comment_stack.top ] = cur_comment ;
|
||||
comment_stack.counter[ comment_stack.top ] = cur_counter ;
|
||||
comment_stack.automata_state[ comment_stack.top ] = cur_state ;
|
||||
}
|
||||
|
||||
void pop_state()
|
||||
{
|
||||
|
||||
cur_comment = comment_stack.stack[ comment_stack.top ] ;
|
||||
cur_counter = comment_stack.counter[ comment_stack.top ] ;
|
||||
cur_state = comment_stack.automata_state[ comment_stack.top ] ;
|
||||
comment_stack.top--;
|
||||
|
||||
}
|
||||
|
||||
void init_stack()
|
||||
{
|
||||
comment_stack.top = 0 ;
|
||||
comment_stack.automata_state[ comment_stack.top ] = ZERO;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void automata_driver(value)
|
||||
int value ;
|
||||
{
|
||||
int shift_flag ;
|
||||
int temp_state ;
|
||||
|
||||
|
||||
|
||||
for (shift_flag = ON ; shift_flag==ON ; )
|
||||
{ shift_flag = OFF ;
|
||||
|
||||
switch(cur_state) {
|
||||
|
||||
case ZERO :
|
||||
|
||||
switch (value) {
|
||||
case IF :
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state = IF_STATE;
|
||||
break ;
|
||||
case ELSE :
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state = ELSE_EXPECTED_STATE ;
|
||||
break;
|
||||
case DO :
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state = DO_STATE ;
|
||||
break;
|
||||
case FOR :
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state = FOR_STATE ;
|
||||
break;
|
||||
case CASE :
|
||||
case DEFAULT_TOKEN:
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state = CASE_STATE;
|
||||
break;
|
||||
case GOTO :
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state = GOTO_STATE;
|
||||
break;
|
||||
case WHILE :
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state = WHILE_STATE;
|
||||
break;
|
||||
case SWITCH:
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state = SWITCH_STATE;
|
||||
break;
|
||||
case COEXEC :
|
||||
cur_state = COEXEC_STATE ;
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
break;
|
||||
case COLOOP:
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state = COLOOP_STATE ;
|
||||
break;
|
||||
case RETURN:
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state = RETURN_STATE ;
|
||||
break;
|
||||
case '}':
|
||||
pop_state();
|
||||
switch (cur_state) {
|
||||
case ELSE_EXPECTED_STATE:
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
break;
|
||||
case STATE_4:
|
||||
case BLOCK_STATE:
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
reset();
|
||||
reset_semicoln_handler();
|
||||
break;
|
||||
case IF_STATE_4:
|
||||
cur_state= ELSE_EXPECTED_STATE;
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
break;
|
||||
case DO_STATE_1:
|
||||
cur_state= DO_STATE_2;
|
||||
reset_semicoln_handler();
|
||||
break;
|
||||
case DO_STATE_2:
|
||||
case STATE_2:
|
||||
break;
|
||||
default:
|
||||
reset();
|
||||
reset_semicoln_handler();
|
||||
}
|
||||
|
||||
break ;
|
||||
|
||||
case '{':
|
||||
temp_state=comment_stack.automata_state[comment_stack.top];
|
||||
if (temp_state == STATE_ARG)
|
||||
comment_stack.automata_state[comment_stack.top]= STATE_4;
|
||||
else { cur_state = BLOCK_STATE ;
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
push_state();
|
||||
}
|
||||
reset();
|
||||
break ;
|
||||
case '(':
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state = STATE_15;
|
||||
left_paren++;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state = STATE_6 ;
|
||||
break;
|
||||
case ';':
|
||||
reset_semicoln_handler();
|
||||
break;
|
||||
default : /* other */
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
if (class_struct(value)) cur_state = STATE_10 ;
|
||||
else cur_state = STATE_1 ;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case STATE_1 :
|
||||
if (value == '(') { cur_state =STATE_15 ;
|
||||
left_paren++;
|
||||
}
|
||||
if (class_struct(value)) cur_state =STATE_10 ;
|
||||
if (value == IDENTIFIER) cur_state =STATE_2 ;
|
||||
if (value == OPERATOR) cur_state =STATE_4 ;
|
||||
if (value ==';') reset_semicoln_handler();
|
||||
break ;
|
||||
|
||||
case STATE_2 :
|
||||
if (value == '(') { cur_state = STATE_15 ;
|
||||
left_paren++;
|
||||
}
|
||||
if (value ==';') {
|
||||
reset();
|
||||
reset_semicoln_handler();
|
||||
}
|
||||
break;
|
||||
|
||||
case STATE_4:
|
||||
switch (value) {
|
||||
case '(':
|
||||
cur_state = STATE_15 ;
|
||||
left_paren++;
|
||||
break;
|
||||
case '{': /* cur_state = STATE_5; */
|
||||
push_state();
|
||||
reset();
|
||||
break;
|
||||
case '=':
|
||||
case ',':
|
||||
cur_state = STATE_12;
|
||||
break;
|
||||
case ';':
|
||||
reset_semicoln_handler();
|
||||
break;
|
||||
default:
|
||||
if (is_declare(value))
|
||||
{ cur_state = STATE_ARG ;
|
||||
push_state();
|
||||
reset();
|
||||
}
|
||||
else cur_state = STATE_12;
|
||||
}
|
||||
|
||||
break;
|
||||
case STATE_6:
|
||||
if (value == ':') cur_state = ZERO;
|
||||
else {
|
||||
if (value ==';') reset_semicoln_handler();
|
||||
else { cur_state = STATE_2;
|
||||
shift_flag = ON ;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case STATE_10 :
|
||||
if (value =='{')
|
||||
{ cur_state = STATE_2 ;
|
||||
push_state();
|
||||
reset();
|
||||
}
|
||||
if ((value == '=' )||(value ==',')) cur_state = STATE_12;
|
||||
if (value == '(' ) { cur_state = STATE_15;
|
||||
left_paren++;
|
||||
}
|
||||
if (value ==';') reset_semicoln_handler();
|
||||
break ;
|
||||
case STATE_12:
|
||||
if (value ==';') reset_semicoln_handler();
|
||||
break ;
|
||||
|
||||
case STATE_15 :
|
||||
if (value == '(') left_paren++ ;
|
||||
if (value == ')') left_paren--;
|
||||
if (left_paren == 0) cur_state = STATE_4 ;
|
||||
break ;
|
||||
case IF_STATE:
|
||||
if (value == '(') { left_paren++;
|
||||
cur_state = IF_STATE_2;
|
||||
}
|
||||
break;
|
||||
case IF_STATE_2:
|
||||
if (value == '(') left_paren++ ;
|
||||
if (value == ')') left_paren--;
|
||||
if (left_paren == 0) cur_state = IF_STATE_3 ;
|
||||
break ;
|
||||
case IF_STATE_3:
|
||||
if (value == ';') {
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
cur_state= ELSE_EXPECTED_STATE ;
|
||||
}
|
||||
if (value =='{') { cur_state= ELSE_EXPECTED_STATE ;
|
||||
push_state();
|
||||
cur_state = ZERO ; /* counter continuing */
|
||||
}
|
||||
if (cur_state == IF_STATE_3)
|
||||
{ cur_state = IF_STATE_4 ;
|
||||
push_state();
|
||||
reset();
|
||||
shift_flag = ON;
|
||||
}
|
||||
break;
|
||||
|
||||
case ELSE_EXPECTED_STATE:
|
||||
if (value == ELSE) cur_state = BLOCK_STATE ;
|
||||
else {
|
||||
reset();
|
||||
reset_semicoln_handler();
|
||||
shift_flag = ON ;
|
||||
}
|
||||
break;
|
||||
|
||||
case BLOCK_STATE:
|
||||
if (value ==';') {
|
||||
cur_state = BLOCK_STATE_WAITSEMI;
|
||||
push_state();
|
||||
reset_semicoln_handler();
|
||||
}
|
||||
if (value == '{') { push_state();
|
||||
reset();
|
||||
}
|
||||
if (cur_state == BLOCK_STATE)
|
||||
{
|
||||
cur_state = BLOCK_STATE_WAITSEMI;
|
||||
push_state();
|
||||
reset();
|
||||
shift_flag = ON ;
|
||||
}
|
||||
break;
|
||||
|
||||
case WHILE_STATE:
|
||||
if (value == '('){ left_paren++;
|
||||
cur_state = WHILE_STATE_2;
|
||||
}
|
||||
break;
|
||||
case WHILE_STATE_2:
|
||||
if (value == '(') left_paren++ ;
|
||||
if (value == ')') left_paren--;
|
||||
if (left_paren == 0) cur_state = BLOCK_STATE ;
|
||||
break ;
|
||||
|
||||
case FOR_STATE:
|
||||
if (value == '(') { left_paren++;
|
||||
cur_state = FOR_STATE_2;
|
||||
}
|
||||
break;
|
||||
case FOR_STATE_2:
|
||||
if (value == '(') left_paren++ ;
|
||||
if (value == ')') left_paren--;
|
||||
if (left_paren == 0) cur_state = BLOCK_STATE ;
|
||||
break ;
|
||||
|
||||
case COLOOP_STATE:
|
||||
if (value == '(') { left_paren++;
|
||||
cur_state = COLOOP_STATE_2;
|
||||
}
|
||||
break;
|
||||
case COLOOP_STATE_2:
|
||||
if (value == '(') left_paren++ ;
|
||||
if (value == ')') left_paren--;
|
||||
if (left_paren == 0) cur_state = BLOCK_STATE ;
|
||||
break ;
|
||||
|
||||
case COEXEC_STATE:
|
||||
if (value == '(') { left_paren++;
|
||||
cur_state = COEXEC_STATE_2;
|
||||
}
|
||||
break;
|
||||
case COEXEC_STATE_2:
|
||||
if (value == '(') left_paren++ ;
|
||||
if (value == ')') left_paren--;
|
||||
if (left_paren == 0) cur_state = BLOCK_STATE ;
|
||||
break ;
|
||||
|
||||
case SWITCH_STATE:
|
||||
if (value == '(') { left_paren++;
|
||||
cur_state = SWITCH_STATE_2;
|
||||
}
|
||||
break;
|
||||
case SWITCH_STATE_2:
|
||||
if (value == '(') left_paren++ ;
|
||||
if (value == ')') left_paren--;
|
||||
if (left_paren == 0) cur_state = BLOCK_STATE ;
|
||||
break ;
|
||||
|
||||
case CASE_STATE :
|
||||
if (value == ':') reset();
|
||||
break;
|
||||
case DO_STATE : /* Need More, some problem exists */
|
||||
if (value == ';') { cur_state = DO_STATE_2 ; }
|
||||
if (value == '{') { cur_state = DO_STATE_2 ;
|
||||
push_state();
|
||||
reset();
|
||||
}
|
||||
if (cur_state == DO_STATE)
|
||||
{ cur_state = DO_STATE_1 ;
|
||||
push_state();
|
||||
reset();
|
||||
shift_flag = ON;
|
||||
}
|
||||
break;
|
||||
case DO_STATE_2:
|
||||
if (value == WHILE) cur_state= DO_STATE_3 ;
|
||||
break ;
|
||||
case DO_STATE_3:
|
||||
if (value == '(') { cur_state = DO_STATE_4 ;
|
||||
left_paren++;
|
||||
}
|
||||
break;
|
||||
case DO_STATE_4:
|
||||
if (value == '(') left_paren++ ;
|
||||
if (value == ')') left_paren--;
|
||||
if (left_paren == 0) cur_state = DO_STATE_5 ;
|
||||
break ;
|
||||
case DO_STATE_5:
|
||||
if (value ==';')
|
||||
{
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
reset();
|
||||
reset_semicoln_handler();
|
||||
}
|
||||
break;
|
||||
case RETURN_STATE:
|
||||
if (value ==';') reset_semicoln_handler();
|
||||
if (value == '(') { left_paren++;
|
||||
cur_state = RETURN_STATE_2 ;
|
||||
}
|
||||
break;
|
||||
case RETURN_STATE_2:
|
||||
if (value == '(') left_paren++ ;
|
||||
if (value == ')') left_paren--;
|
||||
if (left_paren == 0) cur_state = RETURN_STATE_3 ;
|
||||
break ;
|
||||
case RETURN_STATE_3:
|
||||
if (value ==';') reset_semicoln_handler();
|
||||
break;
|
||||
case GOTO_STATE:
|
||||
if (value == IDENTIFIER) cur_state = GOTO_STATE_2 ;
|
||||
break;
|
||||
case GOTO_STATE_2:
|
||||
if (value ==';') reset_semicoln_handler();
|
||||
break;
|
||||
default:
|
||||
Message(" comments state un_expected...",0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int class_struct(int value)
|
||||
{
|
||||
switch (value) {
|
||||
case ENUM :
|
||||
case CLASS:
|
||||
case STRUCT :
|
||||
case UNION: return(1);
|
||||
default : return(0);
|
||||
}
|
||||
}
|
||||
|
||||
int declare_symb(int value)
|
||||
{
|
||||
switch (value) {
|
||||
case TYPENAME :
|
||||
case TYPESPEC:
|
||||
case TYPEMOD:
|
||||
case ACCESSWORD:
|
||||
case SCSPEC:
|
||||
case ENUM :
|
||||
case CLASS:
|
||||
case STRUCT :
|
||||
case UNION: return(1);
|
||||
default : return(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void reset()
|
||||
{
|
||||
cur_state = 0 ;
|
||||
cur_counter = 0 ;
|
||||
cur_comment = (PTR_CMNT) NULL ;
|
||||
|
||||
/* put_line_queue(line_pos_1,line_pos_fname); */
|
||||
}
|
||||
|
||||
int block_like(int state)
|
||||
{
|
||||
|
||||
switch( state) {
|
||||
case BLOCK_STATE:
|
||||
case ZERO:
|
||||
case SWITCH_STATE:
|
||||
case FOR_STATE :
|
||||
case WHILE_STATE :
|
||||
case COEXEC_STATE :
|
||||
case COLOOP_STATE:
|
||||
case STATE_4: /* end of function_body */
|
||||
return(1);
|
||||
default: return(0);
|
||||
}
|
||||
}
|
||||
|
||||
int is_declare(int value)
|
||||
{
|
||||
switch (value) {
|
||||
case TYPENAME:
|
||||
case TYPESPEC :
|
||||
case ACCESSWORD:
|
||||
case SCSPEC:
|
||||
case TYPEMOD:
|
||||
case ENUM:
|
||||
case UNION:
|
||||
case CLASS:
|
||||
case STRUCT: return(1);
|
||||
default : return(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* pop state until reach a stable state BLOCK_STATE or ZERO */
|
||||
void reset_semicoln_handler()
|
||||
{
|
||||
int sw,state;
|
||||
|
||||
for (sw=1; sw; )
|
||||
{
|
||||
if (keep_original(cur_state)) return;
|
||||
state = comment_stack.automata_state[comment_stack.top];
|
||||
switch (state) {
|
||||
case IF_STATE_4:
|
||||
pop_state();
|
||||
cur_state = ELSE_EXPECTED_STATE ;
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
break;
|
||||
case DO_STATE_1:
|
||||
pop_state();
|
||||
cur_state = DO_STATE_2 ;
|
||||
break;
|
||||
case BLOCK_STATE_WAITSEMI:
|
||||
put_line_queue(line_pos_1,line_pos_fname);
|
||||
pop_state();
|
||||
reset();
|
||||
break;
|
||||
default :
|
||||
reset();
|
||||
sw = 0 ;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
int keep_original(int state)
|
||||
{
|
||||
switch (state) {
|
||||
case ELSE_EXPECTED_STATE:
|
||||
case DO_STATE_2:
|
||||
case STATE_2:
|
||||
return(1);
|
||||
default:
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
/* is_at_decl_state() & is_look_ahead_of_identifier() */
|
||||
/* These two routines are used in yylex to identify if a TYPENAME is just */
|
||||
/* a IDENTIFIER */
|
||||
/* */
|
||||
/*****************************************************************************/
|
||||
int
|
||||
is_at_decl_state()
|
||||
{
|
||||
|
||||
/* to see if it is inside (, ) */
|
||||
switch(cur_state) {
|
||||
case STATE_15:
|
||||
case IF_STATE_2:
|
||||
case WHILE_STATE_2:
|
||||
case FOR_STATE_2:
|
||||
case COLOOP_STATE_2:
|
||||
case COEXEC_STATE_2:
|
||||
case SWITCH_STATE_2:
|
||||
case DO_STATE_4:
|
||||
return(0);
|
||||
default:
|
||||
return(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int is_look_ahead_of_identifier(c)
|
||||
char c;
|
||||
{
|
||||
switch (c) {
|
||||
case ':' :
|
||||
case '(':
|
||||
case '[':
|
||||
case ',':
|
||||
case ';':
|
||||
case '=':
|
||||
return(1);
|
||||
default:
|
||||
return(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void set_up_momentum(value,token)
|
||||
int value,token;
|
||||
{
|
||||
|
||||
if (lastdecl_id == 0)
|
||||
{
|
||||
/* check if main_type appears */
|
||||
switch (value) {
|
||||
case TYPESPEC:
|
||||
lastdecl_id = 1;
|
||||
break;
|
||||
case TYPEMOD:
|
||||
if ((token == (int)RID_LONG)||(token == (int)RID_SHORT)||
|
||||
(token==(int)RID_SIGNED)||(token==(int)RID_UNSIGNED))
|
||||
lastdecl_id = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* case for main_type already appear, then check if
|
||||
1. this is still a decl.
|
||||
2. reset it to wait for another decl stat. */
|
||||
switch (value) {
|
||||
case TYPESPEC:
|
||||
case TYPEMOD:
|
||||
case SCSPEC:
|
||||
break;
|
||||
default:
|
||||
lastdecl_id = 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,40 +0,0 @@
|
||||
#######################################################################
|
||||
## Copyright (C) 1999 ##
|
||||
## Keldysh Institute of Appllied Mathematics ##
|
||||
#######################################################################
|
||||
|
||||
# sage/lib/newsrc/makefile.sgi
|
||||
|
||||
LIBDIR = ../../../lib
|
||||
|
||||
OLDHEADERS = ../../h
|
||||
|
||||
# Directory in which include file can be found
|
||||
TOOLBOX_INCLUDE = ../include
|
||||
|
||||
INCL = -I$(OLDHEADERS) -I../include
|
||||
|
||||
TOOLBOX_SRC = low_level.c unparse.c
|
||||
|
||||
TOOLBOX_HDR = $(TOOLBOX_INCLUDE)/macro.h $(TOOLBOX_INCLUDE)/bif_node.def \
|
||||
$(TOOLBOX_INCLUDE)/type.def $(TOOLBOX_INCLUDE)/symb.def
|
||||
|
||||
CFLAGS = $(INCL) -c -DSYS5 -Wall
|
||||
|
||||
low_level.o: low_level.c $(TOOLBOX_HDR)
|
||||
|
||||
unparse.o: unparse.c $(TOOLBOX_HDR) $(TOOLBOX_INCLUDE)/unparse.def \
|
||||
$(TOOLBOX_INCLUDE)/unparseC++.def
|
||||
|
||||
TOOLBOX_OBJ = low_level.o unparse.o
|
||||
|
||||
$(LIBDIR)/libsage.a: $(TOOLBOX_OBJ) $(TOOLBOX_HDR)
|
||||
ar qc $(LIBDIR)/libsage.a $(TOOLBOX_OBJ)
|
||||
|
||||
all: $(LIBDIR)/libsage.a
|
||||
@echo "*** COMPILING LIBRARY newsrc DONE"
|
||||
|
||||
clean:
|
||||
rm -f $(TOOLBOX_OBJ)
|
||||
cleanall:
|
||||
rm -f $(TOOLBOX_OBJ)
|
||||
@@ -1,54 +0,0 @@
|
||||
#######################################################################
|
||||
## Copyright (C) 1999 ##
|
||||
## Keldysh Institute of Appllied Mathematics ##
|
||||
#######################################################################
|
||||
|
||||
# sage/lib/newsrc/makefile.win
|
||||
|
||||
OUTDIR = ../../../obj
|
||||
LIBDIR = ../../../lib
|
||||
|
||||
OLDHEADERS = ../../h
|
||||
|
||||
# Directory in which include file can be found
|
||||
TOOLBOX_INCLUDE = ../include
|
||||
|
||||
INCL = -I$(OLDHEADERS) -I../include
|
||||
|
||||
TOOLBOX_SRC = low_level.c unparse.c
|
||||
|
||||
TOOLBOX_HDR = $(TOOLBOX_INCLUDE)/macro.h $(TOOLBOX_INCLUDE)/bif_node.def \
|
||||
$(TOOLBOX_INCLUDE)/type.def $(TOOLBOX_INCLUDE)/symb.def
|
||||
|
||||
# -w don't issue warning now.
|
||||
#CFLAGS=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D SYS5 $(INCL) \
|
||||
# /Fp"$(OUTDIR)/newsrc.pch" /YX /Fo"$(OUTDIR)/" /Fd"$(OUTDIR)/" /c
|
||||
CFLAGS=/nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D SYS5 $(INCL) \
|
||||
/Fp"$(OUTDIR)/newsrc.pch" /Fo"$(OUTDIR)/" /Fd"$(OUTDIR)/" /c
|
||||
|
||||
.c{$(OUTDIR)/}.obj:
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
LIB32=$(LINKER) -lib
|
||||
LIB32_FLAGS=/nologo /out:"$(LIBDIR)/libsage.lib"
|
||||
|
||||
|
||||
$(OUTDIR)/low_level.obj: low_level.c $(TOOLBOX_HDR)
|
||||
|
||||
$(OUTDIR)/unparse.obj: unparse.c $(TOOLBOX_HDR) $(TOOLBOX_INCLUDE)/unparse.def \
|
||||
$(TOOLBOX_INCLUDE)/unparseC++.def
|
||||
|
||||
TOOLBOX_OBJ = $(OUTDIR)/low_level.obj $(OUTDIR)/unparse.obj
|
||||
|
||||
$(LIBDIR)/libsage.lib: $(TOOLBOX_OBJ) $(TOOLBOX_HDR)
|
||||
$(LIB32) @<<
|
||||
$(LIB32_FLAGS) $(TOOLBOX_OBJ)
|
||||
<<
|
||||
|
||||
all: $(LIBDIR)/libsage.lib
|
||||
@echo "*** COMPILING LIBRARY newsrc DONE"
|
||||
|
||||
|
||||
clean:
|
||||
|
||||
cleanall:
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,18 +0,0 @@
|
||||
set(DB_SOURCES anal_ind.c db.c db_unp.c db_unp_vpc.c dbutils.c
|
||||
garb_coll.c glob_anal.c ker_fun.c list.c make_nodes.c mod_ref.c ndeps.c
|
||||
readnodes.c sets.c setutils.c symb_alg.c writenodes.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(DB_HEADERS ${DB_HEADERS} ${FILES})
|
||||
endforeach()
|
||||
source_group("Header Files" FILES ${DB_HEADERS})
|
||||
endif()
|
||||
|
||||
add_library(db ${DB_SOURCES} ${DB_HEADERS})
|
||||
|
||||
target_compile_definitions(db PRIVATE SYS5)
|
||||
target_include_directories(db PUBLIC "${DVM_SAGE_INCLUDE_DIRS}")
|
||||
set_target_properties(db PROPERTIES FOLDER "${DVM_LIBRARY_FOLDER}")
|
||||
@@ -1,123 +0,0 @@
|
||||
#######################################################################
|
||||
## pC++/Sage++ Copyright (C) 1993 ##
|
||||
## Indiana University University of Oregon University of Rennes ##
|
||||
#######################################################################
|
||||
|
||||
|
||||
# sage/lib/oldsrc/Makefile (phb)
|
||||
|
||||
LSX = .a
|
||||
|
||||
#HP_CFLAGS#CEXTRA = -Ae +z#ENDIF#
|
||||
#HP_CFLAGS#LSX = .sl#ENDIF#
|
||||
|
||||
SHELL = /bin/sh
|
||||
CONFIG_ARCH=iris4d
|
||||
|
||||
RANLIB_TEST = [ -f /usr/bin/ranlib ] || [ -f /bin/ranlib ]
|
||||
#NO_RANLIB#RANLIB_TEST = (exit 1)#ENDIF#
|
||||
|
||||
# Directory with all the include headers
|
||||
H = ../../h
|
||||
|
||||
#INSTALLDEST = ../$(CONFIG_ARCH)
|
||||
INSTALLDEST = ../../../libsage
|
||||
INSTALL = /bin/cp
|
||||
|
||||
CC = gcc
|
||||
#CC=cc#ENDIF##USE_CC#
|
||||
|
||||
CXX = g++
|
||||
CXX = /usr/WorkShop/usr/bin/DCC
|
||||
LINKER = $(CC)
|
||||
|
||||
CFLAGS = -g -Wall -I$H $(CEXTRA)
|
||||
|
||||
DEST = ${HOME}/bin
|
||||
|
||||
EXTHDRS = $H/bif.h $H/db.h $H/db.h $H/defs.h $H/dep.h \
|
||||
$H/dep_str.h $H/list.h $H/ll.h $H/sets.h $H/symb.h \
|
||||
$H/tag $H/vparse.h
|
||||
|
||||
OBJS = anal_ind.o db.o db_unp.o db_unp_vpc.o dbutils.o \
|
||||
garb_coll.o glob_anal.o ker_fun.o list.o \
|
||||
make_nodes.o mod_ref.o ndeps.o readnodes.o sets.o setutils.o \
|
||||
symb_alg.o writenodes.o
|
||||
|
||||
SRCS = anal_ind.c db.c db_unp.c db_unp_vpc.c dbutils.c \
|
||||
garb_coll.c glob_anal.c ker_fun.c list.c \
|
||||
make_nodes.c mod_ref.c ndeps.c readnodes.c sets.c setutils.c \
|
||||
symb_alg.c writenodes.c
|
||||
|
||||
|
||||
all: $(OBJS) libdb$(LSX)
|
||||
|
||||
libdb.a: $(OBJS)
|
||||
/bin/rm -f libdb.a
|
||||
ar qc libdb.a $(OBJS)
|
||||
@if $(RANLIB_TEST) ; then ranlib libdb.a ; \
|
||||
else echo "\tNOTE: ranlib not required" ; fi
|
||||
|
||||
libdb.sl: $(OBJS)
|
||||
/bin/rm -f libdb.sl
|
||||
ld -b -s -o libdb.sl $(OBJS)
|
||||
|
||||
clean:
|
||||
@/bin/rm -f $(OBJS) $(PROGRAM) *.dep libdb$(LSX)
|
||||
|
||||
index:
|
||||
ctags -wx $(HDRS) $(SRCS)
|
||||
|
||||
print:
|
||||
$(PRINT) $(HDRS) $(SRCS)
|
||||
|
||||
program: $(PROGRAM)
|
||||
|
||||
tags: $(HDRS) $(SRCS); ctags $(HDRS) $(SRCS)
|
||||
|
||||
install: $(INSTALLDEST)/libdb$(LSX)
|
||||
|
||||
$(INSTALLDEST)/libdb$(LSX): libdb$(LSX)
|
||||
if [ -d $(INSTALLDEST) ] ; then true; \
|
||||
else mkdir $(INSTALLDEST) ;fi
|
||||
$(INSTALL) libdb$(LSX) $(INSTALLDEST)
|
||||
@if $(RANLIB_TEST) ; then ranlib $(INSTALLDEST)/libdb$(LSX) ; \
|
||||
else echo "\tNOTE: ranlib not required" ; fi
|
||||
|
||||
###
|
||||
anal_ind.o: $H/db.h $H/defs.h $H/tag $H/bif.h \
|
||||
$H/ll.h $H/symb.h $H/sets.h
|
||||
db.o: $H/db.h $H/defs.h \
|
||||
$H/tag $H/bif.h $H/ll.h $H/symb.h $H/sets.h
|
||||
db_unp.o: $H/db.h $H/defs.h $H/tag $H/bif.h \
|
||||
$H/ll.h $H/symb.h $H/sets.h
|
||||
db_unp_vpc.o: $H/defs.h $H/tag $H/bif.h \
|
||||
$H/ll.h $H/symb.h $H/sets.h $H/db.h $H/vparse.h
|
||||
dbutils.o: $H/db.h \
|
||||
$H/defs.h $H/tag $H/bif.h $H/ll.h $H/symb.h $H/sets.h
|
||||
garb-coll.o: $H/db.h $H/defs.h $H/tag $H/bif.h \
|
||||
$H/ll.h $H/symb.h $H/sets.h
|
||||
glob_anal.o: $H/db.h $H/defs.h $H/tag $H/bif.h \
|
||||
$H/ll.h $H/symb.h $H/sets.h
|
||||
ker_fun.o: $H/defs.h $H/tag $H/bif.h $H/ll.h \
|
||||
$H/symb.h $H/sets.h
|
||||
list.o: $H/db.h $H/defs.h $H/tag $H/bif.h \
|
||||
$H/ll.h $H/symb.h $H/sets.h $H/list.h
|
||||
make_nodes.o: $H/db.h $H/defs.h $H/tag \
|
||||
$H/bif.h $H/ll.h $H/symb.h $H/sets.h
|
||||
mod_ref.o: $H/defs.h $H/tag $H/bif.h $H/ll.h \
|
||||
$H/symb.h $H/sets.h $H/vparse.h $H/db.h
|
||||
ndeps.o: $H/db.h $H/defs.h $H/tag $H/bif.h \
|
||||
$H/ll.h $H/symb.h $H/sets.h
|
||||
readnodes.o: $H/db.h $H/defs.h $H/tag $H/bif.h \
|
||||
$H/ll.h $H/symb.h $H/sets.h $H/dep_str.h \
|
||||
$H/dep.h
|
||||
sets.o: $H/db.h $H/defs.h $H/tag $H/bif.h \
|
||||
$H/ll.h $H/symb.h $H/sets.h
|
||||
setutils.o: $H/db.h $H/defs.h $H/tag $H/bif.h \
|
||||
$H/ll.h $H/symb.h $H/sets.h
|
||||
symb_alg.o: $H/db.h $H/defs.h $H/tag $H/bif.h \
|
||||
$H/ll.h $H/symb.h $H/sets.h
|
||||
writenodes.o: $H/db.h $H/defs.h $H/tag \
|
||||
$H/bif.h $H/ll.h $H/symb.h $H/sets.h $H/dep_str.h \
|
||||
$H/dep.h
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user