fixed paths
This commit is contained in:
@@ -13,24 +13,25 @@ add_definitions("-D YYDEBUG")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
set(fdvm_include ../dvm/fdvm/trunk/include)
|
||||
set(sage_include_1 ../dvm/fdvm/trunk/Sage/lib/include)
|
||||
set(sage_include_2 ../dvm/fdvm/trunk/Sage/h/)
|
||||
set(libdb_sources ../dvm/fdvm/trunk/Sage/lib/oldsrc)
|
||||
set(sage_sources ../dvm/fdvm/trunk/Sage/lib/newsrc)
|
||||
set(sagepp_sources ../dvm/fdvm/trunk/Sage/Sage++)
|
||||
set(parser_sources ../dvm/fdvm/trunk/parser)
|
||||
set(pppa_sources ../dvm/tools/pppa/trunk/src)
|
||||
set(zlib_sources ../dvm/tools/Zlib)
|
||||
set(fdvm_include _projects/dvm/fdvm/trunk/include)
|
||||
set(fdvm_sources _projects//dvm/fdvm/trunk/fdvm/)
|
||||
set(sage_include_1 _projects/dvm/fdvm/trunk/Sage/lib/include)
|
||||
set(sage_include_2 _projects/dvm/fdvm/trunk/Sage/h/)
|
||||
set(libdb_sources _projects/dvm/fdvm/trunk/Sage/lib/oldsrc)
|
||||
set(sage_sources _projects/dvm/fdvm/trunk/Sage/lib/newsrc)
|
||||
set(sagepp_sources _projects/dvm/fdvm/trunk/Sage/Sage++)
|
||||
set(parser_sources _projects/dvm/fdvm/trunk/parser)
|
||||
set(pppa_sources _projects/dvm/tools/pppa/trunk/src)
|
||||
set(zlib_sources _projects/dvm/tools/Zlib)
|
||||
|
||||
# Read pathes to external sapfor directories
|
||||
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/paths.txt")
|
||||
message("Found paths.txt, using custom paths.")
|
||||
FILE(STRINGS ./paths.txt SAPFOR_PATHS)
|
||||
else ()
|
||||
message("Not found paths.txt, using default paths.")
|
||||
FILE(STRINGS ./paths.default.txt SAPFOR_PATHS)
|
||||
endif ()
|
||||
#if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/_projects/paths.txt")
|
||||
# message("Found paths.txt, using custom paths.")
|
||||
# FILE(STRINGS ./_projects/paths.txt SAPFOR_PATHS)
|
||||
#else ()
|
||||
# message("Not found paths.txt, using default paths.")
|
||||
# FILE(STRINGS ./_projects/paths.default.txt SAPFOR_PATHS)
|
||||
#endif ()
|
||||
|
||||
foreach (NameAndValue ${SAPFOR_PATHS})
|
||||
# Strip leading spaces
|
||||
@@ -492,16 +493,16 @@ else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
||||
endif()
|
||||
|
||||
add_subdirectory(FDVM)
|
||||
add_subdirectory(_projects/FDVM)
|
||||
|
||||
add_definitions("-D __SPF")
|
||||
add_definitions("-D _CRT_SECURE_NO_WARNINGS")
|
||||
add_definitions("-D _CRT_NON_CONFORMING_SWPRINTFS")
|
||||
|
||||
add_subdirectory(SageOldSrc)
|
||||
add_subdirectory(SageNewSrc)
|
||||
add_subdirectory(SageLib)
|
||||
add_subdirectory(Parser)
|
||||
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")
|
||||
|
||||
@@ -1,468 +0,0 @@
|
||||
########################################################################
|
||||
# Makefile for Sapfor 2017
|
||||
########################################################################
|
||||
|
||||
LIBDIR = ../_lib
|
||||
BINDIR = ../_bin
|
||||
SRCDIR = ../_src
|
||||
|
||||
CXX = g++
|
||||
CC = gcc
|
||||
CFLAGS = -O3 -D__SPF
|
||||
STD=c++11
|
||||
|
||||
REPO_FDVM_BASE = ../../../../dvm/fdvm/trunk/
|
||||
REPO_SPF_BASE = ../_src/
|
||||
|
||||
SAGE_BASE_DIR = $(REPO_FDVM_BASE)Sage/
|
||||
SAGE_SRC_DIR = $(SAGE_BASE_DIR)Sage++/
|
||||
SAGE_SRC_NEW = $(SAGE_BASE_DIR)lib/newsrc/
|
||||
SAGE_SRC_OLD = $(SAGE_BASE_DIR)lib/oldsrc/
|
||||
SAGE_INCL_DIR = $(SAGE_BASE_DIR)/h
|
||||
LIB_INCL = $(SAGE_BASE_DIR)/lib/include
|
||||
|
||||
DVMINCLUDE = $(REPO_FDVM_BASE)/include
|
||||
PARSER_BASE_DIR = $(REPO_FDVM_BASE)parser/
|
||||
|
||||
INLINER_BASE_DIR = $(REPO_FDVM_BASE)InlineExpansion/
|
||||
|
||||
all: $(LIBDIR)/libPred.a $(LIBDIR)/libSage++.a $(LIBDIR)/SageNewSrc.a $(LIBDIR)/SageOldSrc.a $(BINDIR)/Parser $(BINDIR)/Inliner $(BINDIR)/Sapfor
|
||||
|
||||
#Make Predictor
|
||||
PS=$(REPO_SPF_BASE)Predictor/Lib/
|
||||
PRED_OBJ_C=adler32.o compress.o crc32.o deflate.o gzio.o infblock.o infcodes.o inffast.o inflate.o inftrees.o infutil.o \
|
||||
trees.o uncompr.o zutil.o
|
||||
PRED_SOURCE_C=$(PS)adler32.c $(PS)compress.c $(PS)crc32.c $(PS)deflate.c $(PS)gzio.c $(PS)infblock.c $(PS)infcodes.c $(PS)inffast.c \
|
||||
$(PS)inflate.c $(PS)inftrees.c $(PS)infutil.c $(PS)trees.c $(PS)uncompr.c $(PS)zutil.c
|
||||
|
||||
PRED_OBJ_CPP=AlignAxis.o AMView.o BGroup.o Block.o CallParams.o CommCost.o DArray.o DimBound.o DistAxis.o Event.o FuncCall.o \
|
||||
Interval.o IntervalTemplate.o LoopBlock.o LoopLS.o Ls.o ModelDArray.o ModelInterval.o ModelIO.o ModelMPS_AM.o ModelParLoop.o \
|
||||
ModelReduct.o ModelRegular.o ModelRemAccess.o ModelShadow.o ParLoop.o ParseString.o Processor.o Ps.o RedGroup.o RedVar.o \
|
||||
RemAccessBuf.o Space.o TraceLine.o Vm.o intersection.o predictor.o
|
||||
PRED_SOURCE_CPP=$(PS)AlignAxis.cpp $(PS)AMView.cpp $(PS)BGroup.cpp $(PS)Block.cpp $(PS)CallParams.cpp $(PS)CommCost.cpp $(PS)DArray.cpp \
|
||||
$(PS)DimBound.cpp $(PS)DistAxis.cpp $(PS)Event.cpp $(PS)FuncCall.cpp $(PS)Interval.cpp $(PS)IntervalTemplate.cpp $(PS)LoopBlock.cpp \
|
||||
$(PS)LoopLS.cpp $(PS)Ls.cpp $(PS)ModelDArray.cpp $(PS)ModelInterval.cpp $(PS)ModelIO.cpp $(PS)ModelMPS_AM.cpp $(PS)ModelParLoop.cpp \
|
||||
$(PS)ModelReduct.cpp $(PS)ModelRegular.cpp $(PS)ModelRemAccess.cpp $(PS)ModelShadow.cpp $(PS)ParLoop.cpp $(PS)ParseString.cpp \
|
||||
$(PS)Processor.cpp $(PS)Ps.cpp $(PS)RedGroup.cpp $(PS)RedVar.cpp $(PS)RemAccessBuf.cpp $(PS)Space.cpp $(PS)TraceLine.cpp $(PS)Vm.cpp \
|
||||
$(PS)intersection.cpp $(PS)predictor.cpp
|
||||
AlignAxis.o: $(PS)AlignAxis.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)AlignAxis.cpp
|
||||
AMView.o: $(PS)AMView.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)AMView.cpp
|
||||
BGroup.o: $(PS)BGroup.cpp
|
||||
$(CXX) $(CFLAGS) -std=$(STD) -c $(PS)BGroup.cpp
|
||||
Block.o: $(PS)Block.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)Block.cpp
|
||||
CallParams.o: $(PS)CallParams.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)CallParams.cpp
|
||||
CommCost.o: $(PS)CommCost.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)CommCost.cpp
|
||||
DArray.o: $(PS)DArray.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)DArray.cpp
|
||||
DimBound.o: $(PS)DimBound.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)DimBound.cpp
|
||||
DistAxis.o: $(PS)DistAxis.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)DistAxis.cpp
|
||||
Event.o: $(PS)Event.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)Event.cpp
|
||||
FuncCall.o: $(PS)FuncCall.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)FuncCall.cpp
|
||||
Interval.o: $(PS)Interval.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)Interval.cpp
|
||||
IntervalTemplate.o: $(PS)IntervalTemplate.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)IntervalTemplate.cpp
|
||||
LoopBlock.o: $(PS)LoopBlock.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)LoopBlock.cpp
|
||||
LoopLS.o: $(PS)LoopLS.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)LoopLS.cpp
|
||||
Ls.o: $(PS)Ls.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)Ls.cpp
|
||||
ModelDArray.o: $(PS)ModelDArray.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)ModelDArray.cpp
|
||||
ModelInterval.o: $(PS)ModelInterval.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)ModelInterval.cpp
|
||||
ModelIO.o: $(PS)ModelIO.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)ModelIO.cpp
|
||||
ModelMPS_AM.o: $(PS)ModelMPS_AM.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)ModelMPS_AM.cpp
|
||||
ModelParLoop.o: $(PS)ModelParLoop.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)ModelParLoop.cpp
|
||||
ModelReduct.o: $(PS)ModelReduct.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)ModelReduct.cpp
|
||||
ModelRegular.o: $(PS)ModelRegular.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)ModelRegular.cpp
|
||||
ModelRemAccess.o: $(PS)ModelRemAccess.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)ModelRemAccess.cpp
|
||||
ModelShadow.o: $(PS)ModelShadow.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)ModelShadow.cpp
|
||||
ParLoop.o: $(PS)ParLoop.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)ParLoop.cpp
|
||||
ParseString.o: $(PS)ParseString.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)ParseString.cpp
|
||||
Processor.o: $(PS)Processor.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)Processor.cpp
|
||||
Ps.o: $(PS)Ps.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)Ps.cpp
|
||||
RedGroup.o: $(PS)RedGroup.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)RedGroup.cpp
|
||||
RedVar.o: $(PS)RedVar.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)RedVar.cpp
|
||||
RemAccessBuf.o: $(PS)RemAccessBuf.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)RemAccessBuf.cpp
|
||||
Space.o: $(PS)Space.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)Space.cpp
|
||||
TraceLine.o: $(PS)TraceLine.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)TraceLine.cpp
|
||||
Vm.o: $(PS)Vm.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)Vm.cpp
|
||||
intersection.o: $(PS)intersection.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)intersection.cpp
|
||||
predictor.o: $(PS)predictor.cpp
|
||||
$(CXX) $(CFLAGS) -c $(PS)predictor.cpp
|
||||
|
||||
adler32.o: $(PS)adler32.c
|
||||
$(CC) $(CFLAGS) -c $(PS)adler32.c
|
||||
compress.o: $(PS)compress.c
|
||||
$(CC) $(CFLAGS) -c $(PS)compress.c
|
||||
crc32.o: $(PS)crc32.c
|
||||
$(CC) $(CFLAGS) -c $(PS)crc32.c
|
||||
deflate.o: $(PS)deflate.c
|
||||
$(CC) $(CFLAGS) -c $(PS)deflate.c
|
||||
gzio.o: $(PS)gzio.c
|
||||
$(CC) $(CFLAGS) -c $(PS)gzio.c
|
||||
infblock.o: $(PS)infblock.c
|
||||
$(CC) $(CFLAGS) -c $(PS)infblock.c
|
||||
infcodes.o: $(PS)infcodes.c
|
||||
$(CC) $(CFLAGS) -c $(PS)infcodes.c
|
||||
inffast.o: $(PS)inffast.c
|
||||
$(CC) $(CFLAGS) -c $(PS)inffast.c
|
||||
inflate.o: $(PS)inflate.c
|
||||
$(CC) $(CFLAGS) -c $(PS)inflate.c
|
||||
inftrees.o: $(PS)inftrees.c
|
||||
$(CC) $(CFLAGS) -c $(PS)inftrees.c
|
||||
infutil.o: $(PS)infutil.c
|
||||
$(CC) $(CFLAGS) -c $(PS)infutil.c
|
||||
trees.o: $(PS)trees.c
|
||||
$(CC) $(CFLAGS) -c $(PS)trees.c
|
||||
uncompr.o: $(PS)uncompr.c
|
||||
$(CC) $(CFLAGS) -c $(PS)uncompr.c
|
||||
zutil.o: $(PS)zutil.c
|
||||
$(CC) $(CFLAGS) -c $(PS)zutil.c
|
||||
|
||||
$(LIBDIR)/libPred.a: $(PRED_OBJ_C) $(PRED_OBJ_CPP)
|
||||
ar qc $(LIBDIR)/libPred.a $(PRED_OBJ_C) $(PRED_OBJ_CPP)
|
||||
|
||||
#Make SAGE++
|
||||
libSage++.o: $(SAGE_SRC_DIR)libSage++.cpp $(LIB_INCL)/macro.h $(LIB_INCL)/bif_node.def $(LIB_INCL)/type.def $(LIB_INCL)/symb.def $(LIB_INCL)/libSage++.h
|
||||
$(CXX) $(CFLAGS) -c $(SAGE_SRC_DIR)libSage++.cpp -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
$(LIBDIR)/libSage++.a: libSage++.o
|
||||
ar qc $(LIBDIR)/libSage++.a libSage++.o
|
||||
|
||||
#Make SAGE newsrc
|
||||
low_level.o: $(SAGE_SRC_NEW)low_level.c $(LIB_INCL)/macro.h $(LIB_INCL)/bif_node.def $(LIB_INCL)/type.def $(LIB_INCL)/symb.def
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_NEW)low_level.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
unparse.o: $(SAGE_SRC_NEW)unparse.c $(LIB_INCL)/macro.h $(LIB_INCL)/bif_node.def $(LIB_INCL)/type.def $(LIB_INCL)/symb.def $(LIB_INCL)/unparse.def $(LIB_INCL)/unparseC++.def
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_NEW)unparse.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
annotate.tab.o: $(SAGE_SRC_NEW)annotate.tab.c $(LIB_INCL)/macro.h $(LIB_INCL)/bif_node.def $(LIB_INCL)/type.def $(LIB_INCL)/symb.def
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_NEW)annotate.tab.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
comments.o: $(SAGE_SRC_NEW)comments.c $(LIB_INCL)/macro.h $(LIB_INCL)/bif_node.def $(LIB_INCL)/type.def $(LIB_INCL)/symb.def
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_NEW)comments.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
toolsann.o: $(SAGE_SRC_NEW)toolsann.c $(LIB_INCL)/macro.h $(LIB_INCL)/bif_node.def $(LIB_INCL)/type.def $(LIB_INCL)/symb.def
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_NEW)toolsann.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
|
||||
$(LIBDIR)/SageNewSrc.a: low_level.o unparse.o annotate.tab.o comments.o toolsann.o $(LIB_INCL)/macro.h $(LIB_INCL)/bif_node.def $(LIB_INCL)/type.def $(LIB_INCL)/symb.def
|
||||
ar qc $(LIBDIR)/SageNewSrc.a low_level.o unparse.o annotate.tab.o comments.o toolsann.o
|
||||
|
||||
#Make SAGE oldsrc
|
||||
OLD_SRC_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
|
||||
|
||||
H = $(SAGE_INCL_DIR)
|
||||
anal_ind.o: $(SAGE_SRC_OLD)anal_ind.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)anal_ind.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
db.o: $(SAGE_SRC_OLD)db.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)db.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
db_unp.o: $(SAGE_SRC_OLD)db_unp.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)db_unp.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
db_unp_vpc.o: $(SAGE_SRC_OLD)db_unp_vpc.c $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h $(H)/db.h $(H)/vparse.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)db_unp_vpc.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
dbutils.o: $(SAGE_SRC_OLD)dbutils.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)dbutils.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
garb_coll.o: $(SAGE_SRC_OLD)garb_coll.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)garb_coll.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
glob_anal.o: $(SAGE_SRC_OLD)glob_anal.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)glob_anal.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
ker_fun.o: $(SAGE_SRC_OLD)ker_fun.c $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)ker_fun.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
list.o: $(SAGE_SRC_OLD)list.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h $(H)/list.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)list.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
make_nodes.o: $(SAGE_SRC_OLD)make_nodes.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)make_nodes.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
mod_ref.o: $(SAGE_SRC_OLD)mod_ref.c $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h $(H)/vparse.h $(H)/db.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)mod_ref.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
ndeps.o: $(SAGE_SRC_OLD)ndeps.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)ndeps.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
readnodes.o: $(SAGE_SRC_OLD)readnodes.c $(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
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)readnodes.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
sets.o: $(SAGE_SRC_OLD)sets.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)sets.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
setutils.o: $(SAGE_SRC_OLD)setutils.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)setutils.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
symb_alg.o: $(SAGE_SRC_OLD)symb_alg.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)symb_alg.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
writenodes.o: $(SAGE_SRC_OLD)writenodes.c $(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
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(SAGE_SRC_OLD)writenodes.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
|
||||
$(LIBDIR)/SageOldSrc.a: $(OLD_SRC_OBJS)
|
||||
ar qc $(LIBDIR)/SageOldSrc.a $(OLD_SRC_OBJS)
|
||||
|
||||
#Make Parser
|
||||
PARSER_OBJS = cftn.o errors.o hash.o init.o lexfdvm.o lists.o misc.o stat.o types.o gram1.tab.o sym.o low_hpf.o unparse_hpf.o
|
||||
$(BINDIR)/Parser: $(PARSER_OBJS) $(LIBDIR)/SageOldSrc.a
|
||||
$(CXX) -o $(BINDIR)/Parser $(PARSER_OBJS) $(LIBDIR)/SageOldSrc.a
|
||||
|
||||
cftn.o: $(PARSER_BASE_DIR)cftn.c $(H)/db.h $(H)/defs.h $(H)/tag $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(PARSER_BASE_DIR)cftn.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(DVMINCLUDE)
|
||||
errors.o: $(PARSER_BASE_DIR)errors.c $(H)/defs.h $(H)/tag $(H)/symb.h $(DVMINCLUDE)/extern.h $(H)/db.h $(H)/bif.h $(H)/ll.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(PARSER_BASE_DIR)errors.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(DVMINCLUDE)
|
||||
hash.o: $(PARSER_BASE_DIR)hash.c $(H)/defs.h $(H)/symb.h $(H)/defines.h $(DVMINCLUDE)/extern.h $(H)/db.h $(H)/bif.h $(H)/ll.h $(H)/sets.h $(H)/tag
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(PARSER_BASE_DIR)hash.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(DVMINCLUDE)
|
||||
init.o: $(PARSER_BASE_DIR)init.c $(DVMINCLUDE)/inc.h $(H)/defs.h $(H)/bif.h $(H)/defines.h $(H)/ll.h $(H)/symb.h $(H)/sets.h $(H)/db.h $(H)/tag
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(PARSER_BASE_DIR)init.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(DVMINCLUDE)
|
||||
lexfdvm.o: $(PARSER_BASE_DIR)lexfdvm.c $(DVMINCLUDE)/extern.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(PARSER_BASE_DIR)lexfdvm.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(DVMINCLUDE)
|
||||
lists.o: $(PARSER_BASE_DIR)lists.c $(H)/defs.h $(H)/ll.h $(H)/symb.h $(H)/bif.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(PARSER_BASE_DIR)lists.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(DVMINCLUDE)
|
||||
misc.o: $(PARSER_BASE_DIR)misc.c $(H)/defs.h $(H)/tag $(H)/defines.h $(H)/db.h $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(PARSER_BASE_DIR)misc.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(DVMINCLUDE)
|
||||
stat.o: $(PARSER_BASE_DIR)stat.c $(H)/defs.h $(H)/bif.h $(H)/ll.h $(H)/symb.h $(H)/sets.h $(H)/defines.h $(DVMINCLUDE)/extern.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(PARSER_BASE_DIR)stat.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(DVMINCLUDE)
|
||||
sym.o: $(PARSER_BASE_DIR)sym.c $(H)/defs.h $(H)/tag $(H)/symb.h $(H)/defines.h $(H)/bif.h $(DVMINCLUDE)/extern.h $(H)/db.h $(H)/ll.h $(H)/sets.h $(DVMINCLUDE)/fdvm.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(PARSER_BASE_DIR)sym.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(DVMINCLUDE)
|
||||
types.o: $(PARSER_BASE_DIR)types.c $(H)/defs.h $(H)/ll.h $(H)/symb.h
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(PARSER_BASE_DIR)types.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(DVMINCLUDE)
|
||||
low_hpf.o: $(PARSER_BASE_DIR)low_hpf.c $(DVMINCLUDE)/dvm_tag.h $(TOOLBOX_HDR)
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(PARSER_BASE_DIR)low_hpf.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(DVMINCLUDE)
|
||||
unparse_hpf.o: $(PARSER_BASE_DIR)unparse_hpf.c $(DVMINCLUDE)/dvm_tag.h $(TOOLBOX_HDR) $(DVMINCLUDE)/unparse.hpf
|
||||
$(CC) $(CFLAGS) -c -DSYS5 $(PARSER_BASE_DIR)unparse_hpf.c -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(DVMINCLUDE)
|
||||
gram1.tab.o: $(PARSER_BASE_DIR)gram1.tab.c
|
||||
$(CC) $(CFLAGS) -c -DSYS5 -DYYDEBUG $(PARSER_BASE_DIR)gram1.tab.c -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
|
||||
#Make Inliner
|
||||
$(BINDIR)/Inliner: inl_exp.o inliner.o hlp.o $(LIBDIR)/libSage++.a $(LIBDIR)/SageNewSrc.a $(LIBDIR)/SageOldSrc.a
|
||||
$(CXX) -o $(BINDIR)/Inliner inl_exp.o inliner.o hlp.o $(LIBDIR)/libSage++.a $(LIBDIR)/SageNewSrc.a $(LIBDIR)/SageOldSrc.a
|
||||
|
||||
inl_exp.o: $(INLINER_BASE_DIR)inl_exp.cpp $(INLINER_BASE_DIR)inline.h
|
||||
$(CXX) $(CFLAGS) -std=$(STD) -c $(INLINER_BASE_DIR)inl_exp.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
inliner.o: $(INLINER_BASE_DIR)inliner.cpp $(INLINER_BASE_DIR)inline.h
|
||||
$(CXX) $(CFLAGS) -std=$(STD) -c $(INLINER_BASE_DIR)inliner.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
hlp.o: $(INLINER_BASE_DIR)hlp.cpp $(INLINER_BASE_DIR)inline.h
|
||||
$(CXX) $(CFLAGS) -std=$(STD) -c $(INLINER_BASE_DIR)hlp.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
|
||||
|
||||
#Make Sapfor
|
||||
SAPFOR_OBJ = private_analyzer.o utils.o SgUtils.o Sapfor.o CorrectVarDecl.o IncludeChecker.o LoopChecker.o ParRegions.o \
|
||||
enddo_loop_converter.o array_assign_to_loop.o allocations_prepoc.o directive_creator.o insert_directive.o loop_analyzer.o spf_directive_preproc.o \
|
||||
graph_loops.o graph_loops_base.o graph_calls.o expr_transform.o CreateDistributionDirs.o DvmhDirective.o DvmhDirectiveBase.o DirectiveAnalyzer.o \
|
||||
acc_analyzer.o acc_data.o calls.o acc_utilities.o directive_parser.o GraphCSR.o Distribution.o Cycle.o \
|
||||
annotationDriver.o arrayRef.o computeInducVar.o constanteProp.o controlFlow.o defUse.o dependence.o depGraph.o \
|
||||
depInterface.o flowAnalysis.o intrinsic.o invariant.o loopTransform.o set.o \
|
||||
add-assert.o affine.o cover.o ddomega.o ddomega-build.o ddomega-use.o debug.o ip.o kill.o refine.o sagedriver.o \
|
||||
dep_analyzer.o remote_access.o VerifySageStructures.o loop_transform.o PredictScheme.o control_flow_graph_part.o \
|
||||
shadow.o private_arrays_breeder.o resolve_par_reg_conflicts.o loops_splitter.o loops_combiner.o CreateInterTree.o gcov_info.o gCov_parser.o \
|
||||
graph_calls_base.o directive_creator_base.o PredictorModel.o createParallelRegions.o \
|
||||
expand_extract_reg.o RationalNum.o Array.o DvmhRegionInserter.o uniq_call_chain_dup.o
|
||||
|
||||
$(BINDIR)/Sapfor: $(SAPFOR_OBJ) $(LIBDIR)/libSage++.a $(LIBDIR)/SageNewSrc.a $(LIBDIR)/SageOldSrc.a
|
||||
$(CXX) -fopenmp -o $(BINDIR)/Sapfor $(SAPFOR_OBJ) $(LIBDIR)/libSage++.a $(LIBDIR)/SageNewSrc.a $(LIBDIR)/SageOldSrc.a $(LIBDIR)/libPred.a
|
||||
|
||||
expand_extract_reg.o: $(REPO_SPF_BASE)ParallelizationRegions/expand_extract_reg.cpp $(REPO_SPF_BASE)ParallelizationRegions/expand_extract_reg.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)ParallelizationRegions/expand_extract_reg.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL) $(TR_LIB_INC)
|
||||
createParallelRegions.o: $(REPO_SPF_BASE)DynamicAnalysis/createParallelRegions.cpp $(REPO_SPF_BASE)DynamicAnalysis/createParallelRegions.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)DynamicAnalysis/createParallelRegions.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
gcov_info.o: $(REPO_SPF_BASE)DynamicAnalysis/gcov_info.cpp $(REPO_SPF_BASE)DynamicAnalysis/gcov_info.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)DynamicAnalysis/gcov_info.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
gCov_parser.o: $(REPO_SPF_BASE)DynamicAnalysis/gCov_parser.cpp $(REPO_SPF_BASE)DynamicAnalysis/gCov_parser_func.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)DynamicAnalysis/gCov_parser.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
CreateInterTree.o: $(REPO_SPF_BASE)CreateInterTree/CreateInterTree.cpp $(REPO_SPF_BASE)CreateInterTree/CreateInterTree.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)CreateInterTree/CreateInterTree.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
RationalNum.o: $(REPO_SPF_BASE)Utils/RationalNum.cpp $(REPO_SPF_BASE)Utils/RationalNum.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Utils/RationalNum.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
utils.o: $(REPO_SPF_BASE)Utils/utils.cpp $(REPO_SPF_BASE)Utils/errors.h $(REPO_SPF_BASE)Utils/utils.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Utils/utils.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
SgUtils.o: $(REPO_SPF_BASE)Utils/SgUtils.cpp $(REPO_SPF_BASE)Utils/errors.h $(REPO_SPF_BASE)Utils/utils.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Utils/SgUtils.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
directive_parser.o: $(REPO_SPF_BASE)LoopAnalyzer/directive_parser.cpp $(REPO_SPF_BASE)LoopAnalyzer/directive_parser.h $(REPO_SPF_BASE)Utils/utils.h $(REPO_SPF_BASE)LoopAnalyzer/loop_analyzer.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopAnalyzer/directive_parser.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
Sapfor.o: $(REPO_SPF_BASE)Sapfor.cpp $(REPO_SPF_BASE)Utils/errors.h $(REPO_SPF_BASE)Utils/utils.h $(REPO_SPF_BASE)LoopConverter/enddo_loop_converter.h \
|
||||
$(REPO_SPF_BASE)LoopAnalyzer/loop_analyzer.h $(REPO_SPF_BASE)GraphCall/graph_calls.h $(REPO_SPF_BASE)GraphLoop/graph_loops.h \
|
||||
$(REPO_SPF_BASE)DirectiveAnalyzer/DirectiveAnalyzer.h $(REPO_SPF_BASE)VerificationCode/verifications.h $(REPO_SPF_BASE)Distribution/CreateDistributionDirs.h \
|
||||
$(REPO_SPF_BASE)PrivateAnalyzer/private_analyzer.h $(REPO_SPF_BASE)Sapfor.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Sapfor.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL) $(TR_LIB_INC)
|
||||
CorrectVarDecl.o: $(REPO_SPF_BASE)VerificationCode/CorrectVarDecl.cpp $(REPO_SPF_BASE)VerificationCode/verifications.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)VerificationCode/CorrectVarDecl.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
IncludeChecker.o: $(REPO_SPF_BASE)VerificationCode/IncludeChecker.cpp $(REPO_SPF_BASE)VerificationCode/verifications.h $(REPO_SPF_BASE)Utils/utils.h $(REPO_SPF_BASE)Distribution/DvmhDirective.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)VerificationCode/IncludeChecker.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
LoopChecker.o: $(REPO_SPF_BASE)VerificationCode/LoopChecker.cpp $(REPO_SPF_BASE)VerificationCode/verifications.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)VerificationCode/LoopChecker.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
VerifySageStructures.o: $(REPO_SPF_BASE)VerificationCode/VerifySageStructures.cpp $(REPO_SPF_BASE)VerificationCode/verifications.h $(REPO_SPF_BASE)Utils/utils.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)VerificationCode/VerifySageStructures.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
private_analyzer.o: $(REPO_SPF_BASE)PrivateAnalyzer/private_analyzer.cpp $(REPO_SPF_BASE)PrivateAnalyzer/private_analyzer.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)PrivateAnalyzer/private_analyzer.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
acc_analyzer.o: $(REPO_FDVM_BASE)fdvm/acc_analyzer.cpp $(REPO_FDVM_BASE)include/acc_analyzer.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_FDVM_BASE)fdvm/acc_analyzer.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL) -I$(REPO_SPF_BASE)
|
||||
acc_data.o: $(REPO_FDVM_BASE)fdvm/acc_data.cpp
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_FDVM_BASE)fdvm/acc_data.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
acc_utilities.o: $(REPO_FDVM_BASE)fdvm/acc_utilities.cpp
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_FDVM_BASE)fdvm/acc_utilities.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
calls.o: $(REPO_FDVM_BASE)fdvm/calls.cpp
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_FDVM_BASE)fdvm/calls.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
ParRegions.o: $(REPO_SPF_BASE)ParallelizationRegions/ParRegions.cpp $(REPO_SPF_BASE)ParallelizationRegions/ParRegions.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)ParallelizationRegions/ParRegions.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
resolve_par_reg_conflicts.o: $(REPO_SPF_BASE)ParallelizationRegions/resolve_par_reg_conflicts.cpp $(REPO_SPF_BASE)ParallelizationRegions/resolve_par_reg_conflicts.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)ParallelizationRegions/resolve_par_reg_conflicts.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
enddo_loop_converter.o: $(REPO_SPF_BASE)LoopConverter/enddo_loop_converter.cpp $(REPO_SPF_BASE)LoopConverter/enddo_loop_converter.h $(REPO_SPF_BASE)Utils/errors.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopConverter/enddo_loop_converter.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
array_assign_to_loop.o: $(REPO_SPF_BASE)LoopConverter/array_assign_to_loop.cpp $(REPO_SPF_BASE)LoopConverter/array_assign_to_loop.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopConverter/array_assign_to_loop.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
uniq_call_chain_dup.o: $(REPO_SPF_BASE)LoopConverter/uniq_call_chain_dup.cpp $(REPO_SPF_BASE)LoopConverter/uniq_call_chain_dup.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopConverter/uniq_call_chain_dup.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
loop_transform.o: $(REPO_SPF_BASE)LoopConverter/loop_transform.cpp $(REPO_SPF_BASE)LoopConverter/loop_transform.h $(REPO_SPF_BASE)Utils/errors.h $(REPO_SPF_BASE)GraphLoop/graph_loops.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopConverter/loop_transform.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL) $(TR_LIB_INC)
|
||||
shadow.o: $(REPO_SPF_BASE)LoopAnalyzer/shadow.cpp $(REPO_SPF_BASE)LoopAnalyzer/loop_analyzer.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopAnalyzer/shadow.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL) $(TR_LIB_INC)
|
||||
|
||||
allocations_prepoc.o: $(REPO_SPF_BASE)LoopAnalyzer/allocations_prepoc.cpp $(REPO_SPF_BASE)Utils/utils.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopAnalyzer/allocations_prepoc.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
directive_creator.o: $(REPO_SPF_BASE)LoopAnalyzer/directive_creator.cpp $(REPO_SPF_BASE)ParallelizationRegions/ParRegions.h \
|
||||
$(REPO_SPF_BASE)Distribution/GraphCSR.h $(REPO_SPF_BASE)Distribution/Arrays.h $(REPO_SPF_BASE)Distribution/Distribution.h \
|
||||
$(REPO_SPF_BASE)Utils/errors.h $(REPO_SPF_BASE)LoopAnalyzer/loop_analyzer.h $(REPO_SPF_BASE)LoopAnalyzer/directive_parser.h $(REPO_SPF_BASE)Utils/utils.h \
|
||||
$(REPO_SPF_BASE)Sapfor.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopAnalyzer/directive_creator.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
$(TR_LIB_INC)
|
||||
directive_creator_base.o: $(REPO_SPF_BASE)LoopAnalyzer/directive_creator_base.cpp $(REPO_SPF_BASE)ParallelizationRegions/ParRegions.h \
|
||||
$(REPO_SPF_BASE)Distribution/GraphCSR.h $(REPO_SPF_BASE)Distribution/Arrays.h $(REPO_SPF_BASE)Distribution/Distribution.h \
|
||||
$(REPO_SPF_BASE)Utils/errors.h $(REPO_SPF_BASE)LoopAnalyzer/loop_analyzer.h $(REPO_SPF_BASE)LoopAnalyzer/directive_parser.h $(REPO_SPF_BASE)Utils/utils.h $(REPO_SPF_BASE)LoopAnalyzer/directive_creator.h \
|
||||
$(REPO_SPF_BASE)Sapfor.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopAnalyzer/directive_creator_base.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL) $(TR_LIB_INC)
|
||||
insert_directive.o: $(REPO_SPF_BASE)LoopAnalyzer/insert_directive.cpp $(REPO_SPF_BASE)Distribution/GraphCSR.h $(REPO_SPF_BASE)Distribution/Arrays.h \
|
||||
$(REPO_SPF_BASE)Distribution/Distribution.h $(REPO_SPF_BASE)Distribution/DvmhDirective.h $(REPO_SPF_BASE)Utils/errors.h \
|
||||
$(REPO_SPF_BASE)LoopAnalyzer/loop_analyzer.h $(REPO_SPF_BASE)LoopAnalyzer/directive_parser.h $(REPO_SPF_BASE)Utils/utils.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopAnalyzer/insert_directive.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
loop_analyzer.o: $(REPO_SPF_BASE)LoopAnalyzer/loop_analyzer.cpp $(REPO_SPF_BASE)Distribution/GraphCSR.h $(REPO_SPF_BASE)Distribution/Arrays.h \
|
||||
$(REPO_SPF_BASE)Distribution/Distribution.h $(REPO_SPF_BASE)ParallelizationRegions/ParRegions.h $(REPO_SPF_BASE)Utils/errors.h $(REPO_SPF_BASE)LoopAnalyzer/loop_analyzer.h \
|
||||
$(REPO_SPF_BASE)LoopAnalyzer/directive_parser.h $(REPO_SPF_BASE)Utils/utils.h $(REPO_SPF_BASE)GraphCall/graph_calls.h $(REPO_SPF_BASE)ExpressionTransform/expr_transform.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopAnalyzer/loop_analyzer.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
remote_access.o: $(REPO_SPF_BASE)LoopAnalyzer/remote_access.cpp $(REPO_SPF_BASE)Distribution/Arrays.h \
|
||||
$(REPO_SPF_BASE)Utils/errors.h $(REPO_SPF_BASE)LoopAnalyzer/loop_analyzer.h \
|
||||
$(REPO_SPF_BASE)Utils/utils.h $(REPO_SPF_BASE)GraphCall/graph_calls.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopAnalyzer/remote_access.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
dep_analyzer.o: $(REPO_SPF_BASE)LoopAnalyzer/dep_analyzer.cpp $(REPO_SPF_BASE)LoopAnalyzer/loop_analyzer.h $(REPO_SPF_BASE)Utils/utils.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopAnalyzer/dep_analyzer.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
spf_directive_preproc.o: $(REPO_SPF_BASE)LoopAnalyzer/spf_directive_preproc.cpp
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopAnalyzer/spf_directive_preproc.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
graph_loops.o: $(REPO_SPF_BASE)GraphLoop/graph_loops.cpp $(REPO_SPF_BASE)GraphLoop/graph_loops.h $(REPO_SPF_BASE)GraphCall/graph_calls.h \
|
||||
$(REPO_SPF_BASE)Distribution/GraphCSR.h $(REPO_SPF_BASE)Distribution/Arrays.h $(REPO_SPF_BASE)Distribution/Distribution.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)GraphLoop/graph_loops.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
graph_loops_base.o: $(REPO_SPF_BASE)GraphLoop/graph_loops_base.cpp $(REPO_SPF_BASE)GraphLoop/graph_loops.h $(REPO_SPF_BASE)GraphCall/graph_calls.h \
|
||||
$(REPO_SPF_BASE)Distribution/GraphCSR.h $(REPO_SPF_BASE)Distribution/Arrays.h $(REPO_SPF_BASE)Distribution/Distribution.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)GraphLoop/graph_loops_base.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
PredictScheme.o: $(REPO_SPF_BASE)Predictor/PredictScheme.cpp $(REPO_SPF_BASE)Predictor/PredictScheme.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Predictor/PredictScheme.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
PredictorModel.o: $(REPO_SPF_BASE)Predictor/PredictorModel.cpp $(REPO_SPF_BASE)Predictor/PredictorModel.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Predictor/PredictorModel.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
graph_calls.o: $(REPO_SPF_BASE)GraphCall/graph_calls.cpp $(REPO_SPF_BASE)GraphLoop/graph_loops.h $(REPO_SPF_BASE)GraphCall/graph_calls.h $(REPO_SPF_BASE)LoopAnalyzer/directive_parser.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)GraphCall/graph_calls.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
graph_calls_base.o: $(REPO_SPF_BASE)GraphCall/graph_calls_base.cpp $(REPO_SPF_BASE)GraphCall/graph_calls_func.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)GraphCall/graph_calls_base.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
expr_transform.o: $(REPO_SPF_BASE)ExpressionTransform/expr_transform.cpp $(REPO_FDVM_BASE)include/acc_analyzer.h $(REPO_SPF_BASE)ExpressionTransform/expr_transform.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)ExpressionTransform/expr_transform.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
control_flow_graph_part.o: $(REPO_SPF_BASE)ExpressionTransform/control_flow_graph_part.cpp $(REPO_FDVM_BASE)include/acc_analyzer.h $(REPO_SPF_BASE)ExpressionTransform/expr_transform.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)ExpressionTransform/control_flow_graph_part.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
CreateDistributionDirs.o: $(REPO_SPF_BASE)Distribution/CreateDistributionDirs.cpp $(REPO_SPF_BASE)Distribution/Distribution.h $(REPO_SPF_BASE)Distribution/GraphCSR.h \
|
||||
$(REPO_SPF_BASE)Distribution/Arrays.h $(REPO_SPF_BASE)Utils/errors.h $(REPO_SPF_BASE)GraphLoop/graph_loops.h $(REPO_SPF_BASE)LoopAnalyzer/loop_analyzer.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Distribution/CreateDistributionDirs.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
DvmhDirective.o: $(REPO_SPF_BASE)Distribution/DvmhDirective.cpp $(REPO_SPF_BASE)Distribution/DvmhDirective.h $(REPO_SPF_BASE)Utils/utils.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Distribution/DvmhDirective.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
DvmhDirectiveBase.o: $(REPO_SPF_BASE)Distribution/DvmhDirectiveBase.cpp $(REPO_SPF_BASE)Distribution/DvmhDirectiveBase.h $(REPO_SPF_BASE)Utils/utils.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Distribution/DvmhDirectiveBase.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
DirectiveAnalyzer.o: $(REPO_SPF_BASE)DirectiveAnalyzer/DirectiveAnalyzer.cpp $(REPO_SPF_BASE)Distribution/DvmhDirective.h $(REPO_SPF_BASE)GraphLoop/graph_loops.h \
|
||||
$(REPO_SPF_BASE)DirectiveAnalyzer/DirectiveAnalyzer.h $(REPO_SPF_BASE)Utils/utils.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)DirectiveAnalyzer/DirectiveAnalyzer.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
Cycle.o: $(REPO_SPF_BASE)Distribution/Cycle.cpp $(REPO_SPF_BASE)Distribution/Cycle.h $(REPO_SPF_BASE)Distribution/DvmhDirective.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Distribution/Cycle.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
Distribution.o: $(REPO_SPF_BASE)Distribution/Distribution.cpp $(REPO_SPF_BASE)Distribution/Distribution.h $(REPO_SPF_BASE)Distribution/DvmhDirective.h \
|
||||
$(REPO_SPF_BASE)Utils/utils.h $(REPO_SPF_BASE)Distribution/GraphCSR.h $(REPO_SPF_BASE)Distribution/Arrays.h $(REPO_SPF_BASE)Distribution/Array.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Distribution/Distribution.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
Array.o: $(REPO_SPF_BASE)Distribution/Array.cpp $(REPO_SPF_BASE)Distribution/Arrays.h $(REPO_SPF_BASE)Distribution/Array.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Distribution/Array.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
GraphCSR.o: $(REPO_SPF_BASE)Distribution/GraphCSR.cpp $(REPO_SPF_BASE)Distribution/GraphCSR.h $(REPO_SPF_BASE)Distribution/DvmhDirective.h \
|
||||
$(REPO_SPF_BASE)Utils/utils.h $(REPO_SPF_BASE)Utils/errors.h $(REPO_SPF_BASE)Distribution/Arrays.h $(REPO_SPF_BASE)Distribution/Array.h \
|
||||
$(REPO_SPF_BASE)Distribution/Cycle.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)Distribution/GraphCSR.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
|
||||
annotationDriver.o: $(REPO_SPF_BASE)SageAnalysisTool/annotationDriver.cpp $(REPO_SPF_BASE)SageAnalysisTool/annotationDriver.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/annotationDriver.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
arrayRef.o: $(REPO_SPF_BASE)SageAnalysisTool/arrayRef.cpp $(REPO_SPF_BASE)SageAnalysisTool/arrayRef.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/arrayRef.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
computeInducVar.o: $(REPO_SPF_BASE)SageAnalysisTool/computeInducVar.cpp $(REPO_SPF_BASE)SageAnalysisTool/set.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/computeInducVar.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
constanteProp.o: $(REPO_SPF_BASE)SageAnalysisTool/constanteProp.cpp $(REPO_SPF_BASE)SageAnalysisTool/set.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/constanteProp.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
controlFlow.o: $(REPO_SPF_BASE)SageAnalysisTool/controlFlow.cpp
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/controlFlow.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
defUse.o: $(REPO_SPF_BASE)SageAnalysisTool/defUse.cpp $(REPO_SPF_BASE)SageAnalysisTool/set.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/defUse.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
dependence.o: $(REPO_SPF_BASE)SageAnalysisTool/dependence.cpp $(REPO_SPF_BASE)SageAnalysisTool/set.h $(REPO_SPF_BASE)SageAnalysisTool/dependence.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/dependence.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
depGraph.o: $(REPO_SPF_BASE)SageAnalysisTool/depGraph.cpp
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/depGraph.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
depInterface.o: $(REPO_SPF_BASE)SageAnalysisTool/depInterface.cpp
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/depInterface.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
flowAnalysis.o: $(REPO_SPF_BASE)SageAnalysisTool/flowAnalysis.cpp
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/flowAnalysis.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
intrinsic.o: $(REPO_SPF_BASE)SageAnalysisTool/intrinsic.cpp $(REPO_SPF_BASE)SageAnalysisTool/intrinsic.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/intrinsic.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
invariant.o: $(REPO_SPF_BASE)SageAnalysisTool/invariant.cpp $(REPO_SPF_BASE)SageAnalysisTool/set.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/invariant.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
loopTransform.o: $(REPO_SPF_BASE)SageAnalysisTool/loopTransform.cpp $(REPO_SPF_BASE)SageAnalysisTool/set.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/loopTransform.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
set.o: $(REPO_SPF_BASE)SageAnalysisTool/set.cpp $(REPO_SPF_BASE)SageAnalysisTool/set.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)SageAnalysisTool/set.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
|
||||
add-assert.o: $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/add-assert.cpp
|
||||
$(CXX) $(CFLAGS) -c $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/add-assert.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
affine.o: $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/affine.cpp
|
||||
$(CXX) $(CFLAGS) -c $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/affine.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
cover.o: $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/cover.cpp
|
||||
$(CXX) $(CFLAGS) -c $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/cover.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
ddomega.o: $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/ddomega.cpp
|
||||
$(CXX) $(CFLAGS) -c $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/ddomega.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
ddomega-build.o: $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/ddomega-build.cpp
|
||||
$(CXX) $(CFLAGS) -c $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/ddomega-build.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
ddomega-use.o: $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/ddomega-use.cpp
|
||||
$(CXX) $(CFLAGS) -c $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/ddomega-use.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
debug.o: $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/debug.cpp
|
||||
$(CXX) $(CFLAGS) -c $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/debug.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
ip.o: $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/ip.cpp
|
||||
$(CXX) $(CFLAGS) -c $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/ip.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
kill.o: $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/kill.cpp
|
||||
$(CXX) $(CFLAGS) -c $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/kill.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
refine.o: $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/refine.cpp
|
||||
$(CXX) $(CFLAGS) -c $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/refine.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
sagedriver.o: $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/sagedriver.cpp
|
||||
$(CXX) $(CFLAGS) -c $(REPO_SPF_BASE)SageAnalysisTool/OmegaForSage/sagedriver.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
private_arrays_breeder.o: $(REPO_SPF_BASE)LoopConverter/private_arrays_breeder.cpp $(REPO_SPF_BASE)LoopConverter/private_arrays_breeder.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopConverter/private_arrays_breeder.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
loops_splitter.o: $(REPO_SPF_BASE)LoopConverter/loops_splitter.cpp $(REPO_SPF_BASE)LoopConverter/loops_splitter.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopConverter/loops_splitter.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
DvmhRegionInserter.o: $(REPO_SPF_BASE)DvmhRegions/DvmhRegionInserter.cpp $(REPO_SPF_BASE)DvmhRegions/DvmhRegionInserter.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)DvmhRegions/DvmhRegionInserter.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
loops_combiner.o: $(REPO_SPF_BASE)LoopConverter/loops_combiner.cpp $(REPO_SPF_BASE)LoopConverter/loops_combiner.h
|
||||
$(CXX) $(CFLAGS) -c -std=$(STD) $(REPO_SPF_BASE)LoopConverter/loops_combiner.cpp -I$(DVMINCLUDE) -I$(SAGE_INCL_DIR) -I$(LIB_INCL)
|
||||
|
||||
clean:
|
||||
rm -rf *.o
|
||||
|
||||
cleanall:
|
||||
rm -rf *.o ../_lib/*.a
|
||||
1
Sapfor/_projects/dvm/fdvm/CMakeLists.txt
Normal file
1
Sapfor/_projects/dvm/fdvm/CMakeLists.txt
Normal file
@@ -0,0 +1 @@
|
||||
add_subdirectory(trunk)
|
||||
7
Sapfor/_projects/dvm/fdvm/trunk/CMakeLists.txt
Normal file
7
Sapfor/_projects/dvm/fdvm/trunk/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
set(DVM_FORTRAN_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
|
||||
add_subdirectory(Sage)
|
||||
add_subdirectory(parser)
|
||||
add_subdirectory(fdvm)
|
||||
add_subdirectory(InlineExpansion)
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
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>
|
||||
)
|
||||
85
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/dvm_tag.h
Normal file
85
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/dvm_tag.h
Normal file
@@ -0,0 +1,85 @@
|
||||
#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
|
||||
|
||||
|
||||
|
||||
|
||||
622
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/hlp.cpp
Normal file
622
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/hlp.cpp
Normal file
@@ -0,0 +1,622 @@
|
||||
/**************************************************************\
|
||||
* 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);
|
||||
}
|
||||
1750
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/inl_exp.cpp
Normal file
1750
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/inl_exp.cpp
Normal file
File diff suppressed because it is too large
Load Diff
643
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/inline.h
Normal file
643
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/inline.h
Normal file
@@ -0,0 +1,643 @@
|
||||
#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);
|
||||
2993
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/inliner.cpp
Normal file
2993
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/inliner.cpp
Normal file
File diff suppressed because it is too large
Load Diff
196
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/intrinsic.h
Normal file
196
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/intrinsic.h
Normal file
@@ -0,0 +1,196 @@
|
||||
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";
|
||||
|
||||
|
||||
46
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/makefile.uni
Normal file
46
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/makefile.uni
Normal file
@@ -0,0 +1,46 @@
|
||||
#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
|
||||
61
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/makefile.win
Normal file
61
Sapfor/_projects/dvm/fdvm/trunk/InlineExpansion/makefile.win
Normal file
@@ -0,0 +1,61 @@
|
||||
#######################################################################
|
||||
## 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
|
||||
17
Sapfor/_projects/dvm/fdvm/trunk/Makefile
Normal file
17
Sapfor/_projects/dvm/fdvm/trunk/Makefile
Normal file
@@ -0,0 +1,17 @@
|
||||
|
||||
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
|
||||
|
||||
|
||||
4
Sapfor/_projects/dvm/fdvm/trunk/Sage/CMakeLists.txt
Normal file
4
Sapfor/_projects/dvm/fdvm/trunk/Sage/CMakeLists.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
set(DVM_SAGE_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/h)
|
||||
|
||||
add_subdirectory(lib)
|
||||
add_subdirectory(Sage++)
|
||||
67
Sapfor/_projects/dvm/fdvm/trunk/Sage/LICENSE
Normal file
67
Sapfor/_projects/dvm/fdvm/trunk/Sage/LICENSE
Normal file
@@ -0,0 +1,67 @@
|
||||
************************************************************************
|
||||
./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
|
||||
106
Sapfor/_projects/dvm/fdvm/trunk/Sage/Makefile
Normal file
106
Sapfor/_projects/dvm/fdvm/trunk/Sage/Makefile
Normal file
@@ -0,0 +1,106 @@
|
||||
#######################################################################
|
||||
## 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:
|
||||
|
||||
14
Sapfor/_projects/dvm/fdvm/trunk/Sage/Sage++/CMakeLists.txt
Normal file
14
Sapfor/_projects/dvm/fdvm/trunk/Sage/Sage++/CMakeLists.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
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}")
|
||||
97
Sapfor/_projects/dvm/fdvm/trunk/Sage/Sage++/Makefile
Normal file
97
Sapfor/_projects/dvm/fdvm/trunk/Sage/Sage++/Makefile
Normal file
@@ -0,0 +1,97 @@
|
||||
#######################################################################
|
||||
## 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:
|
||||
|
||||
9158
Sapfor/_projects/dvm/fdvm/trunk/Sage/Sage++/libSage++.cpp
Normal file
9158
Sapfor/_projects/dvm/fdvm/trunk/Sage/Sage++/libSage++.cpp
Normal file
File diff suppressed because it is too large
Load Diff
40
Sapfor/_projects/dvm/fdvm/trunk/Sage/Sage++/makefile.uni
Normal file
40
Sapfor/_projects/dvm/fdvm/trunk/Sage/Sage++/makefile.uni
Normal file
@@ -0,0 +1,40 @@
|
||||
#######################################################################
|
||||
## 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
|
||||
49
Sapfor/_projects/dvm/fdvm/trunk/Sage/Sage++/makefile.win
Normal file
49
Sapfor/_projects/dvm/fdvm/trunk/Sage/Sage++/makefile.win
Normal file
@@ -0,0 +1,49 @@
|
||||
#######################################################################
|
||||
## 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:
|
||||
20
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/Makefile
Normal file
20
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/Makefile
Normal file
@@ -0,0 +1,20 @@
|
||||
#######################################################################
|
||||
## 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
|
||||
453
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/bif.h
Normal file
453
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/bif.h
Normal file
@@ -0,0 +1,453 @@
|
||||
/*********************************************************************/
|
||||
/* 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__
|
||||
77
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/compatible.h
Normal file
77
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/compatible.h
Normal file
@@ -0,0 +1,77 @@
|
||||
/*********************************************************************/
|
||||
/* 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
|
||||
187
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/db.h
Normal file
187
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/db.h
Normal file
@@ -0,0 +1,187 @@
|
||||
/*********************************************************************/
|
||||
/* 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 */
|
||||
190
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/db.new.h
Normal file
190
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/db.new.h
Normal file
@@ -0,0 +1,190 @@
|
||||
/*********************************************************************/
|
||||
/* 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
|
||||
56
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/defines.h
Normal file
56
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/defines.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*********************************************************************/
|
||||
/* 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
|
||||
131
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/defs.h
Normal file
131
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/defs.h
Normal file
@@ -0,0 +1,131 @@
|
||||
/*********************************************************************/
|
||||
/* 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
|
||||
39
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/dep.h
Normal file
39
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/dep.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/*********************************************************************/
|
||||
/* 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 */
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
173
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/dep_str.h
Normal file
173
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/dep_str.h
Normal file
@@ -0,0 +1,173 @@
|
||||
/*********************************************************************/
|
||||
/* 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];
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
147
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/dep_struct.h
Normal file
147
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/dep_struct.h
Normal file
@@ -0,0 +1,147 @@
|
||||
/*********************************************************************/
|
||||
/* 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];
|
||||
};
|
||||
79
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/elist.h
Normal file
79
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/elist.h
Normal file
@@ -0,0 +1,79 @@
|
||||
/*********************************************************************/
|
||||
/* 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 */);
|
||||
27
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/f90.h
Normal file
27
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/f90.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/*********************************************************************/
|
||||
/* 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
|
||||
10
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/fixcray.h
Normal file
10
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/fixcray.h
Normal file
@@ -0,0 +1,10 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
# ifdef CRAY-C90
|
||||
extern void *calloc();
|
||||
# define CALLOC_DEF
|
||||
# endif
|
||||
10
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/fm.h
Normal file
10
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/fm.h
Normal file
@@ -0,0 +1,10 @@
|
||||
/*********************************************************************/
|
||||
/* 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
|
||||
2
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/head
Normal file
2
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/head
Normal file
@@ -0,0 +1,2 @@
|
||||
/* don't modify this file directly, it is made by a clever 'sed'
|
||||
script using "tag". Run make tag.h to regenerate this file */
|
||||
18
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/leak_detector.h
Normal file
18
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/leak_detector.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#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
|
||||
34
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/list.h
Normal file
34
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/list.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/*********************************************************************/
|
||||
/* 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;
|
||||
} ;
|
||||
|
||||
|
||||
163
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/ll.h
Normal file
163
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/ll.h
Normal file
@@ -0,0 +1,163 @@
|
||||
/*********************************************************************/
|
||||
/* 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__
|
||||
24
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/prop.h
Normal file
24
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/prop.h
Normal file
@@ -0,0 +1,24 @@
|
||||
/*********************************************************************/
|
||||
/* 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
|
||||
21
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/sage.h
Normal file
21
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/sage.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/*********************************************************************/
|
||||
/* 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
|
||||
|
||||
2
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/sagearch.h
Normal file
2
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/sagearch.h
Normal file
@@ -0,0 +1,2 @@
|
||||
#define SAGE_iris4d
|
||||
#define SAGE_ARCH iris4d
|
||||
1
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/sageroot.h
Normal file
1
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/sageroot.h
Normal file
@@ -0,0 +1 @@
|
||||
#define SAGEROOT "/usr/people/podd/sage"
|
||||
86
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/sets.h
Normal file
86
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/sets.h
Normal file
@@ -0,0 +1,86 @@
|
||||
/*********************************************************************/
|
||||
/* 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*/
|
||||
};
|
||||
225
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/symb.h
Normal file
225
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/symb.h
Normal file
@@ -0,0 +1,225 @@
|
||||
/*********************************************************************/
|
||||
/* 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__
|
||||
17
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/symblob.h
Normal file
17
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/symblob.h
Normal file
@@ -0,0 +1,17 @@
|
||||
/*********************************************************************/
|
||||
/* 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];
|
||||
|
||||
|
||||
628
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/tag
Normal file
628
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/tag
Normal file
@@ -0,0 +1,628 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/******************* variant tags for bif nodes **********************/
|
||||
|
||||
#define GLOBAL 100
|
||||
#define PROG_HEDR 101
|
||||
#define PROC_HEDR 102
|
||||
#define BASIC_BLOCK 103
|
||||
#define CONTROL_END 104
|
||||
#define IF_NODE 105
|
||||
#define LOOP_NODE 106
|
||||
#define FOR_NODE 107
|
||||
#define FORALL_NODE 108
|
||||
#define WHILE_NODE 109
|
||||
#define EXIT_NODE 110
|
||||
#define ASSIGN_STAT 111
|
||||
#define M_ASSIGN_STAT 112
|
||||
#define PROC_STAT 113
|
||||
#define SUM_ACC 114 /* accumulation statements */
|
||||
#define MULT_ACC 115
|
||||
#define MAX_ACC 116
|
||||
#define MIN_ACC 117
|
||||
#define CAT_ACC 118
|
||||
#define OR_ACC 119
|
||||
#define AND_ACC 120
|
||||
#define READ_STAT 121
|
||||
#define WRITE_STAT 122
|
||||
#define OTHERIO_STAT 123
|
||||
#define CDOALL_NODE 124
|
||||
#define SDOALL_NODE 125
|
||||
#define DOACROSS_NODE 126
|
||||
#define CDOACROSS_NODE 127
|
||||
#define DVM_INTERVAL_DIR 128 /* DVM-F */
|
||||
#define DVM_ENDINTERVAL_DIR 129 /* DVM-F */
|
||||
#define FUNC_HEDR 130
|
||||
#define WHERE_NODE 131
|
||||
#define ALLDO_NODE 132
|
||||
#define IDENTIFY 133
|
||||
#define FORMAT_STAT 134
|
||||
#define STOP_STAT 135
|
||||
#define RETURN_STAT 136
|
||||
#define ELSEIF_NODE 137
|
||||
#define ARITHIF_NODE 138
|
||||
#define GOTO_NODE 139
|
||||
#define ASSGOTO_NODE 140
|
||||
#define COMGOTO_NODE 141
|
||||
#define PAUSE_NODE 142
|
||||
#define STOP_NODE 143
|
||||
#define ASSLAB_STAT 144
|
||||
#define LOGIF_NODE 145
|
||||
#define DVM_DEBUG_DIR 146 /* DVM-F */
|
||||
#define DVM_ENDDEBUG_DIR 147 /* DVM-F */
|
||||
#define DVM_TRACEON_DIR 148 /* DVM-F */
|
||||
#define DVM_TRACEOFF_DIR 149 /* DVM-F */
|
||||
#define BLOB 150
|
||||
#define SIZES 151
|
||||
#define COMMENT_STAT 152
|
||||
#define CONT_STAT 153
|
||||
#define VAR_DECL 154
|
||||
#define PARAM_DECL 155
|
||||
#define COMM_STAT 156
|
||||
#define EQUI_STAT 157
|
||||
#define IMPL_DECL 158
|
||||
#define DATA_DECL 159
|
||||
#define SAVE_DECL 160
|
||||
#define ENTRY_STAT 162
|
||||
#define STMTFN_STAT 163
|
||||
#define DIM_STAT 164
|
||||
#define BLOCK_DATA 165
|
||||
#define EXTERN_STAT 166
|
||||
#define INTRIN_STAT 167
|
||||
#define ENUM_DECL 168 /* New added for VPC */
|
||||
#define CLASS_DECL 169 /* New added for VPC */
|
||||
#define UNION_DECL 170 /* New added for VPC */
|
||||
#define STRUCT_DECL 171 /* New added for VPC */
|
||||
#define DERIVED_CLASS_DECL 172 /* New added for VPC */
|
||||
#define EXPR_STMT_NODE 173 /* New added for VPC */
|
||||
#define DO_WHILE_NODE 174 /* New added for VPC */
|
||||
#define SWITCH_NODE 175 /* New added for VPC */
|
||||
#define CASE_NODE 176 /* New added for VPC */
|
||||
#define DEFAULT_NODE 177 /* New added for VPC */
|
||||
#define BREAK_NODE 178 /* New added for VPC */
|
||||
#define CONTINUE_NODE 179 /* New added for VPC */
|
||||
#define RETURN_NODE 180 /* New added for VPC */
|
||||
#define ASM_NODE 181 /* New added for VPC */
|
||||
#define SPAWN_NODE 182 /* New added for CC++ */
|
||||
#define PARFOR_NODE 183 /* New added for CC++ */
|
||||
#define PAR_NODE 184 /* New added for CC++ */
|
||||
#define LABEL_STAT 185 /* New added for VPC */
|
||||
#define PROS_COMM 186 /* Fortran M */
|
||||
#define ATTR_DECL 187 /* attribute declaration */
|
||||
#define NAMELIST_STAT 188
|
||||
#define FUTURE_STMT 189 /* NEW added for VPC */
|
||||
#define COLLECTION_DECL 190 /* NEW added for PC++ */
|
||||
#define TEMPLATE_DECL 191 /* added by dbg for templates */
|
||||
#define TEMPLATE_FUNDECL 192 /* added by dbg for template function*/
|
||||
#define TECLASS_DECL 193 /* added for pC++ */
|
||||
#define ELSEWH_NODE 194 /*F95*/
|
||||
#define STATIC_STMT 195 /*F95*/
|
||||
#define INCLUDE_LINE 196 /*F95*/
|
||||
#define PREPROCESSOR_DIR 197 /*C,C++*/
|
||||
#define PRINT_STAT 200
|
||||
#define BACKSPACE_STAT 201
|
||||
#define REWIND_STAT 202
|
||||
#define ENDFILE_STAT 203
|
||||
#define INQUIRE_STAT 204
|
||||
#define OPEN_STAT 205
|
||||
#define CLOSE_STAT 206
|
||||
#define EXTERN_C_STAT 207 /* Added by PHB for 'extern "C" {}' */
|
||||
#define INCLUDE_STAT 208
|
||||
#define TRY_STAT 209 /* added by dbg for C++ exceptions */
|
||||
#define CATCH_STAT 210 /* moreexcpt handling (part of try) */
|
||||
#define DVM_PARALLEL_ON_DIR 211 /* DVM-F */
|
||||
#define DVM_SHADOW_START_DIR 212 /* DVM-F */
|
||||
#define DVM_SHADOW_GROUP_DIR 213 /* DVM-F */
|
||||
#define DVM_SHADOW_WAIT_DIR 214 /* DVM-F */
|
||||
#define DVM_REDUCTION_START_DIR 215 /* DVM-F */
|
||||
#define DVM_REDUCTION_GROUP_DIR 216 /* DVM-F */
|
||||
#define DVM_REDUCTION_WAIT_DIR 217 /* DVM-F */
|
||||
#define DVM_DYNAMIC_DIR 218 /* DVM-F */
|
||||
#define DVM_ALIGN_DIR 219 /* DVM-F */
|
||||
#define DVM_REALIGN_DIR 220 /* DVM-F */
|
||||
#define DVM_REALIGN_NEW_DIR 221 /* DVM-F */
|
||||
#define DVM_REMOTE_ACCESS_DIR 222 /* DVM-F */
|
||||
#define HPF_INDEPENDENT_DIR 223 /* HPF */
|
||||
#define DVM_SHADOW_DIR 224 /* DVM-F */
|
||||
#define PARDO_NODE 225 /* Following added for PCF Fortran */
|
||||
#define PARSECTIONS_NODE 226
|
||||
#define SECTION_NODE 227
|
||||
#define GUARDS_NODE 228
|
||||
#define LOCK_NODE 229
|
||||
#define UNLOCK_NODE 230
|
||||
#define CRITSECTION_NODE 231
|
||||
#define POST_NODE 232
|
||||
#define WAIT_NODE 233
|
||||
#define CLEAR_NODE 234
|
||||
#define POSTSEQ_NODE 235
|
||||
#define WAITSEQ_NODE 236
|
||||
#define SETSEQ_NODE 237
|
||||
#define ASSIGN_NODE 238
|
||||
#define RELEASE_NODE 239
|
||||
#define PRIVATE_NODE 240
|
||||
#define SCOMMON_NODE 241
|
||||
#define PARREGION_NODE 242
|
||||
#define PDO_NODE 243
|
||||
#define PSECTIONS_NODE 244
|
||||
#define SINGLEPROCESS_NODE 245
|
||||
#define SKIPPASTEOF_NODE 246
|
||||
#define DVM_NEW_VALUE_DIR 247 /* DVM-F */
|
||||
#define DVM_VAR_DECL 248 /* DVM-F */
|
||||
#define DVM_POINTER_DIR 249 /* DVM-F */
|
||||
#define INTENT_STMT 250 /* Added for Fortran 90 */
|
||||
#define OPTIONAL_STMT 251
|
||||
#define PUBLIC_STMT 252
|
||||
#define PRIVATE_STMT 253
|
||||
#define ALLOCATABLE_STMT 254
|
||||
#define POINTER_STMT 255
|
||||
#define TARGET_STMT 256
|
||||
#define ALLOCATE_STMT 257
|
||||
#define NULLIFY_STMT 258
|
||||
#define DEALLOCATE_STMT 259
|
||||
#define SEQUENCE_STMT 260
|
||||
#define CYCLE_STMT 261
|
||||
#define EXIT_STMT 262
|
||||
#define CONTAINS_STMT 263
|
||||
#define WHERE_BLOCK_STMT 264
|
||||
#define MODULE_STMT 265
|
||||
#define USE_STMT 266
|
||||
#define INTERFACE_STMT 267
|
||||
#define MODULE_PROC_STMT 268
|
||||
#define OVERLOADED_ASSIGN_STAT 269
|
||||
#define POINTER_ASSIGN_STAT 270
|
||||
#define OVERLOADED_PROC_STAT 271
|
||||
#define DECOMPOSITION_STMT 275
|
||||
#define ALIGN_STMT 276
|
||||
#define DVM_DISTRIBUTE_DIR 277 /* DVM-F */
|
||||
#define REDUCE_STMT 278
|
||||
#define PROS_HEDR 279 /* Fortran M */
|
||||
#define PROS_STAT 280 /* Fortran M */
|
||||
#define PROS_STAT_LCTN 281 /* Fortran M */
|
||||
#define PROS_STAT_SUBM 282 /* Fortran M */
|
||||
#define PROCESSES_STAT 283 /* Fortran M */
|
||||
#define PROCESSES_END 284 /* Fortran M */
|
||||
#define PROCESS_DO_STAT 285 /* Fortran M */
|
||||
#define PROCESSORS_STAT 286 /* Fortran M */
|
||||
#define CHANNEL_STAT 287 /* Fortran M */
|
||||
#define MERGER_STAT 288 /* Fortran M */
|
||||
#define MOVE_PORT 289 /* Fortran M */
|
||||
#define SEND_STAT 290 /* Fortran M */
|
||||
#define RECEIVE_STAT 291 /* Fortran M */
|
||||
#define ENDCHANNEL_STAT 292 /* Fortran M */
|
||||
#define PROBE_STAT 293 /* Fortran M */
|
||||
#define INPORT_DECL 294 /* Fortran M */
|
||||
#define OUTPORT_DECL 295 /* Fortran M */
|
||||
#define HPF_TEMPLATE_STAT 296 /* HPF */
|
||||
#define HPF_ALIGN_STAT 297 /* HPF */
|
||||
#define HPF_PROCESSORS_STAT 298 /* HPF */
|
||||
#define DVM_REDISTRIBUTE_DIR 299 /* DVM-F */
|
||||
#define DVM_TASK_REGION_DIR 605 /* DVM-F */
|
||||
#define DVM_END_TASK_REGION_DIR 606 /* DVM-F */
|
||||
#define DVM_ON_DIR 607 /* DVM-F */
|
||||
#define DVM_END_ON_DIR 608 /* DVM-F */
|
||||
#define DVM_TASK_DIR 609 /* DVM-F */
|
||||
#define DVM_MAP_DIR 610 /* DVM-F */
|
||||
#define DVM_PARALLEL_TASK_DIR 611 /* DVM-F */
|
||||
#define DVM_INHERIT_DIR 612 /* DVM-F */
|
||||
#define DVM_INDIRECT_GROUP_DIR 613 /* DVM-F */
|
||||
#define DVM_INDIRECT_ACCESS_DIR 614 /* DVM-F */
|
||||
#define DVM_REMOTE_GROUP_DIR 615 /* DVM-F */
|
||||
#define DVM_RESET_DIR 616 /* DVM-F */
|
||||
#define DVM_PREFETCH_DIR 617 /* DVM-F */
|
||||
#define DVM_OWN_DIR 618 /* DVM-F */
|
||||
#define DVM_HEAP_DIR 619 /* DVM-F */
|
||||
#define DVM_ASYNCID_DIR 620 /* DVM-F */
|
||||
#define DVM_ASYNCHRONOUS_DIR 621 /* DVM-F */
|
||||
#define DVM_ENDASYNCHRONOUS_DIR 622 /* DVM-F */
|
||||
#define DVM_ASYNCWAIT_DIR 623 /* DVM-F */
|
||||
#define DVM_F90_DIR 624 /* DVM-F */
|
||||
#define DVM_BARRIER_DIR 625 /* DVM-F */
|
||||
#define FORALL_STAT 626 /* F95 */
|
||||
#define DVM_CONSISTENT_GROUP_DIR 627 /* DVM-F */
|
||||
#define DVM_CONSISTENT_START_DIR 628 /* DVM-F */
|
||||
#define DVM_CONSISTENT_WAIT_DIR 629 /* DVM-F */
|
||||
#define DVM_CONSISTENT_DIR 630 /* DVM-F */
|
||||
#define DVM_CHECK_DIR 631 /* DVM-F */
|
||||
#define DVM_IO_MODE_DIR 632 /* DVM-F */
|
||||
#define DVM_LOCALIZE_DIR 633 /* DVM-F */
|
||||
#define DVM_SHADOW_ADD_DIR 634 /* DVM-F */
|
||||
#define DVM_CP_CREATE_DIR 635 /* DVM-F */
|
||||
#define DVM_CP_LOAD_DIR 636 /* DVM-F */
|
||||
#define DVM_CP_SAVE_DIR 637 /* DVM-F */
|
||||
#define DVM_CP_WAIT_DIR 638 /* DVM-F */
|
||||
#define DVM_EXIT_INTERVAL_DIR 639 /* DVM-F */
|
||||
#define DVM_TEMPLATE_CREATE_DIR 640 /* DVM-F */
|
||||
#define DVM_TEMPLATE_DELETE_DIR 641 /* DVM-F */
|
||||
#define PRIVATE_AR_DECL 642 /* DVM-F */
|
||||
|
||||
/***************** variant tags for low level nodes ********************/
|
||||
|
||||
#define INT_VAL 300
|
||||
#define FLOAT_VAL 301
|
||||
#define DOUBLE_VAL 302
|
||||
#define BOOL_VAL 303
|
||||
#define CHAR_VAL 304
|
||||
#define STRING_VAL 305
|
||||
#define CONST_REF 306
|
||||
#define VAR_REF 307
|
||||
#define ARRAY_REF 308
|
||||
#define RECORD_REF 309 /* diff struct between Blaze and VPC++ */
|
||||
#define ENUM_REF 310
|
||||
#define VAR_LIST 311
|
||||
#define EXPR_LIST 312
|
||||
#define RANGE_LIST 313
|
||||
#define CASE_CHOICE 314
|
||||
#define DEF_CHOICE 315
|
||||
#define VARIANT_CHOICE 316
|
||||
#define COMPLEX_VAL 317
|
||||
#define LABEL_REF 318
|
||||
#define KEYWORD_VAL 319 /* Strings to be printed with quotes */
|
||||
#define DDOT 324
|
||||
#define RANGE_OP 325
|
||||
#define UPPER_OP 326
|
||||
#define LOWER_OP 327
|
||||
#define EQ_OP 328
|
||||
#define LT_OP 329
|
||||
#define GT_OP 330
|
||||
#define NOTEQL_OP 331
|
||||
#define LTEQL_OP 332
|
||||
#define GTEQL_OP 333
|
||||
#define ADD_OP 334
|
||||
#define SUBT_OP 335
|
||||
#define OR_OP 336
|
||||
#define MULT_OP 337
|
||||
#define DIV_OP 338
|
||||
#define MOD_OP 339
|
||||
#define AND_OP 340
|
||||
#define EXP_OP 341
|
||||
#define ARRAY_MULT 342
|
||||
#define CONCAT_OP 343 /* cancatenation of strings */
|
||||
#define XOR_OP 344 /* .XOR. in fortran */
|
||||
#define EQV_OP 345 /* .EQV. in fortran */
|
||||
#define NEQV_OP 346 /* .NEQV. in fortran */
|
||||
#define MINUS_OP 350 /* unary operations */
|
||||
#define NOT_OP 351
|
||||
#define ASSGN_OP 352 /* New ADDED For VPC */
|
||||
#define DEREF_OP 353 /* New ADDED For VPC */
|
||||
#define POINTST_OP 354 /* New ADDED For VPC */ /* ptr->x */
|
||||
#define FUNCTION_OP 355 /* New ADDED For VPC */ /* (*DD)() */
|
||||
#define MINUSMINUS_OP 356 /* New ADDED For VPC */
|
||||
#define PLUSPLUS_OP 357 /* New ADDED For VPC */
|
||||
#define BITAND_OP 358 /* New ADDED For VPC */
|
||||
#define BITOR_OP 359 /* New ADDED For VPC */
|
||||
#define STAR_RANGE 360 /* operations with no operands 360.. */
|
||||
#define PROC_CALL 370
|
||||
#define FUNC_CALL 371
|
||||
#define CONSTRUCTOR_REF 380
|
||||
#define ACCESS_REF 381
|
||||
#define CONS 382
|
||||
#define ACCESS 383
|
||||
#define IOACCESS 384
|
||||
#define CONTROL_LIST 385
|
||||
#define SEQ 386
|
||||
#define SPEC_PAIR 387
|
||||
#define COMM_LIST 388
|
||||
#define STMT_STR 389
|
||||
#define EQUI_LIST 390
|
||||
#define IMPL_TYPE 391
|
||||
#define STMTFN_DECL 392
|
||||
#define BIT_COMPLEMENT_OP 393
|
||||
#define EXPR_IF 394
|
||||
#define EXPR_IF_BODY 395
|
||||
#define FUNCTION_REF 396
|
||||
#define LSHIFT_OP 397
|
||||
#define RSHIFT_OP 398
|
||||
#define UNARY_ADD_OP 399
|
||||
#define SIZE_OP 400
|
||||
#define INTEGER_DIV_OP 401
|
||||
#define SUB_OP 402
|
||||
#define LE_OP 403 /* New added for VPC */
|
||||
#define GE_OP 404 /* New added for VPC */
|
||||
#define NE_OP 405 /* New added for VPC */
|
||||
#define CLASSINIT_OP 406 /* New added for VPC */
|
||||
#define CAST_OP 407 /* New added for VPC */
|
||||
#define ADDRESS_OP 408 /* New added for VPC */
|
||||
#define POINSTAT_OP 409 /* New added for VPC */
|
||||
#define COPY_NODE 410 /* New added for VPC */
|
||||
#define INIT_LIST 411 /* New added for VPC */
|
||||
#define VECTOR_CONST 412 /* New added for VPC */
|
||||
#define BIT_NUMBER 413 /* New added for VPC */
|
||||
#define ARITH_ASSGN_OP 414 /* New added for VPC */
|
||||
#define ARRAY_OP 415 /* New added for VPC */
|
||||
#define NEW_OP 416 /* New added for VPC */
|
||||
#define DELETE_OP 417 /* New added for VPC */
|
||||
#define NAMELIST_LIST 418
|
||||
#define THIS_NODE 419 /* New added for VPC */
|
||||
#define SCOPE_OP 420 /* New added for VPC */
|
||||
#define PLUS_ASSGN_OP 421 /* New added for VPC */
|
||||
#define MINUS_ASSGN_OP 422 /* New added for VPC */
|
||||
#define AND_ASSGN_OP 423 /* New added for VPC */
|
||||
#define IOR_ASSGN_OP 424 /* New added for VPC */
|
||||
#define MULT_ASSGN_OP 425 /* New added for VPC */
|
||||
#define DIV_ASSGN_OP 426 /* New added for VPC */
|
||||
#define MOD_ASSGN_OP 427 /* New added for VPC */
|
||||
#define XOR_ASSGN_OP 428 /* New added for VPC */
|
||||
#define LSHIFT_ASSGN_OP 429 /* New added for VPC */
|
||||
#define RSHIFT_ASSGN_OP 430 /* New added for VPC */
|
||||
#define ORDERED_OP 431 /* Following added for PCF FORTRAN */
|
||||
#define EXTEND_OP 432
|
||||
#define MAXPARALLEL_OP 433
|
||||
#define SAMETYPE_OP 434
|
||||
#define TYPE_REF 450 /* Added for FORTRAN 90 */
|
||||
#define STRUCTURE_CONSTRUCTOR 451
|
||||
#define ARRAY_CONSTRUCTOR 452
|
||||
#define SECTION_REF 453
|
||||
#define VECTOR_SUBSCRIPT 454
|
||||
#define SECTION_OPERANDS 455
|
||||
#define KEYWORD_ARG 456
|
||||
#define OVERLOADED_CALL 457
|
||||
#define INTERFACE_REF 458
|
||||
#define RENAME_NODE 459
|
||||
#define TYPE_NODE 460
|
||||
#define PAREN_OP 461
|
||||
#define PARAMETER_OP 462
|
||||
#define PUBLIC_OP 463
|
||||
#define PRIVATE_OP 464
|
||||
#define ALLOCATABLE_OP 465
|
||||
#define DIMENSION_OP 466
|
||||
#define EXTERNAL_OP 467
|
||||
#define IN_OP 468
|
||||
#define OUT_OP 469
|
||||
#define INOUT_OP 470
|
||||
#define INTRINSIC_OP 471
|
||||
#define POINTER_OP 472
|
||||
#define OPTIONAL_OP 473
|
||||
#define SAVE_OP 474
|
||||
#define TARGET_OP 475
|
||||
#define ONLY_NODE 476
|
||||
#define LEN_OP 477
|
||||
#define TYPE_OP 479
|
||||
#define DOTSTAR_OP 480 /* C++ .* operator */
|
||||
#define ARROWSTAR_OP 481 /* C++ ->* operator */
|
||||
#define FORDECL_OP 482 /* C++ for(int i; needs a new op */
|
||||
#define THROW_OP 483 /* C++ throw operator */
|
||||
#define PROCESSORS_REF 484 /* Fortran M */
|
||||
#define PORT_TYPE_OP 485 /* Fortran M */
|
||||
#define INPORT_TYPE_OP 486 /* Fortran M */
|
||||
#define OUTPORT_TYPE_OP 487 /* Fortran M */
|
||||
#define INPORT_NAME 488 /* Fortran M */
|
||||
#define OUTPORT_NAME 489 /* Fortran M */
|
||||
#define FROMPORT_NAME 490 /* Fortran M */
|
||||
#define TOPORT_NAME 491 /* Fortran M */
|
||||
#define IOSTAT_STORE 492 /* Fortran M */
|
||||
#define EMPTY_STORE 493 /* Fortran M */
|
||||
#define ERR_LABEL 494 /* Fortran M */
|
||||
#define END_LABEL 495 /* Fortran M */
|
||||
#define PROS_CALL 496 /* Fortran M */
|
||||
#define STATIC_OP 497 /* F95*/
|
||||
#define LABEL_ARG 498
|
||||
#define DATA_IMPL_DO 700 /* Fortran M */
|
||||
#define DATA_ELT 701 /* Fortran M */
|
||||
#define DATA_SUBS 702 /* Fortran M */
|
||||
#define DATA_RANGE 703 /* Fortran M */
|
||||
#define ICON_EXPR 704 /* Fortran M */
|
||||
#define BLOCK_OP 705 /* DVM-F */
|
||||
#define NEW_SPEC_OP 706 /* DVM-F */
|
||||
#define REDUCTION_OP 707 /* DVM-F */
|
||||
#define SHADOW_RENEW_OP 708 /* DVM-F */
|
||||
#define SHADOW_START_OP 709 /* DVM-F */
|
||||
#define SHADOW_WAIT_OP 710 /* DVM-F */
|
||||
#define DIAG_OP 711 /* DVM-F */
|
||||
#define REMOTE_ACCESS_OP 712 /* DVM-F */
|
||||
#define TEMPLATE_OP 713 /* DVM-F */
|
||||
#define PROCESSORS_OP 714 /* DVM-F */
|
||||
#define DYNAMIC_OP 715 /* DVM-F */
|
||||
#define ALIGN_OP 716 /* DVM-F */
|
||||
#define DISTRIBUTE_OP 717 /* DVM-F */
|
||||
#define SHADOW_OP 718 /* DVM-F */
|
||||
#define INDIRECT_ACCESS_OP 719 /* DVM-F */
|
||||
#define ACROSS_OP 720 /* DVM-F */
|
||||
#define NEW_VALUE_OP 721 /* DVM-F */
|
||||
#define SHADOW_COMP_OP 722 /* DVM-F */
|
||||
#define STAGE_OP 723 /* DVM-F */
|
||||
#define FORALL_OP 724 /* F95 */
|
||||
#define CONSISTENT_OP 725 /* DVM-F */
|
||||
#define INTERFACE_OPERATOR 726 /* F95 */
|
||||
#define INTERFACE_ASSIGNMENT 727 /* F95 */
|
||||
#define VAR_DECL_90 728 /* F95 */
|
||||
#define ASSIGNMENT_OP 729 /* F95 */
|
||||
#define OPERATOR_OP 730 /* F95 */
|
||||
#define KIND_OP 731 /* F95 */
|
||||
#define LENGTH_OP 732 /* F95 */
|
||||
#define RECURSIVE_OP 733 /* F95 */
|
||||
#define ELEMENTAL_OP 734 /* F95 */
|
||||
#define PURE_OP 735 /* F95 */
|
||||
#define DEFINED_OP 736 /* F95 */
|
||||
#define PARALLEL_OP 737 /*DVM-F */
|
||||
#define INDIRECT_OP 738 /*DVM-F */
|
||||
#define DERIVED_OP 739 /*DVM-F */
|
||||
#define DUMMY_REF 740 /*DVM-F */
|
||||
#define COMMON_OP 741 /*DVM-F */
|
||||
#define SHADOW_NAMES_OP 742 /*DVM-F */
|
||||
|
||||
/***************** variant tags for symbol table entries ********************/
|
||||
|
||||
#define CONST_NAME 500 /* constant types */
|
||||
#define ENUM_NAME 501
|
||||
#define FIELD_NAME 502
|
||||
#define VARIABLE_NAME 503
|
||||
#define TYPE_NAME 504
|
||||
#define PROGRAM_NAME 505
|
||||
#define PROCEDURE_NAME 506
|
||||
#define VAR_FIELD 507
|
||||
#define LABEL_VAR 508 /* dest of assigned goto stmt */
|
||||
#define FUNCTION_NAME 509
|
||||
#define MEMBER_FUNC 510 /* new added for VPC */
|
||||
#define CLASS_NAME 511 /* new added for VPC */
|
||||
#define UNION_NAME 512 /* new added for VPC */
|
||||
#define STRUCT_NAME 513 /* new added for VPC */
|
||||
#define LABEL_NAME 514 /* new added for VPC */
|
||||
#define COLLECTION_NAME 515 /* new added for VPC */
|
||||
#define ROUTINE_NAME 516 /*added for external statement*/
|
||||
#define CONSTRUCT_NAME 517
|
||||
#define INTERFACE_NAME 518
|
||||
#define MODULE_NAME 519
|
||||
#define TEMPLATE_CL_NAME 520
|
||||
#define TEMPLATE_FN_NAME 521
|
||||
#define TECLASS_NAME 522
|
||||
#define SHADOW_GROUP_NAME 523 /* DVM_F */
|
||||
#define REDUCTION_GROUP_NAME 524 /* DVM_F */
|
||||
#define REF_GROUP_NAME 525 /* DVM_F */
|
||||
#define ASYNC_ID 526 /* DVM_F */
|
||||
#define CONSISTENT_GROUP_NAME 527 /* DVM_F */
|
||||
#define NAMELIST_NAME 528
|
||||
#define COMMON_NAME 529 /* name of a common block (add Kataev N.A., 02.04.2014)*/
|
||||
|
||||
#define DEFAULT 550
|
||||
#define T_INT 551 /* scalar types */
|
||||
#define T_FLOAT 552
|
||||
#define T_DOUBLE 553
|
||||
#define T_CHAR 554
|
||||
#define T_BOOL 555
|
||||
#define T_STRING 556
|
||||
#define T_ENUM 557
|
||||
#define T_SUBRANGE 558
|
||||
#define T_LIST 559
|
||||
#define T_ARRAY 560
|
||||
#define T_RECORD 561
|
||||
#define T_ENUM_FIELD 562
|
||||
#define T_UNKNOWN 563
|
||||
#define T_COMPLEX 564
|
||||
#define T_VOID 565 /* New one for VPC */
|
||||
#define T_DESCRIPT 566 /* New one for VPC */
|
||||
#define T_FUNCTION 567 /* New one for VPC */
|
||||
#define T_POINTER 568 /* New one for VPC */
|
||||
#define T_UNION 569 /* New one for VPC */
|
||||
#define T_STRUCT 570 /* New one for VPC */
|
||||
#define T_CLASS 571 /* New one for VPC */
|
||||
#define T_DERIVED_CLASS 572 /* New one for VPC */
|
||||
#define T_DERIVED_TYPE 573 /* New one for VPC */
|
||||
#define T_COLLECTION 574 /* New one for PC++*/
|
||||
#define T_DERIVED_COLLECTION 575 /* New one for PC++*/
|
||||
#define T_REFERENCE 576 /* New one for PC++*/
|
||||
#define T_DERIVED_TEMPLATE 577 /* template type T<A,3,4> */
|
||||
#define T_MEMBER_POINTER 578 /* need for C::* (ptr to memb ) */
|
||||
#define T_TECLASS 579 /* new one for pC++*/
|
||||
#define T_GATE 580 /* added for PCF FORTRAN */
|
||||
#define T_EVENT 581
|
||||
#define T_SEQUENCE 582
|
||||
#define T_DCOMPLEX 583
|
||||
#define T_LONG 584
|
||||
#define BY_USE 599 /* Fortran 90 */
|
||||
#define LOCAL 600 /* variable type */
|
||||
#define INPUT 601
|
||||
#define OUTPUT 602
|
||||
#define IO 603
|
||||
#define PROCESS_NAME 604 /* Fortran M */
|
||||
|
||||
#define OMP_PRIVATE 801 /* OpenMP Fortran */
|
||||
#define OMP_SHARED 802 /* OpenMP Fortran */
|
||||
#define OMP_FIRSTPRIVATE 803 /* OpenMP Fortran */
|
||||
#define OMP_LASTPRIVATE 804 /* OpenMP Fortran */
|
||||
#define OMP_THREADPRIVATE 805 /* OpenMP Fortran */
|
||||
#define OMP_COPYIN 806 /* OpenMP Fortran */
|
||||
#define OMP_COPYPRIVATE 807 /* OpenMP Fortran */
|
||||
#define OMP_DEFAULT 808 /* OpenMP Fortran */
|
||||
#define OMP_ORDERED 809 /* OpenMP Fortran */
|
||||
#define OMP_SCHEDULE 810 /* OpenMP Fortran */
|
||||
#define OMP_REDUCTION 811 /* OpenMP Fortran */
|
||||
#define OMP_IF 812 /* OpenMP Fortran */
|
||||
#define OMP_NUM_THREADS 813 /* OpenMP Fortran */
|
||||
#define OMP_NOWAIT 814 /* OpenMP Fortran */
|
||||
#define OMP_PARALLEL_DIR 820 /* OpenMP Fortran */
|
||||
#define OMP_END_PARALLEL_DIR 821 /* OpenMP Fortran */
|
||||
#define OMP_DO_DIR 822 /* OpenMP Fortran */
|
||||
#define OMP_END_DO_DIR 823 /* OpenMP Fortran */
|
||||
#define OMP_SECTIONS_DIR 824 /* OpenMP Fortran */
|
||||
#define OMP_END_SECTIONS_DIR 825 /* OpenMP Fortran */
|
||||
#define OMP_SECTION_DIR 826 /* OpenMP Fortran */
|
||||
#define OMP_SINGLE_DIR 827 /* OpenMP Fortran */
|
||||
#define OMP_END_SINGLE_DIR 828 /* OpenMP Fortran */
|
||||
#define OMP_WORKSHARE_DIR 829 /* OpenMP Fortran */
|
||||
#define OMP_END_WORKSHARE_DIR 830 /* OpenMP Fortran */
|
||||
#define OMP_PARALLEL_DO_DIR 831 /* OpenMP Fortran */
|
||||
#define OMP_END_PARALLEL_DO_DIR 832 /* OpenMP Fortran */
|
||||
#define OMP_PARALLEL_SECTIONS_DIR 833 /* OpenMP Fortran */
|
||||
#define OMP_END_PARALLEL_SECTIONS_DIR 834 /* OpenMP Fortran */
|
||||
#define OMP_PARALLEL_WORKSHARE_DIR 835 /* OpenMP Fortran */
|
||||
#define OMP_END_PARALLEL_WORKSHARE_DIR 836 /* OpenMP Fortran */
|
||||
#define OMP_MASTER_DIR 837 /* OpenMP Fortran */
|
||||
#define OMP_END_MASTER_DIR 838 /* OpenMP Fortran */
|
||||
#define OMP_CRITICAL_DIR 839 /* OpenMP Fortran */
|
||||
#define OMP_END_CRITICAL_DIR 840 /* OpenMP Fortran */
|
||||
#define OMP_BARRIER_DIR 841 /* OpenMP Fortran */
|
||||
#define OMP_ATOMIC_DIR 842 /* OpenMP Fortran */
|
||||
#define OMP_FLUSH_DIR 843 /* OpenMP Fortran */
|
||||
#define OMP_ORDERED_DIR 844 /* OpenMP Fortran */
|
||||
#define OMP_END_ORDERED_DIR 845 /* OpenMP Fortran */
|
||||
#define RECORD_DECL 846 /* OpenMP Fortran */
|
||||
#define FUNC_STAT 847 /* OpenMP Fortran */
|
||||
#define OMP_ONETHREAD_DIR 848 /* OpenMP Fortran */
|
||||
#define OMP_THREADPRIVATE_DIR 849 /* OpenMP Fortran */
|
||||
#define OMP_DEFAULT_SECTION_DIR 850 /* OpenMP Fortran */
|
||||
#define OMP_COLLAPSE 851 /* OpenMP Fortran */
|
||||
|
||||
#define ACC_REGION_DIR 900 /* ACC Fortran */
|
||||
#define ACC_END_REGION_DIR 901 /* ACC Fortran */
|
||||
#define ACC_CALL_STMT 907 /* ACC Fortran */
|
||||
#define ACC_KERNEL_HEDR 908 /* ACC Fortran */
|
||||
#define ACC_GET_ACTUAL_DIR 909 /* ACC Fortran */
|
||||
#define ACC_ACTUAL_DIR 910 /* ACC Fortran */
|
||||
#define ACC_CHECKSECTION_DIR 911 /* ACC Fortran */
|
||||
#define ACC_END_CHECKSECTION_DIR 912 /* ACC Fortran */
|
||||
#define ACC_ROUTINE_DIR 913 /* ACC Fortran */
|
||||
#define ACC_DECLARE_DIR 914 /* ACC Fortran */
|
||||
|
||||
#define ACC_TIE_OP 930 /* ACC Fortran */
|
||||
#define ACC_INLOCAL_OP 931 /* ACC Fortran */
|
||||
#define ACC_INOUT_OP 932 /* ACC Fortran */
|
||||
#define ACC_IN_OP 933 /* ACC Fortran */
|
||||
#define ACC_OUT_OP 934 /* ACC Fortran */
|
||||
#define ACC_LOCAL_OP 935 /* ACC Fortran */
|
||||
#define ACC_PRIVATE_OP 936 /* ACC Fortran */
|
||||
#define ACC_DEVICE_OP 937 /* ACC Fortran */
|
||||
#define ACC_CUDA_OP 938 /* ACC Fortran */
|
||||
#define ACC_HOST_OP 939 /* ACC Fortran */
|
||||
|
||||
#define ACC_GLOBAL_OP 940 /* ACC Fortran */
|
||||
#define ACC_ATTRIBUTES_OP 941 /* ACC Fortran */
|
||||
#define ACC_VALUE_OP 942 /* ACC Fortran */
|
||||
#define ACC_SHARED_OP 943 /* ACC Fortran */
|
||||
#define ACC_CONSTANT_OP 944 /* ACC Fortran */
|
||||
#define ACC_USES_OP 945 /* ACC Fortran */
|
||||
#define ACC_CALL_OP 946 /* ACC Fortran */
|
||||
#define ACC_CUDA_BLOCK_OP 947 /* ACC Fortran */
|
||||
|
||||
#define ACC_TARGETS_OP 948 /* ACC Fortran */
|
||||
#define ACC_ASYNC_OP 949 /* ACC Fortran */
|
||||
|
||||
#define SPF_ANALYSIS_DIR 950 /* SAPFOR */
|
||||
#define SPF_PARALLEL_DIR 951 /* SAPFOR */
|
||||
#define SPF_TRANSFORM_DIR 952 /* SAPFOR */
|
||||
#define SPF_NOINLINE_OP 953 /* SAPFOR */
|
||||
#define SPF_PARALLEL_REG_DIR 954 /* SAPFOR */
|
||||
#define SPF_END_PARALLEL_REG_DIR 955 /* SAPFOR */
|
||||
#define SPF_REGION_NAME 956 /* SAPFOR */
|
||||
#define SPF_EXPAND_OP 957 /* SAPFOR */
|
||||
#define SPF_FISSION_OP 958 /* SAPFOR */
|
||||
#define SPF_SHRINK_OP 959 /* SAPFOR */
|
||||
#define SPF_CHECKPOINT_DIR 960 /* SAPFOR */
|
||||
#define SPF_TYPE_OP 961 /* SAPFOR */
|
||||
#define SPF_VARLIST_OP 962 /* SAPFOR */
|
||||
#define SPF_EXCEPT_OP 963 /* SAPFOR */
|
||||
#define SPF_FILES_COUNT_OP 964 /* SAPFOR */
|
||||
#define SPF_INTERVAL_OP 965 /* SAPFOR */
|
||||
#define SPF_TIME_OP 966 /* SAPFOR */
|
||||
#define SPF_ITER_OP 967 /* SAPFOR */
|
||||
#define SPF_FLEXIBLE_OP 968 /* SAPFOR */
|
||||
#define SPF_PARAMETER_OP 969 /* SAPFOR */
|
||||
#define SPF_CODE_COVERAGE_OP 970 /* SAPFOR */
|
||||
#define SPF_UNROLL_OP 971 /* SAPFOR */
|
||||
#define SPF_COVER_OP 972 /* SAPFOR */
|
||||
#define SPF_MERGE_OP 973 /* SAPFOR */
|
||||
#define SPF_PROCESS_PRIVATE_OP 974 /* SAPFOR */
|
||||
#define SPF_WEIGHT_OP 975 /* SAPFOR */
|
||||
|
||||
274
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/tag.doc
Normal file
274
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/tag.doc
Normal file
@@ -0,0 +1,274 @@
|
||||
/************************************************************************
|
||||
* *
|
||||
* 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
|
||||
630
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/tag.h
Normal file
630
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/tag.h
Normal file
@@ -0,0 +1,630 @@
|
||||
/* don't modify this file directly, it is made by a clever 'sed'
|
||||
script using "tag". Run make tag.h to regenerate this file */
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/******************* variant tags for bif nodes **********************/
|
||||
|
||||
tag [ GLOBAL ] = "GLOBAL";
|
||||
tag [ PROG_HEDR ] = "PROG_HEDR";
|
||||
tag [ PROC_HEDR ] = "PROC_HEDR";
|
||||
tag [ BASIC_BLOCK ] = "BASIC_BLOCK";
|
||||
tag [ CONTROL_END ] = "CONTROL_END";
|
||||
tag [ IF_NODE ] = "IF_NODE";
|
||||
tag [ LOOP_NODE ] = "LOOP_NODE";
|
||||
tag [ FOR_NODE ] = "FOR_NODE";
|
||||
tag [ FORALL_NODE ] = "FORALL_NODE";
|
||||
tag [ WHILE_NODE ] = "WHILE_NODE";
|
||||
tag [ EXIT_NODE ] = "EXIT_NODE";
|
||||
tag [ ASSIGN_STAT ] = "ASSIGN_STAT";
|
||||
tag [ M_ASSIGN_STAT ] = "M_ASSIGN_STAT";
|
||||
tag [ PROC_STAT ] = "PROC_STAT";
|
||||
tag [ SUM_ACC ] = "SUM_ACC";
|
||||
tag [ MULT_ACC ] = "MULT_ACC";
|
||||
tag [ MAX_ACC ] = "MAX_ACC";
|
||||
tag [ MIN_ACC ] = "MIN_ACC";
|
||||
tag [ CAT_ACC ] = "CAT_ACC";
|
||||
tag [ OR_ACC ] = "OR_ACC";
|
||||
tag [ AND_ACC ] = "AND_ACC";
|
||||
tag [ READ_STAT ] = "READ_STAT";
|
||||
tag [ WRITE_STAT ] = "WRITE_STAT";
|
||||
tag [ OTHERIO_STAT ] = "OTHERIO_STAT";
|
||||
tag [ CDOALL_NODE ] = "CDOALL_NODE";
|
||||
tag [ SDOALL_NODE ] = "SDOALL_NODE";
|
||||
tag [ DOACROSS_NODE ] = "DOACROSS_NODE";
|
||||
tag [ CDOACROSS_NODE ] = "CDOACROSS_NODE";
|
||||
tag [ DVM_INTERVAL_DIR ] = "DVM_INTERVAL_DIR";
|
||||
tag [ DVM_ENDINTERVAL_DIR ] = "DVM_ENDINTERVAL_DIR";
|
||||
tag [ FUNC_HEDR ] = "FUNC_HEDR";
|
||||
tag [ WHERE_NODE ] = "WHERE_NODE";
|
||||
tag [ ALLDO_NODE ] = "ALLDO_NODE";
|
||||
tag [ IDENTIFY ] = "IDENTIFY";
|
||||
tag [ FORMAT_STAT ] = "FORMAT_STAT";
|
||||
tag [ STOP_STAT ] = "STOP_STAT";
|
||||
tag [ RETURN_STAT ] = "RETURN_STAT";
|
||||
tag [ ELSEIF_NODE ] = "ELSEIF_NODE";
|
||||
tag [ ARITHIF_NODE ] = "ARITHIF_NODE";
|
||||
tag [ GOTO_NODE ] = "GOTO_NODE";
|
||||
tag [ ASSGOTO_NODE ] = "ASSGOTO_NODE";
|
||||
tag [ COMGOTO_NODE ] = "COMGOTO_NODE";
|
||||
tag [ PAUSE_NODE ] = "PAUSE_NODE";
|
||||
tag [ STOP_NODE ] = "STOP_NODE";
|
||||
tag [ ASSLAB_STAT ] = "ASSLAB_STAT";
|
||||
tag [ LOGIF_NODE ] = "LOGIF_NODE";
|
||||
tag [ DVM_DEBUG_DIR ] = "DVM_DEBUG_DIR";
|
||||
tag [ DVM_ENDDEBUG_DIR ] = "DVM_ENDDEBUG_DIR";
|
||||
tag [ DVM_TRACEON_DIR ] = "DVM_TRACEON_DIR";
|
||||
tag [ DVM_TRACEOFF_DIR ] = "DVM_TRACEOFF_DIR";
|
||||
tag [ BLOB ] = "BLOB";
|
||||
tag [ SIZES ] = "SIZES";
|
||||
tag [ COMMENT_STAT ] = "COMMENT_STAT";
|
||||
tag [ CONT_STAT ] = "CONT_STAT";
|
||||
tag [ VAR_DECL ] = "VAR_DECL";
|
||||
tag [ PARAM_DECL ] = "PARAM_DECL";
|
||||
tag [ COMM_STAT ] = "COMM_STAT";
|
||||
tag [ EQUI_STAT ] = "EQUI_STAT";
|
||||
tag [ IMPL_DECL ] = "IMPL_DECL";
|
||||
tag [ DATA_DECL ] = "DATA_DECL";
|
||||
tag [ SAVE_DECL ] = "SAVE_DECL";
|
||||
tag [ ENTRY_STAT ] = "ENTRY_STAT";
|
||||
tag [ STMTFN_STAT ] = "STMTFN_STAT";
|
||||
tag [ DIM_STAT ] = "DIM_STAT";
|
||||
tag [ BLOCK_DATA ] = "BLOCK_DATA";
|
||||
tag [ EXTERN_STAT ] = "EXTERN_STAT";
|
||||
tag [ INTRIN_STAT ] = "INTRIN_STAT";
|
||||
tag [ ENUM_DECL ] = "ENUM_DECL";
|
||||
tag [ CLASS_DECL ] = "CLASS_DECL";
|
||||
tag [ UNION_DECL ] = "UNION_DECL";
|
||||
tag [ STRUCT_DECL ] = "STRUCT_DECL";
|
||||
tag [ DERIVED_CLASS_DECL ] = "DERIVED_CLASS_DECL";
|
||||
tag [ EXPR_STMT_NODE ] = "EXPR_STMT_NODE";
|
||||
tag [ DO_WHILE_NODE ] = "DO_WHILE_NODE";
|
||||
tag [ SWITCH_NODE ] = "SWITCH_NODE";
|
||||
tag [ CASE_NODE ] = "CASE_NODE";
|
||||
tag [ DEFAULT_NODE ] = "DEFAULT_NODE";
|
||||
tag [ BREAK_NODE ] = "BREAK_NODE";
|
||||
tag [ CONTINUE_NODE ] = "CONTINUE_NODE";
|
||||
tag [ RETURN_NODE ] = "RETURN_NODE";
|
||||
tag [ ASM_NODE ] = "ASM_NODE";
|
||||
tag [ SPAWN_NODE ] = "SPAWN_NODE";
|
||||
tag [ PARFOR_NODE ] = "PARFOR_NODE";
|
||||
tag [ PAR_NODE ] = "PAR_NODE";
|
||||
tag [ LABEL_STAT ] = "LABEL_STAT";
|
||||
tag [ PROS_COMM ] = "PROS_COMM";
|
||||
tag [ ATTR_DECL ] = "ATTR_DECL";
|
||||
tag [ NAMELIST_STAT ] = "NAMELIST_STAT";
|
||||
tag [ FUTURE_STMT ] = "FUTURE_STMT";
|
||||
tag [ COLLECTION_DECL ] = "COLLECTION_DECL";
|
||||
tag [ TEMPLATE_DECL ] = "TEMPLATE_DECL";
|
||||
tag [ TEMPLATE_FUNDECL ] = "TEMPLATE_FUNDECL";
|
||||
tag [ TECLASS_DECL ] = "TECLASS_DECL";
|
||||
tag [ ELSEWH_NODE ] = "ELSEWH_NODE";
|
||||
tag [ STATIC_STMT ] = "STATIC_STMT";
|
||||
tag [ INCLUDE_LINE ] = "INCLUDE_LINE";
|
||||
tag [ PREPROCESSOR_DIR ] = "PREPROCESSOR_DIR";
|
||||
tag [ PRINT_STAT ] = "PRINT_STAT";
|
||||
tag [ BACKSPACE_STAT ] = "BACKSPACE_STAT";
|
||||
tag [ REWIND_STAT ] = "REWIND_STAT";
|
||||
tag [ ENDFILE_STAT ] = "ENDFILE_STAT";
|
||||
tag [ INQUIRE_STAT ] = "INQUIRE_STAT";
|
||||
tag [ OPEN_STAT ] = "OPEN_STAT";
|
||||
tag [ CLOSE_STAT ] = "CLOSE_STAT";
|
||||
tag [ EXTERN_C_STAT ] = "EXTERN_C_STAT";
|
||||
tag [ INCLUDE_STAT ] = "INCLUDE_STAT";
|
||||
tag [ TRY_STAT ] = "TRY_STAT";
|
||||
tag [ CATCH_STAT ] = "CATCH_STAT";
|
||||
tag [ DVM_PARALLEL_ON_DIR ] = "DVM_PARALLEL_ON_DIR";
|
||||
tag [ DVM_SHADOW_START_DIR ] = "DVM_SHADOW_START_DIR";
|
||||
tag [ DVM_SHADOW_GROUP_DIR ] = "DVM_SHADOW_GROUP_DIR";
|
||||
tag [ DVM_SHADOW_WAIT_DIR ] = "DVM_SHADOW_WAIT_DIR";
|
||||
tag [ DVM_REDUCTION_START_DIR ] = "DVM_REDUCTION_START_DIR";
|
||||
tag [ DVM_REDUCTION_GROUP_DIR ] = "DVM_REDUCTION_GROUP_DIR";
|
||||
tag [ DVM_REDUCTION_WAIT_DIR ] = "DVM_REDUCTION_WAIT_DIR";
|
||||
tag [ DVM_DYNAMIC_DIR ] = "DVM_DYNAMIC_DIR";
|
||||
tag [ DVM_ALIGN_DIR ] = "DVM_ALIGN_DIR";
|
||||
tag [ DVM_REALIGN_DIR ] = "DVM_REALIGN_DIR";
|
||||
tag [ DVM_REALIGN_NEW_DIR ] = "DVM_REALIGN_NEW_DIR";
|
||||
tag [ DVM_REMOTE_ACCESS_DIR ] = "DVM_REMOTE_ACCESS_DIR";
|
||||
tag [ HPF_INDEPENDENT_DIR ] = "HPF_INDEPENDENT_DIR";
|
||||
tag [ DVM_SHADOW_DIR ] = "DVM_SHADOW_DIR";
|
||||
tag [ PARDO_NODE ] = "PARDO_NODE";
|
||||
tag [ PARSECTIONS_NODE ] = "PARSECTIONS_NODE";
|
||||
tag [ SECTION_NODE ] = "SECTION_NODE";
|
||||
tag [ GUARDS_NODE ] = "GUARDS_NODE";
|
||||
tag [ LOCK_NODE ] = "LOCK_NODE";
|
||||
tag [ UNLOCK_NODE ] = "UNLOCK_NODE";
|
||||
tag [ CRITSECTION_NODE ] = "CRITSECTION_NODE";
|
||||
tag [ POST_NODE ] = "POST_NODE";
|
||||
tag [ WAIT_NODE ] = "WAIT_NODE";
|
||||
tag [ CLEAR_NODE ] = "CLEAR_NODE";
|
||||
tag [ POSTSEQ_NODE ] = "POSTSEQ_NODE";
|
||||
tag [ WAITSEQ_NODE ] = "WAITSEQ_NODE";
|
||||
tag [ SETSEQ_NODE ] = "SETSEQ_NODE";
|
||||
tag [ ASSIGN_NODE ] = "ASSIGN_NODE";
|
||||
tag [ RELEASE_NODE ] = "RELEASE_NODE";
|
||||
tag [ PRIVATE_NODE ] = "PRIVATE_NODE";
|
||||
tag [ SCOMMON_NODE ] = "SCOMMON_NODE";
|
||||
tag [ PARREGION_NODE ] = "PARREGION_NODE";
|
||||
tag [ PDO_NODE ] = "PDO_NODE";
|
||||
tag [ PSECTIONS_NODE ] = "PSECTIONS_NODE";
|
||||
tag [ SINGLEPROCESS_NODE ] = "SINGLEPROCESS_NODE";
|
||||
tag [ SKIPPASTEOF_NODE ] = "SKIPPASTEOF_NODE";
|
||||
tag [ DVM_NEW_VALUE_DIR ] = "DVM_NEW_VALUE_DIR";
|
||||
tag [ DVM_VAR_DECL ] = "DVM_VAR_DECL";
|
||||
tag [ DVM_POINTER_DIR ] = "DVM_POINTER_DIR";
|
||||
tag [ INTENT_STMT ] = "INTENT_STMT";
|
||||
tag [ OPTIONAL_STMT ] = "OPTIONAL_STMT";
|
||||
tag [ PUBLIC_STMT ] = "PUBLIC_STMT";
|
||||
tag [ PRIVATE_STMT ] = "PRIVATE_STMT";
|
||||
tag [ ALLOCATABLE_STMT ] = "ALLOCATABLE_STMT";
|
||||
tag [ POINTER_STMT ] = "POINTER_STMT";
|
||||
tag [ TARGET_STMT ] = "TARGET_STMT";
|
||||
tag [ ALLOCATE_STMT ] = "ALLOCATE_STMT";
|
||||
tag [ NULLIFY_STMT ] = "NULLIFY_STMT";
|
||||
tag [ DEALLOCATE_STMT ] = "DEALLOCATE_STMT";
|
||||
tag [ SEQUENCE_STMT ] = "SEQUENCE_STMT";
|
||||
tag [ CYCLE_STMT ] = "CYCLE_STMT";
|
||||
tag [ EXIT_STMT ] = "EXIT_STMT";
|
||||
tag [ CONTAINS_STMT ] = "CONTAINS_STMT";
|
||||
tag [ WHERE_BLOCK_STMT ] = "WHERE_BLOCK_STMT";
|
||||
tag [ MODULE_STMT ] = "MODULE_STMT";
|
||||
tag [ USE_STMT ] = "USE_STMT";
|
||||
tag [ INTERFACE_STMT ] = "INTERFACE_STMT";
|
||||
tag [ MODULE_PROC_STMT ] = "MODULE_PROC_STMT";
|
||||
tag [ OVERLOADED_ASSIGN_STAT ] = "OVERLOADED_ASSIGN_STAT";
|
||||
tag [ POINTER_ASSIGN_STAT ] = "POINTER_ASSIGN_STAT";
|
||||
tag [ OVERLOADED_PROC_STAT ] = "OVERLOADED_PROC_STAT";
|
||||
tag [ DECOMPOSITION_STMT ] = "DECOMPOSITION_STMT";
|
||||
tag [ ALIGN_STMT ] = "ALIGN_STMT";
|
||||
tag [ DVM_DISTRIBUTE_DIR ] = "DVM_DISTRIBUTE_DIR";
|
||||
tag [ REDUCE_STMT ] = "REDUCE_STMT";
|
||||
tag [ PROS_HEDR ] = "PROS_HEDR";
|
||||
tag [ PROS_STAT ] = "PROS_STAT";
|
||||
tag [ PROS_STAT_LCTN ] = "PROS_STAT_LCTN";
|
||||
tag [ PROS_STAT_SUBM ] = "PROS_STAT_SUBM";
|
||||
tag [ PROCESSES_STAT ] = "PROCESSES_STAT";
|
||||
tag [ PROCESSES_END ] = "PROCESSES_END";
|
||||
tag [ PROCESS_DO_STAT ] = "PROCESS_DO_STAT";
|
||||
tag [ PROCESSORS_STAT ] = "PROCESSORS_STAT";
|
||||
tag [ CHANNEL_STAT ] = "CHANNEL_STAT";
|
||||
tag [ MERGER_STAT ] = "MERGER_STAT";
|
||||
tag [ MOVE_PORT ] = "MOVE_PORT";
|
||||
tag [ SEND_STAT ] = "SEND_STAT";
|
||||
tag [ RECEIVE_STAT ] = "RECEIVE_STAT";
|
||||
tag [ ENDCHANNEL_STAT ] = "ENDCHANNEL_STAT";
|
||||
tag [ PROBE_STAT ] = "PROBE_STAT";
|
||||
tag [ INPORT_DECL ] = "INPORT_DECL";
|
||||
tag [ OUTPORT_DECL ] = "OUTPORT_DECL";
|
||||
tag [ HPF_TEMPLATE_STAT ] = "HPF_TEMPLATE_STAT";
|
||||
tag [ HPF_ALIGN_STAT ] = "HPF_ALIGN_STAT";
|
||||
tag [ HPF_PROCESSORS_STAT ] = "HPF_PROCESSORS_STAT";
|
||||
tag [ DVM_REDISTRIBUTE_DIR ] = "DVM_REDISTRIBUTE_DIR";
|
||||
tag [ DVM_TASK_REGION_DIR ] = "DVM_TASK_REGION_DIR";
|
||||
tag [ DVM_END_TASK_REGION_DIR ] = "DVM_END_TASK_REGION_DIR";
|
||||
tag [ DVM_ON_DIR ] = "DVM_ON_DIR";
|
||||
tag [ DVM_END_ON_DIR ] = "DVM_END_ON_DIR";
|
||||
tag [ DVM_TASK_DIR ] = "DVM_TASK_DIR";
|
||||
tag [ DVM_MAP_DIR ] = "DVM_MAP_DIR";
|
||||
tag [ DVM_PARALLEL_TASK_DIR ] = "DVM_PARALLEL_TASK_DIR";
|
||||
tag [ DVM_INHERIT_DIR ] = "DVM_INHERIT_DIR";
|
||||
tag [ DVM_INDIRECT_GROUP_DIR ] = "DVM_INDIRECT_GROUP_DIR";
|
||||
tag [ DVM_INDIRECT_ACCESS_DIR ] = "DVM_INDIRECT_ACCESS_DIR";
|
||||
tag [ DVM_REMOTE_GROUP_DIR ] = "DVM_REMOTE_GROUP_DIR";
|
||||
tag [ DVM_RESET_DIR ] = "DVM_RESET_DIR";
|
||||
tag [ DVM_PREFETCH_DIR ] = "DVM_PREFETCH_DIR";
|
||||
tag [ DVM_OWN_DIR ] = "DVM_OWN_DIR";
|
||||
tag [ DVM_HEAP_DIR ] = "DVM_HEAP_DIR";
|
||||
tag [ DVM_ASYNCID_DIR ] = "DVM_ASYNCID_DIR";
|
||||
tag [ DVM_ASYNCHRONOUS_DIR ] = "DVM_ASYNCHRONOUS_DIR";
|
||||
tag [ DVM_ENDASYNCHRONOUS_DIR ] = "DVM_ENDASYNCHRONOUS_DIR";
|
||||
tag [ DVM_ASYNCWAIT_DIR ] = "DVM_ASYNCWAIT_DIR";
|
||||
tag [ DVM_F90_DIR ] = "DVM_F90_DIR";
|
||||
tag [ DVM_BARRIER_DIR ] = "DVM_BARRIER_DIR";
|
||||
tag [ FORALL_STAT ] = "FORALL_STAT";
|
||||
tag [ DVM_CONSISTENT_GROUP_DIR ] = "DVM_CONSISTENT_GROUP_DIR";
|
||||
tag [ DVM_CONSISTENT_START_DIR ] = "DVM_CONSISTENT_START_DIR";
|
||||
tag [ DVM_CONSISTENT_WAIT_DIR ] = "DVM_CONSISTENT_WAIT_DIR";
|
||||
tag [ DVM_CONSISTENT_DIR ] = "DVM_CONSISTENT_DIR";
|
||||
tag [ DVM_CHECK_DIR ] = "DVM_CHECK_DIR";
|
||||
tag [ DVM_IO_MODE_DIR ] = "DVM_IO_MODE_DIR";
|
||||
tag [ DVM_LOCALIZE_DIR ] = "DVM_LOCALIZE_DIR";
|
||||
tag [ DVM_SHADOW_ADD_DIR ] = "DVM_SHADOW_ADD_DIR";
|
||||
tag [ DVM_CP_CREATE_DIR ] = "DVM_CP_CREATE_DIR";
|
||||
tag [ DVM_CP_LOAD_DIR ] = "DVM_CP_LOAD_DIR";
|
||||
tag [ DVM_CP_SAVE_DIR ] = "DVM_CP_SAVE_DIR";
|
||||
tag [ DVM_CP_WAIT_DIR ] = "DVM_CP_WAIT_DIR";
|
||||
tag [ DVM_EXIT_INTERVAL_DIR ] = "DVM_EXIT_INTERVAL_DIR";
|
||||
tag [ DVM_TEMPLATE_CREATE_DIR ] = "DVM_TEMPLATE_CREATE_DIR";
|
||||
tag [ DVM_TEMPLATE_DELETE_DIR ] = "DVM_TEMPLATE_DELETE_DIR";
|
||||
tag [ PRIVATE_AR_DECL ] = "PRIVATE_AR_DECL";
|
||||
|
||||
/***************** variant tags for low level nodes ********************/
|
||||
|
||||
tag [ INT_VAL ] = "INT_VAL";
|
||||
tag [ FLOAT_VAL ] = "FLOAT_VAL";
|
||||
tag [ DOUBLE_VAL ] = "DOUBLE_VAL";
|
||||
tag [ BOOL_VAL ] = "BOOL_VAL";
|
||||
tag [ CHAR_VAL ] = "CHAR_VAL";
|
||||
tag [ STRING_VAL ] = "STRING_VAL";
|
||||
tag [ CONST_REF ] = "CONST_REF";
|
||||
tag [ VAR_REF ] = "VAR_REF";
|
||||
tag [ ARRAY_REF ] = "ARRAY_REF";
|
||||
tag [ RECORD_REF ] = "RECORD_REF";
|
||||
tag [ ENUM_REF ] = "ENUM_REF";
|
||||
tag [ VAR_LIST ] = "VAR_LIST";
|
||||
tag [ EXPR_LIST ] = "EXPR_LIST";
|
||||
tag [ RANGE_LIST ] = "RANGE_LIST";
|
||||
tag [ CASE_CHOICE ] = "CASE_CHOICE";
|
||||
tag [ DEF_CHOICE ] = "DEF_CHOICE";
|
||||
tag [ VARIANT_CHOICE ] = "VARIANT_CHOICE";
|
||||
tag [ COMPLEX_VAL ] = "COMPLEX_VAL";
|
||||
tag [ LABEL_REF ] = "LABEL_REF";
|
||||
tag [ KEYWORD_VAL ] = "KEYWORD_VAL";
|
||||
tag [ DDOT ] = "DDOT";
|
||||
tag [ RANGE_OP ] = "RANGE_OP";
|
||||
tag [ UPPER_OP ] = "UPPER_OP";
|
||||
tag [ LOWER_OP ] = "LOWER_OP";
|
||||
tag [ EQ_OP ] = "EQ_OP";
|
||||
tag [ LT_OP ] = "LT_OP";
|
||||
tag [ GT_OP ] = "GT_OP";
|
||||
tag [ NOTEQL_OP ] = "NOTEQL_OP";
|
||||
tag [ LTEQL_OP ] = "LTEQL_OP";
|
||||
tag [ GTEQL_OP ] = "GTEQL_OP";
|
||||
tag [ ADD_OP ] = "ADD_OP";
|
||||
tag [ SUBT_OP ] = "SUBT_OP";
|
||||
tag [ OR_OP ] = "OR_OP";
|
||||
tag [ MULT_OP ] = "MULT_OP";
|
||||
tag [ DIV_OP ] = "DIV_OP";
|
||||
tag [ MOD_OP ] = "MOD_OP";
|
||||
tag [ AND_OP ] = "AND_OP";
|
||||
tag [ EXP_OP ] = "EXP_OP";
|
||||
tag [ ARRAY_MULT ] = "ARRAY_MULT";
|
||||
tag [ CONCAT_OP ] = "CONCAT_OP";
|
||||
tag [ XOR_OP ] = "XOR_OP";
|
||||
tag [ EQV_OP ] = "EQV_OP";
|
||||
tag [ NEQV_OP ] = "NEQV_OP";
|
||||
tag [ MINUS_OP ] = "MINUS_OP";
|
||||
tag [ NOT_OP ] = "NOT_OP";
|
||||
tag [ ASSGN_OP ] = "ASSGN_OP";
|
||||
tag [ DEREF_OP ] = "DEREF_OP";
|
||||
tag [ POINTST_OP ] = "POINTST_OP";
|
||||
tag [ FUNCTION_OP ] = "FUNCTION_OP";
|
||||
tag [ MINUSMINUS_OP ] = "MINUSMINUS_OP";
|
||||
tag [ PLUSPLUS_OP ] = "PLUSPLUS_OP";
|
||||
tag [ BITAND_OP ] = "BITAND_OP";
|
||||
tag [ BITOR_OP ] = "BITOR_OP";
|
||||
tag [ STAR_RANGE ] = "STAR_RANGE";
|
||||
tag [ PROC_CALL ] = "PROC_CALL";
|
||||
tag [ FUNC_CALL ] = "FUNC_CALL";
|
||||
tag [ CONSTRUCTOR_REF ] = "CONSTRUCTOR_REF";
|
||||
tag [ ACCESS_REF ] = "ACCESS_REF";
|
||||
tag [ CONS ] = "CONS";
|
||||
tag [ ACCESS ] = "ACCESS";
|
||||
tag [ IOACCESS ] = "IOACCESS";
|
||||
tag [ CONTROL_LIST ] = "CONTROL_LIST";
|
||||
tag [ SEQ ] = "SEQ";
|
||||
tag [ SPEC_PAIR ] = "SPEC_PAIR";
|
||||
tag [ COMM_LIST ] = "COMM_LIST";
|
||||
tag [ STMT_STR ] = "STMT_STR";
|
||||
tag [ EQUI_LIST ] = "EQUI_LIST";
|
||||
tag [ IMPL_TYPE ] = "IMPL_TYPE";
|
||||
tag [ STMTFN_DECL ] = "STMTFN_DECL";
|
||||
tag [ BIT_COMPLEMENT_OP ] = "BIT_COMPLEMENT_OP";
|
||||
tag [ EXPR_IF ] = "EXPR_IF";
|
||||
tag [ EXPR_IF_BODY ] = "EXPR_IF_BODY";
|
||||
tag [ FUNCTION_REF ] = "FUNCTION_REF";
|
||||
tag [ LSHIFT_OP ] = "LSHIFT_OP";
|
||||
tag [ RSHIFT_OP ] = "RSHIFT_OP";
|
||||
tag [ UNARY_ADD_OP ] = "UNARY_ADD_OP";
|
||||
tag [ SIZE_OP ] = "SIZE_OP";
|
||||
tag [ INTEGER_DIV_OP ] = "INTEGER_DIV_OP";
|
||||
tag [ SUB_OP ] = "SUB_OP";
|
||||
tag [ LE_OP ] = "LE_OP";
|
||||
tag [ GE_OP ] = "GE_OP";
|
||||
tag [ NE_OP ] = "NE_OP";
|
||||
tag [ CLASSINIT_OP ] = "CLASSINIT_OP";
|
||||
tag [ CAST_OP ] = "CAST_OP";
|
||||
tag [ ADDRESS_OP ] = "ADDRESS_OP";
|
||||
tag [ POINSTAT_OP ] = "POINSTAT_OP";
|
||||
tag [ COPY_NODE ] = "COPY_NODE";
|
||||
tag [ INIT_LIST ] = "INIT_LIST";
|
||||
tag [ VECTOR_CONST ] = "VECTOR_CONST";
|
||||
tag [ BIT_NUMBER ] = "BIT_NUMBER";
|
||||
tag [ ARITH_ASSGN_OP ] = "ARITH_ASSGN_OP";
|
||||
tag [ ARRAY_OP ] = "ARRAY_OP";
|
||||
tag [ NEW_OP ] = "NEW_OP";
|
||||
tag [ DELETE_OP ] = "DELETE_OP";
|
||||
tag [ NAMELIST_LIST ] = "NAMELIST_LIST";
|
||||
tag [ THIS_NODE ] = "THIS_NODE";
|
||||
tag [ SCOPE_OP ] = "SCOPE_OP";
|
||||
tag [ PLUS_ASSGN_OP ] = "PLUS_ASSGN_OP";
|
||||
tag [ MINUS_ASSGN_OP ] = "MINUS_ASSGN_OP";
|
||||
tag [ AND_ASSGN_OP ] = "AND_ASSGN_OP";
|
||||
tag [ IOR_ASSGN_OP ] = "IOR_ASSGN_OP";
|
||||
tag [ MULT_ASSGN_OP ] = "MULT_ASSGN_OP";
|
||||
tag [ DIV_ASSGN_OP ] = "DIV_ASSGN_OP";
|
||||
tag [ MOD_ASSGN_OP ] = "MOD_ASSGN_OP";
|
||||
tag [ XOR_ASSGN_OP ] = "XOR_ASSGN_OP";
|
||||
tag [ LSHIFT_ASSGN_OP ] = "LSHIFT_ASSGN_OP";
|
||||
tag [ RSHIFT_ASSGN_OP ] = "RSHIFT_ASSGN_OP";
|
||||
tag [ ORDERED_OP ] = "ORDERED_OP";
|
||||
tag [ EXTEND_OP ] = "EXTEND_OP";
|
||||
tag [ MAXPARALLEL_OP ] = "MAXPARALLEL_OP";
|
||||
tag [ SAMETYPE_OP ] = "SAMETYPE_OP";
|
||||
tag [ TYPE_REF ] = "TYPE_REF";
|
||||
tag [ STRUCTURE_CONSTRUCTOR ] = "STRUCTURE_CONSTRUCTOR";
|
||||
tag [ ARRAY_CONSTRUCTOR ] = "ARRAY_CONSTRUCTOR";
|
||||
tag [ SECTION_REF ] = "SECTION_REF";
|
||||
tag [ VECTOR_SUBSCRIPT ] = "VECTOR_SUBSCRIPT";
|
||||
tag [ SECTION_OPERANDS ] = "SECTION_OPERANDS";
|
||||
tag [ KEYWORD_ARG ] = "KEYWORD_ARG";
|
||||
tag [ OVERLOADED_CALL ] = "OVERLOADED_CALL";
|
||||
tag [ INTERFACE_REF ] = "INTERFACE_REF";
|
||||
tag [ RENAME_NODE ] = "RENAME_NODE";
|
||||
tag [ TYPE_NODE ] = "TYPE_NODE";
|
||||
tag [ PAREN_OP ] = "PAREN_OP";
|
||||
tag [ PARAMETER_OP ] = "PARAMETER_OP";
|
||||
tag [ PUBLIC_OP ] = "PUBLIC_OP";
|
||||
tag [ PRIVATE_OP ] = "PRIVATE_OP";
|
||||
tag [ ALLOCATABLE_OP ] = "ALLOCATABLE_OP";
|
||||
tag [ DIMENSION_OP ] = "DIMENSION_OP";
|
||||
tag [ EXTERNAL_OP ] = "EXTERNAL_OP";
|
||||
tag [ IN_OP ] = "IN_OP";
|
||||
tag [ OUT_OP ] = "OUT_OP";
|
||||
tag [ INOUT_OP ] = "INOUT_OP";
|
||||
tag [ INTRINSIC_OP ] = "INTRINSIC_OP";
|
||||
tag [ POINTER_OP ] = "POINTER_OP";
|
||||
tag [ OPTIONAL_OP ] = "OPTIONAL_OP";
|
||||
tag [ SAVE_OP ] = "SAVE_OP";
|
||||
tag [ TARGET_OP ] = "TARGET_OP";
|
||||
tag [ ONLY_NODE ] = "ONLY_NODE";
|
||||
tag [ LEN_OP ] = "LEN_OP";
|
||||
tag [ TYPE_OP ] = "TYPE_OP";
|
||||
tag [ DOTSTAR_OP ] = "DOTSTAR_OP";
|
||||
tag [ ARROWSTAR_OP ] = "ARROWSTAR_OP";
|
||||
tag [ FORDECL_OP ] = "FORDECL_OP";
|
||||
tag [ THROW_OP ] = "THROW_OP";
|
||||
tag [ PROCESSORS_REF ] = "PROCESSORS_REF";
|
||||
tag [ PORT_TYPE_OP ] = "PORT_TYPE_OP";
|
||||
tag [ INPORT_TYPE_OP ] = "INPORT_TYPE_OP";
|
||||
tag [ OUTPORT_TYPE_OP ] = "OUTPORT_TYPE_OP";
|
||||
tag [ INPORT_NAME ] = "INPORT_NAME";
|
||||
tag [ OUTPORT_NAME ] = "OUTPORT_NAME";
|
||||
tag [ FROMPORT_NAME ] = "FROMPORT_NAME";
|
||||
tag [ TOPORT_NAME ] = "TOPORT_NAME";
|
||||
tag [ IOSTAT_STORE ] = "IOSTAT_STORE";
|
||||
tag [ EMPTY_STORE ] = "EMPTY_STORE";
|
||||
tag [ ERR_LABEL ] = "ERR_LABEL";
|
||||
tag [ END_LABEL ] = "END_LABEL";
|
||||
tag [ PROS_CALL ] = "PROS_CALL";
|
||||
tag [ STATIC_OP ] = "STATIC_OP";
|
||||
tag [ LABEL_ARG ] = "LABEL_ARG";
|
||||
tag [ DATA_IMPL_DO ] = "DATA_IMPL_DO";
|
||||
tag [ DATA_ELT ] = "DATA_ELT";
|
||||
tag [ DATA_SUBS ] = "DATA_SUBS";
|
||||
tag [ DATA_RANGE ] = "DATA_RANGE";
|
||||
tag [ ICON_EXPR ] = "ICON_EXPR";
|
||||
tag [ BLOCK_OP ] = "BLOCK_OP";
|
||||
tag [ NEW_SPEC_OP ] = "NEW_SPEC_OP";
|
||||
tag [ REDUCTION_OP ] = "REDUCTION_OP";
|
||||
tag [ SHADOW_RENEW_OP ] = "SHADOW_RENEW_OP";
|
||||
tag [ SHADOW_START_OP ] = "SHADOW_START_OP";
|
||||
tag [ SHADOW_WAIT_OP ] = "SHADOW_WAIT_OP";
|
||||
tag [ DIAG_OP ] = "DIAG_OP";
|
||||
tag [ REMOTE_ACCESS_OP ] = "REMOTE_ACCESS_OP";
|
||||
tag [ TEMPLATE_OP ] = "TEMPLATE_OP";
|
||||
tag [ PROCESSORS_OP ] = "PROCESSORS_OP";
|
||||
tag [ DYNAMIC_OP ] = "DYNAMIC_OP";
|
||||
tag [ ALIGN_OP ] = "ALIGN_OP";
|
||||
tag [ DISTRIBUTE_OP ] = "DISTRIBUTE_OP";
|
||||
tag [ SHADOW_OP ] = "SHADOW_OP";
|
||||
tag [ INDIRECT_ACCESS_OP ] = "INDIRECT_ACCESS_OP";
|
||||
tag [ ACROSS_OP ] = "ACROSS_OP";
|
||||
tag [ NEW_VALUE_OP ] = "NEW_VALUE_OP";
|
||||
tag [ SHADOW_COMP_OP ] = "SHADOW_COMP_OP";
|
||||
tag [ STAGE_OP ] = "STAGE_OP";
|
||||
tag [ FORALL_OP ] = "FORALL_OP";
|
||||
tag [ CONSISTENT_OP ] = "CONSISTENT_OP";
|
||||
tag [ INTERFACE_OPERATOR ] = "INTERFACE_OPERATOR";
|
||||
tag [ INTERFACE_ASSIGNMENT ] = "INTERFACE_ASSIGNMENT";
|
||||
tag [ VAR_DECL_90 ] = "VAR_DECL_90";
|
||||
tag [ ASSIGNMENT_OP ] = "ASSIGNMENT_OP";
|
||||
tag [ OPERATOR_OP ] = "OPERATOR_OP";
|
||||
tag [ KIND_OP ] = "KIND_OP";
|
||||
tag [ LENGTH_OP ] = "LENGTH_OP";
|
||||
tag [ RECURSIVE_OP ] = "RECURSIVE_OP";
|
||||
tag [ ELEMENTAL_OP ] = "ELEMENTAL_OP";
|
||||
tag [ PURE_OP ] = "PURE_OP";
|
||||
tag [ DEFINED_OP ] = "DEFINED_OP";
|
||||
tag [ PARALLEL_OP ] = "PARALLEL_OP";
|
||||
tag [ INDIRECT_OP ] = "INDIRECT_OP";
|
||||
tag [ DERIVED_OP ] = "DERIVED_OP";
|
||||
tag [ DUMMY_REF ] = "DUMMY_REF";
|
||||
tag [ COMMON_OP ] = "COMMON_OP";
|
||||
tag [ SHADOW_NAMES_OP ] = "SHADOW_NAMES_OP";
|
||||
|
||||
/***************** variant tags for symbol table entries ********************/
|
||||
|
||||
tag [ CONST_NAME ] = "CONST_NAME";
|
||||
tag [ ENUM_NAME ] = "ENUM_NAME";
|
||||
tag [ FIELD_NAME ] = "FIELD_NAME";
|
||||
tag [ VARIABLE_NAME ] = "VARIABLE_NAME";
|
||||
tag [ TYPE_NAME ] = "TYPE_NAME";
|
||||
tag [ PROGRAM_NAME ] = "PROGRAM_NAME";
|
||||
tag [ PROCEDURE_NAME ] = "PROCEDURE_NAME";
|
||||
tag [ VAR_FIELD ] = "VAR_FIELD";
|
||||
tag [ LABEL_VAR ] = "LABEL_VAR";
|
||||
tag [ FUNCTION_NAME ] = "FUNCTION_NAME";
|
||||
tag [ MEMBER_FUNC ] = "MEMBER_FUNC";
|
||||
tag [ CLASS_NAME ] = "CLASS_NAME";
|
||||
tag [ UNION_NAME ] = "UNION_NAME";
|
||||
tag [ STRUCT_NAME ] = "STRUCT_NAME";
|
||||
tag [ LABEL_NAME ] = "LABEL_NAME";
|
||||
tag [ COLLECTION_NAME ] = "COLLECTION_NAME";
|
||||
tag [ ROUTINE_NAME ] = "ROUTINE_NAME";
|
||||
tag [ CONSTRUCT_NAME ] = "CONSTRUCT_NAME";
|
||||
tag [ INTERFACE_NAME ] = "INTERFACE_NAME";
|
||||
tag [ MODULE_NAME ] = "MODULE_NAME";
|
||||
tag [ TEMPLATE_CL_NAME ] = "TEMPLATE_CL_NAME";
|
||||
tag [ TEMPLATE_FN_NAME ] = "TEMPLATE_FN_NAME";
|
||||
tag [ TECLASS_NAME ] = "TECLASS_NAME";
|
||||
tag [ SHADOW_GROUP_NAME ] = "SHADOW_GROUP_NAME";
|
||||
tag [ REDUCTION_GROUP_NAME ] = "REDUCTION_GROUP_NAME";
|
||||
tag [ REF_GROUP_NAME ] = "REF_GROUP_NAME";
|
||||
tag [ ASYNC_ID ] = "ASYNC_ID";
|
||||
tag [ CONSISTENT_GROUP_NAME ] = "CONSISTENT_GROUP_NAME";
|
||||
tag [ NAMELIST_NAME ] = "NAMELIST_NAME";
|
||||
tag [ COMMON_NAME ] = "COMMON_NAME";
|
||||
|
||||
tag [ DEFAULT ] = "DEFAULT";
|
||||
tag [ T_INT ] = "T_INT";
|
||||
tag [ T_FLOAT ] = "T_FLOAT";
|
||||
tag [ T_DOUBLE ] = "T_DOUBLE";
|
||||
tag [ T_CHAR ] = "T_CHAR";
|
||||
tag [ T_BOOL ] = "T_BOOL";
|
||||
tag [ T_STRING ] = "T_STRING";
|
||||
tag [ T_ENUM ] = "T_ENUM";
|
||||
tag [ T_SUBRANGE ] = "T_SUBRANGE";
|
||||
tag [ T_LIST ] = "T_LIST";
|
||||
tag [ T_ARRAY ] = "T_ARRAY";
|
||||
tag [ T_RECORD ] = "T_RECORD";
|
||||
tag [ T_ENUM_FIELD ] = "T_ENUM_FIELD";
|
||||
tag [ T_UNKNOWN ] = "T_UNKNOWN";
|
||||
tag [ T_COMPLEX ] = "T_COMPLEX";
|
||||
tag [ T_VOID ] = "T_VOID";
|
||||
tag [ T_DESCRIPT ] = "T_DESCRIPT";
|
||||
tag [ T_FUNCTION ] = "T_FUNCTION";
|
||||
tag [ T_POINTER ] = "T_POINTER";
|
||||
tag [ T_UNION ] = "T_UNION";
|
||||
tag [ T_STRUCT ] = "T_STRUCT";
|
||||
tag [ T_CLASS ] = "T_CLASS";
|
||||
tag [ T_DERIVED_CLASS ] = "T_DERIVED_CLASS";
|
||||
tag [ T_DERIVED_TYPE ] = "T_DERIVED_TYPE";
|
||||
tag [ T_COLLECTION ] = "T_COLLECTION";
|
||||
tag [ T_DERIVED_COLLECTION ] = "T_DERIVED_COLLECTION";
|
||||
tag [ T_REFERENCE ] = "T_REFERENCE";
|
||||
tag [ T_DERIVED_TEMPLATE ] = "T_DERIVED_TEMPLATE";
|
||||
tag [ T_MEMBER_POINTER ] = "T_MEMBER_POINTER";
|
||||
tag [ T_TECLASS ] = "T_TECLASS";
|
||||
tag [ T_GATE ] = "T_GATE";
|
||||
tag [ T_EVENT ] = "T_EVENT";
|
||||
tag [ T_SEQUENCE ] = "T_SEQUENCE";
|
||||
tag [ T_DCOMPLEX ] = "T_DCOMPLEX";
|
||||
tag [ T_LONG ] = "T_LONG";
|
||||
tag [ BY_USE ] = "BY_USE";
|
||||
tag [ LOCAL ] = "LOCAL";
|
||||
tag [ INPUT ] = "INPUT";
|
||||
tag [ OUTPUT ] = "OUTPUT";
|
||||
tag [ IO ] = "IO";
|
||||
tag [ PROCESS_NAME ] = "PROCESS_NAME";
|
||||
|
||||
tag [ OMP_PRIVATE ] = "OMP_PRIVATE";
|
||||
tag [ OMP_SHARED ] = "OMP_SHARED";
|
||||
tag [ OMP_FIRSTPRIVATE ] = "OMP_FIRSTPRIVATE";
|
||||
tag [ OMP_LASTPRIVATE ] = "OMP_LASTPRIVATE";
|
||||
tag [ OMP_THREADPRIVATE ] = "OMP_THREADPRIVATE";
|
||||
tag [ OMP_COPYIN ] = "OMP_COPYIN";
|
||||
tag [ OMP_COPYPRIVATE ] = "OMP_COPYPRIVATE";
|
||||
tag [ OMP_DEFAULT ] = "OMP_DEFAULT";
|
||||
tag [ OMP_ORDERED ] = "OMP_ORDERED";
|
||||
tag [ OMP_SCHEDULE ] = "OMP_SCHEDULE";
|
||||
tag [ OMP_REDUCTION ] = "OMP_REDUCTION";
|
||||
tag [ OMP_IF ] = "OMP_IF";
|
||||
tag [ OMP_NUM_THREADS ] = "OMP_NUM_THREADS";
|
||||
tag [ OMP_NOWAIT ] = "OMP_NOWAIT";
|
||||
tag [ OMP_PARALLEL_DIR ] = "OMP_PARALLEL_DIR";
|
||||
tag [ OMP_END_PARALLEL_DIR ] = "OMP_END_PARALLEL_DIR";
|
||||
tag [ OMP_DO_DIR ] = "OMP_DO_DIR";
|
||||
tag [ OMP_END_DO_DIR ] = "OMP_END_DO_DIR";
|
||||
tag [ OMP_SECTIONS_DIR ] = "OMP_SECTIONS_DIR";
|
||||
tag [ OMP_END_SECTIONS_DIR ] = "OMP_END_SECTIONS_DIR";
|
||||
tag [ OMP_SECTION_DIR ] = "OMP_SECTION_DIR";
|
||||
tag [ OMP_SINGLE_DIR ] = "OMP_SINGLE_DIR";
|
||||
tag [ OMP_END_SINGLE_DIR ] = "OMP_END_SINGLE_DIR";
|
||||
tag [ OMP_WORKSHARE_DIR ] = "OMP_WORKSHARE_DIR";
|
||||
tag [ OMP_END_WORKSHARE_DIR ] = "OMP_END_WORKSHARE_DIR";
|
||||
tag [ OMP_PARALLEL_DO_DIR ] = "OMP_PARALLEL_DO_DIR";
|
||||
tag [ OMP_END_PARALLEL_DO_DIR ] = "OMP_END_PARALLEL_DO_DIR";
|
||||
tag [ OMP_PARALLEL_SECTIONS_DIR ] = "OMP_PARALLEL_SECTIONS_DIR";
|
||||
tag [ OMP_END_PARALLEL_SECTIONS_DIR ] = "OMP_END_PARALLEL_SECTIONS_DIR";
|
||||
tag [ OMP_PARALLEL_WORKSHARE_DIR ] = "OMP_PARALLEL_WORKSHARE_DIR";
|
||||
tag [ OMP_END_PARALLEL_WORKSHARE_DIR ] = "OMP_END_PARALLEL_WORKSHARE_DIR";
|
||||
tag [ OMP_MASTER_DIR ] = "OMP_MASTER_DIR";
|
||||
tag [ OMP_END_MASTER_DIR ] = "OMP_END_MASTER_DIR";
|
||||
tag [ OMP_CRITICAL_DIR ] = "OMP_CRITICAL_DIR";
|
||||
tag [ OMP_END_CRITICAL_DIR ] = "OMP_END_CRITICAL_DIR";
|
||||
tag [ OMP_BARRIER_DIR ] = "OMP_BARRIER_DIR";
|
||||
tag [ OMP_ATOMIC_DIR ] = "OMP_ATOMIC_DIR";
|
||||
tag [ OMP_FLUSH_DIR ] = "OMP_FLUSH_DIR";
|
||||
tag [ OMP_ORDERED_DIR ] = "OMP_ORDERED_DIR";
|
||||
tag [ OMP_END_ORDERED_DIR ] = "OMP_END_ORDERED_DIR";
|
||||
tag [ RECORD_DECL ] = "RECORD_DECL";
|
||||
tag [ FUNC_STAT ] = "FUNC_STAT";
|
||||
tag [ OMP_ONETHREAD_DIR ] = "OMP_ONETHREAD_DIR";
|
||||
tag [ OMP_THREADPRIVATE_DIR ] = "OMP_THREADPRIVATE_DIR";
|
||||
tag [ OMP_DEFAULT_SECTION_DIR ] = "OMP_DEFAULT_SECTION_DIR";
|
||||
tag [ OMP_COLLAPSE ] = "OMP_COLLAPSE";
|
||||
|
||||
tag [ ACC_REGION_DIR ] = "ACC_REGION_DIR";
|
||||
tag [ ACC_END_REGION_DIR ] = "ACC_END_REGION_DIR";
|
||||
tag [ ACC_CALL_STMT ] = "ACC_CALL_STMT";
|
||||
tag [ ACC_KERNEL_HEDR ] = "ACC_KERNEL_HEDR";
|
||||
tag [ ACC_GET_ACTUAL_DIR ] = "ACC_GET_ACTUAL_DIR";
|
||||
tag [ ACC_ACTUAL_DIR ] = "ACC_ACTUAL_DIR";
|
||||
tag [ ACC_CHECKSECTION_DIR ] = "ACC_CHECKSECTION_DIR";
|
||||
tag [ ACC_END_CHECKSECTION_DIR ] = "ACC_END_CHECKSECTION_DIR";
|
||||
tag [ ACC_ROUTINE_DIR ] = "ACC_ROUTINE_DIR";
|
||||
tag [ ACC_DECLARE_DIR ] = "ACC_DECLARE_DIR";
|
||||
|
||||
tag [ ACC_TIE_OP ] = "ACC_TIE_OP";
|
||||
tag [ ACC_INLOCAL_OP ] = "ACC_INLOCAL_OP";
|
||||
tag [ ACC_INOUT_OP ] = "ACC_INOUT_OP";
|
||||
tag [ ACC_IN_OP ] = "ACC_IN_OP";
|
||||
tag [ ACC_OUT_OP ] = "ACC_OUT_OP";
|
||||
tag [ ACC_LOCAL_OP ] = "ACC_LOCAL_OP";
|
||||
tag [ ACC_PRIVATE_OP ] = "ACC_PRIVATE_OP";
|
||||
tag [ ACC_DEVICE_OP ] = "ACC_DEVICE_OP";
|
||||
tag [ ACC_CUDA_OP ] = "ACC_CUDA_OP";
|
||||
tag [ ACC_HOST_OP ] = "ACC_HOST_OP";
|
||||
|
||||
tag [ ACC_GLOBAL_OP ] = "ACC_GLOBAL_OP";
|
||||
tag [ ACC_ATTRIBUTES_OP ] = "ACC_ATTRIBUTES_OP";
|
||||
tag [ ACC_VALUE_OP ] = "ACC_VALUE_OP";
|
||||
tag [ ACC_SHARED_OP ] = "ACC_SHARED_OP";
|
||||
tag [ ACC_CONSTANT_OP ] = "ACC_CONSTANT_OP";
|
||||
tag [ ACC_USES_OP ] = "ACC_USES_OP";
|
||||
tag [ ACC_CALL_OP ] = "ACC_CALL_OP";
|
||||
tag [ ACC_CUDA_BLOCK_OP ] = "ACC_CUDA_BLOCK_OP";
|
||||
|
||||
tag [ ACC_TARGETS_OP ] = "ACC_TARGETS_OP";
|
||||
tag [ ACC_ASYNC_OP ] = "ACC_ASYNC_OP";
|
||||
|
||||
tag [ SPF_ANALYSIS_DIR ] = "SPF_ANALYSIS_DIR";
|
||||
tag [ SPF_PARALLEL_DIR ] = "SPF_PARALLEL_DIR";
|
||||
tag [ SPF_TRANSFORM_DIR ] = "SPF_TRANSFORM_DIR";
|
||||
tag [ SPF_NOINLINE_OP ] = "SPF_NOINLINE_OP";
|
||||
tag [ SPF_PARALLEL_REG_DIR ] = "SPF_PARALLEL_REG_DIR";
|
||||
tag [ SPF_END_PARALLEL_REG_DIR ] = "SPF_END_PARALLEL_REG_DIR";
|
||||
tag [ SPF_REGION_NAME ] = "SPF_REGION_NAME";
|
||||
tag [ SPF_EXPAND_OP ] = "SPF_EXPAND_OP";
|
||||
tag [ SPF_FISSION_OP ] = "SPF_FISSION_OP";
|
||||
tag [ SPF_SHRINK_OP ] = "SPF_SHRINK_OP";
|
||||
tag [ SPF_CHECKPOINT_DIR ] = "SPF_CHECKPOINT_DIR";
|
||||
tag [ SPF_TYPE_OP ] = "SPF_TYPE_OP";
|
||||
tag [ SPF_VARLIST_OP ] = "SPF_VARLIST_OP";
|
||||
tag [ SPF_EXCEPT_OP ] = "SPF_EXCEPT_OP";
|
||||
tag [ SPF_FILES_COUNT_OP ] = "SPF_FILES_COUNT_OP";
|
||||
tag [ SPF_INTERVAL_OP ] = "SPF_INTERVAL_OP";
|
||||
tag [ SPF_TIME_OP ] = "SPF_TIME_OP";
|
||||
tag [ SPF_ITER_OP ] = "SPF_ITER_OP";
|
||||
tag [ SPF_FLEXIBLE_OP ] = "SPF_FLEXIBLE_OP";
|
||||
tag [ SPF_PARAMETER_OP ] = "SPF_PARAMETER_OP";
|
||||
tag [ SPF_CODE_COVERAGE_OP ] = "SPF_CODE_COVERAGE_OP";
|
||||
tag [ SPF_UNROLL_OP ] = "SPF_UNROLL_OP";
|
||||
tag [ SPF_COVER_OP ] = "SPF_COVER_OP";
|
||||
tag [ SPF_MERGE_OP ] = "SPF_MERGE_OP";
|
||||
tag [ SPF_PROCESS_PRIVATE_OP ] = "SPF_PROCESS_PRIVATE_OP";
|
||||
tag [ SPF_WEIGHT_OP ] = "SPF_WEIGHT_OP";
|
||||
|
||||
7
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/tag_make
Normal file
7
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/tag_make
Normal file
@@ -0,0 +1,7 @@
|
||||
all: tag.h
|
||||
|
||||
tag.h: head tag
|
||||
( cat head; \
|
||||
sed < tag \
|
||||
'/#defin/s/\([^ ]*\) \([^ ]*\)\(.*\)/ tag \[ \2 \] = \"\2\";/')\
|
||||
> tag.h
|
||||
2
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/version.h
Normal file
2
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/version.h
Normal file
@@ -0,0 +1,2 @@
|
||||
#define VERSION_NUMBER "6.9"
|
||||
#define VERSION_NUMBER_INT "69"
|
||||
167
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/vextern.h
Normal file
167
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/vextern.h
Normal file
@@ -0,0 +1,167 @@
|
||||
/*********************************************************************/
|
||||
/* 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;
|
||||
126
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/vparse.h
Normal file
126
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/vparse.h
Normal file
@@ -0,0 +1,126 @@
|
||||
/*********************************************************************/
|
||||
/* 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 */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
182
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/vpc.h
Normal file
182
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/vpc.h
Normal file
@@ -0,0 +1,182 @@
|
||||
/*********************************************************************/
|
||||
/* 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
|
||||
71
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/window.h
Normal file
71
Sapfor/_projects/dvm/fdvm/trunk/Sage/h/window.h
Normal file
@@ -0,0 +1,71 @@
|
||||
/*********************************************************************/
|
||||
/* 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)
|
||||
6
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/CMakeLists.txt
Normal file
6
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/CMakeLists.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
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)
|
||||
55
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/Makefile
Normal file
55
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/Makefile
Normal file
@@ -0,0 +1,55 @@
|
||||
#######################################################################
|
||||
## 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:
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// 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
|
||||
|
||||
|
||||
|
||||
124
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/baseClasses.h
Normal file
124
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/baseClasses.h
Normal file
@@ -0,0 +1,124 @@
|
||||
// ----------------------------------
|
||||
// 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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
594
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/bif_node.def
Normal file
594
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/bif_node.def
Normal file
@@ -0,0 +1,594 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/* format description
|
||||
'_' stands for no.
|
||||
'e' stands for control end statement
|
||||
'd' declaration statement // what is not executable
|
||||
DEFNODECODE(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10)
|
||||
f1 : variant of the node
|
||||
f2 : string that gives the name (not used yet)
|
||||
f3 : kind of node (stmt, declaration); not used yet
|
||||
f4 : number of child (2 if blob list2, 1 if cp, 0 if leaf)
|
||||
f5 : type of the node BIFNODE...
|
||||
-------- particular info ---------------
|
||||
f6 : is a declaration node 'd' or executable 'e' ,'c' controlend
|
||||
f7 : is a declarator node if bif node 's' (for structure, union , enum)
|
||||
for low lewe node c indicate constant expression
|
||||
f8 : has a symbol associated 's' valid for bif and llnode
|
||||
f9 : is a control parent 'p' or a control end 'c'
|
||||
f10: not used yet
|
||||
*/
|
||||
|
||||
DEFNODECODE(GLOBAL,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PROG_HEDR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PROC_HEDR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PROS_HEDR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(BASIC_BLOCK,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(CONTROL_END,"nodetext",'s',0,BIFNODE, 'c','_','_','_','_')
|
||||
DEFNODECODE(IF_NODE,"nodetext",'s',2,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(WHERE_BLOCK_STMT,"nodetext",'s',2,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(ARITHIF_NODE,"nodetext",'s',0,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(LOGIF_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(FORALL_STAT,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(LOOP_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(FOR_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(PROCESS_DO_STAT,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(TRY_STAT,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(CATCH_STAT,"nodetext",'s',0,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(FORALL_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(WHILE_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(CDOALL_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SDOALL_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DOACROSS_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CDOACROSS_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EXIT_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(GOTO_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ASSGOTO_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(COMGOTO_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PAUSE_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STOP_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(ALLOCATE_STMT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DEALLOCATE_STMT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NULLIFY_STMT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ASSIGN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(POINTER_ASSIGN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(M_ASSIGN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(PROC_STAT,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PROS_STAT,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PROS_STAT_LCTN,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PROS_STAT_SUBM,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ASSLAB_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SUM_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MULT_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MAX_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MIN_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CAT_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OR_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(AND_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(READ_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(WRITE_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OTHERIO_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(BLOB,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SIZES,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
|
||||
DEFNODECODE(FUNC_HEDR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(MODULE_STMT,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(USE_STMT,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(WHERE_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ALLDO_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(IDENTIFY,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FORMAT_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STOP_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RETURN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ELSEIF_NODE,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ELSEWH_NODE,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INCLUDE_LINE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PREPROCESSOR_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
/*NO_OPnodes*/
|
||||
DEFNODECODE(COMMENT_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(CONT_STAT,"nodetext",'s',0,BIFNODE, 'c','_','_','_','_')
|
||||
DEFNODECODE(VAR_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(VAR_DECL_90,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PARAM_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(COMM_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(EQUI_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(IMPL_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(DATA_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(SAVE_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(ENTRY_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(STMTFN_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(DIM_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PROCESSORS_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(BLOCK_DATA,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(EXTERN_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(INTRIN_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
|
||||
DEFNODECODE(ENUM_DECL,"nodetext",'d',1,BIFNODE, 'd','e','_','_','_')
|
||||
DEFNODECODE(CLASS_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
||||
DEFNODECODE(TECLASS_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
||||
DEFNODECODE(COLLECTION_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
||||
DEFNODECODE(TEMPLATE_FUNDECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
||||
DEFNODECODE(TEMPLATE_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
||||
DEFNODECODE(UNION_DECL,"nodetext",'d',1,BIFNODE, 'd','u','_','_','_')
|
||||
DEFNODECODE(STRUCT_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
||||
DEFNODECODE(DERIVED_CLASS_DECL,"nodetext",'d',1,BIFNODE,'d','_','_','_','_')
|
||||
DEFNODECODE(EXPR_STMT_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DO_WHILE_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SWITCH_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CASE_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DEFAULT_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BREAK_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONTINUE_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RETURN_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ASM_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPAWN_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PARFOR_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PAR_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LABEL_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PROS_COMM,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(ATTR_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(NAMELIST_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
|
||||
DEFNODECODE(PROCESSES_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PROCESSES_END,"nodetext",'s',0,BIFNODE, 'c','_','_','_','_')
|
||||
DEFNODECODE(INPORT_DECL,"nodetext",'d',2,BIFNODE, 'd','-','_','_','_')
|
||||
DEFNODECODE(OUTPORT_DECL,"nodetext",'d',2,BIFNODE, 'd','-','_','_','_')
|
||||
DEFNODECODE(CHANNEL_STAT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(MERGER_STAT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(MOVE_PORT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(SEND_STAT,"nodetext",'s',2,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(RECEIVE_STAT,"nodetext",'s',2,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(ENDCHANNEL_STAT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(PROBE_STAT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(INTENT_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PRIVATE_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PUBLIC_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(OPTIONAL_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(ALLOCATABLE_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(POINTER_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(TARGET_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(STATIC_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(MODULE_PROC_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(INTERFACE_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(INTERFACE_OPERATOR,"nodetext",'s',0,BIFNODE,'d','_','_','_','_')
|
||||
DEFNODECODE(INTERFACE_ASSIGNMENT,"nodetext",'s',0,BIFNODE,'d','_','_','_','_')
|
||||
DEFNODECODE(SEQUENCE_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
|
||||
/*****************variant tags for low level nodes********************/
|
||||
|
||||
DEFNODECODE(INT_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(FLOAT_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(DOUBLE_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(BOOL_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(CHAR_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(STRING_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(KEYWORD_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(COMPLEX_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
|
||||
DEFNODECODE(CONST_REF,"nodetext",'r',0,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(VAR_REF,"nodetext",'r',0,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(ARRAY_REF,"nodetext",'r',1,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(PROCESSORS_REF,"nodetext",'r',1,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(RECORD_REF,"nodetext",'r',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STRUCTURE_CONSTRUCTOR,"nodetext",'r',1,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(CONSTRUCTOR_REF,"nodetext",'r',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ENUM_REF,"nodetext",'r',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LABEL_REF,"nodetext",'r',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TYPE_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PORT_TYPE_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INPORT_TYPE_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OUTPORT_TYPE_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TYPE_REF,"nodetext",'e',0,LLNODE, '_','_','s','_','_')
|
||||
|
||||
DEFNODECODE(VAR_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EXPR_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RANGE_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CASE_CHOICE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DEF_CHOICE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(VARIANT_CHOICE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(DDOT,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(KEYWORD_ARG,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RANGE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FORALL_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(UPPER_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LOWER_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EQ_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(GT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NOTEQL_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LTEQL_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(GTEQL_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(ADD_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SUBT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OR_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(MULT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DIV_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MOD_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(AND_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(EXP_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ARRAY_MULT,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONCAT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(XOR_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EQV_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NEQV_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MINUS_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NOT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DEREF_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RENAME_NODE,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ONLY_NODE,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(POINTST_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FUNCTION_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MINUSMINUS_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PLUSPLUS_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BITAND_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BITOR_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DIMENSION_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ALLOCATABLE_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PARAMETER_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TARGET_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STATIC_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SAVE_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(POINTER_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INTRINSIC_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OPTIONAL_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EXTERNAL_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PRIVATE_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PUBLIC_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(IN_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OUT_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INOUT_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LABEL_ARG,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STAR_RANGE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(PROC_CALL,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(PROS_CALL,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(FUNC_CALL,"nodetext",'e',1,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(OVERLOADED_CALL,"nodetext",'e',1,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(THROW_OP,"nodetext",'e',1,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(DEFINED_OP,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
||||
|
||||
DEFNODECODE(ACCESS_REF,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONS,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACCESS,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(IOACCESS,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONTROL_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SEQ,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPEC_PAIR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(COMM_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STMT_STR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EQUI_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(IMPL_TYPE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STMTFN_DECL,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIT_COMPLEMENT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EXPR_IF,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EXPR_IF_BODY,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FUNCTION_REF,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(LSHIFT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RSHIFT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(UNARY_ADD_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SIZE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INTEGER_DIV_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SUB_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(GE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(CLASSINIT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CAST_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ADDRESS_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(POINSTAT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(COPY_NODE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INIT_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(VECTOR_CONST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIT_NUMBER,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ARITH_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ARRAY_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NEW_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DELETE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NAMELIST_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(INPORT_NAME,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(OUTPORT_NAME,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(FROMPORT_NAME,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(TOPORT_NAME,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(IOSTAT_STORE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(EMPTY_STORE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(ERR_LABEL,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(END_LABEL,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(DATA_IMPL_DO,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DATA_ELT,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DATA_SUBS,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DATA_RANGE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ICON_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
/* new tag for some expression */
|
||||
|
||||
DEFNODECODE(CEIL_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MAX_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIF_SAVE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MIN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIF_ADDR_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIF_NOP_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIF_RTL_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUNC_MOD_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUNC_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FLOOR_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FLOOR_MOD_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CEIL_MOD_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ROUND_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ROUND_MOD_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RDIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EXACT_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONVERT_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONST_DECL,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ABS_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUTH_ANDIF_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUTH_AND_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUTH_NOT_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUTH_ORIF_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PREINCREMENT_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PREDECREMENT_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(COMPOUND_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FLOAT_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIT_IOR_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIT_XOR_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIT_ANDTC_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUTH_OR_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FIX_TRUNC_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RROTATE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LROTATE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RANGE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(POSTDECREMENT_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(REFERENCE_TYPE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FIX_FLOOR_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FIX_ROUND_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FIX_CEIL_EXPR ,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FUNCTION_DECL ,"nodetext",'d',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MODIFY_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(REFERENCE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RESULT_DECL,"nodetext",'d',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PARM_DECL,"nodetext",'d',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LEN_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(THIS_NODE,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SCOPE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PLUS_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MINUS_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(AND_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(IOR_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MULT_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DIV_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MOD_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(XOR_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LSHIFT_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RSHIFT_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ARROWSTAR_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DOTSTAR_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FORDECL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OPERATOR_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ASSIGNMENT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(KIND_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LENGTH_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RECURSIVE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ELEMENTAL_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PURE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
|
||||
/* DVM tags */
|
||||
DEFNODECODE(BLOCK_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INDIRECT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DERIVED_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NEW_SPEC_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(REDUCTION_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_RENEW_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_START_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_WAIT_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DIAG_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(REMOTE_ACCESS_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TEMPLATE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PROCESSORS_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DYNAMIC_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ALIGN_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DISTRIBUTE_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_COMP_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INDIRECT_ACCESS_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACROSS_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NEW_VALUE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONSISTENT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STAGE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(COMMON_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_CALL_OP,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(ACC_DEVICE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_SHARED_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_CONSTANT_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_VALUE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_HOST_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_GLOBAL_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_ATTRIBUTES_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_PRIVATE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_CUDA_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_CUDA_BLOCK_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_PRIVATE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_INOUT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_IN_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_OUT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_LOCAL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_INLOCAL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_TARGETS_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_ASYNC_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_NAMES_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_TIE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DUMMY_REF, "nodetext",'r',0,LLNODE, '_','_','s','_','_')
|
||||
|
||||
DEFNODECODE(ACC_CALL_STMT,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DVM_NEW_VALUE_DIR,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_ROUTINE_DIR,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_DECLARE_DIR,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
/* SAPFOR */
|
||||
DEFNODECODE(SPF_NOINLINE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_FISSION_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_EXPAND_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_SHRINK_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_TYPE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_VARLIST_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_EXCEPT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_FILES_COUNT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_INTERVAL_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_TIME_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_ITER_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_FLEXIBLE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_PARAMETER_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_CODE_COVERAGE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_UNROLL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_COVER_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_MERGE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_PROCESS_PRIVATE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_WEIGHT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(SPF_ANALYSIS_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_PARALLEL_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_TRANSFORM_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_PARALLEL_REG_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_END_PARALLEL_REG_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_CHECKPOINT_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
/* OpenMP Fortran tags */
|
||||
DEFNODECODE(OMP_NOWAIT, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_NUM_THREADS, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_IF, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_ORDERED, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_DEFAULT, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_SCHEDULE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_PRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_REDUCTION, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_FIRSTPRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_LASTPRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_SHARED, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_COPYIN, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_COPYPRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_COLLAPSE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_THREADPRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(OMP_PARALLEL_DIR,"nodetext",'s',0,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_PARALLEL_DIR,"nodetext",'s',0,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_DO_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_DO_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_SECTIONS_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_SECTIONS_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_SECTION_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_SINGLE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_SINGLE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_WORKSHARE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_WORKSHARE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_PARALLEL_DO_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_PARALLEL_DO_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_PARALLEL_SECTIONS_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_PARALLEL_SECTIONS_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_PARALLEL_WORKSHARE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_PARALLEL_WORKSHARE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_MASTER_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_MASTER_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_CRITICAL_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_CRITICAL_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_BARRIER_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_ATOMIC_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_FLUSH_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_ORDERED_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_ORDERED_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_THREADPRIVATE_DIR, "nodetext",'d',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(RECORD_DECL,"nodetext",'d',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(FUNC_STAT,"nodetext",'d',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(POINTER_ASSIGN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CYCLE_STMT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_ONETHREAD_DIR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
/*****************variant tags for symbol table entries********************/
|
||||
|
||||
DEFNODECODE(BIF_PARM_DECL,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(CONST_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(ENUM_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(FIELD_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(VARIABLE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(TYPE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(PROGRAM_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(PROCEDURE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(PROCESS_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(VAR_FIELD,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(LABEL_VAR,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(FUNCTION_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(MEMBER_FUNC,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(CLASS_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(TECLASS_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(UNION_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(STRUCT_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(LABEL_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(COLLECTION_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(ROUTINE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(CONSTRUCT_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(INTERFACE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(MODULE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(COMMON_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(SPF_REGION_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(DEFAULT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_INT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_FLOAT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DOUBLE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_CHAR,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_BOOL,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_STRING,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_COMPLEX,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DCOMPLEX,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_LONG,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(T_ENUM,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_SUBRANGE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_LIST,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_ARRAY,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_RECORD,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_ENUM_FIELD,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_UNKNOWN,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_VOID,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DESCRIPT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_FUNCTION,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_POINTER,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_UNION,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_STRUCT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_CLASS,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_TECLASS,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DERIVED_CLASS,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DERIVED_TYPE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_COLLECTION,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DERIVED_COLLECTION,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_MEMBER_POINTER,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_GATE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_EVENT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_SEQUENCE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DERIVED_TEMPLATE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_REFERENCE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(LOCAL,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(INPUT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(OUTPUT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(IO,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
|
||||
117
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/dependence.h
Normal file
117
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/dependence.h
Normal file
@@ -0,0 +1,117 @@
|
||||
/*********************************************************************/
|
||||
/* 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
|
||||
56
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/ext_ann.h
Normal file
56
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/ext_ann.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*********************************************************************/
|
||||
/* 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;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
29
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/ext_high.h
Normal file
29
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/ext_high.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*********************************************************************/
|
||||
/* 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 ();
|
||||
24
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/ext_lib.h
Normal file
24
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/ext_lib.h
Normal file
@@ -0,0 +1,24 @@
|
||||
/*********************************************************************/
|
||||
/* 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[];
|
||||
269
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/ext_low.h
Normal file
269
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/ext_low.h
Normal file
@@ -0,0 +1,269 @@
|
||||
/*********************************************************************/
|
||||
/* 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();
|
||||
|
||||
|
||||
64
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/ext_mid.h
Normal file
64
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/ext_mid.h
Normal file
@@ -0,0 +1,64 @@
|
||||
/*********************************************************************/
|
||||
/* 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 ();
|
||||
272
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/extcxx_low.h
Normal file
272
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/extcxx_low.h
Normal file
@@ -0,0 +1,272 @@
|
||||
/*********************************************************************/
|
||||
/* 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(...);
|
||||
}
|
||||
9921
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/libSage++.h
Normal file
9921
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/libSage++.h
Normal file
File diff suppressed because it is too large
Load Diff
434
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/macro.h
Normal file
434
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/macro.h
Normal file
@@ -0,0 +1,434 @@
|
||||
/*********************************************************************/
|
||||
/* 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;
|
||||
@@ -0,0 +1,123 @@
|
||||
/*********************************************************************/
|
||||
/* 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();
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,216 @@
|
||||
/*********************************************************************/
|
||||
/* 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);
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
/*********************************************************************/
|
||||
/* 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;
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
/*********************************************************************/
|
||||
/* 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);
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
/*********************************************************************/
|
||||
/* 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 */
|
||||
30
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/symb.def
Normal file
30
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/symb.def
Normal file
@@ -0,0 +1,30 @@
|
||||
/*********************************************************************/
|
||||
/* 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,'_','_','_','_','_')
|
||||
|
||||
69
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/type.def
Normal file
69
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/type.def
Normal file
@@ -0,0 +1,69 @@
|
||||
/*********************************************************************/
|
||||
/* 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, '_','_','_','_','_')
|
||||
|
||||
1060
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/unparse.def
Normal file
1060
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/unparse.def
Normal file
File diff suppressed because it is too large
Load Diff
833
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/unparseC++.def
Normal file
833
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/unparseC++.def
Normal file
@@ -0,0 +1,833 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/*****************************************************************************/
|
||||
/*****************************************************************************/
|
||||
/***** *****/
|
||||
/***** UNPARSE.DEF: Bodin Francois Sepetmber 1992 *****/
|
||||
/***** with major changes by d. gannon summer 1993 *****/
|
||||
/***** Version C++ *****/
|
||||
/***** *****/
|
||||
/*****************************************************************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
|
||||
DEFNODECODE(GLOBAL, "%SETFLAG(ARRAYREF)%UNSETFLAG(ARRAYREF)%SETFLAG(CLASSDECL)%UNSETFLAG(CLASSDECL)%SETFLAG(PAREN)%UNSETFLAG(PAREN)%SETFLAG(ELIST)%UNSETFLAG(ELIST)%SETFLAG(QUOTE)%BLOB1%UNSETFLAG(QUOTE)",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PROG_HEDR, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PROC_HEDR, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(BASIC_BLOCK, "%CMNT%PUTTAB{%NL%INCTAB%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(MODULE_STMT, "%CMNT%PUTTAB%NL%INCTAB%BLOB1%DECTAB%PUTTAB%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
/* 107 is value for FOR_NODE */
|
||||
DEFNODECODE(CONTROL_END, "",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(IF_NODE, "%CMNT%PUTTABif (%LL1) %NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL%IF (%BLOB2 != %NULL)%PUTTABelse %NL%PUTTAB{%INCTAB%NL%BLOB2%DECTAB%PUTTAB}%NL%ENDIF",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ARITHIF_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(LOGIF_NODE, "%CMNT%PUTTABif (%LL1) %NL%PUTTAB%INCTAB%BLOB1%DECTAB%PUTTAB%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(LOOP_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(FOR_NODE, "%CMNT%PUTTABfor (%LL1 ; %LL2 ; %LL3)%NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(FORALL_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(WHILE_NODE, "%CMNT%PUTTABwhile (%LL1)%NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(TRY_STAT, "%CMNT%PUTTABtry {%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CATCH_STAT, "%CMNT%PUTTABcatch (%SETFLAG(VARDECL)%TMPLARGS%UNSETFLAG(VARDECL)){%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(SDOALL_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DOACROSS_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CDOACROSS_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(EXIT_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(GOTO_NODE, "%CMNT%PUTTABgoto %LL3;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ASSGOTO_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(COMGOTO_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PAUSE_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(STOP_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(ASSIGN_STAT, "%CMNT%IF(%LABEL != %NULL)%LABEL%ENDIF%PUTTAB%LL1 = %LL2;%NL",
|
||||
's',0,BIFNODE)
|
||||
/*
|
||||
DEFNODECODE(ASSIGN_STAT, "%ERROR",
|
||||
's',0,BIFNODE) */
|
||||
DEFNODECODE(M_ASSIGN_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PROC_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ASSLAB_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SUM_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(MULT_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(MAX_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(MIN_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CAT_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(OR_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(AND_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(READ_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(WRITE_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PRINT_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(OTHERIO_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(BLOB, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SIZES, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
/* podd 12.01.12 %CONSTRU deleted
|
||||
DEFNODECODE(FUNC_HEDR, "%CMNT%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUTTAB%DECLSPEC%SYMBTYPE %IF (%CHECKFLAG(CLASSDECL) == %NULL)%SYMBSCOPE%IF(%LL3 != %NULL)<%TMPLARGS >%ENDIF%SYMBDC%ENDIF %SETFLAG(VARDECL)%FUNHD%UNSETFLAG(VARDECL)%CONSTRU%ENDIF%CNSTF{%INCTAB%NL%PUSHFLAG(CLASSDECL)%BLOB1%POPFLAG(CLASSDECL)%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
*/
|
||||
DEFNODECODE(FUNC_HEDR, "%CMNT%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUTTAB%DECLSPEC%SYMBTYPE %IF (%CHECKFLAG(CLASSDECL) == %NULL)%SYMBSCOPE%IF(%LL3 != %NULL)<%TMPLARGS >%ENDIF%SYMBDC%ENDIF %SETFLAG(VARDECL)%FUNHD%UNSETFLAG(VARDECL)%ENDIF%CNSTF%NL%PUTTAB{%INCTAB%NL%PUSHFLAG(CLASSDECL)%BLOB1%POPFLAG(CLASSDECL)%DECTAB%PUTTAB}%NL%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(TEMPLATE_FUNDECL, "%CMNT%PUTTABtemplate <%SETFLAG(VARDECL)%TMPLARGS%UNSETFLAG(VARDECL) > %BLOB1",
|
||||
's',0,BIFNODE)
|
||||
|
||||
|
||||
DEFNODECODE(WHERE_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ALLDO_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(IDENTIFY, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(FORMAT_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(STOP_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(RETURN_STAT, "%CMNT%PUTTABreturn%IF (%LL1 != %NULL) %LL1%ENDIF;%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(ELSEIF_NODE, "%CMNT%DECTAB%PUTTAB}%NL%PUTTABelse if (%LL1) %NL%PUTTAB{%INCTAB%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
/*NO_OPnodes*/
|
||||
DEFNODECODE(COMMENT_STAT, "%CMNT%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CONT_STAT, "%CMNT%PUTTABcontinue;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(VAR_DECL, "%CMNT%SETFLAG(VARDECL)%IF (%CHECKFLAG(ENUM) == %NULL)%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUTTAB%DECLSPEC%TYPE %ENDIF%LL1%IF (%CHECKFLAG(ENUM) == %NULL);%ENDIF%UNSETFLAG(VARDECL)%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PRIVATE_AR_DECL, "%CMNT%PUTTABPrivateArray<%LL1,%LL2> %LL3;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PARAM_DECL, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(COMM_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(EQUI_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(IMPL_DECL, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DATA_DECL, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SAVE_DECL, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(STMTFN_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DIM_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(EXTERN_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(INTRIN_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(ENUM_DECL, "%CMNT%PUTTAB%DECLSPEC%SETFLAG(ENUM)enum %SYMBID %IF (%BLOB1 != %NULL){%INCTAB%NL %BLOB1%DECTAB%PUTTAB}%LL1;%NL%ELSE%LL1;%NL%ENDIF%UNSETFLAG(ENUM)",
|
||||
'd',0,BIFNODE)
|
||||
/* the public: in the line below is to mask a dep2C++ bug */
|
||||
DEFNODECODE(CLASS_DECL, "%CMNT%INCLASSON%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUSHFLAG(CLASSDECL)%PUTTAB%DECLSPEC%RIDPT%SETFLAG(CLASSDECL)class %SYMBID%IF (%LL2 !=%NULL):%SETFLAG(SUBCLASS)%LL2%UNSETFLAG(SUBCLASS)%ENDIF %IF (%BLOB1 != %NULL){%INCTAB%NLpublic:%NL%BLOB1 %NL%DECTAB%PUTTAB}%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ELSE%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ENDIF%UNSETFLAG(CLASSDECL)%POPFLAG(CLASSDECL)%IF (%CHECKFLAG(CLASSDECL) == %NULL)%INCLASSOFF",
|
||||
'd',0,BIFNODE)
|
||||
DEFNODECODE(TECLASS_DECL, "%CMNT%INCLASSON%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUSHFLAG(CLASSDECL)%PUTTAB%DECLSPEC%RIDPT%SETFLAG(CLASSDECL)TEClass %SYMBID%IF (%LL2 !=%NULL):%SETFLAG(SUBCLASS)%LL2%UNSETFLAG(SUBCLASS)%ENDIF %IF (%BLOB1 != %NULL){%INCTAB%NLpublic:%NL%BLOB1 %NL%DECTAB%PUTTAB}%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ELSE%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ENDIF%UNSETFLAG(CLASSDECL)%POPFLAG(CLASSDECL)%INCLASSOFF",
|
||||
'd',0,BIFNODE)
|
||||
DEFNODECODE(UNION_DECL, "%CMNT%PUTTAB%DECLSPEC%RIDPTunion %SYMBID %IF (%BLOB1 != %NULL){%INCTAB%NL%BLOB1%NL%DECTAB%PUTTAB} %LL1;%NL%ELSE%LL1;%NL%ENDIF",
|
||||
'd',0,BIFNODE)
|
||||
DEFNODECODE(STRUCT_DECL, "%CMNT%PUTTAB%DECLSPEC%RIDPTstruct %SYMBID %IF (%LL2 !=%NULL):%SETFLAG(SUBCLASS)%LL2%UNSETFLAG(SUBCLASS)%ENDIF %IF (%BLOB1!=%NULL){%INCTAB%NL%BLOB1%DECTAB%PUTTAB} %SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ELSE%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ENDIF",
|
||||
'd',0,BIFNODE)
|
||||
DEFNODECODE(EXTERN_C_STAT, "%CMNT%PUTTABextern \"C\" %IF (%BLOB1!=%NULL){%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL%ENDIF",
|
||||
'd',0,BIFNODE)
|
||||
DEFNODECODE(DERIVED_CLASS_DECL, "%ERROR",
|
||||
'd',0,BIFNODE)
|
||||
DEFNODECODE(EXPR_STMT_NODE, "%CMNT%PUTTAB%LL1;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DO_WHILE_NODE, "%CMNT%PUTTABdo {%NL%INCTAB%NL%BLOB1%DECTAB%PUTTAB} while (%LL1);%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SWITCH_NODE, "%CMNT%PUTTABswitch (%LL1)%NL%PUTTAB{%NL%INCTAB%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CASE_NODE, "%CMNT%PUTTABcase %LL1:%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DEFAULT_NODE, "%CMNT%PUTTABdefault:%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(BREAK_NODE, "%CMNT%PUTTABbreak;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CONTINUE_NODE, "%CMNT%PUTTABcontinue;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(RETURN_NODE, "%CMNT%PUTTABreturn%IF (%LL1 != %NULL) %LL1%ENDIF;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ASM_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SPAWN_NODE, "%CMNT%PUTTABspawn %LL1;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PARFOR_NODE, "%CMNT%PUTTABparfor (%LL1 ; %LL2 ; %LL3)%NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PAR_NODE, "%CMNT%PUTTABpar%NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(LABEL_STAT, "%CMNT%LABNAME:%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PROS_COMM, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ATTR_DECL, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(NAMELIST_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(OPEN_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CLOSE_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ENDFILE_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(REWIND_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
/* DEFNODECODE(ENTRY_STAT, "%ERROR",
|
||||
's',0,BIFNODE) */
|
||||
DEFNODECODE(ENTRY_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(BLOCK_DATA, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(COLLECTION_DECL, "%INCLASSON%CMNT%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUSHFLAG(CLASSDECL)%PUTTAB%RIDPT%SETFLAG(CLASSDECL)Collection %SYMBID%IF (%LL2 !=%NULL):public %LL2%ENDIF %IF (%BLOB1 != %NULL){%INCTAB%NL%BLOB1 %NL%DECTAB%PUTTAB}%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ELSE%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ENDIF%UNSETFLAG(CLASSDECL)%POPFLAG(CLASSDECL)%INCLASSOFF",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(INCLUDE_LINE, "%CMNT#include %LL1%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PREPROCESSOR_DIR, "%CMNT%LL1%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
/*****************variant tags for low level nodes********************/
|
||||
|
||||
/***** List of commands for LOW LEVEL NODES *****/
|
||||
/* %ERROR : Error ; syntax : %ERROR'message' */
|
||||
/* %NL : NewLine */
|
||||
/* %% : '%' (Percent Sign) */
|
||||
/* %TAB : Tab */
|
||||
/* %IF : If ; syntax : %IF (condition) then_bloc [%ELSE else_bloc] %ENDIF */
|
||||
/* %ELSE : Else */
|
||||
/* %ENDIF : End of If */
|
||||
/* %LL1 : Low Level Node 1 */
|
||||
/* %LL2 : Low Level Node 2 */
|
||||
/* %SYMBID : Symbol identifier */
|
||||
/* %TYPE : Type */
|
||||
/* %L1SYMBCST : Constant Value of Low Level Node Symbol */
|
||||
/* %INTVAL : Integer Value */
|
||||
/* %STATENO : Statement Number */
|
||||
/* %STRVAL : String Value */
|
||||
/* %BOOLVAL : Boolean Value */
|
||||
/* %CHARVAL : Char Value */
|
||||
/* %ORBPL1 : Openning Round Brackets on Precedence of Low Level Node 1 */
|
||||
/* %CRBPL1 : Closing Round Brackets on Precedence of Low Level Node 1 */
|
||||
/* %ORBPL2 : Openning Round Brackets on Precedence of Low Level Node 2 */
|
||||
/* %CRBPL2 : Closing Round Brackets on Precedence of Low Level Node 2 */
|
||||
/***********************************************/
|
||||
|
||||
/***** List of commands for evaluation in IF THEN ELSE ENDIF statements for LOW LEVEL NODE *****/
|
||||
/* %STRCST : String Constant in '' */
|
||||
/* %SYMBID : Symbol Identifier (string) */
|
||||
/* %SYMBOL : Symbol node (integer) */
|
||||
/* == : Equal (operation) */
|
||||
/* != : Different (operation) */
|
||||
/* %NULL : 0, Integer Constant (or false boolean) */
|
||||
/* %LL1 : Low Level Node 1 (integer) */
|
||||
/* %LL2 : Low Level Node 2 (integer) */
|
||||
/* %LABUSE : Label ptr (do end) (integer) */
|
||||
/* %L1CODE : Code (variant) of Low Level Node 1 (integer) */
|
||||
/* %L2CODE : Code (variant) of Low Level Node 2 (integer) */
|
||||
/* %INWRITE : In_Write_Statement (integer / boolean flag) */
|
||||
/* %INPARAM : In_Param_Statement (integer / boolean flag) */
|
||||
/* %INIMPLI : In_Impli_Statement (integer / boolean flag) */
|
||||
/************************************************************************************************/
|
||||
|
||||
/* CODES AYANT DISPARU :
|
||||
RENAME_NODE, ONLY_NODE, DEFAULT, LEN_OP, TARGET_OP,
|
||||
SAVE_OP, POINTER_OP, INTRINSIC_OP, INOUT_OP, OUT_OP,
|
||||
IN_OP, OPTIONAL_OP, EXTERNAL_OP, DIMENSION_OP, ALLOCATABLE_OP,
|
||||
PRIVATE_OP, PUBLIC_OP, PARAMETER_OP, MAXPARALLEL_OP, EXTEND_OP,
|
||||
ORDERED_OP, PAREN_OP, OVERLOADED_CALL, STRUCTURE_CONSTRUCTOR, INTERFACE_REF,
|
||||
TYPE_REF, KEYWORD_ARG,
|
||||
*/
|
||||
|
||||
DEFNODECODE(LEN_OP, "%IF (%LL1 != %NULL)*(%LL1)%ENDIF",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(INT_VAL, "%INTKIND",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(FLOAT_VAL, "%STRVAL",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(DOUBLE_VAL, "%STRVAL",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(BOOL_VAL, "%BOOLVAL",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(CHAR_VAL, "%IF (%INIMPLI == %NULL)'%ENDIF%CHARVAL%IF (%INIMPLI == %NULL)'%ENDIF",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(STRING_VAL, "%IF (%CHECKFLAG(QUOTE) != %NULL)\"%STRVAL\"%ELSE\"%STRVAL\"%ENDIF",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(KEYWORD_VAL, "%STRVAL",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(COMPLEX_VAL, "(%LL1, %LL2)",
|
||||
'c',0,LLNODE)
|
||||
|
||||
DEFNODECODE(CONST_REF, "%SYMBID",
|
||||
'r',2,LLNODE)
|
||||
DEFNODECODE(VAR_REF, "%IF(%CHECKFLAG(SUBCLASS) != %NULL)%DOPROC%ENDIF%SYMBID%IF(%LL2 != %NULL)%PUSHFLAG(PAREN)<%LL2 >%POPFLAG(PAREN)%ENDIF",
|
||||
'r',0,LLNODE)
|
||||
DEFNODECODE(ARRAY_REF, "%SYMBID%IF (%LL1 != %NULL)%PUSHFLAG(ARRAYREF)%SETFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(ARRAYREF)%UNSETFLAG(PAREN)%POPFLAG(PAREN)%POPFLAG(ARRAYREF)%ENDIF",
|
||||
'r',1,LLNODE)
|
||||
DEFNODECODE(RECORD_REF, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1.%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'r',2,LLNODE)
|
||||
DEFNODECODE(ENUM_REF, "%LL1",
|
||||
'r',2,LLNODE)
|
||||
DEFNODECODE(LABEL_REF, "%LABELNAME",
|
||||
'r',0,LLNODE)
|
||||
DEFNODECODE(TYPE_REF, "%TYPE",
|
||||
'r',0,LLNODE)
|
||||
DEFNODECODE(TYPE_OP, "%TYPE",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(THROW_OP, "throw %IF(%LL1 != %NULL)%LL1%ENDIF",
|
||||
'r',2,LLNODE)
|
||||
|
||||
DEFNODECODE(VAR_LIST, "%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(FORDECL_OP, "%VARLISTTY",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(EXPR_LIST,
|
||||
"%IF(%CHECKFLAG(PAREN)!=%NULL)%IF(%CHECKFLAG(ARRAYREF)!=%NULL)[%ELSE%IF(%CHECKFLAG(ELIST)==%NULL)(%ELSE, %ENDIF%ENDIF%ELSE%IF(%CHECKFLAG(ELIST) != %NULL), %ENDIF%ENDIF%PUSHFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%PUSHFLAG(ELIST)%LL1%POPFLAG(ELIST)%POPFLAG(ARRAYREF)%POPFLAG(PAREN)%IF(%CHECKFLAG(PARAM)!=%NULL) = %L1SYMBCST%ENDIF%IF(%CHECKFLAG(ARRAYREF)!=%NULL)]%ENDIF%IF(%LL2!=%NULL)%IF(%CHECKFLAG(ELIST)==%NULL)%SETFLAG(ELIST)%ENDIF%LL2%ENDIF%IF(%CHECKFLAG(PAREN) != %NULL)%IF(%LL2 == %NULL)%IF(%CHECKFLAG(ARRAYREF) == %NULL))%ENDIF%ENDIF%ENDIF%IF(%LL2 == %NULL)%IF(%CHECKFLAG(ELIST) != %NULL)%UNSETFLAG(ELIST)%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
/* second way (wrong)
|
||||
DEFNODECODE(EXPR_LIST,
|
||||
"%IF (%CHECKFLAG(PAREN) != %NULL)%IF (%CHECKFLAG(ARRAYREF) != %NULL)[%ELSE(%ENDIF%ENDIF%PUSHFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%POPFLAG(ARRAYREF)%IF (%CHECKFLAG(PARAM) != %NULL) = %L1SYMBCST%ENDIF%IF (%LL2 != %NULL)%IF (%CHECKFLAG(ARRAYREF) != %NULL)][%ELSE,%ENDIF%LL2%ENDIF%POPFLAG(PAREN)%IF (%CHECKFLAG(PAREN) != %NULL)%IF (%CHECKFLAG(ARRAYREF) != %NULL)]%ELSE)%ENDIF%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
*/
|
||||
/*
|
||||
DEFNODECODE(EXPR_LIST, "%PUSHFLAG(ARRAYREF)%LL1%POPFLAG(ARRAYREF)%IF (%CHECKFLAG(PARAM) != %NULL) = %L1SYMBCST%ENDIF%ENDIF%IF (%LL2 != %NULL)%IF (%CHECKFLAG(ARRAYREF) != %NULL)][%ELSE,%ENDIF%LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
*/
|
||||
DEFNODECODE(RANGE_LIST, "%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(CASE_CHOICE, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(DEF_CHOICE, "%LL1%IF (%LL2 != %NULL):%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(VARIANT_CHOICE, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(DDOT, "%LL1%IF (%INWRITE != %NULL),%ELSE%IF (%INIMPLI != %NULL)-%ELSE%IF (%CHECKFLAG(LOOP) != %NULL),%ELSE:%ENDIF%ENDIF%ENDIF%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(RANGE_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(UPPER_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LOWER_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(EQ_OP, "%ORBCPL1%LL1%CRBCPL1 == %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LT_OP, "%ORBCPL1%LL1%CRBCPL1 < %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(GT_OP, "%ORBCPL1%LL1%CRBCPL1 > %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(NOTEQL_OP, "%ORBCPL1%LL1%CRBCPL1 != %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LTEQL_OP, "%ORBCPL1%LL1%CRBCPL1 <= %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(GTEQL_OP, "%ORBCPL1%LL1%CRBCPL1 >= %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(ADD_OP, "%ORBCPL1%LL1%CRBCPL1 + %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(SUBT_OP, "%ORBCPL1%LL1%CRBCPL1 - %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(OR_OP, "%ORBCPL1%LL1%CRBCPL1 || %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(MULT_OP, "%ORBCPL1%LL1%CRBCPL1 * %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(DIV_OP, "%ORBCPL1%LL1%CRBCPL1 / %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MOD_OP, "%ORBCPL1%LL1%CRBCPL1 %% %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(AND_OP, "%ORBCPL1%LL1%CRBCPL1 && %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(EXP_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ARRAY_MULT, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
/*DEFNODECODE(CONCAT_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1//%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)*/
|
||||
DEFNODECODE(CONCAT_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(XOR_OP, "%ORBCPL1%LL1%CRBCPL1 ^ %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(EQV_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(NEQV_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MINUS_OP, "(-%ORBCPL1%LL1%CRBCPL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(NOT_OP, "!%ORBCPL1%LL1%CRBCPL1",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 = %PUSHFLAG(VARDECL)%LL2%POPFLAG(VARDECL)",
|
||||
'e',2,LLNODE)
|
||||
/*
|
||||
DEFNODECODE(DEREF_OP, "%IF (%CHECKFLAG(VARDECL) == %NULL)(*%LL1)%ELSE*%LL1%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
*/
|
||||
DEFNODECODE(DEREF_OP, "%IF (%CHECKFLAG(VARDECL) == %NULL)*%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE*%CNSTCHK%LL1%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(ARROWSTAR_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)->*%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(DOTSTAR_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN).*%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(POINTST_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)->%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(SCOPE_OP, "%LL1::%LL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
/* should be
|
||||
DEFNODECODE(FUNCTION_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%IF (%CHECKFLAG(VARDECL) != %NULL)(%VARLISTTY)%ELSE%LL2%ENDIF%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
but the following works for now */
|
||||
|
||||
DEFNODECODE(FUNCTION_OP, "%PUSHFLAG(PAREN)(%LL1)%PUSHFLAG(FREF)%SETFLAG(FREF)%IF (%CHECKFLAG(VARDECL) != %NULL)(%VARLISTTY)%ELSE%IF(%LL2 != %NULL)%SETFLAG(PAREN)%LL2%UNSETFLAG(PAREN)%ELSE()%ENDIF%ENDIF%UNSETFLAG(FREF)%POPFLAG(FREF)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(MINUSMINUS_OP, "%IF (%LL2 != %NULL)%ORBCPL2%LL2%CRBCPL2%ENDIF--%IF (%LL1 != %NULL)%ORBCPL1%LL1%CRBCPL1%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(PLUSPLUS_OP, "%IF (%LL2 != %NULL)%ORBCPL2%LL2%CRBCPL2%ENDIF++%IF (%LL1 != %NULL)%ORBCPL1%LL1%CRBCPL1%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BITAND_OP, "%ORBCPL1%LL1%CRBCPL1 & %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BITOR_OP, "%ORBCPL1%LL1%CRBCPL1 | %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(PLUS_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 += %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MINUS_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 -= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(AND_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 &= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(IOR_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 |= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MULT_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 *= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(DIV_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 /= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MOD_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 %= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(XOR_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 ^= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LSHIFT_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 <<= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(RSHIFT_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 >>= %LL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
|
||||
DEFNODECODE(STAR_RANGE, "*",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(PROC_CALL, "%SYMBID%IF(%LL1 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE()%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FUNC_CALL, "%SYMBID%IF(%LL2 != %NULL)%PUSHFLAG(PAREN)<%LL2 >%POPFLAG(PAREN)%ENDIF%IF(%LL1 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE()%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(ACC_CALL_OP, "%SYMBID%IF(%LL2 != %NULL)%PUSHFLAG(PAREN)<<<%LL2>>>%POPFLAG(PAREN)%ENDIF%IF(%LL1 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE()%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(CONSTRUCTOR_REF, "(/%LL1/)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ACCESS_REF, "%LL1%IF (%LL2 != %NULL) (%LL2)%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(CONS, "%LL1, %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ACCESS, "%LL1, FORALL = (%SYMBID = %LL2)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(IOACCESS, "%IF (%LL1 != %NULL)(%LL1, %ENDIF%SYMBID = %LL2%IF (%LL1 != %NULL))%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(CONTROL_LIST, "%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(SEQ, "%LL1%IF (%LL2 != %NULL):%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(SPEC_PAIR, "%IF (%CHECKFLAG(PRINT) != %NULL)%LL2%ELSE%LL1 = %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(COMM_LIST, "%IF (%SYMBOL != %NULL)/%SYMBID/%ENDIF%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(STMT_STR, "%STRVAL",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(EQUI_LIST, "(%LL1)%IF (%LL2 != %NULL), %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(IMPL_TYPE, "%TYPE %IF (%LL1 != %NULL)(%LL1)%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(STMTFN_DECL, "%SYMBID (%VARLIST) = %LL1",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BIT_COMPLEMENT_OP, "~%ORBCPL1%LL1%CRBCPL1",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(EXPR_IF, "(%LL1)?%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(EXPR_IF_BODY, "%LL1:%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FUNCTION_REF, "%SETFLAG(FREF)%SYMBID%IF (%CHECKFLAG(VARDECL) != %NULL)%IF(%CHECKFLAG(TMPLDEC) == %NULL)(%VARLISTTY)%CNSTF%PURE%ENDIF%ENDIF%UNSETFLAG(FREF)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LSHIFT_OP, "%ORBCPL1%LL1%CRBCPL1 << %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(RSHIFT_OP, "%ORBCPL1%LL1%CRBCPL1 >> %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(UNARY_ADD_OP, "(+(%LL1))",
|
||||
'e',2,LLNODE)
|
||||
/*
|
||||
DEFNODECODE(SIZE_OP, "%IF(%CHECKFLAG(NEW) != %NULL)sizeof(%LL1)%ELSEsizeof %LL1",
|
||||
'e',2,LLNODE)
|
||||
*/
|
||||
DEFNODECODE(SIZE_OP, "sizeof(%LL1)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(INTEGER_DIV_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1/%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(SUB_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1-%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LE_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1<=%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(GE_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1>=%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(NE_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1!=%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(CLASSINIT_OP, "%LL1%IF(%LL2 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE()%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
/*
|
||||
DEFNODECODE(CAST_OP, "%IF(%CHECKFLAG(NEW) != %NULL)%IF (%LL2 != %NULL)%PUSHFLAG(VARDECL)%SETFLAG(VARDECL)(%VARLISTTY)%UNSETFLAG(VARDECL)%POPFLAG(VARDECL)%ELSE%SETFLAG(CASTOP)%TYPE%UNSETFLAG(CASTOP)%ENDIF%IF (%LL1 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ENDIF%ELSE%IF (%LL2 != %NULL)%TYPE%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE%SETFLAG(CASTOP)(%TYPE)%UNSETFLAG(CASTOP)%PUSHFLAG(PAREN)%SETFLAG(PAREN) %LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ENDIF%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
*/
|
||||
DEFNODECODE(CAST_OP, "%IF (%LL2 != %NULL)%PUSHFLAG(VARDECL)%SETFLAG(VARDECL)(%VARLISTTY)%UNSETFLAG(VARDECL)%POPFLAG(VARDECL)%ELSE%SETFLAG(CASTOP)%TYPE%UNSETFLAG(CASTOP)%ENDIF%IF (%LL1 != %NULL)%ORBCPL1%LL1%CRBCPL1%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ADDRESS_OP, "%IF (%CHECKFLAG(VARDECL) == %NULL)&%ORBCPL1%LL1%CRBCPL1%ELSE&%CNSTCHK%LL1%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
/*
|
||||
DEFNODECODE(ADDRESS_OP, "&(%LL1)",
|
||||
'e',2,LLNODE)
|
||||
*/
|
||||
DEFNODECODE(POINSTAT_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(COPY_NODE, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(INIT_LIST, "%PUSHFLAG(PAREN){%LL1}%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(VECTOR_CONST, "[%LL1]",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BIT_NUMBER, "%LL1:%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ARITH_ASSGN_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ARRAY_OP, "%PUSHFLAG(PAREN)(%LL1)%POPFLAG(PAREN)%PUSHFLAG(ARRAYREF)%SETFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2%UNSETFLAG(ARRAYREF)%UNSETFLAG(PAREN)%POPFLAG(PAREN)%POPFLAG(ARRAYREF)",
|
||||
'e',2,LLNODE)
|
||||
/*
|
||||
DEFNODECODE(NEW_OP, "%SETFLAG(NEW)new %LL1 %IF (%LL2 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ENDIF%UNSETFLAG(NEW)",
|
||||
'e',2,LLNODE)
|
||||
*/
|
||||
DEFNODECODE(NEW_OP, "%SETFLAG(NEW)new %IF (%LL2 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2 %UNSETFLAG(PAREN)%POPFLAG(PAREN)%ENDIF%LL1%UNSETFLAG(NEW)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(DELETE_OP, "%IF (%LL2 != %NULL)%SETFLAG(NEW)%ENDIFdelete %IF(%LL2 != %NULL) %LL2 %ENDIF %LL1%IF(%LL2 != %NULL) %UNSETFLAG(NEW)%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(NAMELIST_LIST, "%IF (%SYMBOL != %NULL)/%SYMBID/%ENDIF%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(THIS_NODE, "this %LL1",
|
||||
'e',2,LLNODE)
|
||||
|
||||
/* new tag for some expression
|
||||
these are tokens not expressions.
|
||||
I have killed them. dbg.
|
||||
|
||||
DEFNODECODE(CEIL_DIV_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MAX_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BIF_SAVE_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MIN_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BIF_ADDR_EXPR, "%ERROR",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(BIF_NOP_EXPR, "%ERROR",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(BIF_RTL_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUNC_MOD_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUNC_DIV_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FLOOR_DIV_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FLOOR_MOD_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(CEIL_MOD_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ROUND_DIV_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ROUND_MOD_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(RDIV_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(EXACT_DIV_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(CONVERT_EXPR, "%ERROR",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(CONST_DECL, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ABS_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUTH_ANDIF_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUTH_AND_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUTH_NOT_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUTH_ORIF_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(PREINCREMENT_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(PREDECREMENT_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(COMPOUND_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FLOAT_EXPR, "%ERROR",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(BIT_IOR_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BIT_XOR_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BIT_ANDTC_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUTH_OR_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FIX_TRUNC_EXPR, "%ERROR",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(RROTATE_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LROTATE_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(RANGE_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(POSTDECREMENT_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(REFERENCE_TYPE, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FIX_FLOOR_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FIX_ROUND_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FIX_CEIL_EXPR , "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FUNCTION_DECL , "%ERROR",
|
||||
'd',2,LLNODE)
|
||||
DEFNODECODE(MODIFY_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(REFERENCE_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(RESULT_DECL, "%ERROR",
|
||||
'd',2,LLNODE)
|
||||
DEFNODECODE(PARM_DECL, "%ERROR",
|
||||
'd',2,LLNODE)
|
||||
*/
|
||||
|
||||
/*****************variant tags for symbol table entries********************/
|
||||
|
||||
DEFNODECODE(BIF_PARM_DECL, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(CONST_NAME, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(ENUM_NAME, "enum %SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(FIELD_NAME, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(VARIABLE_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(TYPE_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(PROGRAM_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(PROCEDURE_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(VAR_FIELD, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(LABEL_VAR, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(FUNCTION_NAME, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(MEMBER_FUNC, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(CLASS_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(TECLASS_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(UNION_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(STRUCT_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(LABEL_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(COLLECTION_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(ROUTINE_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(CONSTRUCT_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(INTERFACE_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(MODULE_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
/*****************variant tags for type nodes********************/
|
||||
|
||||
/***** List of commands for TYPE NODES *****/
|
||||
/* %ERROR : Error ; syntax : %ERROR'message' */
|
||||
/* %NL : NewLine */
|
||||
/* %% : '%' (Percent Sign) */
|
||||
/* %TAB : Tab */
|
||||
/* %IF : If ; syntax : %IF (condition) then_bloc [%ELSE else_bloc] %ENDIF */
|
||||
/* %ELSE : Else */
|
||||
/* %ENDIF : End of If */
|
||||
/* %BASETYPE : Base Type Name Identifier */
|
||||
/* %NAMEID : Name Identifier */
|
||||
/* %TABNAME : Self Name from Table */
|
||||
/* %RANGES : Ranges */
|
||||
/* %RANGLL1 : Low Level Node 1 of Ranges */
|
||||
/*******************************************/
|
||||
|
||||
/***** List of commands for evaluation in IF THEN ELSE ENDIF statements for TYPE NODE *****/
|
||||
/* %STRCST : String Constant in '' */
|
||||
/* == : Equal (operation) */
|
||||
/* != : Different (operation) */
|
||||
/* %NULL : 0, Integer Constant (or false boolean) */
|
||||
/* %INIMPLI : In_Impli_Statement (integer / boolean flag) */
|
||||
/******************************************************************************************/
|
||||
|
||||
/* CODES AYANT DISPARU :
|
||||
T_SEQUENCE, T_EVENT, T_GATE,
|
||||
*/
|
||||
|
||||
DEFNODECODE(DEFAULT, "",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_INT, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_FLOAT, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_DOUBLE, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_CHAR, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_BOOL, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_STRING, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_COMPLEX, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_LONG, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_ENUM, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_SUBRANGE, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_LIST, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
/*
|
||||
DEFNODECODE(T_ARRAY, "%IF (%CHECKFLAG(CASTOP) == %NULL)%BASETYPE%ELSE%SUBTYPE [%RANGES]%ENDIF",
|
||||
't',0,TYPENODE)
|
||||
*/
|
||||
DEFNODECODE(T_ARRAY, "%IF (%CHECKFLAG(CASTOP) == %NULL)%BASETYPE%ELSE%SUBTYPE %PUSHFLAG(ARRAYREF)%SETFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%PUSHFLAG(CASTOP)%PUSHFLAG(NEW)%RANGES%POPFLAG(NEW)%POPFLAG(CASTOP)%UNSETFLAG(PAREN)%UNSETFLAG(ARRAYREF)%POPFLAG(PAREN)%POPFLAG(ARRAYREF)%ENDIF",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_RECORD, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_ENUM_FIELD, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_UNKNOWN, "unknown",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_VOID, "void ",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_DESCRIPT, "%RIDPT%BASETYPE",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_FUNCTION, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_POINTER, "%FBASETYPE %IF (%CHECKFLAG(VARDECL) == %NULL)%STAR%ELSE%IF (%CHECKFLAG(CASTOP) != %NULL)%STAR%ELSE%IF (%CHECKFLAG(FREF) != %NULL)%STAR%ENDIF%ENDIF%ENDIF",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_UNION, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_STRUCT, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_CLASS, "--ERROR--CLASS NAME---",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_DERIVED_CLASS, "%SYMBID",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_DERIVED_TYPE, "%SYMBID",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_COLLECTION, "------ERROR-----T_COLLECTION",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_DERIVED_COLLECTION, "%SYMBID<%COLLBASE>",
|
||||
't',0,TYPENODE)
|
||||
/*
|
||||
DEFNODECODE(T_MEMBER_POINTER, "%COLLBASE %IF (%CHECKFLAG(VARDECL) == %NULL)%SYMBID::*%ELSE%IF (%CHECKFLAG(CASTOP) != %NULL)%SYMBID::*%ELSE%IF (%CHECKFLAG(FREF) != %NULL)%SYMBID::*%ENDIF%ENDIF%ENDIF",
|
||||
't',0,TYPENODE) i can't solve the problem with %SYMB. something
|
||||
to do with %SYMBID getting a T_CLASS where it expects a symbol
|
||||
*/
|
||||
|
||||
DEFNODECODE(T_MEMBER_POINTER, "%COLLBASE ", 't',0,TYPENODE)
|
||||
DEFNODECODE(T_DERIVED_TEMPLATE, "%SYMBID%SETFLAG(TMPLDEC)%PUSHFLAG(PAREN)<%TMPLARGS >%POPFLAG(PAREN)%UNSETFLAG(TMPLDEC)",
|
||||
't',0,TYPENODE)
|
||||
/*
|
||||
DEFNODECODE(T_REFERENCE, "%BASETYPE %IF (%CHECKFLAG(VARDECL) == %NULL)&%ELSE%IF (%CHECKFLAG(FREF) != %NULL)& %ENDIF%ENDIF",
|
||||
't',0,TYPENODE)
|
||||
*/
|
||||
DEFNODECODE(T_REFERENCE, "%FBASETYPE %IF (%CHECKFLAG(VARDECL) == %NULL)%STAR%ELSE%IF (%CHECKFLAG(CASTOP) != %NULL)%STAR%ELSE%IF (%CHECKFLAG(FREF) != %NULL)%STAR%ENDIF%ENDIF%ENDIF",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(LOCAL, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(INPUT, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(OUTPUT, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(IO, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
448
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/unparseDVM.def
Normal file
448
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/include/unparseDVM.def
Normal file
@@ -0,0 +1,448 @@
|
||||
/*****************variant tags for DVM nodes*****************************/
|
||||
|
||||
DEFNODECODE(BLOCK_OP, "%IF(%LL1!=%NULL)WGT_BLOCK(%SYMBID,%LL1)%ELSE%IF(%LL2!=%NULL)MULT_BLOCK(%LL2)%ELSE%IF(%SYMBOL!=%NULL)GEN_BLOCK(%SYMBID)%ELSEBLOCK%ENDIF%ENDIF%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(INDIRECT_OP, "%IF(%LL1!=%NULL)DERIVED(%LL1)%ELSEINDIRECT(%SYMBID)%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(DERIVED_OP, "(%LL1) WITH %LL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(DUMMY_REF, "@%SYMBID%IF(%LL1!=%NULL)+%LL1%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(NEW_VALUE_OP, "%IF(%LL1!=%NULL) NEW(%LL1)%ELSE NEW%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(NEW_SPEC_OP, "NEW(%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(TEMPLATE_OP, "TEMPLATE",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(PROCESSORS_OP, "PROCESSORS",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(DYNAMIC_OP, "DYNAMIC",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(DIMENSION_OP, "%IF(%CHECKFLAG(DVM) != %NULL)DIMENSION%ELSEdimension%ENDIF(%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(SHADOW_OP, "SHADOW (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ALIGN_OP, "ALIGN %IF(%LL1!=%NULL) (%LL1)%ENDIF%IF(%LL2!=%NULL) WITH %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(DISTRIBUTE_OP, "DISTRIBUTE%IF(%LL1!=%NULL) (%LL1)%ENDIF%IF(%LL2!=%NULL) ONTO %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(REMOTE_ACCESS_OP, "REMOTE_ACCESS (%IF (%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(INDIRECT_ACCESS_OP, "INDIRECT_ACCESS (%IF(%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACROSS_OP, "ACROSS (%LL1)%IF(%LL2!=%NULL)(%LL2)%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(SHADOW_RENEW_OP, "SHADOW_RENEW (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(SHADOW_START_OP, "SHADOW_START %SYMBID",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(SHADOW_WAIT_OP, "SHADOW_WAIT %SYMBID",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(SHADOW_COMP_OP, "SHADOW_COMPUTE %IF(%LL1!=%NULL)(%LL1)%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(REDUCTION_OP, "REDUCTION (%IF(%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(CONSISTENT_OP, "CONSISTENT (%IF(%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_PRIVATE_OP, "PRIVATE (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(STAGE_OP, "STAGE (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(COMMON_OP, "COMMON",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_CUDA_BLOCK_OP, "CUDA_BLOCK (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_TIE_OP, "TIE (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_CUDA_OP, "CUDA",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_HOST_OP, "HOST",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_ASYNC_OP, "ASYNC",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(PARALLEL_OP, "PARALLEL",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_TARGETS_OP, "TARGETS (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_INLOCAL_OP, "INLOCAL (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_LOCAL_OP, "LOCAL%IF(%LL1!=%NULL) (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_OUT_OP, "OUT (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_INOUT_OP, "INOUT (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_IN_OP, "IN (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(DVM_NEW_VALUE_DIR, "%CMNT!DVM$%PUTTABCOMTNEW_VALUE%IF(%LL1!=%NULL) %LL1%ENDIF",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(HPF_TEMPLATE_STAT, "%CMNT!DVM$%PUTTABCOMTTEMPLATE%IF(%LL2!=%NULL), %LL2::%ENDIF %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_DYNAMIC_DIR, "%CMNT!DVM$%PUTTABCOMTDYNAMIC %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_INHERIT_DIR, "%CMNT!DVM$%PUTTABCOMTINHERIT %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(HPF_PROCESSORS_STAT, "%CMNT!DVM$%PUTTABCOMTPROCESSORS %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_SHADOW_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW %LL1( %LL2 )%NL",
|
||||
's',2,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_INDIRECT_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTINDIRECT_GROUP %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_REMOTE_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTREMOTE_GROUP %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_REDUCTION_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTREDUCTION_GROUP %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_CONSISTENT_DIR, "%CMNT!DVM$%PUTTABCOMTCONSISTENT %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_CONSISTENT_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTCONSISTENT_GROUP %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_DISTRIBUTE_DIR, "%CMNT!DVM$%PUTTABCOMTDISTRIBUTE%IF(%LL2!=%NULL) (%LL2)%ENDIF%IF(%LL3!=%NULL) ONTO %LL3 %ENDIF :: %LL1%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_REDISTRIBUTE_DIR, "%CMNT!DVM$%PUTTABCOMTREDISTRIBUTE (%LL2)%IF(%LL3!=%NULL) ONTO %LL3%ENDIF :: %LL1%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_ALIGN_DIR, "%CMNT!DVM$%PUTTABCOMTALIGN (%LL2) WITH %LL3 :: %LL1%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_REALIGN_DIR, "%CMNT!DVM$%PUTTABCOMTREALIGN (%LL2) WITH %LL3 :: %LL1%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_PARALLEL_ON_DIR, "%CMNT!DVM$%PUTTABCOMTPARALLEL (%LL3)%IF(%LL1!=%NULL) ON %LL1%ENDIF%IF(%LL2!=%NULL), %LL2%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_PARALLEL_TASK_DIR, "%CMNT!DVM$%PUTTABCOMTPARALLEL (%LL3)%IF(%LL1!=%NULL) ON %LL1%ENDIF%IF(%LL2!=%NULL), %LL2%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_SHADOW_START_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_START %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_SHADOW_WAIT_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_WAIT %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_SHADOW_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_GROUP %SYMBID ( %LL1 )%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_REDUCTION_START_DIR, "%CMNT!DVM$%PUTTABCOMTREDUCTION_START %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_REDUCTION_WAIT_DIR, "%CMNT!DVM$%PUTTABCOMTREDUCTION_WAIT %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_CONSISTENT_START_DIR, "%CMNT!DVM$%PUTTABCOMTCONSISTENT_START %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_CONSISTENT_WAIT_DIR, "%CMNT!DVM$%PUTTABCOMTCONSISTENT_WAIT %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_REMOTE_ACCESS_DIR, "%CMNT!DVM$%PUTTABCOMTREMOTE_ACCESS (%IF(%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(DVM_TASK_DIR, "%CMNT!DVM$%PUTTABCOMTTASK %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(DVM_MAP_DIR, "%CMNT!DVM$%PUTTABCOMTMAP %LL1 %IF(%LL2 != %NULL)ONTO %LL2%ENDIF%IF(%LL3 != %NULL)BY %LL3%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
DEFNODECODE(DVM_PREFETCH_DIR, "%CMNT!DVM$%PUTTABCOMTPREFETCH %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_RESET_DIR, "%CMNT!DVM$%PUTTABCOMTRESET %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_DEBUG_DIR, "%CMNT!DVM$%PUTTABCOMTDEBUG %LL1 %IF(%LL2!=%NULL)(%LL2)%ENDIF%NL",
|
||||
's',2,BIFNODE)
|
||||
DEFNODECODE(DVM_ENDDEBUG_DIR, "%CMNT!DVM$%PUTTABCOMTEND DEBUG %LL1%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_INTERVAL_DIR, "%CMNT!DVM$%PUTTABCOMTINTERVAL %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(DVM_EXIT_INTERVAL_DIR, "%CMNT!DVM$%PUTTABCOMTEXIT INTERVAL %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(DVM_ENDINTERVAL_DIR, "%CMNT!DVM$%PUTTABCOMTEND INTERVAL%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_TRACEON_DIR, "%CMNT!DVM$%PUTTABCOMTTRACE ON%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_TRACEOFF_DIR, "%CMNT!DVM$%PUTTABCOMTTRACE OFF%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_BARRIER_DIR, "%CMNT!DVM$%PUTTABCOMTBARRIER%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_CHECK_DIR, "%CMNT!DVM$%PUTTABCOMTCHECK (%LL2) :: %LL1%NL",
|
||||
's',2,BIFNODE)
|
||||
DEFNODECODE(DVM_OWN_DIR, "%CMNT!DVM$%PUTTABCOMTOWN%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_ON_DIR, "%CMNT!DVM$%PUTTABCOMTON %LL1%IF(%LL2 != %NULL), %LL2%ENDIF%NL",
|
||||
's',2,BIFNODE)
|
||||
DEFNODECODE(DVM_END_ON_DIR, "%CMNT!DVM$%PUTTABCOMTEND ON%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_TASK_REGION_DIR, "%CMNT!DVM$%PUTTABCOMTTASK_REGION %SYMBID%IF(%LL2 != %NULL), %LL2%ENDIF%NL",
|
||||
's',2,BIFNODE)
|
||||
DEFNODECODE(DVM_END_TASK_REGION_DIR, "%CMNT!DVM$%PUTTABCOMTEND TASK_REGION%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_POINTER_DIR, "%CMNT!DVM$%PUTTABCOMT%LL3, POINTER(%LL2) :: %LL1%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_F90_DIR, "%CMNT!DVM$%PUTTABCOMTF90 %LL1 = %LL2%NL",
|
||||
's',2,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_ASYNCHRONOUS_DIR, "%CMNT!DVM$%PUTTABCOMTASYNCHRONOUS %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_ENDASYNCHRONOUS_DIR, "%CMNT!DVM$%PUTTABCOMTEND ASYNCHRONOUS%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_ASYNCWAIT_DIR, "%CMNT!DVM$%PUTTABCOMTASYNCWAIT %LL1%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_TEMPLATE_CREATE_DIR, "%CMNT!DVM$%PUTTABCOMTTEMPLATE_CREATE (%LL1)%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_TEMPLATE_DELETE_DIR, "%CMNT!DVM$%PUTTABCOMTTEMPLATE_DELETE (%LL1)%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_VAR_DECL, "%CMNT!DVM$%PUTTABCOMT%SETFLAG(VARLEN)%IF(%LL3 != %NULL)%SETFLAG(DVM)%LL3%UNSETFLAG(DVM):: %SETFLAG(PARAM)%LL1%UNSETFLAG(PARAM)%ELSE%SETFLAG(VARDECL) %LL1%UNSETFLAG(VARDECL)%ENDIF%IF (%CHECKFLAG(VARLEN) != %NULL)%UNSETFLAG(VARLEN)%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_HEAP_DIR, "%CMNT!DVM$%PUTTABCOMTHEAP %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_ASYNCID_DIR, "%CMNT!DVM$%PUTTABCOMTASYNCID%IF(%LL2 != %NULL), COMMON::%ENDIF %LL1%NL",
|
||||
's',2,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_NEW_VALUE_DIR, "%CMNT!DVM$%PUTTABCOMTNEW_VALUE%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_IO_MODE_DIR, "%CMNT!DVM$%PUTTABCOMTIO_MODE (%LL1)%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(DVM_SHADOW_ADD_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_ADD (%LL1 = %LL2)%IF(%LL3!=%NULL) INCLUDE_TO %LL3%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
DEFNODECODE(DVM_LOCALIZE_DIR, "%CMNT!DVM$%PUTTABCOMTLOCALIZE (%LL1 => %LL2)%NL",
|
||||
's',2,BIFNODE)
|
||||
|
||||
DEFNODECODE(ACC_REGION_DIR, "%CMNT!DVM$%PUTTABCOMTREGION %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(ACC_END_REGION_DIR, "%CMNT!DVM$%PUTTABCOMTEND REGION%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ACC_GET_ACTUAL_DIR, "%CMNT!DVM$%PUTTABCOMTGET_ACTUAL%IF(%LL1!=%NULL) (%LL1)%ENDIF%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(ACC_ACTUAL_DIR, "%CMNT!DVM$%PUTTABCOMTACTUAL%IF(%LL1!=%NULL) (%LL1)%ENDIF%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(ACC_CHECKSECTION_DIR, "%CMNT!DVM$%PUTTABCOMTHOSTSECTION%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ACC_END_CHECKSECTION_DIR,"%CMNT!DVM$%PUTTABCOMTEND HOSTSECTION%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ACC_ROUTINE_DIR, "%CMNT!DVM$%PUTTABCOMTROUTINE%IF(%LL1!=%NULL), %LL1%ENDIF%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(ACC_DECLARE_DIR, "%CMNT!DVM$%PUTTABCOMTDECLARE %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_NOWAIT, "NOWAIT",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_PRIVATE, "PRIVATE (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_FIRSTPRIVATE, "FIRSTPRIVATE (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_LASTPRIVATE, "LASTPRIVATE (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_THREADPRIVATE, "/%LL1/",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_COPYIN, "COPYIN (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_SHARED, "SHARED (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_DEFAULT, "DEFAULT (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_ORDERED, "ORDERED",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_IF, "IF (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_NUM_THREADS, "NUM_THREADS (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_REDUCTION, "REDUCTION (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_COLLAPSE, "COLLAPSE (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_SCHEDULE, "SCHEDULE (%LL1%IF(%LL2!=%NULL),%LL2%ENDIF)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_COPYPRIVATE, "COPYPRIVATE (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
|
||||
|
||||
DEFNODECODE(OMP_PARALLEL_DIR, "!$OMP%PUTTABCOMTPARALLEL %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_PARALLEL_DIR, "!$OMP%DECTAB%PUTTABCOMTEND PARALLEL %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_SECTIONS_DIR, "!$OMP%PUTTABCOMTSECTIONS %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_SECTION_DIR, "!$OMP%PUTTABCOMTSECTION%INCTAB%NL%BLOB1%DECTAB",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_SECTIONS_DIR, "!$OMP%DECTAB%PUTTABCOMTEND SECTIONS %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_DO_DIR, "!$OMP%PUTTABCOMTDO %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_DO_DIR, "!$OMP%PUTTABCOMTEND DO %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_SINGLE_DIR, "!$OMP%PUTTABCOMTSINGLE %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_SINGLE_DIR, "!$OMP%DECTAB%PUTTABCOMTEND SINGLE %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_WORKSHARE_DIR, "!$OMP%PUTTABCOMTWORKSHARE %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_WORKSHARE_DIR, "!$OMP%DECTAB%PUTTABCOMTEND WORKSHARE %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_PARALLEL_DO_DIR, "!$OMP%PUTTABCOMTPARALLEL DO %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_PARALLEL_DO_DIR, "!$OMP%PUTTABCOMTEND PARALLEL DO %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_PARALLEL_SECTIONS_DIR, "!$OMP%PUTTABCOMTPARALLEL SECTIONS %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_PARALLEL_SECTIONS_DIR, "!$OMP%DECTAB%PUTTABCOMTEND PARALLEL SECTIONS %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_PARALLEL_WORKSHARE_DIR, "!$OMP%PUTTABCOMTPARALLEL WORKSHARE %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_PARALLEL_WORKSHARE_DIR, "!$OMP%DECTAB%PUTTABCOMTEND PARALLEL WORKSHARE %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_THREADPRIVATE_DIR, "!$OMP%PUTTABCOMTTHREADPRIVATE %IF(%LL1!=%NULL) ( %LL1 )%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_MASTER_DIR, "!$OMP%PUTTABCOMTMASTER%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_MASTER_DIR, "!$OMP%DECTAB%PUTTABCOMTEND MASTER%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_ORDERED_DIR, "!$OMP%PUTTABCOMTORDERED%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_ORDERED_DIR, "!$OMP%DECTAB%PUTTABCOMTEND ORDERED%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_ATOMIC_DIR, "!$OMP%PUTTABCOMTATOMIC%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_BARRIER_DIR, "!$OMP%PUTTABCOMTBARRIER%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_CRITICAL_DIR, "!$OMP%PUTTABCOMTCRITICAL %IF(%LL1!=%NULL) ( %LL1 )%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_CRITICAL_DIR, "!$OMP%DECTAB%PUTTABCOMTEND CRITICAL %IF(%LL1!=%NULL) ( %LL1 )%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_FLUSH_DIR, "!$OMP%PUTTABCOMTFLUSH %IF(%LL1!=%NULL) ( %LL1 )%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(RECORD_DECL, "%CMNT%PUTTABtype %IF (%LL1 != %NULL),%LL1::%ENDIF%SYMBID%INCTAB%NL%BLOB1%DECTAB",
|
||||
'd',0,BIFNODE)
|
||||
|
||||
|
||||
/*****************variant tags for SPF nodes*****************************/
|
||||
DEFNODECODE(SPF_ANALYSIS_DIR, "%CMNT!$SPF%PUTTABCOMTANALYSIS (%LL1)%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SPF_PARALLEL_DIR, "%CMNT!$SPF%PUTTABCOMTPARALLEL (%LL1)%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SPF_TRANSFORM_DIR, "%CMNT!$SPF%PUTTABCOMTTRANSFORM (%LL1)%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SPF_PARALLEL_REG_DIR, "%CMNT!$SPF%PUTTABCOMTPARALLEL_REG %SYMBID %IF(%LL1 != %NULL), APPLY_REGION(%LL1)%ENDIF%IF(%LL2 != %NULL), APPLY_FRAGMENT(%LL2)%ENDIF%NL",
|
||||
's',2,BIFNODE)
|
||||
DEFNODECODE(SPF_END_PARALLEL_REG_DIR, "%CMNT!$SPF%PUTTABCOMTEND PARALLEL_REG%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SPF_CHECKPOINT_DIR, "%CMNT!$SPF%PUTTABCOMTCHECKPOINT (%LL1)%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(SPF_NOINLINE_OP, "NOINLINE",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(SPF_FISSION_OP, "FISSION (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_EXPAND_OP, "EXPAND %IF(%LL1 != %NULL)(%LL1)%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_SHRINK_OP, "SHRINK (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_TYPE_OP, "TYPE (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_VARLIST_OP, "VARLIST (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_EXCEPT_OP, "EXCEPT (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_FILES_COUNT_OP, "FILES_COUNT (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_INTERVAL_OP, "INTERVAL (%LL1, %LL2)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(SPF_TIME_OP, "TIME",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(SPF_ITER_OP, "ITER",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(SPF_FLEXIBLE_OP, "FLEXIBLE",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(SPF_PARAMETER_OP, "PARAMETER (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_UNROLL_OP, "UNROLL %IF(%LL1 != %NULL)(%LL1)%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_MERGE_OP, "MERGE",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(SPF_COVER_OP, "COVER (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_PROCESS_PRIVATE_OP, "PROCESS_PRIVATE (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_WEIGHT_OP, "WEIGHT (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_CODE_COVERAGE_OP, "CODE_COVERAGE",
|
||||
'e',0,LLNODE)
|
||||
|
||||
|
||||
35
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/makefile.uni
Normal file
35
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/makefile.uni
Normal file
@@ -0,0 +1,35 @@
|
||||
#######################################################################
|
||||
## 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
|
||||
48
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/makefile.win
Normal file
48
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/makefile.win
Normal file
@@ -0,0 +1,48 @@
|
||||
#######################################################################
|
||||
## 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) ******"
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
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}")
|
||||
83
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/Makefile
Normal file
83
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/Makefile
Normal file
@@ -0,0 +1,83 @@
|
||||
#######################################################################
|
||||
## 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
|
||||
|
||||
|
||||
|
||||
|
||||
3145
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/annotate.tab.c
Normal file
3145
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/annotate.tab.c
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,74 @@
|
||||
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;
|
||||
1988
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/annotate.y
Normal file
1988
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/annotate.y
Normal file
File diff suppressed because it is too large
Load Diff
694
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/comments.c
Normal file
694
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/comments.c
Normal file
@@ -0,0 +1,694 @@
|
||||
/*********************************************************************/
|
||||
/* 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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
9147
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/low_level.c
Normal file
9147
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/low_level.c
Normal file
File diff suppressed because it is too large
Load Diff
40
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/makefile.uni
Normal file
40
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/makefile.uni
Normal file
@@ -0,0 +1,40 @@
|
||||
#######################################################################
|
||||
## 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)
|
||||
54
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/makefile.win
Normal file
54
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/makefile.win
Normal file
@@ -0,0 +1,54 @@
|
||||
#######################################################################
|
||||
## 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:
|
||||
1043
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/toolsann.c
Normal file
1043
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/toolsann.c
Normal file
File diff suppressed because it is too large
Load Diff
3265
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/unparse.c
Normal file
3265
Sapfor/_projects/dvm/fdvm/trunk/Sage/lib/newsrc/unparse.c
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
||||
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}")
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user