diff --git a/Parser/Makefile b/Parser/Makefile index 27b7fb61e9b91c25611ae7d8b9b9baedaacc189a..f68b38bec061e1957117dd52a3100ec2aa7e016f 100644 --- a/Parser/Makefile +++ b/Parser/Makefile @@ -2,22 +2,20 @@ all: rats jastadd ast: - mkdir -p spec-gen - for f in spec/*.rats ; do f=$$(basename "$$f"); grep "^////" spec/$$f > spec-gen/$${f%.*}.ast ; done ; echo - sed -i 's|//// ||' spec-gen/*.ast + mkdir -p spec-gen/ast + for f in spec/parser/*.rats ; do f=$$(basename "$$f"); grep "^////" spec/parser/$$f > spec-gen/ast/$${f%.*}.ast ; done ; echo + sed -i 's|//// ||' spec-gen/ast/*.ast jastadd: ast mkdir -p src-gen/org/tud/forty/ast rm -f src-gen/org/tud/forty/ast/* - sed -i 's|class PrettyPrint|aspect PrettyPrint|' spec/Printing.jadd - sed -i 's|class PrettyPrint|aspect PrettyPrint|' spec/OmpPrinting.jadd - cd src-gen; java -jar ../tools/jastadd/jastadd2.jar --package="org.tud.forty.ast" --indent='2space' --rewrite=regular ../spec/*.ast ../spec-gen/*.ast ../spec/*.jadd ../spec/*.jrag - sed -i 's|aspect PrettyPrint|class PrettyPrint|' spec/Printing.jadd - sed -i 's|aspect PrettyPrint|class PrettyPrint|' spec/OmpPrinting.jadd + sed -i 's|class PrettyPrint |aspect PrettyPrint |' spec/printer/*.jadd + cd src-gen; java -jar ../tools/jastadd/jastadd2.jar --package="org.tud.forty.ast" --indent='2space' --rewrite=regular ../spec-gen/ast/* ../spec/printer/* ../spec/rewrites/* ../spec/semantics/* + sed -i 's|aspect PrettyPrint|class PrettyPrint|' spec/printer/*.jadd rats: mkdir -p src-gen/org/tud/forty/parser - cd spec; java -jar ../tools/rats.jar -lgpl -out ../src-gen/org/tud/forty/parser SlottableFortranParser.rats + cd spec/parser; java -jar ../../tools/rats.jar -lgpl -out ../../src-gen/org/tud/forty/parser SlottableFortranParser.rats ./minify.sh doc: @@ -26,15 +24,13 @@ doc: clean: rm -rf doc/* - rm -f spec-gen/* + rm -rf spec-gen/* rm -rf src-gen/* dot: - sed -i 's|class PrettyPrint|aspect PrettyPrint|' spec/Printing.jadd - sed -i 's|class PrettyPrint|aspect PrettyPrint|' spec/OmpPrinting.jadd - cd src-gen; java -jar ../tools/jastadd/jastadd2.jar --dot --package="org.tud.forty.ast" --indent='4space' ../spec/*.ast ../spec-gen/*.ast ../spec/*.jadd - sed -i 's|aspect PrettyPrint|class PrettyPrint|' spec/Printing.jadd - sed -i 's|aspect PrettyPrint|class PrettyPrint|' spec/OmpPrinting.jadd + sed -i 's|class PrettyPrint |aspect PrettyPrint |' spec/printer/*.jadd + cd src-gen; java -jar ../tools/jastadd/jastadd2.jar --dot --package="org.tud.forty.ast" --indent='4space' ../spec-gen/ast/* ../spec/printer/* ../spec/rewrites/* ../spec/semantics/* + sed -i 's|aspect PrettyPrint|class PrettyPrint|' spec/printer/*.jadd drfort: javac -cp tools/rats.jar -d tools/DrFort/ src-gen/org/tud/forty/ast/* src-gen/org/tud/forty/parser/* src/DrFort.java diff --git a/Parser/spec/SimpleExpr.ast b/Parser/spec/SimpleExpr.ast deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/Parser/spec/ConditionalLines.rats b/Parser/spec/parser/ConditionalLines.rats similarity index 100% rename from Parser/spec/ConditionalLines.rats rename to Parser/spec/parser/ConditionalLines.rats diff --git a/Parser/spec/ConditionalLinesTokens.rats b/Parser/spec/parser/ConditionalLinesTokens.rats similarity index 100% rename from Parser/spec/ConditionalLinesTokens.rats rename to Parser/spec/parser/ConditionalLinesTokens.rats diff --git a/Parser/spec/Fortran2008.rats b/Parser/spec/parser/Fortran2008.rats similarity index 100% rename from Parser/spec/Fortran2008.rats rename to Parser/spec/parser/Fortran2008.rats diff --git a/Parser/spec/FortranParser.rats b/Parser/spec/parser/FortranParser.rats similarity index 100% rename from Parser/spec/FortranParser.rats rename to Parser/spec/parser/FortranParser.rats diff --git a/Parser/spec/FortranTokens.rats b/Parser/spec/parser/FortranTokens.rats similarity index 100% rename from Parser/spec/FortranTokens.rats rename to Parser/spec/parser/FortranTokens.rats diff --git a/Parser/spec/OpenAcc.rats b/Parser/spec/parser/OpenAcc.rats similarity index 100% rename from Parser/spec/OpenAcc.rats rename to Parser/spec/parser/OpenAcc.rats diff --git a/Parser/spec/OpenAccTokens.rats b/Parser/spec/parser/OpenAccTokens.rats similarity index 100% rename from Parser/spec/OpenAccTokens.rats rename to Parser/spec/parser/OpenAccTokens.rats diff --git a/Parser/spec/OpenMp.rats b/Parser/spec/parser/OpenMp.rats similarity index 100% rename from Parser/spec/OpenMp.rats rename to Parser/spec/parser/OpenMp.rats diff --git a/Parser/spec/OpenMpTokens.rats b/Parser/spec/parser/OpenMpTokens.rats similarity index 100% rename from Parser/spec/OpenMpTokens.rats rename to Parser/spec/parser/OpenMpTokens.rats diff --git a/Parser/spec/SlottableFortranParser.rats b/Parser/spec/parser/SlottableFortranParser.rats similarity index 100% rename from Parser/spec/SlottableFortranParser.rats rename to Parser/spec/parser/SlottableFortranParser.rats diff --git a/Parser/spec/ASTPrinting.jadd b/Parser/spec/printer/ASTPrinting.jadd similarity index 100% rename from Parser/spec/ASTPrinting.jadd rename to Parser/spec/printer/ASTPrinting.jadd diff --git a/Parser/spec/AccPrinting.jadd b/Parser/spec/printer/AccPrinting.jadd similarity index 100% rename from Parser/spec/AccPrinting.jadd rename to Parser/spec/printer/AccPrinting.jadd diff --git a/Parser/spec/ConditionalLinesPrinting.jadd b/Parser/spec/printer/ConditionalLinesPrinting.jadd similarity index 95% rename from Parser/spec/ConditionalLinesPrinting.jadd rename to Parser/spec/printer/ConditionalLinesPrinting.jadd index fe15880fbf7bb8f859d67e1f841e7eb152799ddd..fb0909db6552293fa446dc7cf682f37363e79e13 100644 --- a/Parser/spec/ConditionalLinesPrinting.jadd +++ b/Parser/spec/printer/ConditionalLinesPrinting.jadd @@ -1,4 +1,4 @@ -aspect PrettyPrint { +class PrettyPrint { //// ConditionalExecutableConstruct:ExecutableConstruct ::= ExecutableConstruct; public void ConditionalExecutableConstruct.prettyPrint(PrettyPrinter s) { s.append("!$ "); diff --git a/Parser/spec/OmpPrinting.jadd b/Parser/spec/printer/OmpPrinting.jadd similarity index 100% rename from Parser/spec/OmpPrinting.jadd rename to Parser/spec/printer/OmpPrinting.jadd diff --git a/Parser/spec/Printing.jadd b/Parser/spec/printer/Printing.jadd similarity index 100% rename from Parser/spec/Printing.jadd rename to Parser/spec/printer/Printing.jadd diff --git a/Parser/spec/PrintingCore.jadd b/Parser/spec/printer/PrintingCore.jadd similarity index 100% rename from Parser/spec/PrintingCore.jadd rename to Parser/spec/printer/PrintingCore.jadd diff --git a/Parser/spec/SlotPrinting.jadd b/Parser/spec/printer/SlotPrinting.jadd similarity index 100% rename from Parser/spec/SlotPrinting.jadd rename to Parser/spec/printer/SlotPrinting.jadd diff --git a/Parser/spec/ExprRewrites.jrag b/Parser/spec/rewrites/ExprRewrites.jrag similarity index 100% rename from Parser/spec/ExprRewrites.jrag rename to Parser/spec/rewrites/ExprRewrites.jrag diff --git a/Parser/spec/Fortran2008Rewrites.jrag b/Parser/spec/rewrites/Fortran2008Rewrites.jrag similarity index 100% rename from Parser/spec/Fortran2008Rewrites.jrag rename to Parser/spec/rewrites/Fortran2008Rewrites.jrag diff --git a/Parser/spec/OpenAccRewrites.jrag b/Parser/spec/rewrites/OpenAccRewrites.jrag similarity index 100% rename from Parser/spec/OpenAccRewrites.jrag rename to Parser/spec/rewrites/OpenAccRewrites.jrag diff --git a/Parser/spec/Helpers.jadd b/Parser/spec/semantics/Helpers.jadd similarity index 100% rename from Parser/spec/Helpers.jadd rename to Parser/spec/semantics/Helpers.jadd diff --git a/Parser/spec/Types.jrag b/Parser/spec/semantics/Types.jrag similarity index 100% rename from Parser/spec/Types.jrag rename to Parser/spec/semantics/Types.jrag