From e42a6a0db86345b2670f3965c166dd64cac59e67 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 09:49:44 -0700 Subject: [PATCH 001/110] Unify all FPP tools --- compiler/build.sbt | 76 +-------------- compiler/install | 41 ++++---- .../tools/fpp-depend/project/build.properties | 1 - .../tools/fpp-format/project/build.properties | 1 - .../fpp-from-xml/project/build.properties | 1 - .../fpp-locate-defs/project/build.properties | 1 - .../fpp-locate-uses/project/build.properties | 1 - .../tools/fpp-syntax/project/build.properties | 1 - .../tools/fpp-to-cpp/project/build.properties | 1 - .../fpp-to-json/project/build.properties | 1 - .../tools/fpp-to-xml/project/build.properties | 1 - .../project/build.properties | 0 .../src/main/scala/fpp-check.scala | 2 +- .../src/main/scala/fpp-depend.scala | 2 +- .../src/main/scala/fpp-filenames.scala | 2 +- .../src/main/scala/fpp-format.scala | 4 +- .../src/main/scala/fpp-from-xml.scala | 2 +- .../src/main/scala/fpp-locate-defs.scala | 2 +- .../src/main/scala/fpp-locate-uses.scala | 2 +- .../src/main/scala/fpp-syntax.scala | 4 +- .../src/main/scala/fpp-to-cpp.scala | 2 +- .../src/main/scala/fpp-to-dict.scala | 4 +- .../src/main/scala/fpp-to-json.scala | 4 +- .../src/main/scala/fpp-to-layout.scala | 4 +- .../src/main/scala/fpp-to-xml.scala | 2 +- compiler/tools/fpp/src/main/scala/fpp.scala | 96 +++++++++++++++++++ 26 files changed, 139 insertions(+), 119 deletions(-) delete mode 100644 compiler/tools/fpp-depend/project/build.properties delete mode 100644 compiler/tools/fpp-format/project/build.properties delete mode 100644 compiler/tools/fpp-from-xml/project/build.properties delete mode 100644 compiler/tools/fpp-locate-defs/project/build.properties delete mode 100644 compiler/tools/fpp-locate-uses/project/build.properties delete mode 100644 compiler/tools/fpp-syntax/project/build.properties delete mode 100644 compiler/tools/fpp-to-cpp/project/build.properties delete mode 100644 compiler/tools/fpp-to-json/project/build.properties delete mode 100644 compiler/tools/fpp-to-xml/project/build.properties rename compiler/tools/{fpp-check => fpp}/project/build.properties (100%) rename compiler/tools/{fpp-check => fpp}/src/main/scala/fpp-check.scala (98%) rename compiler/tools/{fpp-depend => fpp}/src/main/scala/fpp-depend.scala (99%) rename compiler/tools/{fpp-filenames => fpp}/src/main/scala/fpp-filenames.scala (98%) rename compiler/tools/{fpp-format => fpp}/src/main/scala/fpp-format.scala (96%) rename compiler/tools/{fpp-from-xml => fpp}/src/main/scala/fpp-from-xml.scala (96%) rename compiler/tools/{fpp-locate-defs => fpp}/src/main/scala/fpp-locate-defs.scala (97%) rename compiler/tools/{fpp-locate-uses => fpp}/src/main/scala/fpp-locate-uses.scala (99%) rename compiler/tools/{fpp-syntax => fpp}/src/main/scala/fpp-syntax.scala (96%) rename compiler/tools/{fpp-to-cpp => fpp}/src/main/scala/fpp-to-cpp.scala (99%) rename compiler/tools/{fpp-to-dict => fpp}/src/main/scala/fpp-to-dict.scala (98%) rename compiler/tools/{fpp-to-json => fpp}/src/main/scala/fpp-to-json.scala (97%) rename compiler/tools/{fpp-to-layout => fpp}/src/main/scala/fpp-to-layout.scala (97%) rename compiler/tools/{fpp-to-xml => fpp}/src/main/scala/fpp-to-xml.scala (98%) create mode 100644 compiler/tools/fpp/src/main/scala/fpp.scala diff --git a/compiler/build.sbt b/compiler/build.sbt index c7f5ecc12..cfc1c0dfc 100644 --- a/compiler/build.sbt +++ b/compiler/build.sbt @@ -29,85 +29,13 @@ lazy val root = (project in file(".")) .settings(settings) .aggregate( lib, - fpp_check, - fpp_depend, - fpp_filenames, - fpp_format, - fpp_from_xml, - fpp_locate_defs, - fpp_locate_uses, - fpp_syntax, - fpp_to_cpp, - fpp_to_json, - fpp_to_xml, - fpp_to_dict, - fpp_to_layout + fpp ) lazy val lib = project .settings(settings) -lazy val fpp_check = (project in file("tools/fpp-check")) - .settings(settings) - .dependsOn(lib) - .enablePlugins(AssemblyPlugin) - -lazy val fpp_depend = (project in file("tools/fpp-depend")) - .settings(settings) - .dependsOn(lib) - .enablePlugins(AssemblyPlugin) - -lazy val fpp_filenames = (project in file("tools/fpp-filenames")) - .settings(settings) - .dependsOn(lib) - .enablePlugins(AssemblyPlugin) - -lazy val fpp_format = (project in file("tools/fpp-format")) - .settings(settings) - .dependsOn(lib) - .enablePlugins(AssemblyPlugin) - -lazy val fpp_syntax = (project in file("tools/fpp-syntax")) - .settings(settings) - .dependsOn(lib) - .enablePlugins(AssemblyPlugin) - -lazy val fpp_from_xml = (project in file("tools/fpp-from-xml")) - .settings(settings) - .dependsOn(lib) - .enablePlugins(AssemblyPlugin) - -lazy val fpp_locate_defs = (project in file("tools/fpp-locate-defs")) - .settings(settings) - .dependsOn(lib) - .enablePlugins(AssemblyPlugin) - -lazy val fpp_locate_uses = (project in file("tools/fpp-locate-uses")) - .settings(settings) - .dependsOn(lib) - .enablePlugins(AssemblyPlugin) - -lazy val fpp_to_cpp = (project in file("tools/fpp-to-cpp")) - .settings(settings) - .dependsOn(lib) - .enablePlugins(AssemblyPlugin) - -lazy val fpp_to_json = (project in file("tools/fpp-to-json")) - .settings(settings) - .dependsOn(lib) - .enablePlugins(AssemblyPlugin) - -lazy val fpp_to_xml = (project in file("tools/fpp-to-xml")) - .settings(settings) - .dependsOn(lib) - .enablePlugins(AssemblyPlugin) - -lazy val fpp_to_dict = (project in file("tools/fpp-to-dict")) - .settings(settings) - .dependsOn(lib) - .enablePlugins(AssemblyPlugin) - -lazy val fpp_to_layout = (project in file("tools/fpp-to-layout")) +lazy val fpp = (project in file("tools/fpp")) .settings(settings) .dependsOn(lib) .enablePlugins(AssemblyPlugin) diff --git a/compiler/install b/compiler/install index b97ace9d6..322dc46a6 100755 --- a/compiler/install +++ b/compiler/install @@ -52,19 +52,19 @@ base=`basename $dest` dest=$dir/$base tools=" -fpp-check -fpp-depend -fpp-filenames -fpp-format -fpp-from-xml -fpp-locate-defs -fpp-locate-uses -fpp-syntax -fpp-to-cpp -fpp-to-json -fpp-to-xml -fpp-to-dict -fpp-to-layout +check +depend +filenames +format +from-xml +locate-defs +locate-uses +syntax +to-cpp +to-json +to-xml +to-dict +to-layout " if git describe --tags --always > /dev/null 2>&1 @@ -91,13 +91,18 @@ sed -i.restore.bak -e "s/val v = .*/val v = \"[unknown version]\"/" \ mkdir -p $dest +echo "Installing fpp at $dest" +jar=`find tools/fpp -name "*$name*assembly*.jar" | grep "target/scala-$scala_version"` +echo " $jar" +cp $jar $dest/fpp.jar +echo '#!/bin/sh +'$java' -jar "`dirname $0`/'fpp'.jar" "$@"' > $dest/fpp +chmod +x $dest/fpp + echo "Installing tools at $dest" for tool in $tools do - jar=`find tools/$tool -name "*$name*assembly*.jar" | grep "target/scala-$scala_version"` - echo " $jar" - cp $jar $dest/$tool.jar echo '#!/bin/sh - '$java' -jar "`dirname $0`/'$tool'.jar" "$@"' > $dest/$tool - chmod +x $dest/$tool + '$java' -jar "`dirname $0`/'fpp'.jar" '$tool' "$@"' > $dest/fpp-$tool + chmod +x $dest/fpp-$tool done diff --git a/compiler/tools/fpp-depend/project/build.properties b/compiler/tools/fpp-depend/project/build.properties deleted file mode 100644 index 3161d2146..000000000 --- a/compiler/tools/fpp-depend/project/build.properties +++ /dev/null @@ -1 +0,0 @@ -sbt.version=1.6.1 diff --git a/compiler/tools/fpp-format/project/build.properties b/compiler/tools/fpp-format/project/build.properties deleted file mode 100644 index 3161d2146..000000000 --- a/compiler/tools/fpp-format/project/build.properties +++ /dev/null @@ -1 +0,0 @@ -sbt.version=1.6.1 diff --git a/compiler/tools/fpp-from-xml/project/build.properties b/compiler/tools/fpp-from-xml/project/build.properties deleted file mode 100644 index 3161d2146..000000000 --- a/compiler/tools/fpp-from-xml/project/build.properties +++ /dev/null @@ -1 +0,0 @@ -sbt.version=1.6.1 diff --git a/compiler/tools/fpp-locate-defs/project/build.properties b/compiler/tools/fpp-locate-defs/project/build.properties deleted file mode 100644 index 3161d2146..000000000 --- a/compiler/tools/fpp-locate-defs/project/build.properties +++ /dev/null @@ -1 +0,0 @@ -sbt.version=1.6.1 diff --git a/compiler/tools/fpp-locate-uses/project/build.properties b/compiler/tools/fpp-locate-uses/project/build.properties deleted file mode 100644 index 3161d2146..000000000 --- a/compiler/tools/fpp-locate-uses/project/build.properties +++ /dev/null @@ -1 +0,0 @@ -sbt.version=1.6.1 diff --git a/compiler/tools/fpp-syntax/project/build.properties b/compiler/tools/fpp-syntax/project/build.properties deleted file mode 100644 index 3161d2146..000000000 --- a/compiler/tools/fpp-syntax/project/build.properties +++ /dev/null @@ -1 +0,0 @@ -sbt.version=1.6.1 diff --git a/compiler/tools/fpp-to-cpp/project/build.properties b/compiler/tools/fpp-to-cpp/project/build.properties deleted file mode 100644 index 3161d2146..000000000 --- a/compiler/tools/fpp-to-cpp/project/build.properties +++ /dev/null @@ -1 +0,0 @@ -sbt.version=1.6.1 diff --git a/compiler/tools/fpp-to-json/project/build.properties b/compiler/tools/fpp-to-json/project/build.properties deleted file mode 100644 index 203e3dcb6..000000000 --- a/compiler/tools/fpp-to-json/project/build.properties +++ /dev/null @@ -1 +0,0 @@ -sbt.version=1.6.1 \ No newline at end of file diff --git a/compiler/tools/fpp-to-xml/project/build.properties b/compiler/tools/fpp-to-xml/project/build.properties deleted file mode 100644 index 3161d2146..000000000 --- a/compiler/tools/fpp-to-xml/project/build.properties +++ /dev/null @@ -1 +0,0 @@ -sbt.version=1.6.1 diff --git a/compiler/tools/fpp-check/project/build.properties b/compiler/tools/fpp/project/build.properties similarity index 100% rename from compiler/tools/fpp-check/project/build.properties rename to compiler/tools/fpp/project/build.properties diff --git a/compiler/tools/fpp-check/src/main/scala/fpp-check.scala b/compiler/tools/fpp/src/main/scala/fpp-check.scala similarity index 98% rename from compiler/tools/fpp-check/src/main/scala/fpp-check.scala rename to compiler/tools/fpp/src/main/scala/fpp-check.scala index eea60a88e..fdbc81974 100644 --- a/compiler/tools/fpp-check/src/main/scala/fpp-check.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-check.scala @@ -50,7 +50,7 @@ object FPPCheck { } } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) val builder = OParser.builder[Options] diff --git a/compiler/tools/fpp-depend/src/main/scala/fpp-depend.scala b/compiler/tools/fpp/src/main/scala/fpp-depend.scala similarity index 99% rename from compiler/tools/fpp-depend/src/main/scala/fpp-depend.scala rename to compiler/tools/fpp/src/main/scala/fpp-depend.scala index a99cbde82..ff9133bde 100644 --- a/compiler/tools/fpp-depend/src/main/scala/fpp-depend.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-depend.scala @@ -116,7 +116,7 @@ object FPPDepend { } } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) val builder = OParser.builder[Options] diff --git a/compiler/tools/fpp-filenames/src/main/scala/fpp-filenames.scala b/compiler/tools/fpp/src/main/scala/fpp-filenames.scala similarity index 98% rename from compiler/tools/fpp-filenames/src/main/scala/fpp-filenames.scala rename to compiler/tools/fpp/src/main/scala/fpp-filenames.scala index 8907f020c..98d5ee4be 100644 --- a/compiler/tools/fpp-filenames/src/main/scala/fpp-filenames.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-filenames.scala @@ -46,7 +46,7 @@ object FPPFilenames { yield files.sorted.map(System.out.println) } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) val builder = OParser.builder[Options] diff --git a/compiler/tools/fpp-format/src/main/scala/fpp-format.scala b/compiler/tools/fpp/src/main/scala/fpp-format.scala similarity index 96% rename from compiler/tools/fpp-format/src/main/scala/fpp-format.scala rename to compiler/tools/fpp/src/main/scala/fpp-format.scala index 2f969878f..400fcd743 100644 --- a/compiler/tools/fpp-format/src/main/scala/fpp-format.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-format.scala @@ -1,4 +1,4 @@ -package fpp.compiler +package fpp.compiler.tools import fpp.compiler.analysis._ import fpp.compiler.ast._ @@ -27,7 +27,7 @@ object FPPFormat { ) } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) def resolveIncludes(options: Options)(tul: List[Ast.TransUnit]): diff --git a/compiler/tools/fpp-from-xml/src/main/scala/fpp-from-xml.scala b/compiler/tools/fpp/src/main/scala/fpp-from-xml.scala similarity index 96% rename from compiler/tools/fpp-from-xml/src/main/scala/fpp-from-xml.scala rename to compiler/tools/fpp/src/main/scala/fpp-from-xml.scala index 521b67e1c..af8984454 100644 --- a/compiler/tools/fpp-from-xml/src/main/scala/fpp-from-xml.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-from-xml.scala @@ -30,7 +30,7 @@ object FPPFromXml { yield XmlFppWriter.File(file.toString, elem) } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) val builder = OParser.builder[Options] diff --git a/compiler/tools/fpp-locate-defs/src/main/scala/fpp-locate-defs.scala b/compiler/tools/fpp/src/main/scala/fpp-locate-defs.scala similarity index 97% rename from compiler/tools/fpp-locate-defs/src/main/scala/fpp-locate-defs.scala rename to compiler/tools/fpp/src/main/scala/fpp-locate-defs.scala index 5a12dc695..18d3cd0ee 100644 --- a/compiler/tools/fpp-locate-defs/src/main/scala/fpp-locate-defs.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-locate-defs.scala @@ -42,7 +42,7 @@ object FPPLocateDefs { } } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) val builder = OParser.builder[Options] diff --git a/compiler/tools/fpp-locate-uses/src/main/scala/fpp-locate-uses.scala b/compiler/tools/fpp/src/main/scala/fpp-locate-uses.scala similarity index 99% rename from compiler/tools/fpp-locate-uses/src/main/scala/fpp-locate-uses.scala rename to compiler/tools/fpp/src/main/scala/fpp-locate-uses.scala index 76561f7e2..e987be4b0 100644 --- a/compiler/tools/fpp-locate-uses/src/main/scala/fpp-locate-uses.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-locate-uses.scala @@ -92,7 +92,7 @@ object FPPLocateUses { } } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) val builder = OParser.builder[Options] diff --git a/compiler/tools/fpp-syntax/src/main/scala/fpp-syntax.scala b/compiler/tools/fpp/src/main/scala/fpp-syntax.scala similarity index 96% rename from compiler/tools/fpp-syntax/src/main/scala/fpp-syntax.scala rename to compiler/tools/fpp/src/main/scala/fpp-syntax.scala index eb7d3c17f..5a29e09f0 100644 --- a/compiler/tools/fpp-syntax/src/main/scala/fpp-syntax.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-syntax.scala @@ -1,4 +1,4 @@ -package fpp.compiler +package fpp.compiler.tools import fpp.compiler.analysis._ import fpp.compiler.ast._ @@ -28,7 +28,7 @@ object FPPSyntax { ) } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) def printAst(options: Options)(tul: List[Ast.TransUnit]): diff --git a/compiler/tools/fpp-to-cpp/src/main/scala/fpp-to-cpp.scala b/compiler/tools/fpp/src/main/scala/fpp-to-cpp.scala similarity index 99% rename from compiler/tools/fpp-to-cpp/src/main/scala/fpp-to-cpp.scala rename to compiler/tools/fpp/src/main/scala/fpp-to-cpp.scala index 63fabcfce..5af74fd38 100644 --- a/compiler/tools/fpp-to-cpp/src/main/scala/fpp-to-cpp.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-to-cpp.scala @@ -121,7 +121,7 @@ object FPPToCpp { } } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) val builder = OParser.builder[Options] diff --git a/compiler/tools/fpp-to-dict/src/main/scala/fpp-to-dict.scala b/compiler/tools/fpp/src/main/scala/fpp-to-dict.scala similarity index 98% rename from compiler/tools/fpp-to-dict/src/main/scala/fpp-to-dict.scala rename to compiler/tools/fpp/src/main/scala/fpp-to-dict.scala index 5bcf4a737..088581369 100644 --- a/compiler/tools/fpp-to-dict/src/main/scala/fpp-to-dict.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-to-dict.scala @@ -1,4 +1,4 @@ -package fpp.compiler +package fpp.compiler.tools import fpp.compiler.analysis._ import fpp.compiler.ast._ @@ -59,7 +59,7 @@ object FPPToDict { } yield () } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) diff --git a/compiler/tools/fpp-to-json/src/main/scala/fpp-to-json.scala b/compiler/tools/fpp/src/main/scala/fpp-to-json.scala similarity index 97% rename from compiler/tools/fpp-to-json/src/main/scala/fpp-to-json.scala rename to compiler/tools/fpp/src/main/scala/fpp-to-json.scala index fa728b97c..849f35ef5 100644 --- a/compiler/tools/fpp-to-json/src/main/scala/fpp-to-json.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-to-json.scala @@ -1,4 +1,4 @@ -package fpp.compiler +package fpp.compiler.tools import fpp.compiler.analysis._ import fpp.compiler.ast._ @@ -30,7 +30,7 @@ object FPPtoJson { } yield () } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) def writeJson ( diff --git a/compiler/tools/fpp-to-layout/src/main/scala/fpp-to-layout.scala b/compiler/tools/fpp/src/main/scala/fpp-to-layout.scala similarity index 97% rename from compiler/tools/fpp-to-layout/src/main/scala/fpp-to-layout.scala rename to compiler/tools/fpp/src/main/scala/fpp-to-layout.scala index fe947416b..466229d7c 100644 --- a/compiler/tools/fpp-to-layout/src/main/scala/fpp-to-layout.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-to-layout.scala @@ -1,4 +1,4 @@ -package fpp.compiler +package fpp.compiler.tools import fpp.compiler.analysis._ import fpp.compiler.ast._ @@ -50,7 +50,7 @@ object FPPToLayout { } yield () } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) diff --git a/compiler/tools/fpp-to-xml/src/main/scala/fpp-to-xml.scala b/compiler/tools/fpp/src/main/scala/fpp-to-xml.scala similarity index 98% rename from compiler/tools/fpp-to-xml/src/main/scala/fpp-to-xml.scala rename to compiler/tools/fpp/src/main/scala/fpp-to-xml.scala index 0b6db6b85..0e8506337 100644 --- a/compiler/tools/fpp-to-xml/src/main/scala/fpp-to-xml.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-to-xml.scala @@ -63,7 +63,7 @@ object FPPToXml { } } - def main(args: Array[String]) = + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) val builder = OParser.builder[Options] diff --git a/compiler/tools/fpp/src/main/scala/fpp.scala b/compiler/tools/fpp/src/main/scala/fpp.scala new file mode 100644 index 000000000..72bbd24c5 --- /dev/null +++ b/compiler/tools/fpp/src/main/scala/fpp.scala @@ -0,0 +1,96 @@ +package fpp.compiler.tools + +import fpp.compiler.analysis._ +import fpp.compiler.ast._ +import fpp.compiler.syntax._ +import fpp.compiler.util._ +import scopt.OParser + +object FPP { + case class Options( + args: Array[String], + command: String + ) + + def command(options: Options) = { + options.command match { + case "check" => FPPCheck.toolMain(options.args) + case "depend" => FPPDepend.toolMain(options.args) + case "filenames" => FPPFilenames.toolMain(options.args) + case "format" => FPPFormat.toolMain(options.args) + case "from-xml" => FPPFromXml.toolMain(options.args) + case "locate-defs" => FPPLocateDefs.toolMain(options.args) + case "locate-uses" => FPPLocateUses.toolMain(options.args) + case "syntax" => FPPSyntax.toolMain(options.args) + case "to-cpp" => FPPToCpp.toolMain(options.args) + case "to-dict" => FPPToDict.toolMain(options.args) + case "to-json" => FPPtoJson.toolMain(options.args) + case "to-layout" => FPPToLayout.toolMain(options.args) + case "to-xml" => FPPToXml.toolMain(options.args) + } + + Right(None) + } + + def main(args: Array[String]) = { + if (args.length >= 1) { + Tool(name).mainMethod( + args.slice(0, 1), + oparser, + Options(args.slice(1, args.length), ""), + command + ) + } else { + Tool(name).mainMethod( + args, + oparser, + Options(args, ""), + command + ) + } + } + + val builder = OParser.builder[Options] + val name = "fpp" + + val oparser = { + import builder._ + OParser.sequence( + programName(name), + head(name, Version.v), + note("""FPP Commands: + +check performs semantic checking of FPP models +depend computes dependencies for FPP source files +filenames writes out the names of C++ files generated from FPP source files +format parses FPP source files and writes out formatted source files +from-xml parses older F Prime XML files and converts them to FPP files +locate-defs parses FPP source files and reports the locations of symbol definitions +locate-uses parses FPP source files and reports the locations of symbols used in the files +syntax parses FPP source files into an abstract syntax tree (AST) and optionally writes out the AST +to-cpp parses FPP models, performs semantic checking on them, and writes out C++ files +to-dict writes JSON dictionaries corresponding to F Prime topologies +to-json parses an FPP model, performs semantic checking on it, and writes out the model in JSON +to-layout writes layout text files for connection graphs within F Prime topologies +"""), + help('h', "help").text("print this message and exit"), + version('v', "version").text("print version and exit"), + arg[String]("COMMAND") + .required() + .action((f, c) => c.copy(command = f)) + .validate(c => + c match { + case "check" | "depend" | "filenames" | "format" | "from-xml" | + "locate-defs" | "locate-uses" | "syntax" | + "to-cpp" | "to-dict" | "to-json" | "to-layout" | "to-xml" => + Right(None) + case _ => Left(s"invalid fpp command '$c'") + } + ), + note(""" +Run 'fpp COMMAND --help' for more information on a command. +""") + ) + } + +} From e6a285706ac2ec9dae3ffd033833b13a57c50a3b Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 10:15:13 -0700 Subject: [PATCH 002/110] Update JNI --- .../META-INF/native-image/jni-config.json | 50 +------------------ 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/compiler/lib/src/main/resources/META-INF/native-image/jni-config.json b/compiler/lib/src/main/resources/META-INF/native-image/jni-config.json index b842ac8c2..f8aba73d8 100644 --- a/compiler/lib/src/main/resources/META-INF/native-image/jni-config.json +++ b/compiler/lib/src/main/resources/META-INF/native-image/jni-config.json @@ -1,54 +1,6 @@ [ { - "name":"fpp.compiler.FPPFormat", - "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] -}, -{ - "name":"fpp.compiler.FPPSyntax", - "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] -}, -{ - "name":"fpp.compiler.FPPToDict", - "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] -}, -{ - "name":"fpp.compiler.FPPToLayout", - "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] -}, -{ - "name":"fpp.compiler.FPPtoJson", - "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] -}, -{ - "name":"fpp.compiler.tools.FPPCheck", - "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] -}, -{ - "name":"fpp.compiler.tools.FPPDepend", - "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] -}, -{ - "name":"fpp.compiler.tools.FPPFilenames", - "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] -}, -{ - "name":"fpp.compiler.tools.FPPFromXml", - "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] -}, -{ - "name":"fpp.compiler.tools.FPPLocateDefs", - "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] -}, -{ - "name":"fpp.compiler.tools.FPPLocateUses", - "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] -}, -{ - "name":"fpp.compiler.tools.FPPToCpp", - "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] -}, -{ - "name":"fpp.compiler.tools.FPPToXml", + "name":"fpp.compiler.tools.FPP", "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] }, { From debd023365f7d352343fa75eb2e8ecc3d1fafe47 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 11:08:29 -0700 Subject: [PATCH 003/110] Fix release build --- compiler/release | 47 ++++++++++++--------- compiler/tools/fpp/src/main/scala/fpp.scala | 3 -- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/compiler/release b/compiler/release index 0457c5df6..e26562844 100755 --- a/compiler/release +++ b/compiler/release @@ -25,10 +25,13 @@ evalp() # Get tool names from a directory get_tool_names() { + prefix="fpp-" dir=$1 - for file in $dir/*.jar + for file in $dir/$prefix* do - basename $file .jar + base=`basename $file` + result="${base#$prefix}" + echo $result done } @@ -86,26 +89,30 @@ print_phase "Constructing binary tools in $native_bin" # Get the tool names from bin tool_names=`get_tool_names bin` +jar_file="bin/fpp.jar" +out_file="$native_bin/fpp" +echo "Building fpp" +evalp "$native_image" $FPP_NATIVE_IMAGE_FLAGS \ + --no-fallback --install-exit-handlers \ + -jar "$jar_file" "$out_file" +if [ $? -ne 0 ] +then + echo "[ERROR] Failed to build $out_file" + exit 1 +fi +sync; sync; sync; +if ! $out_file --help 1>/dev/null +then + echo "[ERROR] $out_file not executable" + exit 1 +fi + # Use GraalVM to convert the jar files to native binaries -for tool_name in $tool_names +for tool in $tool_names do - jar_file="bin/$tool_name.jar" - out_file="$native_bin/$tool_name" - echo "Building $out_file" - evalp "$native_image" $FPP_NATIVE_IMAGE_FLAGS \ - --no-fallback --install-exit-handlers \ - -jar "$jar_file" "$out_file" - if [ $? -ne 0 ] - then - echo "[ERROR] Failed to build $out_file" - exit 1 - fi - sync; sync; sync; - if ! $out_file --help 1>/dev/null - then - echo "[ERROR] $out_file not executable" - exit 1 - fi + echo '#!/bin/sh + "`dirname $0`/fpp" '$tool' "$@"' > $native_bin/fpp-$tool + chmod +x $native_bin/fpp-$tool done sync; sync; sync; diff --git a/compiler/tools/fpp/src/main/scala/fpp.scala b/compiler/tools/fpp/src/main/scala/fpp.scala index 72bbd24c5..62e979024 100644 --- a/compiler/tools/fpp/src/main/scala/fpp.scala +++ b/compiler/tools/fpp/src/main/scala/fpp.scala @@ -1,8 +1,5 @@ package fpp.compiler.tools -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.syntax._ import fpp.compiler.util._ import scopt.OParser From c353b5e32b7aedc8224294385dff2d517e664969 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 12:58:38 -0700 Subject: [PATCH 004/110] Purge XML --- compiler/install | 2 - .../scala/codegen/ComputeGeneratedFiles.scala | 14 +- .../XmlFppWriter/ArrayXmlFppWriter.scala | 79 -- .../XmlFppWriter/ComponentXmlFppWriter.scala | 531 ---------- .../XmlFppWriter/EnumXmlFppWriter.scala | 88 -- .../FormalParamsXmlFppWriter.scala | 72 -- .../XmlFppWriter/PortXmlFppWriter.scala | 62 -- .../XmlFppWriter/StructXmlFppWriter.scala | 106 -- .../XmlFppWriter/TlmPacketSetXmlWriter.scala | 121 --- .../XmlFppWriter/TopologyXmlFppWriter.scala | 186 ---- .../codegen/XmlFppWriter/XmlFppWriter.scala | 435 -------- .../XmlWriter/AnnotationXmlWriter.scala | 26 - .../codegen/XmlWriter/ArrayXmlWriter.scala | 86 -- .../XmlWriter/ComponentXmlWriter.scala | 329 ------- .../codegen/XmlWriter/ComputeXmlFiles.scala | 97 -- .../codegen/XmlWriter/DpPortXmlLowering.scala | 92 -- .../codegen/XmlWriter/EnumXmlWriter.scala | 57 -- .../XmlWriter/FormalParamsXmlWriter.scala | 43 - .../codegen/XmlWriter/FormatXmlWriter.scala | 74 -- .../codegen/XmlWriter/PortXmlWriter.scala | 45 - .../codegen/XmlWriter/StructXmlWriter.scala | 76 -- .../codegen/XmlWriter/TopologyXmlWriter.scala | 99 -- .../codegen/XmlWriter/TypeXmlWriter.scala | 29 - .../codegen/XmlWriter/ValueXmlWriter.scala | 15 - .../scala/codegen/XmlWriter/XmlTags.scala | 57 -- .../scala/codegen/XmlWriter/XmlWriter.scala | 107 -- .../codegen/XmlWriter/XmlWriterState.scala | 121 --- compiler/tools/fpp-from-xml/test/.gitignore | 4 - .../test/array/array_enum.ref.txt | 3 - .../fpp-from-xml/test/array/array_enum.xml | 10 - .../test/array/array_qual_id.ref.txt | 3 - .../fpp-from-xml/test/array/array_qual_id.xml | 10 - .../test/array/array_string.ref.txt | 13 - .../fpp-from-xml/test/array/array_string.xml | 12 - .../tools/fpp-from-xml/test/array/check-fpp | 10 - compiler/tools/fpp-from-xml/test/array/clean | 5 - compiler/tools/fpp-from-xml/test/array/run | 5 - .../tools/fpp-from-xml/test/array/tests.sh | 5 - .../tools/fpp-from-xml/test/array/update-ref | 5 - compiler/tools/fpp-from-xml/test/check-fpp | 10 - compiler/tools/fpp-from-xml/test/clean | 10 - .../fpp-from-xml/test/component/check-fpp | 28 - .../tools/fpp-from-xml/test/component/clean | 5 - .../test/component/commands.ref.txt | 36 - .../fpp-from-xml/test/component/commands.xml | 48 - .../test/component/events.ref.txt | 49 - .../fpp-from-xml/test/component/events.xml | 62 -- .../component/general_ports_active.ref.txt | 28 - .../test/component/general_ports_active.xml | 26 - .../component/general_ports_passive.ref.txt | 21 - .../test/component/general_ports_passive.xml | 24 - .../test/component/import_dictionary.ref.txt | 12 - .../test/component/import_dictionary.xml | 6 - .../test/component/internal_ports.ref.txt | 19 - .../test/component/internal_ports.xml | 30 - .../test/component/parameters.ref.txt | 27 - .../test/component/parameters.xml | 23 - .../tools/fpp-from-xml/test/component/run | 5 - .../test/component/special_ports.ref.txt | 23 - .../test/component/special_ports.xml | 29 - .../test/component/telemetry.ref.txt | 28 - .../fpp-from-xml/test/component/telemetry.xml | 18 - .../component/telemetry_bad_limit.ref.txt | 3 - .../test/component/telemetry_bad_limit.xml | 3 - .../fpp-from-xml/test/component/tests.sh | 12 - .../fpp-from-xml/test/component/update-ref | 5 - .../tools/fpp-from-xml/test/enum/.gitignore | 3 - .../tools/fpp-from-xml/test/enum/check-fpp | 10 - compiler/tools/fpp-from-xml/test/enum/clean | 5 - .../test/enum/enum_kwd_name.ref.txt | 9 - .../fpp-from-xml/test/enum/enum_kwd_name.xml | 12 - .../test/enum/enum_missing_name.ref.txt | 3 - .../test/enum/enum_missing_name.xml | 1 - .../tools/fpp-from-xml/test/enum/enum_ok.fpp | 16 - .../fpp-from-xml/test/enum/enum_ok.ref.txt | 13 - .../tools/fpp-from-xml/test/enum/enum_ok.xml | 12 - compiler/tools/fpp-from-xml/test/enum/run | 5 - .../tools/fpp-from-xml/test/enum/tests.sh | 5 - .../tools/fpp-from-xml/test/enum/update-ref | 5 - .../tools/fpp-from-xml/test/port/check-fpp | 10 - compiler/tools/fpp-from-xml/test/port/clean | 5 - .../test/port/port_cmd_resp.ref.txt | 19 - .../fpp-from-xml/test/port/port_cmd_resp.xml | 26 - .../fpp-from-xml/test/port/port_ok.ref.txt | 18 - .../tools/fpp-from-xml/test/port/port_ok.xml | 34 - compiler/tools/fpp-from-xml/test/port/run | 5 - .../tools/fpp-from-xml/test/port/tests.sh | 4 - .../tools/fpp-from-xml/test/port/update-ref | 5 - .../tools/fpp-from-xml/test/scripts/run.sh | 47 - .../fpp-from-xml/test/scripts/update-ref.sh | 49 - .../tools/fpp-from-xml/test/struct/check-fpp | 10 - compiler/tools/fpp-from-xml/test/struct/clean | 5 - .../test/struct/member_array_of_enum.ref.txt | 19 - .../test/struct/member_array_of_enum.xml | 15 - compiler/tools/fpp-from-xml/test/struct/run | 5 - .../test/struct/struct_format.ref.txt | 17 - .../test/struct/struct_format.xml | 10 - .../struct/struct_missing_member_name.ref.txt | 3 - .../struct/struct_missing_member_name.xml | 5 - .../test/struct/struct_ok.ref.txt | 24 - .../fpp-from-xml/test/struct/struct_ok.xml | 20 - .../tools/fpp-from-xml/test/struct/tests.sh | 6 - .../tools/fpp-from-xml/test/struct/update-ref | 5 - .../tools/fpp-from-xml/test/syntax/check-fpp | 10 - compiler/tools/fpp-from-xml/test/syntax/clean | 5 - .../test/syntax/parse_error.ref.txt | 3 - .../fpp-from-xml/test/syntax/parse_error.xml | 1 - compiler/tools/fpp-from-xml/test/syntax/run | 5 - .../tools/fpp-from-xml/test/syntax/tests.sh | 3 - .../tools/fpp-from-xml/test/syntax/update-ref | 5 - compiler/tools/fpp-from-xml/test/test | 6 - .../tools/fpp-from-xml/test/top/check-fpp | 15 - compiler/tools/fpp-from-xml/test/top/clean | 5 - .../fpp-from-xml/test/top/fprime_ref.ref.txt | 321 ------ .../fpp-from-xml/test/top/fprime_ref.xml | 927 ------------------ .../test/top/fprime_ref_packets.fpp | 5 - .../test/top/fprime_ref_packets.ref.txt | 265 ----- .../test/top/fprime_ref_packets.xml | 261 ----- compiler/tools/fpp-from-xml/test/top/run | 5 - compiler/tools/fpp-from-xml/test/top/tests.sh | 4 - .../tools/fpp-from-xml/test/top/update-ref | 5 - compiler/tools/fpp-to-xml/test/.gitignore | 10 - compiler/tools/fpp-to-xml/test/README.adoc | 22 - compiler/tools/fpp-to-xml/test/T.hpp | 34 - compiler/tools/fpp-to-xml/test/Time.hpp | 94 -- .../test/array/ArrayEnum1ArrayAi.ref.xml | 19 - .../test/array/ArrayEnum2ArrayAi.ref.xml | 19 - .../test/array/ArrayEnumE1EnumAi.ref.xml | 11 - .../test/array/ArrayEnumE2EnumAi.ref.xml | 12 - .../test/array/ArrayOK1ArrayAi.ref.xml | 18 - .../test/array/ArrayOK2ArrayAi.ref.xml | 17 - .../test/array/ArrayOK3ArrayAi.ref.xml | 15 - .../test/array/ArrayOK4ArrayAi.ref.xml | 21 - .../test/array/ArrayOK5ArrayAi.ref.xml | 17 - .../array/ArraySpecialCommentArrayAi.ref.xml | 21 - .../test/array/ArrayStruct1ArrayAi.ref.xml | 16 - .../test/array/ArrayStruct2ArrayAi.ref.xml | 20 - .../ArrayStructMemberArrayArrayAi.ref.xml | 17 - ...rayStructMemberArraySerializableAi.ref.xml | 19 - .../array/ArrayStructS1SerializableAi.ref.xml | 50 - .../array/ArrayStructS2SerializableAi.ref.xml | 14 - .../fpp-to-xml/test/array/array_enum.fpp | 24 - .../fpp-to-xml/test/array/array_enum.ref.txt | 0 .../tools/fpp-to-xml/test/array/array_ok.fpp | 24 - .../fpp-to-xml/test/array/array_ok.ref.txt | 0 .../test/array/array_special_comment.fpp | 3 - .../test/array/array_special_comment.ref.txt | 0 .../fpp-to-xml/test/array/array_struct.fpp | 29 - .../test/array/array_struct.ref.txt | 0 .../test/array/array_struct_member_array.fpp | 13 - .../array/array_struct_member_array.ref.txt | 0 .../tools/fpp-to-xml/test/array/check-xml | 19 - compiler/tools/fpp-to-xml/test/array/clean | 5 - compiler/tools/fpp-to-xml/test/array/run | 5 - compiler/tools/fpp-to-xml/test/array/run.sh | 31 - compiler/tools/fpp-to-xml/test/array/tests.sh | 7 - .../tools/fpp-to-xml/test/array/update-ref | 5 - .../tools/fpp-to-xml/test/array/update-ref.sh | 33 - compiler/tools/fpp-to-xml/test/check-xml | 10 - compiler/tools/fpp-to-xml/test/clean | 10 - .../test/component/CmdPortAi.ref.xml | 8 - .../test/component/CmdRegPortAi.ref.xml | 8 - .../test/component/CmdResponsePortAi.ref.xml | 8 - .../component/CommandsComponentAi.ref.xml | 48 - .../component/DpBufferRequestPortAi.ref.xml | 8 - .../test/component/DpBufferSendPortAi.ref.xml | 8 - .../test/component/DpGetPortAi.ref.xml | 8 - .../test/component/DpRequestPortAi.ref.xml | 8 - .../test/component/DpResponsePortAi.ref.xml | 8 - .../test/component/DpSendPortAi.ref.xml | 8 - .../test/component/EmptyComponentAi.ref.xml | 9 - .../test/component/EventsComponentAi.ref.xml | 35 - .../GeneralPorts1ComponentAi.ref.xml | 31 - .../GeneralPorts2ComponentAi.ref.xml | 28 - .../InternalPortsComponentAi.ref.xml | 38 - .../test/component/LogPortAi.ref.xml | 8 - .../test/component/LogTextPortAi.ref.xml | 8 - .../fpp-to-xml/test/component/PPortAi.ref.xml | 8 - .../component/ParametersComponentAi.ref.xml | 34 - .../test/component/PrmGetPortAi.ref.xml | 8 - .../test/component/PrmSetPortAi.ref.xml | 8 - .../ProductRecvPortAsyncComponentAi.ref.xml | 15 - .../ProductRecvPortGuardedComponentAi.ref.xml | 15 - .../component/SpecialPortsComponentAi.ref.xml | 37 - .../component/TelemetryComponentAi.ref.xml | 29 - .../test/component/TimePortAi.ref.xml | 8 - .../test/component/TlmPortAi.ref.xml | 8 - .../test/component/TypesComponentAi.ref.xml | 14 - .../test/component/Types_AArrayAi.ref.xml | 16 - .../test/component/Types_AUseArrayAi.ref.xml | 17 - .../test/component/Types_EEnumAi.ref.xml | 9 - .../test/component/Types_EUseArrayAi.ref.xml | 17 - .../component/Types_SSerializableAi.ref.xml | 16 - .../test/component/Types_SUseArrayAi.ref.xml | 17 - .../fpp-to-xml/test/component/Types_T.hpp | 38 - .../test/component/Types_TUseArrayAi.ref.xml | 17 - .../tools/fpp-to-xml/test/component/check-xml | 20 - .../tools/fpp-to-xml/test/component/clean | 5 - .../fpp-to-xml/test/component/commands.fpp | 25 - .../test/component/commands.ref.txt | 0 .../tools/fpp-to-xml/test/component/empty.fpp | 7 - .../fpp-to-xml/test/component/empty.ref.txt | 0 .../fpp-to-xml/test/component/events.fpp | 15 - .../fpp-to-xml/test/component/events.ref.txt | 0 .../test/component/general_ports.fpp | 35 - .../test/component/general_ports.ref.txt | 0 .../test/component/internal_ports.fpp | 14 - .../test/component/internal_ports.ref.txt | 0 .../fpp-to-xml/test/component/parameters.fpp | 19 - .../test/component/parameters.ref.txt | 0 .../tools/fpp-to-xml/test/component/ports.fpp | 23 - .../fpp-to-xml/test/component/ports.ref.txt | 0 .../component/product_recv_port_async.fpp | 9 - .../component/product_recv_port_async.ref.txt | 0 .../component/product_recv_port_guarded.fpp | 9 - .../product_recv_port_guarded.ref.txt | 0 compiler/tools/fpp-to-xml/test/component/run | 5 - .../tools/fpp-to-xml/test/component/run.sh | 85 -- .../test/component/special_ports.fpp | 24 - .../test/component/special_ports.ref.txt | 0 .../fpp-to-xml/test/component/telemetry.fpp | 16 - .../test/component/telemetry.ref.txt | 0 .../tools/fpp-to-xml/test/component/tests.sh | 14 - .../tools/fpp-to-xml/test/component/types.fpp | 20 - .../test/component/types.names.ref.txt | 8 - .../fpp-to-xml/test/component/types.ref.txt | 0 .../fpp-to-xml/test/component/update-ref | 5 - .../fpp-to-xml/test/component/update-ref.sh | 85 -- .../test/enum/DefaultEnumAi.ref.xml | 13 - .../test/enum/ExplicitEnumAi.ref.xml | 13 - .../test/enum/ImplicitEnumAi.ref.xml | 13 - .../test/enum/SerializeTypeEnumAi.ref.xml | 13 - compiler/tools/fpp-to-xml/test/enum/check-xml | 5 - compiler/tools/fpp-to-xml/test/enum/clean | 5 - .../tools/fpp-to-xml/test/enum/default.fpp | 9 - .../fpp-to-xml/test/enum/default.ref.txt | 0 .../tools/fpp-to-xml/test/enum/explicit.fpp | 9 - .../fpp-to-xml/test/enum/explicit.ref.txt | 0 .../tools/fpp-to-xml/test/enum/implicit.fpp | 9 - .../fpp-to-xml/test/enum/implicit.ref.txt | 0 compiler/tools/fpp-to-xml/test/enum/run | 5 - compiler/tools/fpp-to-xml/test/enum/run.sh | 23 - .../fpp-to-xml/test/enum/serialize_type.fpp | 9 - .../test/enum/serialize_type.ref.txt | 0 compiler/tools/fpp-to-xml/test/enum/tests.sh | 6 - .../tools/fpp-to-xml/test/enum/update-ref | 5 - .../tools/fpp-to-xml/test/enum/update-ref.sh | 23 - compiler/tools/fpp-to-xml/test/port/A.fpp | 5 - compiler/tools/fpp-to-xml/test/port/A.ref.txt | 0 .../fpp-to-xml/test/port/AArrayAi.ref.xml | 16 - compiler/tools/fpp-to-xml/test/port/E.fpp | 5 - compiler/tools/fpp-to-xml/test/port/E.ref.txt | 0 .../fpp-to-xml/test/port/EEnumAi.ref.xml | 11 - .../test/port/PortKwdNamePortAi.ref.xml | 11 - .../test/port/PortOK1PortAi.ref.xml | 8 - .../test/port/PortOK2PortAi.ref.xml | 18 - .../test/port/PortOK3PortAi.ref.xml | 13 - .../test/port/PortOK4PortAi.ref.xml | 16 - compiler/tools/fpp-to-xml/test/port/S.fpp | 5 - compiler/tools/fpp-to-xml/test/port/S.ref.txt | 0 .../test/port/SSerializableAi.ref.xml | 16 - compiler/tools/fpp-to-xml/test/port/check-xml | 5 - compiler/tools/fpp-to-xml/test/port/clean | 5 - .../fpp-to-xml/test/port/port_kwd_name.fpp | 8 - .../test/port/port_kwd_name.ref.txt | 0 .../tools/fpp-to-xml/test/port/port_ok.fpp | 29 - .../fpp-to-xml/test/port/port_ok.ref.txt | 0 compiler/tools/fpp-to-xml/test/port/run | 5 - compiler/tools/fpp-to-xml/test/port/run.sh | 26 - compiler/tools/fpp-to-xml/test/port/tests.sh | 5 - .../tools/fpp-to-xml/test/port/update-ref | 5 - .../tools/fpp-to-xml/test/port/update-ref.sh | 22 - .../fpp-to-xml/test/scripts/check-xml.sh | 41 - .../tools/fpp-to-xml/test/scripts/clean.sh | 10 - compiler/tools/fpp-to-xml/test/scripts/run.sh | 53 - .../fpp-to-xml/test/scripts/update-ref.sh | 53 - .../fpp-to-xml/test/struct/EEnumAi.ref.xml | 10 - .../struct/IncludedSerializableAi.ref.xml | 16 - .../struct/IncludingSerializableAi.ref.xml | 14 - .../StructAbsTypeSerializableAi.ref.xml | 14 - .../StructDefaultSerializableAi.ref.xml | 19 - .../StructEnumMemberSerializableAi.ref.xml | 14 - .../struct/StructFormatSerializableAi.ref.xml | 61 -- .../StructModules1SerializableAi.ref.xml | 16 - .../StructModules2SerializableAi.ref.xml | 14 - .../StructModules3SerializableAi.ref.xml | 14 - .../struct/StructOK1SerializableAi.ref.xml | 50 - .../struct/StructOK2SerializableAi.ref.xml | 14 - .../StructStringArraySerializableAi.ref.xml | 16 - .../struct/StructStringSerializableAi.ref.xml | 16 - .../tools/fpp-to-xml/test/struct/check-xml | 5 - compiler/tools/fpp-to-xml/test/struct/clean | 5 - .../test/struct/duplicate_xml_file.fpp | 5 - .../test/struct/duplicate_xml_file.ref.txt | 9 - .../fpp-to-xml/test/struct/empty_struct.fpp | 1 - .../test/struct/empty_struct.ref.txt | 5 - .../tools/fpp-to-xml/test/struct/enum.fpp | 8 - .../tools/fpp-to-xml/test/struct/enum.ref.txt | 0 .../tools/fpp-to-xml/test/struct/include.fpp | 7 - .../fpp-to-xml/test/struct/include.ref.txt | 0 .../test/struct/include/included.fppi | 1 - .../StructOutputDirSerializableAi.ref.xml | 16 - .../struct/output_dir/struct_output_dir.fpp | 4 - .../output_dir/struct_output_dir.ref.txt | 0 compiler/tools/fpp-to-xml/test/struct/run | 5 - compiler/tools/fpp-to-xml/test/struct/run.sh | 122 --- .../test/struct/struct_abs_type.fpp | 2 - .../test/struct/struct_abs_type.ref.txt | 0 .../fpp-to-xml/test/struct/struct_default.fpp | 5 - .../test/struct/struct_default.ref.txt | 0 .../test/struct/struct_enum_member.fpp | 5 - .../test/struct/struct_enum_member.ref.txt | 0 .../fpp-to-xml/test/struct/struct_format.fpp | 19 - .../test/struct/struct_format.ref.txt | 0 .../fpp-to-xml/test/struct/struct_modules.fpp | 13 - .../test/struct/struct_modules.ref.txt | 0 .../fpp-to-xml/test/struct/struct_ok.fpp | 22 - .../test/struct/struct_ok.names.ref.txt | 2 - .../fpp-to-xml/test/struct/struct_ok.ref.txt | 0 .../fpp-to-xml/test/struct/struct_string.fpp | 4 - .../test/struct/struct_string.ref.txt | 0 .../test/struct/struct_string_array.fpp | 4 - .../test/struct/struct_string_array.ref.txt | 0 .../tools/fpp-to-xml/test/struct/tests.sh | 16 - .../tools/fpp-to-xml/test/struct/update-ref | 5 - .../fpp-to-xml/test/struct/update-ref.sh | 72 -- compiler/tools/fpp-to-xml/test/test | 6 - .../test/top_basic/C1ComponentAi.ref.xml | 15 - .../test/top_basic/C2ComponentAi.ref.xml | 15 - .../fpp-to-xml/test/top_basic/PPortAi.ref.xml | 8 - .../test/top_basic/TTopologyAppAi.ref.xml | 22 - .../tools/fpp-to-xml/test/top_basic/basic.fpp | 31 - .../fpp-to-xml/test/top_basic/basic.ref.txt | 0 .../tools/fpp-to-xml/test/top_basic/check-xml | 5 - .../tools/fpp-to-xml/test/top_basic/clean | 5 - compiler/tools/fpp-to-xml/test/top_basic/run | 5 - .../tools/fpp-to-xml/test/top_basic/run.sh | 5 - .../tools/fpp-to-xml/test/top_basic/tests.sh | 3 - .../fpp-to-xml/test/top_basic/update-ref | 5 - .../fpp-to-xml/test/top_basic/update-ref.sh | 5 - .../top_import/basic/AComponentAi.ref.xml | 15 - .../top_import/basic/BComponentAi.ref.xml | 15 - .../test/top_import/basic/PPortAi.ref.xml | 8 - .../top_import/basic/TTopologyAppAi.ref.xml | 30 - .../test/top_import/basic/check-xml | 5 - .../fpp-to-xml/test/top_import/basic/clean | 5 - .../test/top_import/basic/import_basic.fpp | 45 - .../top_import/basic/import_basic.ref.txt | 0 .../fpp-to-xml/test/top_import/basic/run | 5 - .../fpp-to-xml/test/top_import/basic/run.sh | 5 - .../fpp-to-xml/test/top_import/basic/tests.sh | 3 - .../test/top_import/basic/update-ref | 5 - .../test/top_import/basic/update-ref.sh | 5 - .../top_import/merge/AComponentAi.ref.xml | 15 - .../top_import/merge/BComponentAi.ref.xml | 15 - .../test/top_import/merge/PPortAi.ref.xml | 8 - .../top_import/merge/TTopologyAppAi.ref.xml | 31 - .../test/top_import/merge/check-xml | 5 - .../fpp-to-xml/test/top_import/merge/clean | 5 - .../test/top_import/merge/import_merge.fpp | 46 - .../top_import/merge/import_merge.ref.txt | 0 .../fpp-to-xml/test/top_import/merge/run | 5 - .../fpp-to-xml/test/top_import/merge/run.sh | 5 - .../fpp-to-xml/test/top_import/merge/tests.sh | 3 - .../test/top_import/merge/update-ref | 5 - .../test/top_import/merge/update-ref.sh | 5 - .../top_import/pattern/CComponentAi.ref.xml | 15 - .../top_import/pattern/TTopologyAppAi.ref.xml | 27 - .../pattern/TimeComponentAi.ref.xml | 15 - .../top_import/pattern/TimePortAi.ref.xml | 12 - .../test/top_import/pattern/check-xml | 5 - .../fpp-to-xml/test/top_import/pattern/clean | 5 - .../top_import/pattern/import_pattern.fpp | 25 - .../top_import/pattern/import_pattern.ref.txt | 0 .../fpp-to-xml/test/top_import/pattern/run | 5 - .../fpp-to-xml/test/top_import/pattern/run.sh | 5 - .../test/top_import/pattern/tests.sh | 3 - .../test/top_import/pattern/update-ref | 5 - .../test/top_import/pattern/update-ref.sh | 5 - .../top_import/port_num/AComponentAi.ref.xml | 15 - .../top_import/port_num/BComponentAi.ref.xml | 15 - .../test/top_import/port_num/PPortAi.ref.xml | 8 - .../port_num/TTopologyAppAi.ref.xml | 31 - .../test/top_import/port_num/check-xml | 5 - .../fpp-to-xml/test/top_import/port_num/clean | 5 - .../top_import/port_num/import_port_num.fpp | 46 - .../port_num/import_port_num.ref.txt | 0 .../fpp-to-xml/test/top_import/port_num/run | 5 - .../test/top_import/port_num/run.sh | 5 - .../test/top_import/port_num/tests.sh | 3 - .../test/top_import/port_num/update-ref | 5 - .../test/top_import/port_num/update-ref.sh | 5 - .../top_import/private/AComponentAi.ref.xml | 15 - .../top_import/private/BComponentAi.ref.xml | 15 - .../test/top_import/private/PPortAi.ref.xml | 8 - .../top_import/private/TTopologyAppAi.ref.xml | 22 - .../test/top_import/private/check-xml | 5 - .../fpp-to-xml/test/top_import/private/clean | 5 - .../top_import/private/import_private.fpp | 45 - .../top_import/private/import_private.ref.txt | 0 .../fpp-to-xml/test/top_import/private/run | 5 - .../fpp-to-xml/test/top_import/private/run.sh | 5 - .../test/top_import/private/tests.sh | 3 - .../test/top_import/private/update-ref | 5 - .../test/top_import/private/update-ref.sh | 5 - .../transitive/AComponentAi.ref.xml | 15 - .../transitive/BComponentAi.ref.xml | 15 - .../top_import/transitive/PPortAi.ref.xml | 8 - .../transitive/TTopologyAppAi.ref.xml | 22 - .../test/top_import/transitive/check-xml | 5 - .../test/top_import/transitive/clean | 5 - .../transitive/import_transitive.fpp | 42 - .../transitive/import_transitive.ref.txt | 0 .../fpp-to-xml/test/top_import/transitive/run | 5 - .../test/top_import/transitive/run.sh | 5 - .../test/top_import/transitive/tests.sh | 3 - .../test/top_import/transitive/update-ref | 5 - .../test/top_import/transitive/update-ref.sh | 5 - .../top_numbering/general/PPortAi.ref.xml | 8 - .../general/SourceComponentAi.ref.xml | 15 - .../general/TTopologyAppAi.ref.xml | 38 - .../general/TargetComponentAi.ref.xml | 15 - .../test/top_numbering/general/check-xml | 5 - .../test/top_numbering/general/clean | 5 - .../general/numbering_general.fpp | 33 - .../general/numbering_general.ref.txt | 0 .../fpp-to-xml/test/top_numbering/general/run | 5 - .../test/top_numbering/general/run.sh | 5 - .../test/top_numbering/general/tests.sh | 3 - .../test/top_numbering/general/update-ref | 5 - .../test/top_numbering/general/update-ref.sh | 5 - .../top_numbering/matched/PPortAi.ref.xml | 8 - .../matched/SourceComponentAi.ref.xml | 16 - .../matched/TTopologyAppAi.ref.xml | 44 - .../matched/TargetComponentAi.ref.xml | 16 - .../test/top_numbering/matched/check-xml | 5 - .../test/top_numbering/matched/clean | 5 - .../matched/numbering_matched.fpp | 45 - .../matched/numbering_matched.ref.txt | 0 .../fpp-to-xml/test/top_numbering/matched/run | 5 - .../test/top_numbering/matched/run.sh | 5 - .../test/top_numbering/matched/tests.sh | 3 - .../test/top_numbering/matched/update-ref | 5 - .../test/top_numbering/matched/update-ref.sh | 5 - .../test/top_numbering/unmatched/.gitignore | 4 - .../unmatched/TTopologyAppAi.ref.xml | 124 --- .../test/top_numbering/unmatched/check-xml | 5 - .../test/top_numbering/unmatched/clean | 9 - .../test/top_numbering/unmatched/gen-layout | 18 - .../unmatched/numbering_unmatched.fpp | 119 --- .../unmatched/numbering_unmatched.ref.txt | 0 .../test/top_numbering/unmatched/run | 5 - .../test/top_numbering/unmatched/run.sh | 5 - .../test/top_numbering/unmatched/tests.sh | 3 - .../test/top_numbering/unmatched/update-ref | 5 - .../top_numbering/unmatched/update-ref.sh | 5 - .../top_pattern/command/CComponentAi.ref.xml | 19 - .../top_pattern/command/CmdPortAi.ref.xml | 8 - .../top_pattern/command/CmdRegPortAi.ref.xml | 8 - .../command/CmdResponsePortAi.ref.xml | 8 - .../command/CommandsComponentAi.ref.xml | 19 - .../command/TTopologyAppAi.ref.xml | 49 - .../test/top_pattern/command/check-xml | 5 - .../fpp-to-xml/test/top_pattern/command/clean | 5 - .../top_pattern/command/pattern_command.fpp | 28 - .../command/pattern_command.ref.txt | 0 .../fpp-to-xml/test/top_pattern/command/run | 5 - .../test/top_pattern/command/run.sh | 5 - .../test/top_pattern/command/tests.sh | 3 - .../test/top_pattern/command/update-ref | 5 - .../test/top_pattern/command/update-ref.sh | 5 - .../command_list/CComponentAi.ref.xml | 19 - .../command_list/CmdPortAi.ref.xml | 8 - .../command_list/CmdRegPortAi.ref.xml | 8 - .../command_list/CmdResponsePortAi.ref.xml | 8 - .../command_list/CommandsComponentAi.ref.xml | 19 - .../command_list/TTopologyAppAi.ref.xml | 37 - .../test/top_pattern/command_list/check-xml | 5 - .../test/top_pattern/command_list/clean | 5 - .../command_list/pattern_command_list.fpp | 28 - .../command_list/pattern_command_list.ref.txt | 0 .../test/top_pattern/command_list/run | 5 - .../test/top_pattern/command_list/run.sh | 5 - .../test/top_pattern/command_list/tests.sh | 3 - .../test/top_pattern/command_list/update-ref | 5 - .../top_pattern/command_list/update-ref.sh | 5 - .../top_pattern/event/CComponentAi.ref.xml | 17 - .../event/EventsComponentAi.ref.xml | 15 - .../test/top_pattern/event/LogPortAi.ref.xml | 8 - .../top_pattern/event/TTopologyAppAi.ref.xml | 27 - .../test/top_pattern/event/TimePortAi.ref.xml | 12 - .../test/top_pattern/event/check-xml | 5 - .../fpp-to-xml/test/top_pattern/event/clean | 5 - .../test/top_pattern/event/pattern_event.fpp | 23 - .../top_pattern/event/pattern_event.ref.txt | 0 .../fpp-to-xml/test/top_pattern/event/run | 5 - .../fpp-to-xml/test/top_pattern/event/run.sh | 5 - .../test/top_pattern/event/tests.sh | 3 - .../test/top_pattern/event/update-ref | 5 - .../test/top_pattern/event/update-ref.sh | 5 - .../event_list/CComponentAi.ref.xml | 17 - .../event_list/EventsComponentAi.ref.xml | 15 - .../top_pattern/event_list/LogPortAi.ref.xml | 8 - .../event_list/TTopologyAppAi.ref.xml | 23 - .../top_pattern/event_list/TimePortAi.ref.xml | 12 - .../test/top_pattern/event_list/check-xml | 5 - .../test/top_pattern/event_list/clean | 5 - .../event_list/pattern_event_list.fpp | 23 - .../event_list/pattern_event_list.ref.txt | 0 .../test/top_pattern/event_list/run | 5 - .../test/top_pattern/event_list/run.sh | 5 - .../test/top_pattern/event_list/tests.sh | 3 - .../test/top_pattern/event_list/update-ref | 5 - .../test/top_pattern/event_list/update-ref.sh | 5 - .../top_pattern/health/CComponentAi.ref.xml | 16 - .../health/HealthComponentAi.ref.xml | 16 - .../top_pattern/health/PingPortAi.ref.xml | 8 - .../top_pattern/health/TTopologyAppAi.ref.xml | 35 - .../test/top_pattern/health/check-xml | 5 - .../fpp-to-xml/test/top_pattern/health/clean | 5 - .../top_pattern/health/pattern_health.fpp | 23 - .../top_pattern/health/pattern_health.ref.txt | 0 .../fpp-to-xml/test/top_pattern/health/run | 5 - .../fpp-to-xml/test/top_pattern/health/run.sh | 5 - .../test/top_pattern/health/tests.sh | 3 - .../test/top_pattern/health/update-ref | 5 - .../test/top_pattern/health/update-ref.sh | 5 - .../health_list/CComponentAi.ref.xml | 16 - .../health_list/HealthComponentAi.ref.xml | 16 - .../health_list/PingPortAi.ref.xml | 8 - .../health_list/TTopologyAppAi.ref.xml | 27 - .../test/top_pattern/health_list/check-xml | 5 - .../test/top_pattern/health_list/clean | 5 - .../health_list/pattern_health_list.fpp | 23 - .../health_list/pattern_health_list.ref.txt | 0 .../test/top_pattern/health_list/run | 5 - .../test/top_pattern/health_list/run.sh | 5 - .../test/top_pattern/health_list/tests.sh | 3 - .../test/top_pattern/health_list/update-ref | 5 - .../top_pattern/health_list/update-ref.sh | 5 - .../top_pattern/param/CComponentAi.ref.xml | 17 - .../param/HealthComponentAi.ref.xml | 16 - .../param/ParametersComponentAi.ref.xml | 17 - .../test/top_pattern/param/PingPortAi.ref.xml | 8 - .../top_pattern/param/PrmGetPortAi.ref.xml | 8 - .../top_pattern/param/PrmSetPortAi.ref.xml | 8 - .../top_pattern/param/TTopologyAppAi.ref.xml | 35 - .../test/top_pattern/param/check-xml | 5 - .../fpp-to-xml/test/top_pattern/param/clean | 5 - .../test/top_pattern/param/pattern_param.fpp | 23 - .../top_pattern/param/pattern_param.ref.txt | 0 .../fpp-to-xml/test/top_pattern/param/run | 5 - .../fpp-to-xml/test/top_pattern/param/run.sh | 5 - .../test/top_pattern/param/tests.sh | 3 - .../test/top_pattern/param/update-ref | 5 - .../test/top_pattern/param/update-ref.sh | 5 - .../param_list/CComponentAi.ref.xml | 17 - .../param_list/HealthComponentAi.ref.xml | 16 - .../param_list/ParametersComponentAi.ref.xml | 17 - .../top_pattern/param_list/PingPortAi.ref.xml | 8 - .../param_list/PrmGetPortAi.ref.xml | 8 - .../param_list/PrmSetPortAi.ref.xml | 8 - .../param_list/TTopologyAppAi.ref.xml | 27 - .../test/top_pattern/param_list/check-xml | 5 - .../test/top_pattern/param_list/clean | 5 - .../param_list/pattern_param_list.fpp | 23 - .../param_list/pattern_param_list.ref.txt | 0 .../test/top_pattern/param_list/run | 5 - .../test/top_pattern/param_list/run.sh | 5 - .../test/top_pattern/param_list/tests.sh | 3 - .../test/top_pattern/param_list/update-ref | 5 - .../test/top_pattern/param_list/update-ref.sh | 5 - .../telemetry/CComponentAi.ref.xml | 17 - .../telemetry/TTopologyAppAi.ref.xml | 27 - .../telemetry/TelemetryComponentAi.ref.xml | 15 - .../top_pattern/telemetry/TimePortAi.ref.xml | 12 - .../top_pattern/telemetry/TlmPortAi.ref.xml | 8 - .../test/top_pattern/telemetry/check-xml | 5 - .../test/top_pattern/telemetry/clean | 5 - .../telemetry/pattern_telemetry.fpp | 23 - .../telemetry/pattern_telemetry.ref.txt | 0 .../fpp-to-xml/test/top_pattern/telemetry/run | 5 - .../test/top_pattern/telemetry/run.sh | 5 - .../test/top_pattern/telemetry/tests.sh | 3 - .../test/top_pattern/telemetry/update-ref | 5 - .../test/top_pattern/telemetry/update-ref.sh | 5 - .../telemetry_list/CComponentAi.ref.xml | 17 - .../telemetry_list/TTopologyAppAi.ref.xml | 23 - .../TelemetryComponentAi.ref.xml | 15 - .../telemetry_list/TimePortAi.ref.xml | 12 - .../telemetry_list/TlmPortAi.ref.xml | 8 - .../test/top_pattern/telemetry_list/check-xml | 5 - .../test/top_pattern/telemetry_list/clean | 5 - .../telemetry_list/pattern_telemetry_list.fpp | 23 - .../pattern_telemetry_list.ref.txt | 0 .../test/top_pattern/telemetry_list/run | 5 - .../test/top_pattern/telemetry_list/run.sh | 5 - .../test/top_pattern/telemetry_list/tests.sh | 3 - .../top_pattern/telemetry_list/update-ref | 5 - .../top_pattern/telemetry_list/update-ref.sh | 5 - .../text_event/CComponentAi.ref.xml | 17 - .../text_event/LogTextPortAi.ref.xml | 8 - .../text_event/TTopologyAppAi.ref.xml | 27 - .../text_event/TextEventsComponentAi.ref.xml | 15 - .../top_pattern/text_event/TimePortAi.ref.xml | 12 - .../test/top_pattern/text_event/check-xml | 5 - .../test/top_pattern/text_event/clean | 5 - .../text_event/pattern_text_event.fpp | 23 - .../text_event/pattern_text_event.ref.txt | 0 .../test/top_pattern/text_event/run | 5 - .../test/top_pattern/text_event/run.sh | 5 - .../test/top_pattern/text_event/tests.sh | 3 - .../test/top_pattern/text_event/update-ref | 5 - .../test/top_pattern/text_event/update-ref.sh | 5 - .../text_event_list/CComponentAi.ref.xml | 17 - .../text_event_list/LogTextPortAi.ref.xml | 8 - .../text_event_list/TTopologyAppAi.ref.xml | 23 - .../TextEventsComponentAi.ref.xml | 15 - .../text_event_list/TimePortAi.ref.xml | 12 - .../top_pattern/text_event_list/check-xml | 5 - .../test/top_pattern/text_event_list/clean | 5 - .../pattern_text_event_list.fpp | 23 - .../pattern_text_event_list.ref.txt | 0 .../test/top_pattern/text_event_list/run | 5 - .../test/top_pattern/text_event_list/run.sh | 5 - .../test/top_pattern/text_event_list/tests.sh | 3 - .../top_pattern/text_event_list/update-ref | 5 - .../top_pattern/text_event_list/update-ref.sh | 5 - .../top_pattern/time/CComponentAi.ref.xml | 15 - .../top_pattern/time/TTopologyAppAi.ref.xml | 27 - .../top_pattern/time/TimeComponentAi.ref.xml | 15 - .../test/top_pattern/time/TimePortAi.ref.xml | 12 - .../test/top_pattern/time/check-xml | 5 - .../fpp-to-xml/test/top_pattern/time/clean | 5 - .../test/top_pattern/time/pattern_time.fpp | 21 - .../top_pattern/time/pattern_time.ref.txt | 0 .../fpp-to-xml/test/top_pattern/time/run | 5 - .../fpp-to-xml/test/top_pattern/time/run.sh | 5 - .../fpp-to-xml/test/top_pattern/time/tests.sh | 3 - .../test/top_pattern/time/update-ref | 5 - .../test/top_pattern/time/update-ref.sh | 5 - .../time_existing/CComponentAi.ref.xml | 15 - .../time_existing/TTopologyAppAi.ref.xml | 27 - .../time_existing/TimeComponentAi.ref.xml | 15 - .../time_existing/TimePortAi.ref.xml | 12 - .../test/top_pattern/time_existing/check-xml | 5 - .../test/top_pattern/time_existing/clean | 5 - .../time_existing/pattern_time_existing.fpp | 24 - .../pattern_time_existing.ref.txt | 0 .../test/top_pattern/time_existing/run | 5 - .../test/top_pattern/time_existing/run.sh | 5 - .../test/top_pattern/time_existing/tests.sh | 3 - .../test/top_pattern/time_existing/update-ref | 5 - .../top_pattern/time_existing/update-ref.sh | 5 - .../time_list/CComponentAi.ref.xml | 15 - .../time_list/TTopologyAppAi.ref.xml | 23 - .../time_list/TimeComponentAi.ref.xml | 15 - .../top_pattern/time_list/TimePortAi.ref.xml | 12 - .../test/top_pattern/time_list/check-xml | 5 - .../test/top_pattern/time_list/clean | 5 - .../time_list/pattern_time_list.fpp | 21 - .../time_list/pattern_time_list.ref.txt | 0 .../fpp-to-xml/test/top_pattern/time_list/run | 5 - .../test/top_pattern/time_list/run.sh | 5 - .../test/top_pattern/time_list/tests.sh | 3 - .../test/top_pattern/time_list/update-ref | 5 - .../test/top_pattern/time_list/update-ref.sh | 5 - compiler/tools/fpp-to-xml/test/update-ref | 9 - .../fpp/src/main/scala/fpp-from-xml.scala | 53 - .../tools/fpp/src/main/scala/fpp-to-xml.scala | 108 -- compiler/tools/fpp/src/main/scala/fpp.scala | 7 +- 671 files changed, 3 insertions(+), 12802 deletions(-) delete mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/ArrayXmlFppWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/ComponentXmlFppWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/EnumXmlFppWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/FormalParamsXmlFppWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/PortXmlFppWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/StructXmlFppWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/TlmPacketSetXmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/TopologyXmlFppWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/XmlFppWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/AnnotationXmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/ArrayXmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/ComponentXmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/ComputeXmlFiles.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/DpPortXmlLowering.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/EnumXmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/FormalParamsXmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/FormatXmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/PortXmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/StructXmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/TopologyXmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/TypeXmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/ValueXmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/XmlTags.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/XmlWriter.scala delete mode 100644 compiler/lib/src/main/scala/codegen/XmlWriter/XmlWriterState.scala delete mode 100644 compiler/tools/fpp-from-xml/test/.gitignore delete mode 100644 compiler/tools/fpp-from-xml/test/array/array_enum.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/array/array_enum.xml delete mode 100644 compiler/tools/fpp-from-xml/test/array/array_qual_id.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/array/array_qual_id.xml delete mode 100644 compiler/tools/fpp-from-xml/test/array/array_string.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/array/array_string.xml delete mode 100755 compiler/tools/fpp-from-xml/test/array/check-fpp delete mode 100755 compiler/tools/fpp-from-xml/test/array/clean delete mode 100755 compiler/tools/fpp-from-xml/test/array/run delete mode 100644 compiler/tools/fpp-from-xml/test/array/tests.sh delete mode 100755 compiler/tools/fpp-from-xml/test/array/update-ref delete mode 100755 compiler/tools/fpp-from-xml/test/check-fpp delete mode 100755 compiler/tools/fpp-from-xml/test/clean delete mode 100755 compiler/tools/fpp-from-xml/test/component/check-fpp delete mode 100755 compiler/tools/fpp-from-xml/test/component/clean delete mode 100644 compiler/tools/fpp-from-xml/test/component/commands.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/component/commands.xml delete mode 100644 compiler/tools/fpp-from-xml/test/component/events.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/component/events.xml delete mode 100644 compiler/tools/fpp-from-xml/test/component/general_ports_active.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/component/general_ports_active.xml delete mode 100644 compiler/tools/fpp-from-xml/test/component/general_ports_passive.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/component/general_ports_passive.xml delete mode 100644 compiler/tools/fpp-from-xml/test/component/import_dictionary.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/component/import_dictionary.xml delete mode 100644 compiler/tools/fpp-from-xml/test/component/internal_ports.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/component/internal_ports.xml delete mode 100644 compiler/tools/fpp-from-xml/test/component/parameters.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/component/parameters.xml delete mode 100755 compiler/tools/fpp-from-xml/test/component/run delete mode 100644 compiler/tools/fpp-from-xml/test/component/special_ports.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/component/special_ports.xml delete mode 100644 compiler/tools/fpp-from-xml/test/component/telemetry.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/component/telemetry.xml delete mode 100644 compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.xml delete mode 100644 compiler/tools/fpp-from-xml/test/component/tests.sh delete mode 100755 compiler/tools/fpp-from-xml/test/component/update-ref delete mode 100644 compiler/tools/fpp-from-xml/test/enum/.gitignore delete mode 100755 compiler/tools/fpp-from-xml/test/enum/check-fpp delete mode 100755 compiler/tools/fpp-from-xml/test/enum/clean delete mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.xml delete mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_missing_name.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_missing_name.xml delete mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_ok.fpp delete mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_ok.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_ok.xml delete mode 100755 compiler/tools/fpp-from-xml/test/enum/run delete mode 100644 compiler/tools/fpp-from-xml/test/enum/tests.sh delete mode 100755 compiler/tools/fpp-from-xml/test/enum/update-ref delete mode 100755 compiler/tools/fpp-from-xml/test/port/check-fpp delete mode 100755 compiler/tools/fpp-from-xml/test/port/clean delete mode 100644 compiler/tools/fpp-from-xml/test/port/port_cmd_resp.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/port/port_cmd_resp.xml delete mode 100644 compiler/tools/fpp-from-xml/test/port/port_ok.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/port/port_ok.xml delete mode 100755 compiler/tools/fpp-from-xml/test/port/run delete mode 100644 compiler/tools/fpp-from-xml/test/port/tests.sh delete mode 100755 compiler/tools/fpp-from-xml/test/port/update-ref delete mode 100644 compiler/tools/fpp-from-xml/test/scripts/run.sh delete mode 100644 compiler/tools/fpp-from-xml/test/scripts/update-ref.sh delete mode 100755 compiler/tools/fpp-from-xml/test/struct/check-fpp delete mode 100755 compiler/tools/fpp-from-xml/test/struct/clean delete mode 100644 compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.xml delete mode 100755 compiler/tools/fpp-from-xml/test/struct/run delete mode 100644 compiler/tools/fpp-from-xml/test/struct/struct_format.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/struct/struct_format.xml delete mode 100644 compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.xml delete mode 100644 compiler/tools/fpp-from-xml/test/struct/struct_ok.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/struct/struct_ok.xml delete mode 100644 compiler/tools/fpp-from-xml/test/struct/tests.sh delete mode 100755 compiler/tools/fpp-from-xml/test/struct/update-ref delete mode 100755 compiler/tools/fpp-from-xml/test/syntax/check-fpp delete mode 100755 compiler/tools/fpp-from-xml/test/syntax/clean delete mode 100644 compiler/tools/fpp-from-xml/test/syntax/parse_error.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/syntax/parse_error.xml delete mode 100755 compiler/tools/fpp-from-xml/test/syntax/run delete mode 100644 compiler/tools/fpp-from-xml/test/syntax/tests.sh delete mode 100755 compiler/tools/fpp-from-xml/test/syntax/update-ref delete mode 100755 compiler/tools/fpp-from-xml/test/test delete mode 100755 compiler/tools/fpp-from-xml/test/top/check-fpp delete mode 100755 compiler/tools/fpp-from-xml/test/top/clean delete mode 100644 compiler/tools/fpp-from-xml/test/top/fprime_ref.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/top/fprime_ref.xml delete mode 100644 compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.fpp delete mode 100644 compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.ref.txt delete mode 100644 compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.xml delete mode 100755 compiler/tools/fpp-from-xml/test/top/run delete mode 100644 compiler/tools/fpp-from-xml/test/top/tests.sh delete mode 100755 compiler/tools/fpp-from-xml/test/top/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/.gitignore delete mode 100644 compiler/tools/fpp-to-xml/test/README.adoc delete mode 100644 compiler/tools/fpp-to-xml/test/T.hpp delete mode 100644 compiler/tools/fpp-to-xml/test/Time.hpp delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayEnum1ArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayEnum2ArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayEnumE1EnumAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayEnumE2EnumAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayOK1ArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayOK2ArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayOK3ArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayOK4ArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayOK5ArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArraySpecialCommentArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayStruct1ArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayStruct2ArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayStructMemberArrayArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayStructMemberArraySerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayStructS1SerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/ArrayStructS2SerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/array/array_enum.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/array/array_enum.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/array/array_ok.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/array/array_ok.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/array/array_special_comment.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/array/array_special_comment.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/array/array_struct.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/array/array_struct.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/array/array_struct_member_array.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/array/array_struct_member_array.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/array/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/array/clean delete mode 100755 compiler/tools/fpp-to-xml/test/array/run delete mode 100644 compiler/tools/fpp-to-xml/test/array/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/array/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/array/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/array/update-ref.sh delete mode 100755 compiler/tools/fpp-to-xml/test/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/clean delete mode 100644 compiler/tools/fpp-to-xml/test/component/CmdPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/CmdRegPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/CmdResponsePortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/CommandsComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/DpBufferRequestPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/DpBufferSendPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/DpGetPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/DpRequestPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/DpResponsePortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/DpSendPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/EmptyComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/EventsComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/GeneralPorts1ComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/GeneralPorts2ComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/InternalPortsComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/LogPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/LogTextPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/PPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/ParametersComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/PrmGetPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/PrmSetPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/ProductRecvPortAsyncComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/ProductRecvPortGuardedComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/SpecialPortsComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/TelemetryComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/TimePortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/TlmPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/TypesComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/Types_AArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/Types_AUseArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/Types_EEnumAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/Types_EUseArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/Types_SSerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/Types_SUseArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/component/Types_T.hpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/Types_TUseArrayAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/component/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/component/clean delete mode 100644 compiler/tools/fpp-to-xml/test/component/commands.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/commands.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/component/empty.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/empty.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/component/events.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/events.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/component/general_ports.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/general_ports.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/component/internal_ports.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/internal_ports.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/component/parameters.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/parameters.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/component/ports.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/ports.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/component/product_recv_port_async.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/product_recv_port_async.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/component/product_recv_port_guarded.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/product_recv_port_guarded.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/component/run delete mode 100644 compiler/tools/fpp-to-xml/test/component/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/component/special_ports.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/special_ports.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/component/telemetry.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/telemetry.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/component/tests.sh delete mode 100644 compiler/tools/fpp-to-xml/test/component/types.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/component/types.names.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/component/types.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/component/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/component/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/enum/DefaultEnumAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/enum/ExplicitEnumAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/enum/ImplicitEnumAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/enum/SerializeTypeEnumAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/enum/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/enum/clean delete mode 100644 compiler/tools/fpp-to-xml/test/enum/default.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/enum/default.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/enum/explicit.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/enum/explicit.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/enum/implicit.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/enum/implicit.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/enum/run delete mode 100644 compiler/tools/fpp-to-xml/test/enum/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/enum/serialize_type.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/enum/serialize_type.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/enum/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/enum/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/enum/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/port/A.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/port/A.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/port/AArrayAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/port/E.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/port/E.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/port/EEnumAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/port/PortKwdNamePortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/port/PortOK1PortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/port/PortOK2PortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/port/PortOK3PortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/port/PortOK4PortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/port/S.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/port/S.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/port/SSerializableAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/port/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/port/clean delete mode 100644 compiler/tools/fpp-to-xml/test/port/port_kwd_name.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/port/port_kwd_name.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/port/port_ok.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/port/port_ok.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/port/run delete mode 100644 compiler/tools/fpp-to-xml/test/port/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/port/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/port/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/port/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/scripts/check-xml.sh delete mode 100644 compiler/tools/fpp-to-xml/test/scripts/clean.sh delete mode 100644 compiler/tools/fpp-to-xml/test/scripts/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/scripts/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/struct/EEnumAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/IncludedSerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/IncludingSerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/StructAbsTypeSerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/StructDefaultSerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/StructEnumMemberSerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/StructFormatSerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/StructModules1SerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/StructModules2SerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/StructModules3SerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/StructOK1SerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/StructOK2SerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/StructStringArraySerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/StructStringSerializableAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/struct/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/struct/clean delete mode 100644 compiler/tools/fpp-to-xml/test/struct/duplicate_xml_file.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/duplicate_xml_file.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/empty_struct.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/empty_struct.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/enum.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/enum.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/include.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/include.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/include/included.fppi delete mode 100644 compiler/tools/fpp-to-xml/test/struct/output_dir/StructOutputDirSerializableAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/struct/output_dir/struct_output_dir.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/output_dir/struct_output_dir.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/struct/run delete mode 100644 compiler/tools/fpp-to-xml/test/struct/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_abs_type.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_abs_type.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_default.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_default.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_enum_member.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_enum_member.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_format.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_format.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_modules.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_modules.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_ok.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_ok.names.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_ok.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_string.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_string.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_string_array.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/struct/struct_string_array.ref.txt delete mode 100644 compiler/tools/fpp-to-xml/test/struct/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/struct/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/struct/update-ref.sh delete mode 100755 compiler/tools/fpp-to-xml/test/test delete mode 100644 compiler/tools/fpp-to-xml/test/top_basic/C1ComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_basic/C2ComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_basic/PPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_basic/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_basic/basic.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_basic/basic.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_basic/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_basic/clean delete mode 100755 compiler/tools/fpp-to-xml/test/top_basic/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_basic/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_basic/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_basic/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_basic/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/basic/AComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/basic/BComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/basic/PPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/basic/TTopologyAppAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/basic/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/basic/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/basic/import_basic.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/basic/import_basic.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/basic/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/basic/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/basic/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/basic/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/basic/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/merge/AComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/merge/BComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/merge/PPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/merge/TTopologyAppAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/merge/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/merge/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/merge/import_merge.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/merge/import_merge.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/merge/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/merge/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/merge/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/merge/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/merge/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/pattern/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/pattern/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/pattern/TimeComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/pattern/TimePortAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/pattern/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/pattern/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/pattern/import_pattern.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/pattern/import_pattern.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/pattern/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/pattern/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/pattern/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/pattern/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/pattern/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/port_num/AComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/port_num/BComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/port_num/PPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/port_num/TTopologyAppAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/port_num/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/port_num/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/port_num/import_port_num.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/port_num/import_port_num.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/port_num/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/port_num/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/port_num/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/port_num/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/port_num/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/private/AComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/private/BComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/private/PPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/private/TTopologyAppAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/private/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/private/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/private/import_private.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/private/import_private.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/private/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/private/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/private/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/private/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/private/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/transitive/AComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/transitive/BComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/transitive/PPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/transitive/TTopologyAppAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/transitive/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/transitive/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/transitive/import_transitive.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/transitive/import_transitive.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/transitive/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/transitive/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/transitive/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_import/transitive/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_import/transitive/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/general/PPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/general/SourceComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/general/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/general/TargetComponentAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/general/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/general/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/general/numbering_general.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/general/numbering_general.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/general/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/general/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/general/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/general/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/general/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/matched/PPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/matched/SourceComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/matched/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/matched/TargetComponentAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/matched/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/matched/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/matched/numbering_matched.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/matched/numbering_matched.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/matched/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/matched/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/matched/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/matched/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/matched/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/unmatched/.gitignore delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/unmatched/TTopologyAppAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/unmatched/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/unmatched/clean delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/unmatched/gen-layout delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/unmatched/numbering_unmatched.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/unmatched/numbering_unmatched.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/unmatched/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/unmatched/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/unmatched/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_numbering/unmatched/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_numbering/unmatched/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command/CmdPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command/CmdRegPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command/CmdResponsePortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command/CommandsComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command/TTopologyAppAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/command/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/command/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command/pattern_command.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command/pattern_command.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/command/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/command/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command_list/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command_list/CmdPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command_list/CmdRegPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command_list/CmdResponsePortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command_list/CommandsComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command_list/TTopologyAppAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/command_list/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/command_list/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command_list/pattern_command_list.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command_list/pattern_command_list.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/command_list/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command_list/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command_list/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/command_list/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/command_list/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event/EventsComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event/LogPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event/TimePortAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/event/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/event/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event/pattern_event.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event/pattern_event.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/event/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/event/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event_list/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event_list/EventsComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event_list/LogPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event_list/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event_list/TimePortAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/event_list/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/event_list/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event_list/pattern_event_list.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event_list/pattern_event_list.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/event_list/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event_list/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event_list/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/event_list/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/event_list/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health/HealthComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health/PingPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health/TTopologyAppAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/health/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/health/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health/pattern_health.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health/pattern_health.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/health/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/health/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health_list/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health_list/HealthComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health_list/PingPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health_list/TTopologyAppAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/health_list/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/health_list/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health_list/pattern_health_list.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health_list/pattern_health_list.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/health_list/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health_list/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health_list/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/health_list/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/health_list/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param/HealthComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param/ParametersComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param/PingPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param/PrmGetPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param/PrmSetPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param/TTopologyAppAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/param/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/param/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param/pattern_param.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param/pattern_param.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/param/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/param/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param_list/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param_list/HealthComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param_list/ParametersComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param_list/PingPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param_list/PrmGetPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param_list/PrmSetPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param_list/TTopologyAppAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/param_list/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/param_list/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param_list/pattern_param_list.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param_list/pattern_param_list.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/param_list/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param_list/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param_list/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/param_list/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/param_list/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TelemetryComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TimePortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TlmPortAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/pattern_telemetry.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/pattern_telemetry.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TelemetryComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TimePortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TlmPortAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/pattern_telemetry_list.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/pattern_telemetry_list.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event/LogTextPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event/TextEventsComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event/TimePortAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/text_event/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/text_event/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event/pattern_text_event.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event/pattern_text_event.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/text_event/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/text_event/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/LogTextPortAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/TextEventsComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/TimePortAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/pattern_text_event_list.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/pattern_text_event_list.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time/TimeComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time/TimePortAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/time/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/time/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time/pattern_time.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time/pattern_time.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/time/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/time/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/TimeComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/TimePortAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/pattern_time_existing.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/pattern_time_existing.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_existing/update-ref.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_list/CComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_list/TTopologyAppAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_list/TimeComponentAi.ref.xml delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_list/TimePortAi.ref.xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/time_list/check-xml delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/time_list/clean delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_list/pattern_time_list.fpp delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_list/pattern_time_list.ref.txt delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/time_list/run delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_list/run.sh delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_list/tests.sh delete mode 100755 compiler/tools/fpp-to-xml/test/top_pattern/time_list/update-ref delete mode 100644 compiler/tools/fpp-to-xml/test/top_pattern/time_list/update-ref.sh delete mode 100755 compiler/tools/fpp-to-xml/test/update-ref delete mode 100644 compiler/tools/fpp/src/main/scala/fpp-from-xml.scala delete mode 100644 compiler/tools/fpp/src/main/scala/fpp-to-xml.scala diff --git a/compiler/install b/compiler/install index 322dc46a6..f7b668826 100755 --- a/compiler/install +++ b/compiler/install @@ -56,13 +56,11 @@ check depend filenames format -from-xml locate-defs locate-uses syntax to-cpp to-json -to-xml to-dict to-layout " diff --git a/compiler/lib/src/main/scala/codegen/ComputeGeneratedFiles.scala b/compiler/lib/src/main/scala/codegen/ComputeGeneratedFiles.scala index 9177704e6..6bda2be0b 100644 --- a/compiler/lib/src/main/scala/codegen/ComputeGeneratedFiles.scala +++ b/compiler/lib/src/main/scala/codegen/ComputeGeneratedFiles.scala @@ -11,11 +11,10 @@ object ComputeGeneratedFiles { def getAutocodeFiles(tul: List[Ast.TransUnit]): Result.Result[List[String]] = for { a <- enterSymbols(tul) - xmlFiles <- getXmlFiles(a, tul) cppFiles <- getAutocodeCppFiles(a, tul) dictFiles <- getDictionaryJsonFiles(a, tul) } - yield xmlFiles ++ cppFiles ++ dictFiles + yield cppFiles ++ dictFiles /** Computes component implementation files */ def getImplFiles(tul: List[Ast.TransUnit]): Result.Result[List[String]] = @@ -104,17 +103,6 @@ object ComputeGeneratedFiles { yield s.locationMap.toList.map(_._1) } - private def getXmlFiles(a: Analysis, tul: List[Ast.TransUnit]): - Result.Result[List[String]] = - for { - s <- ComputeXmlFiles.visitList( - XmlWriterState(a), - tul, - ComputeXmlFiles.transUnit - ) - } - yield s.locationMap.toList.map(_._1) - private def getDictionaryJsonFiles(a: Analysis, tul: List[Ast.TransUnit]): Result.Result[List[String]] = for { diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/ArrayXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/ArrayXmlFppWriter.scala deleted file mode 100644 index 37d7e3145..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlFppWriter/ArrayXmlFppWriter.scala +++ /dev/null @@ -1,79 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.ast._ -import fpp.compiler.analysis -import fpp.compiler.codegen._ -import fpp.compiler.util._ -import scala.xml.Node - -/** Writes out an F Prime XML array as FPP source */ -object ArrayXmlFppWriter extends LineUtils { - - def writeFile(file: XmlFppWriter.File): XmlFppWriter.Result = - for (tuMember <- FppBuilder.tuMember(file)) - yield FppWriter.tuMember(tuMember) - - private object FppBuilder { - - /** Translates an XML type to an FPP type name */ - def translateType(file: XmlFppWriter.File): Node => Result.Result[Ast.TypeName] = file.translateType(node => Right(node.text)) _ - - /** Translates a block of default values from FPP to XML */ - def translateDefaults(node: scala.xml.Node, tn: Ast.TypeName): (Option[AstNode[Ast.Expr]], List[String]) = { - val xmlElements = node \ "value" - val arrayNodeOpt = for { - elementNodes <- Options.map( - xmlElements.toList, - ((node: scala.xml.Node) => XmlFppWriter.FppBuilder.translateValue(node.text, tn)) - ) - } yield AstNode.create(Ast.ExprArray(elementNodes)) - val note = arrayNodeOpt match { - case None => - val xmlArray = "[ " ++ xmlElements.map(_.text).mkString(", ") ++ " ]" - val s = "could not translate array value " ++ xmlArray - List(XmlFppWriter.constructNote(s)) - case _ => Nil - } - (arrayNodeOpt, note) - } - - /** Extracts array definitions from struct members */ - def defArrayAnnotated(file: XmlFppWriter.File): - Result.Result[Ast.Annotated[Ast.DefArray]] = - for { - name <- file.getAttribute(file.elem, "name") - comment <- file.getComment(file.elem) - xmlSize <- file.getSingleChild(file.elem, "size") - xmlEltType <- file.getSingleChild(file.elem, "type") - eltType <- translateType(file)(xmlEltType) - xmlDefault <- file.getSingleChild(file.elem, "default") - xmlFormat <- file.getSingleChild(file.elem, "format") - } - yield { - val (fppDefaultsOpt, note1) = translateDefaults(xmlDefault, eltType) - val (fppFormatOpt, note2) = - XmlFppWriter.FppBuilder.translateFormatOpt(Some(xmlFormat.text)) - val note = note1 ++ note2 - val node = Ast.DefArray( - name, - AstNode.create(Ast.ExprLiteralInt(xmlSize.text)), - AstNode.create(eltType), - fppDefaultsOpt, - fppFormatOpt.map(AstNode.create(_)) - ) - (note ++ comment, node, Nil) - } - - /** Generates the TU member */ - def tuMember(file: XmlFppWriter.File): Result.Result[Ast.TUMember] = - for (array <- defArrayAnnotated(file)) - yield XmlFppWriter.tuMember( - array, - Ast.TUMember.DefArray.apply, - Ast.ModuleMember.DefArray.apply, - file - ) - - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/ComponentXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/ComponentXmlFppWriter.scala deleted file mode 100644 index 386df1414..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlFppWriter/ComponentXmlFppWriter.scala +++ /dev/null @@ -1,531 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.ast._ -import fpp.compiler.codegen._ -import fpp.compiler.util._ -import scala.xml.Node - -/** Writes out an F Prime XML component as FPP source */ -object ComponentXmlFppWriter extends LineUtils { - - /** Writes a component file */ - def writeComponentFile(file: XmlFppWriter.File): XmlFppWriter.Result = - for (tuMember <- FppBuilder.tuMember(file)) - yield FppWriter.tuMember(tuMember) - - /** Writes an imported file */ - private def writeImportedFile - (memberGenerator: FppBuilder.MemberGenerator) - (file: XmlFppWriter.File): XmlFppWriter.Result = - for (members <- FppBuilder.mapChildren(file, memberGenerator)) - yield Line.blankSeparated (FppWriter.componentMember) (members) - - /** Writes a commands file */ - val writeCommandsFile: XmlFppWriter.File => XmlFppWriter.Result = writeImportedFile(FppBuilder.MemberGenerator.Command) _ - - /** Writes a params file */ - val writeParamsFile: XmlFppWriter.File => XmlFppWriter.Result = writeImportedFile(FppBuilder.MemberGenerator.Param) _ - - /** Writes a ports file */ - val writePortsFile: XmlFppWriter.File => XmlFppWriter.Result = writeImportedFile(FppBuilder.MemberGenerator.Port) _ - - /** Writes a tlm channels file */ - val writeTlmChannelsFile: XmlFppWriter.File => XmlFppWriter.Result = writeImportedFile(FppBuilder.MemberGenerator.TlmChannel) _ - - /** Writes an events file */ - val writeEventsFile: XmlFppWriter.File => XmlFppWriter.Result = writeImportedFile(FppBuilder.MemberGenerator.Event) _ - - /** Writes an internal ports file */ - val writeInternalPortsFile: XmlFppWriter.File => XmlFppWriter.Result = writeImportedFile(FppBuilder.MemberGenerator.InternalPort) _ - - /** Builds FPP for translating Component XML */ - private object FppBuilder { - - /** Generates the TU member */ - def tuMember(file: XmlFppWriter.File): Result.Result[Ast.TUMember] = - for { - component <- defComponentAnnotated(file) - } - yield XmlFppWriter.tuMember( - component, - Ast.TUMember.DefComponent.apply, - Ast.ModuleMember.DefComponent.apply, - file - ) - - /** Component member generator */ - trait MemberGenerator { - - val xmlName: String - - /** Generates a member node */ - def generateMemberNode(file: XmlFppWriter.File, node: scala.xml.Node): - Result.Result[Ast.Annotated[Ast.ComponentMember.Node]] = - Left(file.semanticError(s"$xmlName not implemented")) - - /** Generates a list of member nodes */ - def generateMemberNodes(file: XmlFppWriter.File, node: scala.xml.Node): - Result.Result[List[Ast.Annotated[Ast.ComponentMember.Node]]] = - for (node <- generateMemberNode(file, node)) - yield List(node) - - /** Generates a list of members */ - final def generateMembers(file: XmlFppWriter.File, node: scala.xml.Node): Result.Result[List[Ast.ComponentMember]] = - generateMemberNodes(file, node) match { - case Left(error) => Left(error) - case Right(aNodes) => Right(aNodes.map(Ast.ComponentMember(_))) - } - - } - - /** Constructs an enum component member */ - def constructEnumMember(enumAnnotated: Ast.Annotated[Ast.DefEnum]): - Ast.Annotated[Ast.ComponentMember.DefEnum] = { - val (pre, e, post) = enumAnnotated - (pre, Ast.ComponentMember.DefEnum(AstNode.create(e)), post) - } - - /** Extracts enum definitions in argument types */ - def translateArgEnums(file: XmlFppWriter.File, xmlNode: scala.xml.Node): - Result.Result[List[Ast.Annotated[Ast.ComponentMember.DefEnum]]] = - for (enums <- FormalParamsXmlFppWriter.defEnumAnnotatedList(file, xmlNode)) - yield enums.map(constructEnumMember) - - /** Translates an optional queue full attribute */ - def translateQueueFullOpt(file: XmlFppWriter.File, xmlNode: scala.xml.Node): - Result.Result[Option[Ast.QueueFull]] = { - val xmlQueueFullOpt = XmlFppWriter.getAttributeOpt(xmlNode, "full") - xmlQueueFullOpt match { - case Some("assert") => Right(Some(Ast.QueueFull.Assert)) - case Some("block") => Right(Some(Ast.QueueFull.Block)) - case Some("drop") => Right(Some(Ast.QueueFull.Drop)) - case Some(xmlQueueFull) => - Left(file.semanticError(s"invalid queue full behavior $xmlQueueFull")) - case None => Right(None) - } - } - - /** Translates an optional queue full attribute as an AST node */ - def translateQueueFullNodeOpt(file: XmlFppWriter.File, xmlNode: scala.xml.Node): - Result.Result[Option[AstNode[Ast.QueueFull]]] = - for (qfo <- translateQueueFullOpt(file, xmlNode)) - yield qfo.map(AstNode.create(_)) - - /** Translates an XML type to an FPP type name */ - def translateType(file: XmlFppWriter.File): Node => Result.Result[Ast.TypeName] = - file.translateType(node => file.getAttribute(node, "data_type")) _ - - case object MemberGenerator { - - case object Include extends MemberGenerator { - - val xmlName = "import_dictionary" - - override def generateMemberNode(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = - for { - child <- file.getUniqueChild(xmlNode) - } - yield { - val path = child.toString - val fppPath = path.replaceAll("\\.xml$", ".fppi") - val fileName = fppPath.split("/").toList.reverse.head - val fileNameNode = AstNode.create(fileName) - val specIncludeNode = AstNode.create(Ast.SpecInclude(fileNameNode)) - val memberNode = Ast.ComponentMember.SpecInclude(specIncludeNode) - val annotation = if (fileName == fppPath) Nil else { - val s = s"original path was $path" - List(XmlFppWriter.constructNote(s)) - } - (annotation, memberNode, Nil) - } - - } - - case object Port extends MemberGenerator { - - val xmlName = "port" - - def general(file: XmlFppWriter.File, xmlNode: scala.xml.Node): Result.Result[Ast.SpecPortInstance.General] = { - import Ast.SpecPortInstance._ - for { - xmlKind <- file.getAttribute(xmlNode, "kind") - kind <- xmlKind match { - case "async_input" => Right(AsyncInput) - case "guarded_input" => Right(GuardedInput) - case "output" => Right(Output) - case "sync_input" => Right(SyncInput) - case _ => Left(file.semanticError(s"invalid port kind $xmlKind")) - } - name <- file.getAttribute(xmlNode, "name") - xmlPort <- file.getAttribute(xmlNode, "data_type") - queueFull <- translateQueueFullOpt(file, xmlNode) - } - yield { - val size = XmlFppWriter.getAttributeOpt(xmlNode, "max_number").map( - text => AstNode.create(Ast.ExprLiteralInt(text)) - ) - val port = xmlPort match { - case "Serial" => None - case _ => Some(XmlFppWriter.FppBuilder.translateQualIdent(xmlPort)) - } - val priority = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "priority") - General(kind, name, size, port, priority, queueFull.map(AstNode.create(_))) - } - } - - def special(file: XmlFppWriter.File, xmlNode: scala.xml.Node, role: String): - Result.Result[Ast.SpecPortInstance.Special] = { - import Ast.SpecPortInstance._ - for { - kind <- role match { - case "Cmd" => Right(CommandRecv) - case "CmdRegistration" => Right(CommandReg) - case "CmdResponse" => Right(CommandResp) - case "LogEvent" => Right(Ast.SpecPortInstance.Event) - case "ParamGet" => Right(ParamGet) - case "ParamSet" => Right(ParamSet) - case "Telemetry" => Right(Telemetry) - case "LogTextEvent" => Right(TextEvent) - case "TimeGet" => Right(TimeGet) - case _ => Left(file.semanticError(s"invalid role $role")) - } - name <- file.getAttribute(xmlNode, "name") - } - yield Special(None, kind, name, None, None) - } - - override def generateMemberNode(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = { - for { - comment <- file.getComment(xmlNode) - member <- XmlFppWriter.getAttributeOpt(xmlNode, "role") match { - case Some(role) => special(file, xmlNode, role) - case None => general(file, xmlNode) - } - } - yield { - val node = AstNode.create(member) - val memberNode = Ast.ComponentMember.SpecPortInstance(node) - (comment, memberNode, Nil) - } - } - - } - - case object InternalPort extends MemberGenerator { - - val xmlName = "internal_interface" - - override def generateMemberNodes(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = - for { - annotatedEnumMemberNodes <- translateArgEnums(file, xmlNode) - comment <- file.getComment(xmlNode) - name <- file.getAttribute(xmlNode, "name") - params <- FormalParamsXmlFppWriter.formalParamList(file, xmlNode) - queueFull <- translateQueueFullOpt(file, xmlNode) - } - yield { - val annotatedPortMemberNode = { - val priority = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "priority") - val internalPort = Ast.SpecInternalPort(name, params, priority, queueFull) - val node = AstNode.create(internalPort) - val memberNode = Ast.ComponentMember.SpecInternalPort(node) - (comment, memberNode, Nil) - } - annotatedEnumMemberNodes :+ annotatedPortMemberNode - } - - } - - case object Command extends MemberGenerator { - - val xmlName = "command" - - override def generateMemberNodes(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = - for { - xmlKind <- file.getAttribute(xmlNode, "kind") - kind <- xmlKind match { - case "async" => Right(Ast.SpecCommand.Async) - case "guarded" => Right(Ast.SpecCommand.Guarded) - case "sync" => Right(Ast.SpecCommand.Sync) - case _ => Left(file.semanticError(s"invalid command kind $xmlKind")) - } - annotatedEnumMemberNodes <- translateArgEnums(file, xmlNode) - comment <- file.getComment(xmlNode) - name <- file.getAttribute(xmlNode, "mnemonic") - params <- FormalParamsXmlFppWriter.formalParamList(file, xmlNode) - queueFull <- translateQueueFullNodeOpt(file, xmlNode) - } - yield { - val annotatedCommandMemberNode = { - val priority = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "priority") - val opcode = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "opcode") - val command = Ast.SpecCommand( - kind, - name, - params, - opcode, - priority, - queueFull - ) - val node = AstNode.create(command) - val memberNode = Ast.ComponentMember.SpecCommand(node) - (comment, memberNode, Nil) - } - annotatedEnumMemberNodes :+ annotatedCommandMemberNode - } - - } - - case object Event extends MemberGenerator { - - val xmlName = "event" - - override def generateMemberNodes(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = - for { - annotatedEnumMemberNodes <- translateArgEnums(file, xmlNode) - comment <- file.getComment(xmlNode) - name <- file.getAttribute(xmlNode, "name") - params <- FormalParamsXmlFppWriter.formalParamList(file, xmlNode) - xmlSeverity <- file.getAttribute(xmlNode, "severity") - severity <- xmlSeverity match { - case "ACTIVITY_HI" => Right(Ast.SpecEvent.ActivityHigh) - case "ACTIVITY_LO" => Right(Ast.SpecEvent.ActivityLow) - case "COMMAND" => Right(Ast.SpecEvent.Command) - case "DIAGNOSTIC" => Right(Ast.SpecEvent.Diagnostic) - case "FATAL" => Right(Ast.SpecEvent.Fatal) - case "WARNING_HI" => Right(Ast.SpecEvent.WarningHigh) - case "WARNING_LO" => Right(Ast.SpecEvent.WarningLow) - case _ => Left(file.semanticError(s"invalid severity $xmlSeverity")) - } - xmlFormat <- file.getAttribute(xmlNode, "format_string") - } - yield { - val annotatedEventMemberNode = { - val id = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "id") - val (formatOpt, note) = - XmlFppWriter.FppBuilder.translateFormatOpt(Some(xmlFormat)) - val format = formatOpt match { - case Some(format) => format - case None => "{}" - } - val throttle = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "throttle") - val event = Ast.SpecEvent( - name, - params, - severity, - id, - AstNode.create(format), - throttle - ) - val node = AstNode.create(event) - val memberNode = Ast.ComponentMember.SpecEvent(node) - (note ++ comment, memberNode, Nil) - } - annotatedEnumMemberNodes :+ annotatedEventMemberNode - } - - } - - case object Param extends MemberGenerator { - - val xmlName = "parameter" - - override def generateMemberNodes(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = { - for { - enumAnnotatedOpt <- XmlFppWriter.FppBuilder.InlineEnumBuilder.defEnumAnnotatedOpt(file)(xmlNode) - comment <- file.getComment(xmlNode) - name <- file.getAttribute(xmlNode, "name") - typeName <- translateType(file)(xmlNode) - } - yield { - val id = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "id") - val xmlDefaultOpt = XmlFppWriter.getAttributeOpt(xmlNode, "default") - val defaultOpt = xmlDefaultOpt.flatMap( - s => XmlFppWriter.FppBuilder.translateValue(s, typeName) - ) - val defaultNote = (xmlDefaultOpt, defaultOpt) match { - case (Some(xmlDefault), None) => - val s = s"could not translate default value $xmlDefault" - List(XmlFppWriter.constructNote(s)) - case _ => Nil - } - val setOpcode = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "set_opcode") - val saveOpcode = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "save_opcode") - val isExternal = XmlFppWriter.getAttributeOpt(xmlNode, "external").isDefined - - val paramMemberNode = { - val param = Ast.SpecParam( - name, - AstNode.create(typeName), - defaultOpt, - id, - setOpcode, - saveOpcode, - isExternal - ) - val node = AstNode.create(param) - val memberNode = Ast.ComponentMember.SpecParam(node) - (defaultNote ++ comment, memberNode, Nil) - } - enumAnnotatedOpt match { - case Some(enumAnnotated) => - val enumMemberNode = constructEnumMember(enumAnnotated) - List(enumMemberNode, paramMemberNode) - case None => List(paramMemberNode) - } - } - } - - } - - case object TlmChannel extends MemberGenerator { - - val xmlName = "channel" - - override def generateMemberNodes(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = { - type Limits = List[Ast.SpecTlmChannel.Limit] - def translateLimits( - direction: String, - typeName: Ast.TypeName, - channel: String - ): Result.Result[Limits] = { - import Ast.SpecTlmChannel._ - val pairs = List( - (Red, "red"), - (Orange, "orange"), - (Yellow, "yellow") - ).map(pair => { - val (kind, name) = pair - val xmlName = s"${direction}_$name" - XmlFppWriter.getAttributeOpt(xmlNode, xmlName).map((kind, _)) - }).filter(_.isDefined).map(_.get) - Result.foldLeft (pairs) (Nil: Limits) ((result, pair) => { - val (kind, xmlValue) = pair - XmlFppWriter.FppBuilder.translateValue(xmlValue, typeName) match { - case Some(exprNode) => - val kindNode = AstNode.create(kind) - Right(result :+ (kindNode, exprNode)) - case None => - Left(file.semanticError(s"non-numeric type in limit for channel $channel")) - } - }) - } - for { - enumAnnotatedOpt <- XmlFppWriter.FppBuilder.InlineEnumBuilder.defEnumAnnotatedOpt(file)(xmlNode) - name <- file.getAttribute(xmlNode, "name") - comment <- file.getComment(xmlNode) - typeName <- translateType(file)(xmlNode) - update <- XmlFppWriter.getAttributeOpt(xmlNode, "update") match { - case None => Right(None) - case Some("always") => Right(Some(Ast.SpecTlmChannel.Always)) - case Some("on_change") => Right(Some(Ast.SpecTlmChannel.OnChange)) - case Some(xmlUpdate) => Left(file.semanticError(s"invalid update specifier $xmlUpdate")) - } - lowLimits <- translateLimits("low", typeName, name) - highLimits <- translateLimits("high", typeName, name) - } - yield { - val id = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "id") - val xmlFormat = XmlFppWriter.getAttributeOpt(xmlNode, "format_string") - val (format, formatNote) = - XmlFppWriter.FppBuilder.translateFormatOpt(xmlFormat) - val channel = Ast.SpecTlmChannel( - name, - AstNode.create(typeName), - id, - update, - format.map(AstNode.create(_)), - lowLimits, - highLimits - ) - val node = AstNode.create(channel) - val memberNode = Ast.ComponentMember.SpecTlmChannel(node) - val tlmChannelMemberNode = (formatNote ++ comment, memberNode, Nil) - enumAnnotatedOpt match { - case Some(enumAnnotated) => - val enumMemberNode = constructEnumMember(enumAnnotated) - List(enumMemberNode, tlmChannelMemberNode) - case None => List(tlmChannelMemberNode) - } - } - } - - } - - } - - /** Member list result */ - type MemListRes = Result.Result[List[Ast.ComponentMember]] - - /** Member list list result */ - type MemListListRes = Result.Result[List[List[Ast.ComponentMember]]] - - /** Maps a node generator onto children at the top level */ - def mapChildren(file: XmlFppWriter.File, memberGenerator: MemberGenerator): MemListRes = - mapChildrenOfNodeOpt(file, Some(file.elem), memberGenerator) - - /** Maps a node generator onto the children of an XML node */ - def mapChildrenOfNodeOpt( - file: XmlFppWriter.File, - nodeOpt: Option[scala.xml.Node], - memberGenerator: MemberGenerator - ): MemListRes = - for { - list <- nodeOpt.fold(Right(Nil): MemListListRes)(node => { - val children = node \ memberGenerator.xmlName - Result.map(children.toList, memberGenerator.generateMembers(file, _)) - }) - } yield list.flatten - - /** Extracts component members */ - def componentMemberList(file: XmlFppWriter.File): - Result.Result[List[Ast.ComponentMember]] = { - def mapChildrenOfName(args: (String, MemberGenerator)): MemListRes = { - val (name, memberGenerator) = args - for { - nodeOpt <- file.getSingleChildOpt(file.elem, name) - result <- mapChildrenOfNodeOpt(file, nodeOpt, memberGenerator) - } yield result - } - for { - includes <- mapChildren(file, MemberGenerator.Include) - lists <- Result.map( - List( - ("ports", MemberGenerator.Port), - ("internal_interfaces", MemberGenerator.InternalPort), - ("commands", MemberGenerator.Command), - ("events", MemberGenerator.Event), - ("parameters", MemberGenerator.Param), - ("telemetry", MemberGenerator.TlmChannel) - ), - mapChildrenOfName _ - ) - } - yield (includes :: lists).flatten - } - - /** Translates a component kind */ - def translateKind(file: XmlFppWriter.File, xmlKind: String): - Result.Result[Ast.ComponentKind] = - xmlKind match { - case "active" => Right(Ast.ComponentKind.Active) - case "passive" => Right(Ast.ComponentKind.Passive) - case "queued" => Right(Ast.ComponentKind.Queued) - case _ => Left(file.semanticError(s"invalid component kind $xmlKind")) - } - - /** Translates the component */ - def defComponentAnnotated(file: XmlFppWriter.File): - Result.Result[Ast.Annotated[Ast.DefComponent]] = - for { - comment <- file.getComment(file.elem) - xmlKind <- file.getAttribute(file.elem, "kind") - kind <- translateKind(file, xmlKind) - name <- file.getAttribute(file.elem, "name") - members <- componentMemberList(file) - } - yield (comment, Ast.DefComponent(kind, name, members), Nil) - - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/EnumXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/EnumXmlFppWriter.scala deleted file mode 100644 index 7d6be240c..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlFppWriter/EnumXmlFppWriter.scala +++ /dev/null @@ -1,88 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.ast._ -import fpp.compiler.codegen._ -import fpp.compiler.util._ - -/** Writes out an F Prime XML enum as FPP source */ -object EnumXmlFppWriter extends LineUtils { - - def writeFile(file: XmlFppWriter.File): XmlFppWriter.Result = - for (tuMember <- FppBuilder.tuMember(file)) - yield FppWriter.tuMember(tuMember) - - private object FppBuilder { - - def annotation(file: XmlFppWriter.File): List[String] = { - // Not supported in F Prime XML - Nil - } - - def constants(file: XmlFppWriter.File): Result.Result[List[Ast.Annotated[AstNode[Ast.DefEnumConstant]]]] = { - val items = file.elem \ "item" - Result.map(items.toList, defEnumConstantAnnotatedNode(file, _)) - } - - def defEnum(file: XmlFppWriter.File): Result.Result[Ast.DefEnum] = - for { - name <- file.getAttribute(file.elem, "name") - constants <- FppBuilder.constants(file) - } - yield { - val repType = FppBuilder.repType(file) - val default = FppBuilder.default(file) - Ast.DefEnum(name, repType, constants, default) - } - - def defEnumConstant( - file: XmlFppWriter.File, - constant: scala.xml.Node - ): Result.Result[Ast.DefEnumConstant] = - for { - name <- file.getAttribute(constant, "name") - value <- file.getAttribute(constant, "value") - } - yield { - val e = Ast.ExprLiteralInt(value) - val node = AstNode.create(e) - Ast.DefEnumConstant(name, Some(node)) - } - - def defEnumConstantAnnotatedNode( - file: XmlFppWriter.File, - constant: scala.xml.Node - ): Result.Result[Ast.Annotated[AstNode[Ast.DefEnumConstant]]] = - for (data <- defEnumConstant(file, constant)) - yield { - val a = XmlFppWriter.getAttributeComment(constant) - val node = AstNode.create(data) - (Nil, node, a) - } - - def default(file: XmlFppWriter.File): Option[AstNode[Ast.Expr]] = { - // Not supported in F Prime XML - None - } - - def repType(file: XmlFppWriter.File): Option[AstNode[Ast.TypeName]] = { - // Not supported in F Prime XML - None - } - - /** Generates the TU member */ - def tuMember(file: XmlFppWriter.File): Result.Result[Ast.TUMember] = - for (data <- defEnum(file)) - yield { - val a = annotation(file) - val aT = (a, data, Nil) - XmlFppWriter.tuMember( - aT, - Ast.TUMember.DefEnum.apply, - Ast.ModuleMember.DefEnum.apply, - file - ) - } - - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/FormalParamsXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/FormalParamsXmlFppWriter.scala deleted file mode 100644 index ed37c22c7..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlFppWriter/FormalParamsXmlFppWriter.scala +++ /dev/null @@ -1,72 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.ast._ -import fpp.compiler.codegen._ -import fpp.compiler.util._ -import scala.xml.Node - -/** Writes out F Prime XML arguments as FPP formal parameters */ -object FormalParamsXmlFppWriter extends LineUtils { - - /** Translates an XML type to an FPP type name */ - def translateType(file: XmlFppWriter.File): Node => Result.Result[Ast.TypeName] = - file.translateType(node => file.getAttribute(node, "type")) _ - - /** Extracts a formal parameter */ - def formalParamAnnotatedNode(file: XmlFppWriter.File, node: scala.xml.Node): - Result.Result[Ast.Annotated[AstNode[Ast.FormalParam]]] = - for { - name <- file.getAttribute(node, "name") - kind <- XmlFppWriter.getAttributeOpt(node, "pass_by") match { - case Some("value") => Right(Ast.FormalParam.Value) - case Some("reference") => Right(Ast.FormalParam.Ref) - case Some(_) => Left(file.invalidAttribute("pass_by", node)) - case None => Right(Ast.FormalParam.Value) - } - typeName <- translateType(file)(node) - comment <- file.getComment(node) - } - yield { - val typeNameNode = AstNode.create(typeName) - val data = Ast.FormalParam(kind, name, typeNameNode) - val node = AstNode.create(data) - (Nil, node, comment) - } - - /** Extracts enum definitions from argument and return types */ - def defEnumAnnotatedList(file: XmlFppWriter.File, node: scala.xml.Node): - Result.Result[List[Ast.Annotated[Ast.DefEnum]]] = - for { - nodeOpt <- file.getSingleChildOpt(node, "args") - nodes <- nodeOpt match { - case Some(node) => Right((node \ "arg").toList) - case None => Right(Nil) - } - retTypeNodeOpt <- file.getSingleChildOpt(node, "return") - nodes <- retTypeNodeOpt match { - case Some(node) => Right(nodes :+ node) - case None => Right(nodes) - } - enumOpts <- Result.map( - nodes, - XmlFppWriter.FppBuilder.InlineEnumBuilder.defEnumAnnotatedOpt(file) - ) - } - yield enumOpts.filter(_.isDefined).map(_.get) - - /** Extracts formal parameters */ - def formalParamList( - file: XmlFppWriter.File, - node: scala.xml.Node - ): Result.Result[Ast.FormalParamList] = - for { - childOpt <- file.getSingleChildOpt(node, "args") - result <- childOpt match { - case Some(child) => - val args = child \ "arg" - Result.map(args.toList, formalParamAnnotatedNode(file, _)) - case None => Right(Nil) - } - } yield result - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/PortXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/PortXmlFppWriter.scala deleted file mode 100644 index c40d1178d..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlFppWriter/PortXmlFppWriter.scala +++ /dev/null @@ -1,62 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.ast._ -import fpp.compiler.codegen._ -import fpp.compiler.util._ -import scala.xml.Node - -/** Writes out an F Prime XML port as FPP source */ -object PortXmlFppWriter extends LineUtils { - - def writeFile(file: XmlFppWriter.File): XmlFppWriter.Result = - for (tuMember <- FppBuilder.tuMemberList(file)) - yield FppWriter.tuMemberList(tuMember) - - /** Builds FPP for translating Serializable XML */ - private object FppBuilder { - - /** Translates an XML type to an FPP type name */ - def translateType(file: XmlFppWriter.File): Node => Result.Result[Ast.TypeName] = - file.translateType(node => file.getAttribute(node, "type")) _ - - /** Extracts the return type */ - def returnTypeOpt(file: XmlFppWriter.File): - Result.Result[Option[AstNode[Ast.TypeName]]] = - file.getSingleChildOpt(file.elem, "return") match { - case Right(Some(child)) => - for (typeName <- translateType(file)(child)) - yield Some(AstNode.create(typeName)) - case Right(None) => Right(None) - case Left(e) => Left(e) - } - - /** Generates the list of TU members */ - def tuMemberList(file: XmlFppWriter.File): Result.Result[List[Ast.TUMember]] = - for { - enums <- FormalParamsXmlFppWriter.defEnumAnnotatedList(file, file.elem) - port <- defPortAnnotated(file) - } - yield XmlFppWriter.tuMemberList( - enums, - Ast.TUMember.DefEnum.apply, - Ast.ModuleMember.DefEnum.apply, - port, - Ast.TUMember.DefPort.apply, - Ast.ModuleMember.DefPort.apply, - file - ) - - /** Translates the port */ - def defPortAnnotated(file: XmlFppWriter.File): - Result.Result[Ast.Annotated[Ast.DefPort]] = - for { - comment <- file.getComment(file.elem) - name <- file.getAttribute(file.elem, "name") - params <- FormalParamsXmlFppWriter.formalParamList(file, file.elem) - returnType <- returnTypeOpt(file) - } - yield (comment, Ast.DefPort(name, params, returnType), Nil) - - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/StructXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/StructXmlFppWriter.scala deleted file mode 100644 index c1a276b56..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlFppWriter/StructXmlFppWriter.scala +++ /dev/null @@ -1,106 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.ast._ -import fpp.compiler.codegen._ -import fpp.compiler.util._ -import scala.xml.Node - -/** Writes out an F Prime XML Serializable struct as FPP source */ -object StructXmlFppWriter extends LineUtils { - - def writeFile(file: XmlFppWriter.File): XmlFppWriter.Result = - for (tuMember <- FppBuilder.tuMemberList(file)) - yield FppWriter.tuMemberList(tuMember) - - /** Builds FPP for translating Serializable XML */ - private object FppBuilder { - - /** Translates an XML type to an FPP type name */ - def translateType(file: XmlFppWriter.File): Node => Result.Result[Ast.TypeName] = - file.translateType(node => file.getAttribute(node, "type")) _ - - /** Extracts a struct type member */ - def structTypeMemberAnnotatedNode( - file: XmlFppWriter.File, - node: scala.xml.Node - ): Result.Result[Ast.Annotated[AstNode[Ast.StructTypeMember]]] = { - for { - structName <- file.getAttribute(file.elem, "name") - memberName <- file.getAttribute(node, "name") - xmlType <- file.getAttribute(node, "type") - memberType <- translateType(file)(node) - } - yield { - val xmlSizeOpt = XmlFppWriter.getAttributeOpt(node, "array_size") - val sizeOpt = (memberType, xmlSizeOpt) match { - case (_, Some(size)) => Some(size) - case _ => None - } - val xmlFormatOpt = XmlFppWriter.getAttributeOpt(node, "format") - val (fppFormatOpt, pre) = - XmlFppWriter.FppBuilder.translateFormatOpt(xmlFormatOpt) - val data = Ast.StructTypeMember( - memberName, - sizeOpt.map(size => AstNode.create(Ast.ExprLiteralInt(size))), - AstNode.create(memberType), - fppFormatOpt.map(AstNode.create(_)) - ) - val astNode = AstNode.create(data) - val post = XmlFppWriter.getAttributeComment(node) - (pre, astNode, post) - } - } - - /** Extracts enum definitions from struct members */ - def defEnumAnnotatedList(file: XmlFppWriter.File): - Result.Result[List[Ast.Annotated[Ast.DefEnum]]] = - for { - child <- file.getSingleChild(file.elem, "members") - members <- Right((child \ "member").toList) - enumOpts <- Result.map( - members, - XmlFppWriter.FppBuilder.InlineEnumBuilder.defEnumAnnotatedOpt(file) - ) - } - yield enumOpts.filter(_.isDefined).map(_.get) - - /** Extracts struct type members */ - def structTypeMemberAnnotatedNodeList(file: XmlFppWriter.File): - Result.Result[List[Ast.Annotated[AstNode[Ast.StructTypeMember]]]] = - for { - child <- file.getSingleChild(file.elem, "members") - result <- { - val members = child \ "member" - Result.map(members.toList, structTypeMemberAnnotatedNode(file, _)) - } - } yield result - - /** Generates the list of TU members */ - def tuMemberList(file: XmlFppWriter.File): Result.Result[List[Ast.TUMember]] = - for { - enums <- defEnumAnnotatedList(file) - struct <- defStructAnnotated(file) - } - yield XmlFppWriter.tuMemberList( - enums, - Ast.TUMember.DefEnum.apply, - Ast.ModuleMember.DefEnum.apply, - struct, - Ast.TUMember.DefStruct.apply, - Ast.ModuleMember.DefStruct.apply, - file, - ) - - /** Translates the struct type */ - def defStructAnnotated(file: XmlFppWriter.File): - Result.Result[Ast.Annotated[Ast.DefStruct]] = - for { - comment <- file.getComment(file.elem) - structName <- file.getAttribute(file.elem, "name") - members <- structTypeMemberAnnotatedNodeList(file) - } - yield (comment, Ast.DefStruct(structName, members, None), Nil) - - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/TlmPacketSetXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/TlmPacketSetXmlWriter.scala deleted file mode 100644 index 8704d34f7..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlFppWriter/TlmPacketSetXmlWriter.scala +++ /dev/null @@ -1,121 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.ast._ -import fpp.compiler.codegen._ -import fpp.compiler.util._ -import scala.xml.Node - -/** Writes out an F Prime XML telemetry packet set as FPP source */ -object TlmPacketSetXmlFppWriter extends LineUtils { - - def writeFile(file: XmlFppWriter.File): XmlFppWriter.Result = - for (topologyMember <- FppBuilder.topologyMember(file)) - yield FppWriter.topologyMember(topologyMember) - - /** Builds FPP for translating telemetry packet XML */ - private object FppBuilder { - - /** Generates the topology member */ - def topologyMember(file: XmlFppWriter.File): Result.Result[Ast.TopologyMember] = - for (tps <- specTlmPacketSetAnnotated(file)) - yield { - val node = XmlFppWriter.transformNode (Ast.TopologyMember.SpecTlmPacketSet.apply) (tps) - Ast.TopologyMember(node) - } - - /** Extracts a telemetry packet set member */ - def tlmPacketSetMember( - file: XmlFppWriter.File, - xmlNode: scala.xml.Node - ): Result.Result[Ast.TlmPacketSetMember] = - for { - name <- file.getAttribute(xmlNode, "name") - group <- file.translateInteger(xmlNode, "level") - members <- tlmPacketMemberList(file, xmlNode) - } - yield { - val id = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "id") - val data = Ast.SpecTlmPacket( - name, - id, - group, - members - ) - val node = Ast.TlmPacketSetMember.SpecTlmPacket(AstNode.create(data)) - val aNode = (Nil, node, Nil) - Ast.TlmPacketSetMember(aNode) - } - - /** Extracts a telemetry channel identifier */ - def tlmChannelIdentifier( - file: XmlFppWriter.File, - name: String - ): Result.Result[Ast.TlmChannelIdentifier] = - name.split("\\.").toList.reverse match { - case head :: tail => - val nodeList = tail.reverse.map(AstNode.create) - val instance = Ast.QualIdent.fromNodeList(nodeList) - Right( - Ast.TlmChannelIdentifier( - AstNode.create(instance), - AstNode.create(head) - ) - ) - case _ => Left(file.semanticError(s"channel name $name is not well-formed")) - } - - /** Extracts a telemetry channel identifier node */ - def tlmChannelIdentifierNode( - file: XmlFppWriter.File, - xmlNode: scala.xml.Node - ): Result.Result[AstNode[Ast.TlmChannelIdentifier]] = - for { - name <- file.getAttribute(xmlNode, "name") - tci <- tlmChannelIdentifier(file, name) - } - yield AstNode.create(tci) - - /** Extracts a telemetry packet member */ - def tlmPacketMember( - file: XmlFppWriter.File, - xmlNode: scala.xml.Node - ): Result.Result[Ast.TlmPacketMember] = - tlmChannelIdentifierNode(file, xmlNode).map(Ast.TlmPacketMember.TlmChannelIdentifier.apply) - - /** Extracts telemetry packet members */ - def tlmPacketMemberList(file: XmlFppWriter.File, xmlNode: scala.xml.Node): - Result.Result[List[Ast.TlmPacketMember]] = { - val channels = xmlNode \ "channel" - Result.map(channels.toList, tlmPacketMember(file, _)) - } - - /** Extracts telemetry packet set members */ - def tlmPacketSetMemberList(file: XmlFppWriter.File): - Result.Result[List[Ast.TlmPacketSetMember]] = { - val packets = file.elem \ "packet" - Result.map(packets.toList, tlmPacketSetMember(file, _)) - } - - /** Extracts omitted channels */ - def omittedChannelList(file: XmlFppWriter.File): - Result.Result[List[AstNode[Ast.TlmChannelIdentifier]]] = - for { - child <- file.getSingleChild(file.elem, "ignore") - channels <- Right(child \ "channel") - channelIds <- Result.map(channels.toList, tlmChannelIdentifierNode(file, _)) - } - yield channelIds - - /** Translates the telemetry packet set */ - def specTlmPacketSetAnnotated(file: XmlFppWriter.File): - Result.Result[Ast.Annotated[Ast.SpecTlmPacketSet]] = - for { - name <- file.getAttribute(file.elem, "name") - members <- tlmPacketSetMemberList(file) - omitted <- omittedChannelList(file) - } - yield (Nil, Ast.SpecTlmPacketSet(name, members, omitted), Nil) - - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/TopologyXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/TopologyXmlFppWriter.scala deleted file mode 100644 index 7423ec3fc..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlFppWriter/TopologyXmlFppWriter.scala +++ /dev/null @@ -1,186 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.ast._ -import fpp.compiler.codegen._ -import fpp.compiler.util._ - -/** Writes out an F Prime XML topology as FPP source */ -object TopologyXmlFppWriter extends LineUtils { - - def writeFile(file: XmlFppWriter.File): XmlFppWriter.Result = - for (tuMember <- FppBuilder.tuMemberList(file)) - yield FppWriter.tuMemberList(tuMember) - - /** Builds FPP for translating topology XML */ - private object FppBuilder { - - /** Generates the list of TU members */ - def tuMemberList(file: XmlFppWriter.File): Result.Result[List[Ast.TUMember]] = - for { - instances <- defComponentInstanceAnnotatedList(file) - top <- defTopologyAnnotated(file) - } - yield XmlFppWriter.tuMemberList( - instances, - Ast.TUMember.DefComponentInstance.apply, - Ast.ModuleMember.DefComponentInstance.apply, - top, - Ast.TUMember.DefTopology.apply, - Ast.ModuleMember.DefTopology.apply, - file, - ) - - /** Translates a component instance definition */ - def defComponentInstanceAnnotated( - file: XmlFppWriter.File, - node: scala.xml.Node - ): Result.Result[Ast.Annotated[Ast.DefComponentInstance]] = - for { - name <- file.getAttribute(node, "name") - componentName <- file.getAttribute(node, "type") - baseId <- file.getAttribute(node, "base_id") - } - yield { - val componentQid = Ast.QualIdent.fromNodeList( - (XmlFppWriter.getAttributeNamespace(node) :+ componentName). - map(AstNode.create(_)) - ) - ( - Nil, - Ast.DefComponentInstance( - name, - AstNode.create(componentQid), - AstNode.create(Ast.ExprLiteralInt(baseId)), - None, - None, - None, - None, - None, - None, - Nil - ), - Nil - ) - } - - /** Translates a component instance specifier */ - def specCompInstanceAnnotated( - file: XmlFppWriter.File, - node: scala.xml.Node - ): Result.Result[Ast.Annotated[Ast.SpecCompInstance]] = - for (name <- file.getAttribute(node, "name")) - yield { - val qid = XmlFppWriter.FppBuilder.translateQualIdent(name) - ( - Nil, - Ast.SpecCompInstance(Ast.Visibility.Public, qid), - Nil - ) - } - - /** Translates the component instance definitions */ - def defComponentInstanceAnnotatedList(file: XmlFppWriter.File): - Result.Result[List[Ast.Annotated[Ast.DefComponentInstance]]] = { - val instances = file.elem \ "instance" - Result.map(instances.toList, defComponentInstanceAnnotated(file, _)) - } - - /** Translates the component instance specifiers */ - def specCompInstanceAnnotatedList(file: XmlFppWriter.File): - Result.Result[List[Ast.Annotated[Ast.SpecCompInstance]]] = { - val instances = file.elem \ "instance" - Result.map(instances.toList, specCompInstanceAnnotated(file, _)) - } - - type Endpoint = ( - AstNode[Ast.PortInstanceIdentifier], - Option[AstNode[Ast.Expr]] - ) - - /** Translates a connection endpoint */ - def endpoint( - file: XmlFppWriter.File, - node: scala.xml.Node - ): Result.Result[Endpoint] = - for { - xmlInstance <- file.getAttribute(node, "component") - port <- file.getAttribute(node, "port") - portNumber <- file.getAttribute(node, "num") - } - yield { - val pii = Ast.PortInstanceIdentifier( - XmlFppWriter.FppBuilder.translateQualIdent(xmlInstance), - AstNode.create(port) - ) - val e = Ast.ExprLiteralInt(portNumber) - (AstNode.create(pii), Some(AstNode.create(e))) - } - - /** Translates a connection */ - def connection( - file: XmlFppWriter.File, - node: scala.xml.Node - ): Result.Result[Ast.SpecConnectionGraph.Connection] = - for { - xmlSource <- file.getSingleChild(node, "source") - from <- endpoint(file, xmlSource) - xmlTarget <- file.getSingleChild(node, "target") - to <- endpoint(file, xmlTarget) - } - yield { - Ast.SpecConnectionGraph.Connection( - false, - from._1, - from._2, - to._1, - to._2 - ) - } - - /** Translates the connections */ - def connectionList(file: XmlFppWriter.File): - Result.Result[List[Ast.SpecConnectionGraph.Connection]] = { - val connections = file.elem \ "connection" - Result.map(connections.toList, connection(file, _)) - } - - /** Translates the connection graph */ - def specConnectionGraphAnnotated(file: XmlFppWriter.File): - Result.Result[Ast.Annotated[Ast.SpecConnectionGraph]] = - for (connections <- connectionList(file)) - yield ( - Nil, - Ast.SpecConnectionGraph.Direct("XML", connections), - Nil - ) - - /** Translates the topology */ - def defTopologyAnnotated(file: XmlFppWriter.File): - Result.Result[Ast.Annotated[Ast.DefTopology]] = - for { - name <- file.getAttribute(file.elem, "name") - instancesAnnotated <- specCompInstanceAnnotatedList(file) - graphAnnotated <- specConnectionGraphAnnotated(file) - } - yield { - def member[T] - (memberNodeConstructor: AstNode[T] => Ast.TopologyMember.Node) - (ta: Ast.Annotated[T]) = { - val (a1, t, a2) = ta - val node = AstNode.create(t) - val memberNode = memberNodeConstructor(node) - Ast.TopologyMember(a1, memberNode, a2) - } - val instanceMembers = instancesAnnotated.map( - member(Ast.TopologyMember.SpecCompInstance.apply) - ) - val graphMember = member(Ast.TopologyMember.SpecConnectionGraph.apply)( - graphAnnotated - ) - val members = instanceMembers :+ graphMember - (Nil, Ast.DefTopology(name, members), Nil) - } - - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/XmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/XmlFppWriter.scala deleted file mode 100644 index df5e68028..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlFppWriter/XmlFppWriter.scala +++ /dev/null @@ -1,435 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.ast._ -import fpp.compiler.codegen._ -import fpp.compiler.util._ - -/** Writes F Prime XML as FPP source */ -object XmlFppWriter extends LineUtils { - - type Result = Result.Result[List[Line]] - - /** An F Prime XML file */ - case class File( - /** The file name */ - name: String, - /** The XML element */ - elem: scala.xml.Elem - ) { - - /** Constructs an error containing the file name */ - def error(e: (String) => Error): Error = e(name) - - /** Constructs a semantic error with the given message */ - def semanticError(message: String): Error = error(XmlError.SemanticError(_, message)) - - /** Gets an attribute from a node, returning an error if it is not there */ - def getAttribute(node: scala.xml.Node, name: String): Result.Result[String] = - getAttributeOpt(node, name) match { - case Some(s) => Right(s) - case None => Left(semanticError(s"missing attribute $name for node ${node.toString}")) - } - - /** Gets a comment from a node, returning an empty list if it is not there */ - def getComment(node: scala.xml.Node): Result.Result[List[String]] = - for (childOpt <- getSingleChildOpt(node, "comment")) - yield { - def removeOuterBlanks(list: List[String]) = { - def removeLeadingBlanks(list: List[String]): List[String] = - list match { - case "" :: tail => removeLeadingBlanks(tail) - case _ => list - } - def removeTrailingBlanks(list: List[String]) = - removeLeadingBlanks(list.reverse).reverse - removeTrailingBlanks(removeLeadingBlanks(list)) - } - childOpt match { - case Some(node) => { - val list = node.child.map(_.toString.split("\n").map(_.trim)).flatten.toList - removeOuterBlanks(list) - } - case None => Nil - } - } - - /** Gets the integer value attribute from a node */ - def getIntegerValueAttribute(defaultValue: BigInt)(node: scala.xml.Node): - Result.Result[BigInt]= - getAttributeOpt(node, "value") match { - case Some(value) => - try { - Right(BigInt(value)) - } catch { - case _: Exception => Left( - semanticError(s"invalid value $value for node ${node.toString}") - ) - } - case None => Right(defaultValue) - } - - /** Gets a single named child from a node, returning an error if it is not there */ - def getSingleChild(node: scala.xml.Node, name: String): Result.Result[scala.xml.Node] = - getSingleChildOpt(node, name) match { - case Right(Some(child)) => Right(child) - case Right(None) => Left(semanticError(s"missing child $name for node ${node.toString}")) - case Left(e) => Left(e) - } - - /** Gets an optional single named child from a node */ - def getSingleChildOpt(node: scala.xml.Node, name: String): Result.Result[Option[scala.xml.Node]] = - (node \ name).toList match { - case head :: Nil => Right(Some(head)) - case Nil => Right(None) - case _ => Left(semanticError(s"multiple child nodes $name for node ${node.toString}")) - } - - /** Gets the unique child of a node */ - def getUniqueChild(node: scala.xml.Node): Result.Result[scala.xml.Node] = - node.child.size match { - case 0 => Left(semanticError(s"missing child for node ${node.toString}")) - case 1 => Right(node.child.head) - case _ => Left(semanticError(s"too many children of node ${node.toString}")) - } - - /** Reports an invalid attribute */ - def invalidAttribute(name: String, node: scala.xml.Node): Error = - semanticError(s"invalid attribute $name in node ${node.toString}") - - /** Translates a integer attribute */ - def translateInteger(xmlNode: scala.xml.Node, name: String): Result.Result[AstNode[Ast.ExprLiteralInt]] = - getAttribute(xmlNode, name).map( - text => AstNode.create(Ast.ExprLiteralInt(text)) - ) - - /** Translates an XML type to an FPP type name */ - def translateType - (getType: scala.xml.Node => Result.Result[String]) - (node: scala.xml.Node): Result.Result[Ast.TypeName] = - for { - xmlType <- getType(node) - result <- { - val sizeOpt = getAttributeOpt(node, "size") - xmlType match { - case "I16" => Right(Ast.TypeNameInt(Ast.I16())) - case "I32" => Right(Ast.TypeNameInt(Ast.I32())) - case "I64" => Right(Ast.TypeNameInt(Ast.I64())) - case "I8" => Right(Ast.TypeNameInt(Ast.I8())) - case "F32" => Right(Ast.TypeNameFloat(Ast.F32())) - case "F64" => Right(Ast.TypeNameFloat(Ast.F64())) - case "U16" => Right(Ast.TypeNameInt(Ast.U16())) - case "U32" => Right(Ast.TypeNameInt(Ast.U32())) - case "U64" => Right(Ast.TypeNameInt(Ast.U64())) - case "U8" => Right(Ast.TypeNameInt(Ast.U8())) - case "bool" => Right(Ast.TypeNameBool) - case "ENUM" => for { - enumeration <- getSingleChild(node, "enum") - name <- getAttribute(enumeration, "name") - } yield FppBuilder.translateQualIdentType(name) - case "string" => Right(Ast.TypeNameString( - sizeOpt.map((size: String) => AstNode.create(Ast.ExprLiteralInt(size))) - )) - case _ => Right(FppBuilder.translateQualIdentType(xmlType)) - } - } - } yield result - - /** Writes a file as lines */ - def write: Result = { - val eltType = elem.label - for { - body <- eltType match { - case "array" => ArrayXmlFppWriter.writeFile(this) - case "assembly" => TopologyXmlFppWriter.writeFile(this) - case "commands" => ComponentXmlFppWriter.writeCommandsFile(this) - case "component" => ComponentXmlFppWriter.writeComponentFile(this) - case "enum" => EnumXmlFppWriter.writeFile(this) - case "events" => ComponentXmlFppWriter.writeEventsFile(this) - case "interface" => PortXmlFppWriter.writeFile(this) - case "internal_interfaces" => ComponentXmlFppWriter.writeInternalPortsFile(this) - case "packets" => TlmPacketSetXmlFppWriter.writeFile(this) - case "parameters" => ComponentXmlFppWriter.writeParamsFile(this) - case "ports" => ComponentXmlFppWriter.writePortsFile(this) - case "serializable" => StructXmlFppWriter.writeFile(this) - case "telemetry" => ComponentXmlFppWriter.writeTlmChannelsFile(this) - case _ => Left(semanticError(s"invalid element type $eltType")) - } - } - yield body - } - - } - - /** Constructs a translator note */ - def constructNote(s: String): String = "FPP from XML: " ++ s - - /** Gets an attribute comment */ - def getAttributeComment(node: scala.xml.Node): List[String] = - getAttributeOpt(node, "comment") match { - case Some(s) => s.split("\n").map(_.trim).toList - case None => Nil - } - - /** Gets an attribute namespace */ - def getAttributeNamespace(node: scala.xml.Node): List[String] = - getAttributeOpt(node, "namespace") match { - case Some(s) => s.split("::").toList - case None => Nil - } - - /** Gets an optional attribute */ - def getAttributeOpt(node: scala.xml.Node, name: String): Option[String] = - node.attribute(name).map(_.toList.head.toString) - - /** Writes a file list */ - def writeFileList(fileList: List[File]): Result.Result[List[Line]] = { - for (files <- Result.map(fileList, _.write)) - yield Line.blankSeparated (identity[List[Line]]) (files) - } - - /** Builds a TU member from a single annotated element */ - def tuMember[T]( - aT: Ast.Annotated[T], - tumConstructor: AstNode[T] => Ast.TUMember.Node, - moduleConstructor: AstNode[T] => Ast.ModuleMember.Node, - file: XmlFppWriter.File - ): Ast.TUMember = tuMemberList( - Nil: List[Ast.Annotated[Ast.DefEnum]], - Ast.TUMember.DefEnum.apply, - Ast.ModuleMember.DefEnum.apply, - aT, - tumConstructor, - moduleConstructor, - file - ).head - - /** Transforms an annotated AST node */ - def transformNode[A,B](transform: AstNode[A] => B)(a: Ast.Annotated[A]): (List[String], B, List[String]) = - (a._1, transform(AstNode.create(a._2)), a._3) - - /** Builds a list of TU members from a list of annotated A elements - * followed by a single annotated B element */ - def tuMemberList[A,B]( - aNodesA: List[Ast.Annotated[A]], - tumConstructorA: AstNode[A] => Ast.TUMember.Node, - moduleConstructorA: AstNode[A] => Ast.ModuleMember.Node, - aNodeB: Ast.Annotated[B], - tumConstructorB: AstNode[B] => Ast.TUMember.Node, - moduleConstructorB: AstNode[B] => Ast.ModuleMember.Node, - file: XmlFppWriter.File, - ): List[Ast.TUMember] = { - val moduleNames = XmlFppWriter.getAttributeNamespace(file.elem) - val memberNodes = moduleNames match { - case Nil => { - // Generate a list of TU members - val aNodesA1 = aNodesA.map(transformNode(tumConstructorA)) - val aNodeB1 = transformNode(tumConstructorB)(aNodeB) - aNodesA1 :+ aNodeB1 - } - case head :: tail => { - // Generate a TU member consisting of one or more modules enclosing module members - val aNodesA1 = aNodesA.map(transformNode(moduleConstructorA)) - val aNodeB1 = transformNode(moduleConstructorB)(aNodeB) - val members = aNodesA1 :+ aNodeB1 - val members1 = XmlFppWriter.FppBuilder.encloseWithModuleMemberModules(tail.reverse)(members) - List(XmlFppWriter.FppBuilder.encloseWithTuMemberModule(head)(members1)) - } - } - memberNodes.map(Ast.TUMember(_)) - } - - /** Utilities for constructing FPP ASTs */ - object FppBuilder { - - /** Encloses a list of module members with a module inside a trans unit */ - def encloseWithTuMemberModule - (name: String) - (members: List[Ast.Annotated[Ast.ModuleMember.Node]]): - Ast.Annotated[Ast.TUMember.Node] = - encloseWithModule(Ast.TUMember.DefModule.apply)(name)(members) - - /** Encloses a list of module members with zero more modules inside a module */ - def encloseWithModuleMemberModules - (names: List[String]) - (members: List[Ast.Annotated[Ast.ModuleMember.Node]]): - List[Ast.Annotated[Ast.ModuleMember.Node]] = - { - def encloseWithModuleMemberModule - (name: String) - (members: List[Ast.Annotated[Ast.ModuleMember.Node]]): - List[Ast.Annotated[Ast.ModuleMember.Node]] = - List(encloseWithModule(Ast.ModuleMember.DefModule.apply)(name)(members)) - names match { - case Nil => members - case head :: tail => encloseWithModuleMemberModules(tail)( - encloseWithModuleMemberModule(head)(members) - ) - } - } - - /** Translates a qualified identifier type */ - def translateQualIdentType(xmlType: String): Ast.TypeNameQualIdent = - Ast.TypeNameQualIdent(translateQualIdent(xmlType)) - - /** Translates a qualified identifier */ - def translateQualIdent(xmlQid: String): AstNode[Ast.QualIdent] = - AstNode.create( - Ast.QualIdent.fromNodeList( - xmlQid.split("::").toList.map(AstNode.create(_)) - ) - ) - - /** Translates an XML format */ - def translateFormat(xmlFormat: String): Option[String] = { - val repls = List( - ("\\{" -> "{{"), - ("\\}" -> "}}"), - ("(%ld|%d|%lu|%u|%s|%g|%llu|%lld)" -> "{}"), - ("%c" -> "{c}"), - ("(%o|%lo|%llo)" ->"{o}"), - ("(%x|%lx|%llx)" -> "{x}"), - ("%e"-> "{e}"), - ("%f"-> "{f}"), - ("%(\\.[0-9]+)e"-> "{$1e}"), - ("%(\\.[0-9]+)f"-> "{$1f}"), - ("%(\\.[0-9]+)g" -> "{$1g}") - ) - val s = repls.foldLeft(xmlFormat)({ case (s, (a, b)) => s.replaceAll(a, b) }) - if (!s.replaceAll("%%", "").contains("%")) - Some(s.replaceAll("%%", "%")) else None - } - - /** Translates an optional XML format. - * Returns the translated format and a note. */ - def translateFormatOpt(xmlFormatOpt: Option[String]): (Option[String], List[String]) = { - val fppFormatOpt = xmlFormatOpt.flatMap(FppBuilder.translateFormat(_)) - val note = (xmlFormatOpt, fppFormatOpt) match { - case (Some(xmlFormat), None) => - val s = "could not translate format string \"" ++ xmlFormat ++ "\"" - List(constructNote(s)) - case _ => Nil - } - // Represent default format "{}" more succinctly as no format - val format = fppFormatOpt match { - case Some("{}") => None - case _ => fppFormatOpt - } - (format, note) - } - - /** Translates an optional integer attribute */ - def translateIntegerOpt(xmlNode: scala.xml.Node, name: String): Option[AstNode[Ast.ExprLiteralInt]] = - getAttributeOpt(xmlNode, name).map( - text => AstNode.create(Ast.ExprLiteralInt(text)) - ) - - /** Translates a value from FPP to XML */ - def translateValue(xmlValue: String, tn: Ast.TypeName): Option[AstNode[Ast.Expr]] = { - val exprOpt = (xmlValue, tn) match { - case (_, Ast.TypeNameInt(_)) => Some(Ast.ExprLiteralInt(xmlValue)) - case (_, Ast.TypeNameFloat(_)) => Some(Ast.ExprLiteralFloat(xmlValue)) - case ("true", Ast.TypeNameBool) => Some(Ast.ExprLiteralBool(Ast.LiteralBool.True)) - case ("false", Ast.TypeNameBool) => Some(Ast.ExprLiteralBool(Ast.LiteralBool.False)) - case (_, Ast.TypeNameString(_)) => Some(Ast.ExprLiteralString(xmlValue.replaceAll("^\"|\"$", ""))) - case _ => - if ("[^A-Za-z0-9_:]".r.findAllIn(xmlValue).length > 0) - // Not a qualified identifier -- don't translate - None - else { - // C++ qualified identifier. Translate to an FPP qualified identifier. - val head :: tail = xmlValue.split("::").toList - val e = tail.foldLeft (Ast.ExprIdent(head): Ast.Expr) ((e1, s) => - Ast.ExprDot(AstNode.create(e1), AstNode.create(s)) - ) - Some(e) - } - } - exprOpt.map(AstNode.create(_)) - } - - /** Encloses several member nodes with a module of variant type */ - private def encloseWithModule[MemberType] - (memberTypeConstructor: AstNode[Ast.DefModule] => MemberType) - (name:String) - (memberNodes: List[Ast.Annotated[Ast.ModuleMember.Node]]): - Ast.Annotated[MemberType] = - { - val members = memberNodes.map(Ast.ModuleMember(_)) - val defModule = Ast.DefModule(name, members) - val node = AstNode.create(defModule) - (Nil, memberTypeConstructor(node), Nil) - } - - /** Extracts inline enums from XML nodes */ - object InlineEnumBuilder { - - /** Translates an enum */ - def defEnumAnnotated(file: XmlFppWriter.File)(node: scala.xml.Node): - Result.Result[Ast.Annotated[Ast.DefEnum]] = - for { - name <- file.getAttribute(node, "name") - constants <- defEnumConstantNodeAnnotatedList(file)(node) - } - yield (Nil, Ast.DefEnum(name, None, constants, None), Nil) - - /** Translates an enum if present in the node */ - def defEnumAnnotatedOpt(file: XmlFppWriter.File)(node: scala.xml.Node): - Result.Result[Option[Ast.Annotated[Ast.DefEnum]]] = - for { - enumNodeOpt <- file.getSingleChildOpt(node, "enum") - result <- enumNodeOpt match { - case Some(enumNode) => defEnumAnnotated(file)(enumNode).map(Some(_)) - case None => Right(None) - } - } yield result - - /** Translates an enum constant node */ - def defEnumConstantNodeAnnotated - (file: XmlFppWriter.File) - (defaultValue: BigInt) - (node: scala.xml.Node): - Result.Result[(Ast.Annotated[AstNode[Ast.DefEnumConstant]], BigInt)] = - { - for { - name <- file.getAttribute(node, "name") - value <- file.getIntegerValueAttribute(defaultValue)(node) - } - yield { - val data = Ast.DefEnumConstant( - name, - Some(AstNode.create(Ast.ExprLiteralInt(value.toString))) - ) - val astNode = AstNode.create(data) - val comment = XmlFppWriter.getAttributeComment(node) - ((Nil, astNode, comment), value + 1) - } - } - - /** Translates a list of enum constant nodes */ - def defEnumConstantNodeAnnotatedList - (file: XmlFppWriter.File) - (enumNode: scala.xml.Node): - Result.Result[List[Ast.Annotated[AstNode[Ast.DefEnumConstant]]]] = - { - val items = (enumNode \ "item").toList - def fold( - nodes: List[scala.xml.Node], - defaultValue: BigInt, - out: List[Ast.Annotated[AstNode[Ast.DefEnumConstant]]] - ): Result.Result[List[Ast.Annotated[AstNode[Ast.DefEnumConstant]]]] = { - nodes match { - case Nil => Right(out.reverse) - case head :: tail => defEnumConstantNodeAnnotated(file)(defaultValue)(head) match { - case Left(e) => Left(e) - case Right((aNode, nextDefaultValue)) => fold(tail, nextDefaultValue, aNode :: out) - } - } - } - fold(items, BigInt(0), Nil) - } - - } - - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/AnnotationXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/AnnotationXmlWriter.scala deleted file mode 100644 index cde57b6b7..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/AnnotationXmlWriter.scala +++ /dev/null @@ -1,26 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.ast._ -import fpp.compiler.util._ - -/** Write an FPP annotation as XML */ -object AnnotationXmlWriter extends LineUtils { - - /** Write a multiline comment */ - def multilineComment[T](a: Ast.Annotated[T]): List[Line] = { - (a._1 ++ a._3).map(line compose XmlTags.escaped) match { - case Nil => Nil - case ls => { - val tags = XmlTags.tags("comment") - XmlTags.taggedLines(tags)(ls) - } - } - } - - /** Write a single-line comment */ - def singleLineComment[T](a: Ast.Annotated[T]): Option[(String, String)] = { - val s = (a._1 ++ a._3).map(XmlTags.escaped).mkString(" ") - if (s.length > 0) Some(("comment", s)) else None - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/ArrayXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/ArrayXmlWriter.scala deleted file mode 100644 index 7040b7504..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/ArrayXmlWriter.scala +++ /dev/null @@ -1,86 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.util._ - -/** Write out F Prime XML for array definitions */ -object ArrayXmlWriter extends AstVisitor with LineUtils { - - type In = XmlWriterState - - type Out = List[Line] - - override def default(s: XmlWriterState) = Nil - - override def defArrayAnnotatedNode(s: XmlWriterState, aNode: Ast.Annotated[AstNode[Ast.DefArray]]) = { - val node = aNode._2 - val data = node.data - val tags = { - val pairs = s.getNamespaceAndName(Symbol.Array(aNode)) - XmlTags.tags("array", pairs) - } - val body = { - val Right(a) = UsedSymbols.defArrayAnnotatedNode(s.a, aNode) - val comment = AnnotationXmlWriter.multilineComment(aNode) - val imports = s.writeImportDirectives(a.usedSymbolSet) - val arrayType @ Type.Array(_, _, _, _) = s.a.typeMap(node.id) - - val t = { - val typeName = TypeXmlWriter.getName(s, arrayType.anonArray.eltType) - val stringSize = TypeXmlWriter.getSize(s, arrayType.anonArray.eltType) - val openTag = stringSize match { - case Some(openTag)=> XmlTags.openTag("type", List( ("size", openTag) )) - case None => XmlTags.openTag("type", Nil) - } - val closeTag = XmlTags.closeTag("type") - val tags = openTag ++ typeName ++ closeTag - List(line(tags)) - } - val size = { - val tags = XmlTags.tags("size") - val mappedSize = arrayType.getArraySize match { - case Some(mappedSize) => mappedSize.toString - case None => "0" - } - List(line(XmlTags.taggedString(tags)(mappedSize))) - } - val format = { - val tags = XmlTags.tags("format") - val format = arrayType.format match { - case Some(format) => format - case None => Format("", List((Format.Field.Default,""))) - } - val s = FormatXmlWriter.formatToString(format, List(data.eltType)) - List(line(XmlTags.taggedString(tags)(s))) - } - val default = { - val defaultTags = XmlTags.tags("default") - val defaultValue = arrayType.getDefaultValue.get - val ls = writeDefaultValue(s, defaultValue) - XmlTags.taggedLines(defaultTags)(ls.map(indentIn)) - } - List( - imports, - comment, - t, - size, - format, - default - ).flatten - } - XmlTags.taggedLines(tags)(body.map(indentIn)) - } - - /** Writes the default value corresponding to an array value */ - def writeDefaultValue( - s: XmlWriterState, - arrayValue: Value.Array - ): Out = { - val tags = XmlTags.tags("value") - val elements = arrayValue.anonArray.elements - val values = elements.map(ValueXmlWriter.write(s, _)) - values.map(XmlTags.taggedString(tags)(_)).map(line) - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/ComponentXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/ComponentXmlWriter.scala deleted file mode 100644 index c4f5615ce..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/ComponentXmlWriter.scala +++ /dev/null @@ -1,329 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.util._ - -/** Write out F Prime XML for component definitions */ -object ComponentXmlWriter extends AstVisitor with LineUtils { - - type In = XmlWriterState - - type Out = List[Line] - - override def defComponentAnnotatedNode( - s: XmlWriterState, - aNode: Ast.Annotated[AstNode[Ast.DefComponent]] - ) = { - val symbol = Symbol.Component(aNode) - val c = s.a.componentMap(symbol) - val pairs = { - val data = aNode._2.data - s.getNamespaceAndName(symbol) :+ ("kind", data.kind.toString) - } - val body = { - val comment = AnnotationXmlWriter.multilineComment(aNode) - List( - comment, - writeImports(s, c), - writePorts(s, c), - writeInternalInterfaces(s, c), - writeCommands(s, c), - writeEvents(s, c), - writeParams(s, c), - writeTlmChannels(s, c) - ).flatMap(XmlWriterState.addBlankPrefix) :+ Line.blank - } - XmlTags.taggedLines ("component", pairs) (body.map(indentIn)) - } - - override def default(s: XmlWriterState) = Nil - - private def writeCommands(s: XmlWriterState, c: Component) = { - import Command._ - def writeNonParamCommand(opcode: Opcode, nonParam: NonParam) = { - import NonParam._ - val data = nonParam.aNode._2.data - def writeKind(kind: NonParam.Kind) = { - kind match { - case _: Async => "async" - case Guarded => "guarded" - case Sync => "sync" - } - } - val pairs = { - val pairs1 = List( - ("kind", writeKind(nonParam.kind)), - ("opcode", XmlWriterState.writeId(opcode)), - ("mnemonic", data.name), - ) - val priority = nonParam.kind match { - case Async(Some(priority), _) => - List(("priority", priority.toString)) - case _ => Nil - } - val queueFull = nonParam.kind match { - case Async(_, queueFull) => List(("full", queueFull.toString)) - case _ => Nil - } - pairs1 ++ priority ++ queueFull - } - val body = { - val comment = AnnotationXmlWriter.multilineComment(nonParam.aNode) - val args = FormalParamsXmlWriter.formalParamList(s, data.params) - comment ++ args - } - XmlTags.taggedLines ("command", pairs) (body.map(indentIn)) - } - def writeCommand(opcode: Opcode, command: Command) = command match { - case nonParam: NonParam => writeNonParamCommand(opcode, nonParam) - // Parameter commands are implicit in the XML component representation - case param: Param => Nil - } - val commands = c.commandMap.keys.toList.sortWith(_ < _). - flatMap(key => writeCommand(key, c.commandMap(key))) - XmlTags.taggedLinesOpt ("commands") (commands.map(indentIn)) - } - - private def writeEvents(s: XmlWriterState, c: Component) = { - import Event._ - def writeEvent(id: Id, event: Event) = { - val data = event.aNode._2.data - def writeSeverity(severity: Ast.SpecEvent.Severity) = { - import Ast.SpecEvent._ - severity match { - case ActivityHigh => "ACTIVITY_HI" - case ActivityLow => "ACTIVITY_LO" - case Command => "COMMAND" - case Diagnostic => "DIAGNOSTIC" - case Fatal => "FATAL" - case WarningHigh => "WARNING_HI" - case WarningLow => "WARNING_LO" - } - } - val pairs = { - val typeNames = data.params.map(_._2.data.typeName) - val format = FormatXmlWriter.formatToString( - event.format, - typeNames - ) - val pairs1 = List( - ("id", XmlWriterState.writeId(id)), - ("name", data.name), - ("severity", writeSeverity(data.severity)), - ("format_string", format) - ) - val throttle = event.throttle match { - case Some(throttle) => List(("throttle", throttle.toString)) - case _ => Nil - } - pairs1 ++ throttle - } - val body = { - val comment = AnnotationXmlWriter.multilineComment(event.aNode) - val args = FormalParamsXmlWriter.formalParamList(s, data.params) - comment ++ args - } - XmlTags.taggedLines ("event", pairs) (body.map(indentIn)) - } - val events = c.eventMap.keys.toList.sortWith(_ < _). - flatMap(key => writeEvent(key, c.eventMap(key))) - XmlTags.taggedLinesOpt ("events") (events.map(indentIn)) - } - - private def writeImports(s: XmlWriterState, c: Component) = { - val Right(a) = UsedSymbols.defComponentAnnotatedNode(s.a, c.aNode) - s.writeImportDirectives(a.usedSymbolSet) - } - - private def writeInternalInterfaces(s: XmlWriterState, c: Component) = { - def writeInternalPort(name: String, internal: PortInstance.Internal) = { - import PortInstance.Internal._ - val data = internal.aNode._2.data - val pairs = { - val namePair = ("name", name) - val priority = internal.priority match { - case Some(priority) => List(("priority", priority.toString)) - case _ => Nil - } - val queueFull = ("full", internal.queueFull.toString) - (namePair :: priority) :+ queueFull - } - val body = { - val comment = AnnotationXmlWriter.multilineComment(internal.aNode) - val args = FormalParamsXmlWriter.formalParamList(s, data.params) - comment ++ args - } - XmlTags.taggedLines ("internal_interface", pairs) (body.map(indentIn)) - } - def writeInternalInterface(name: String, instance: PortInstance) = instance match { - case internal: PortInstance.Internal => writeInternalPort(name, internal) - case _ => Nil - } - val ports = c.portMap.keys.toList.sortWith(_ < _). - flatMap(key => writeInternalInterface(key, c.portMap(key))) - XmlTags.taggedLinesOpt ("internal_interfaces") (ports.map(indentIn)) - } - - private def writeParams(s: XmlWriterState, c: Component) = { - import Param._ - def writeParam(id: Id, param: Param) = { - val data = param.aNode._2.data - val pairs = List( - List ( - ("id", XmlWriterState.writeId(id)), - ("set_opcode", XmlWriterState.writeId(param.setOpcode)), - ("save_opcode", XmlWriterState.writeId(param.saveOpcode)), - ("name", data.name), - ), - TypeXmlWriter.getPairs(s, param.paramType, "data_type"), - param.default match { - case Some(value) => List(("default", ValueXmlWriter.write(s, value))) - case _ => Nil - } - ).flatten - val comment = AnnotationXmlWriter.multilineComment(param.aNode) - XmlTags.taggedLines ("parameter", pairs) (comment.map(indentIn)) - } - val params = c.paramMap.keys.toList.sortWith(_ < _). - flatMap(key => writeParam(key, c.paramMap(key))) - XmlTags.taggedLinesOpt ("parameters") (params.map(indentIn)) - } - - private def writePorts(s: XmlWriterState, c: Component) = { - def writeGeneralPort(name: String, general: PortInstance.General) = { - import PortInstance.General._ - def writeDataType(ty: PortInstance.Type) = ty match { - case PortInstance.Type.DefPort(symbol) => s.writeSymbol(symbol) - case PortInstance.Type.Serial => "Serial" - } - def writeKind(kind: Kind) = kind match { - case _ : Kind.AsyncInput => "async_input" - case Kind.GuardedInput => "guarded_input" - case Kind.SyncInput => "sync_input" - case Kind.Output => "output" - } - val pairs = { - val pairs1 = List( - ("name", name), - ("data_type", writeDataType(general.ty)), - ("kind", writeKind(general.kind)), - ("max_number", general.size.toString) - ) - val priority = general.kind match { - case Kind.AsyncInput(Some(priority), _) => - List(("priority", priority.toString)) - case _ => Nil - } - val queueFull = general.kind match { - // Hook queue full option becomes drop in XML - case Kind.AsyncInput(_, Ast.QueueFull.Hook) => - List(("full", Ast.QueueFull.Drop.toString)) - case Kind.AsyncInput(_, queueFull) => - List(("full", queueFull.toString)) - case _ => Nil - } - pairs1 ++ priority ++ queueFull - } - val comment = AnnotationXmlWriter.multilineComment(general.aNode) - XmlTags.taggedLines ("port", pairs) (comment.map(indentIn)) - } - def writeSpecialPort(name: String, special: PortInstance.Special) = { - val kind = { - import Ast.SpecPortInstance._ - special.specifier.kind match { - case CommandRecv => "input" - case _ => "output" - } - } - val role = { - import Ast.SpecPortInstance._ - special.specifier.kind match { - case CommandRecv => "Cmd" - case CommandReg => "CmdRegistration" - case CommandResp => "CmdResponse" - case Event => "LogEvent" - case ParamGet => "ParamGet" - case ParamSet => "ParamSet" - case Telemetry => "Telemetry" - case TextEvent => "LogTextEvent" - case TimeGet => "TimeGet" - // This should never happen, because of XML lowering - case _ => throw new InternalError(s"invalid specifier kind ${special.specifier.kind}") - } - } - val pairs = List( - ("name", name), - ("data_type", s.writeSymbol(special.symbol)), - ("kind", kind), - ("role", role), - ("max_number", "1") - ) - val comment = AnnotationXmlWriter.multilineComment(special.aNode) - XmlTags.taggedLines ("port", pairs) (comment.map(indentIn)) - } - def writePort(name: String, instance: PortInstance) = instance match { - case general: PortInstance.General => writeGeneralPort(name, general) - case special: PortInstance.Special => - // Lower data product ports to generic XML - DpPortXmlLowering(s, name, special).lower match { - case Some(general) => writeGeneralPort(name, general) - case None => writeSpecialPort(name, special) - } - case _ => Nil - } - val ports = c.portMap.keys.toList.sortWith(_ < _). - flatMap(key => writePort(key, c.portMap(key))) - XmlTags.taggedLinesOpt ("ports") (ports.map(indentIn)) - } - - private def writeTlmChannels(s: XmlWriterState, c: Component) = { - import TlmChannel._ - def writeTlmChannel(id: Id, tlmChannel: TlmChannel) = { - val data = tlmChannel.aNode._2.data - def writeUpdate(update: Ast.SpecTlmChannel.Update) = { - import Ast.SpecTlmChannel._ - update match { - case Always => "always" - case OnChange => "on_change" - } - } - def writeLimits(name: String, limits: Limits) = { - import Ast.SpecTlmChannel._ - def writeLimit(kind: LimitKind, value: Value) = { - val left = s"${name}_${kind.toString}" - val right = ValueXmlWriter.write(s, value) - (left, right) - } - limits.keys.toList. - map(key => writeLimit(key, limits(key)._2)). - sortWith((a, b) => a._1 < b._1) - } - val pairs = List( - List( - ("id", XmlWriterState.writeId(id)), - ("name", data.name), - ), - TypeXmlWriter.getPairs(s, tlmChannel.channelType, "data_type"), - List( - ("update", writeUpdate(tlmChannel.update)) - ), - tlmChannel.format match { - case Some(format) => List(( - "format_string", - FormatXmlWriter.formatToString(format, List(data.typeName)) - )) - case None => Nil - }, - writeLimits("low", tlmChannel.lowLimits), - writeLimits("high", tlmChannel.highLimits), - ).flatten - val comment = AnnotationXmlWriter.multilineComment(tlmChannel.aNode) - XmlTags.taggedLines ("channel", pairs) (comment.map(indentIn)) - } - val tlmChannels = c.tlmChannelMap.keys.toList.sortWith(_ < _). - flatMap(key => writeTlmChannel(key, c.tlmChannelMap(key))) - XmlTags.taggedLinesOpt ("telemetry") (tlmChannels.map(indentIn)) - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/ComputeXmlFiles.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/ComputeXmlFiles.scala deleted file mode 100644 index 38f3763e7..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/ComputeXmlFiles.scala +++ /dev/null @@ -1,97 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.util._ - -/** ====================================================================== - * Compute the names of the XML files to generate - * ====================================================================== - * Check for duplicates that would cause a name collision. - * For example, module M { struct S { ... } } and struct S { ... } will both - * generate SSerializableAi.xml, so we can't generate XML files for both - * in the same place. - * ======================================================================*/ -object ComputeXmlFiles extends AstStateVisitor { - - type State = XmlWriterState - - override def defArrayAnnotatedNode(s: State, node: Ast.Annotated[AstNode[Ast.DefArray]]) = { - val (_, node1, _) = node - val data = node1.data - val loc = Locations.get(node1.id) - val name = s.getName(Symbol.Array(node)) - val fileName = XmlWriterState.getArrayFileName(name) - addMapping(s, fileName, loc) - } - - override def defComponentAnnotatedNode(s: State, node: Ast.Annotated[AstNode[Ast.DefComponent]]) = { - val (_, node1, _) = node - val data = node1.data - val loc = Locations.get(node1.id) - val name = s.getName(Symbol.Component(node)) - val fileName = XmlWriterState.getComponentFileName(name) - for { - s <- visitList(s, data.members, matchComponentMember) - s <- addMapping(s, fileName, loc) - } - yield s - } - - override def defEnumAnnotatedNode(s: State, node: Ast.Annotated[AstNode[Ast.DefEnum]]) = { - val (_, node1, _) = node - val data = node1.data - val loc = Locations.get(node1.id) - val name = s.getName(Symbol.Enum(node)) - val fileName = XmlWriterState.getEnumFileName(name) - addMapping(s, fileName, loc) - } - - override def defModuleAnnotatedNode( - s: State, - node: Ast.Annotated[AstNode[Ast.DefModule]] - ) = { - val (_, node1, _) = node - val data = node1.data - visitList(s, data.members, matchModuleMember) - } - - override def defPortAnnotatedNode(s: State, node: Ast.Annotated[AstNode[Ast.DefPort]]) = { - val (_, node1, _) = node - val data = node1.data - val loc = Locations.get(node1.id) - val name = s.getName(Symbol.Port(node)) - val fileName = XmlWriterState.getPortFileName(name) - addMapping(s, fileName, loc) - } - - override def defStructAnnotatedNode(s: State, node: Ast.Annotated[AstNode[Ast.DefStruct]]) = { - val (_, node1, _) = node - val data = node1.data - val loc = Locations.get(node1.id) - val name = s.getName(Symbol.Struct(node)) - val fileName = XmlWriterState.getStructFileName(name) - addMapping(s, fileName, loc) - } - - override def defTopologyAnnotatedNode(s: State, aNode: Ast.Annotated[AstNode[Ast.DefTopology]]) = { - val (_, node, _) = aNode - val data = node.data - val loc = Locations.get(node.id) - val name = s.getName(Symbol.Topology(aNode)) - val fileName = XmlWriterState.getTopologyFileName(name) - addMapping(s, fileName, loc) - } - - override def transUnit(s: State, tu: Ast.TransUnit) = - visitList(s, tu.members, matchTuMember) - - private def addMapping(s: State, fileName: String, loc: Location) = - s.locationMap.get(fileName) match { - case Some(prevLoc) => Left(CodeGenError.DuplicateXmlFile(fileName, loc, prevLoc)) - case None => - val locationMap = s.locationMap + (fileName -> loc) - Right(s.copy(locationMap = locationMap)) - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/DpPortXmlLowering.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/DpPortXmlLowering.scala deleted file mode 100644 index 4f621ea98..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/DpPortXmlLowering.scala +++ /dev/null @@ -1,92 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.util._ - -/** Lower a special data product port to a form that the XML autocoder - * can understand. */ -case class DpPortXmlLowering( - s: XmlWriterState, - name: String, - special: PortInstance.Special -) { - - val aNode = special.aNode - - val specifier = special.specifier - - def lower: Option[PortInstance.General] = - for (generalSpec <- lowerAstSpec) yield { - val generalNode = AstNode.create(generalSpec, aNode._2.id) - val generalANode = (aNode._1, generalNode, aNode._3) - val generalKind = lowerKind.get - val size = 1 - val ty = lowerType.get - PortInstance.General( - generalANode, - generalSpec, - generalKind, - size, - ty - ) - } - - /** Lower the AST kind */ - private def lowerAstKind: Option[Ast.SpecPortInstance.GeneralKind] = - (specifier.inputKind, specifier.kind) match { - case (_, Ast.SpecPortInstance.ProductGet) => - Some(Ast.SpecPortInstance.Output) - case (_, Ast.SpecPortInstance.ProductRequest) => - Some(Ast.SpecPortInstance.Output) - case (Some(Ast.SpecPortInstance.Async), Ast.SpecPortInstance.ProductRecv) => - Some(Ast.SpecPortInstance.AsyncInput) - case (Some(Ast.SpecPortInstance.Guarded), Ast.SpecPortInstance.ProductRecv) => - Some(Ast.SpecPortInstance.GuardedInput) - case (Some(Ast.SpecPortInstance.Sync), Ast.SpecPortInstance.ProductRecv) => - Some(Ast.SpecPortInstance.SyncInput) - case (_, Ast.SpecPortInstance.ProductSend) => - Some(Ast.SpecPortInstance.Output) - case _ => None - } - - /** Lower the AST specifier */ - private def lowerAstSpec: Option[Ast.SpecPortInstance.General] = - for (kind <- lowerAstKind) yield Ast.SpecPortInstance.General( - kind, - name, - None, - None, - specifier.priority, - specifier.queueFull - ) - - /** Lower the semantic kind */ - private def lowerKind: Option[PortInstance.General.Kind] = - (specifier.inputKind, specifier.kind) match { - case (_, Ast.SpecPortInstance.ProductGet) => - Some(PortInstance.General.Kind.Output) - case (_, Ast.SpecPortInstance.ProductRequest) => - Some(PortInstance.General.Kind.Output) - case (Some(Ast.SpecPortInstance.Async), Ast.SpecPortInstance.ProductRecv) => - Some(PortInstance.General.Kind.AsyncInput( - special.priority, - special.queueFull.get - )) - case (Some(Ast.SpecPortInstance.Guarded), Ast.SpecPortInstance.ProductRecv) => - Some(PortInstance.General.Kind.GuardedInput) - case (Some(Ast.SpecPortInstance.Sync), Ast.SpecPortInstance.ProductRecv) => - Some(PortInstance.General.Kind.SyncInput) - case (_, Ast.SpecPortInstance.ProductSend) => - Some(PortInstance.General.Kind.Output) - case _ => None - } - - /** Lower the port type */ - private def lowerType: Option[PortInstance.Type] = - s.a.useDefMap.get(aNode._2.id) match { - case Some(s: Symbol.Port) => Some(PortInstance.Type.DefPort(s)) - case _ => None - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/EnumXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/EnumXmlWriter.scala deleted file mode 100644 index dcef50266..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/EnumXmlWriter.scala +++ /dev/null @@ -1,57 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.util._ - -/** Write out F Prime XML for enum definitions */ -object EnumXmlWriter extends AstVisitor with LineUtils { - - type In = XmlWriterState - - type Out = List[Line] - - override def default(s: XmlWriterState) = Nil - - override def defEnumAnnotatedNode(s: XmlWriterState, aNode: Ast.Annotated[AstNode[Ast.DefEnum]]) = { - val node = aNode._2 - val data = node.data - val enumType @ Type.Enum(_, _, _) = s.a.typeMap(node.id) - val tags = { - val namespaceAndName = s.getNamespaceAndName(Symbol.Enum(aNode)) - val serializeType = TypeXmlWriter.getName(s, enumType.repType) - val defaultValue = ValueXmlWriter.write(s, enumType.getDefaultValue.get). - replaceAll("^.*::", "") - val pairs = namespaceAndName ++ List( - ("serialize_type", serializeType), - ("default", defaultValue) - ) - XmlTags.tags("enum", pairs) - } - val body = { - val comment = AnnotationXmlWriter.multilineComment(aNode) - val members = data.constants.map(defEnumConstantAnnotatedNode(s, _)) - comment ++ members - } - XmlTags.taggedLines(tags)(body.map(indentIn)) - } - - private def defEnumConstantAnnotatedNode( - s: XmlWriterState, - aNode: Ast.Annotated[AstNode[Ast.DefEnumConstant]] - ): Line = { - val node = aNode._2 - val data = node.data - val namePair = ("name", data.name) - val valuePair = { - val Value.EnumConstant(value, _) = s.a.valueMap(node.id) - ("value", value._2.toString) - } - val pairs = AnnotationXmlWriter.singleLineComment(aNode) match { - case Some(commentPair) => List(namePair, valuePair, commentPair) - case None => List(namePair, valuePair) - } - line(XmlTags.openCloseTag("item", pairs)) - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/FormalParamsXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/FormalParamsXmlWriter.scala deleted file mode 100644 index 4b19c3fa7..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/FormalParamsXmlWriter.scala +++ /dev/null @@ -1,43 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.util._ - -/** Write out F Prime XML for formal parameters */ -object FormalParamsXmlWriter extends LineUtils { - - def formalParamList( - s: XmlWriterState, - params: Ast.FormalParamList - ): List[Line] = params match { - case Nil => Nil - case _ => - val ls = params.flatMap(formalParamAnnotatedNode(s, _)) - val tags = XmlTags.tags("args", Nil) - XmlTags.taggedLines (tags) (ls.map(indentIn)) - } - - def formalParamAnnotatedNode( - s: XmlWriterState, - aNode: Ast.Annotated[AstNode[Ast.FormalParam]] - ): List[Line] = { - val node = aNode._2 - val data = node.data - val pairs = { - val t = s.a.typeMap(data.typeName.id) - val passBy = data.kind match { - case Ast.FormalParam.Ref => List(("pass_by", "reference")) - case _ => Nil - } - ("name", data.name) :: (TypeXmlWriter.getPairs(s, t) ++ passBy) - } - AnnotationXmlWriter.multilineComment(aNode) match { - case Nil => lines(XmlTags.openCloseTag("arg", pairs)) - case comment => - val tags = XmlTags.tags("arg", pairs) - XmlTags.taggedLines (tags) (comment.map(indentIn)) - } - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/FormatXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/FormatXmlWriter.scala deleted file mode 100644 index 61c416d66..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/FormatXmlWriter.scala +++ /dev/null @@ -1,74 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.util._ - -/** Write an FPP format as XML */ -object FormatXmlWriter { - - /** Convert a format field and type name to a string */ - def fieldToString(f: Format.Field, tn: AstNode[Ast.TypeName]): String = { - import Format.Field._ - def default = tn.data match { - case Ast.TypeNameFloat(name) => "%g" - case Ast.TypeNameInt(typeInt) => (TypeUtils.width(typeInt), TypeUtils.signedness(typeInt)) match { - case (64, TypeUtils.Signed) => "%ld" - case (_, TypeUtils.Signed) => "%d" - case (64, TypeUtils.Unsigned) => "%lu" - case (_, TypeUtils.Unsigned) => "%u" - } - case Ast.TypeNameQualIdent(name) => "%s" - case Ast.TypeNameBool => "%d" - case Ast.TypeNameString(size) => "%s" - } - def integer(t: Integer.Type) = tn.data match { - case Ast.TypeNameInt(typeInt) => (t, TypeUtils.width(typeInt), TypeUtils.signedness(typeInt)) match { - case (Integer.Decimal, 64, TypeUtils.Signed) => "%ld" - case (Integer.Decimal, 64, TypeUtils.Unsigned) => "%lu" - case (Integer.Hexadecimal, 64, _) => "%lx" - case (Integer.Octal, 64, _) => "%lo" - case (Integer.Character, 64, _) => default - case (Integer.Character, _, _) => "%c" - case (Integer.Decimal, _, TypeUtils.Signed) => "%d" - case (Integer.Decimal, _, TypeUtils.Unsigned) => "%u" - case (Integer.Hexadecimal, _, _) => "%x" - case (Integer.Octal, _, _) => "%o" - } - case _ => default - } - def rational(precision: Option[BigInt], t: Rational.Type) = tn.data match { - case Ast.TypeNameFloat(_) => { - val precisionStr = precision match { - case Some(p) => s".${p.toString}" - case None => "" - } - t match { - case Rational.Exponent => s"%${precisionStr}e" - case Rational.Fixed => s"%${precisionStr}f" - case Rational.General => s"%${precisionStr}g" - } - } - case _ => default - } - f match { - case Default => default - case Integer(t) => integer(t) - case Rational(precision, t) => rational(precision, t) - } - } - - /** Convert a format to a string */ - def formatToString(f: Format, nodes: List[AstNode[Ast.TypeName]]): String = { - def escapePercent(s: String) = s.replaceAll("%", "%%") - val fields = f.fields - if (fields.length != nodes.length) - throw new InternalError("number of nodes should match number of fields") - val pairs = fields zip nodes - val s0 = escapePercent(f.prefix) - pairs.foldLeft(s0)({ - case (s1, ((field, s2), tn)) => s1 ++ fieldToString(field, tn) ++ escapePercent(s2) - }) - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/PortXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/PortXmlWriter.scala deleted file mode 100644 index 62c153c74..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/PortXmlWriter.scala +++ /dev/null @@ -1,45 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.util._ - -/** Write out F Prime XML for port definitions */ -object PortXmlWriter extends AstVisitor with LineUtils { - - type In = XmlWriterState - - type Out = List[Line] - - override def default(s: XmlWriterState) = Nil - - override def defPortAnnotatedNode( - s: XmlWriterState, - aNode: Ast.Annotated[AstNode[Ast.DefPort]] - ) = { - val node = aNode._2 - val data = node.data - val tags = { - val pairs = s.getNamespaceAndName(Symbol.Port(aNode)) - XmlTags.tags("interface", pairs) - } - val body = { - val comment = AnnotationXmlWriter.multilineComment(aNode) - val imports = { - val Right(a) = UsedSymbols.defPortAnnotatedNode(s.a, aNode) - s.writeImportDirectives(a.usedSymbolSet) - } - val args = FormalParamsXmlWriter.formalParamList(s, data.params) - val ret = data.returnType match { - case Some(typeName) => - val t = s.a.typeMap(typeName.id) - val pairs = TypeXmlWriter.getPairs(s, t) - lines(XmlTags.openCloseTag("return", pairs)) - case None => Nil - } - comment ++ imports ++ args ++ ret - } - XmlTags.taggedLines(tags)(body.map(indentIn)) - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/StructXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/StructXmlWriter.scala deleted file mode 100644 index c6c8b3d3b..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/StructXmlWriter.scala +++ /dev/null @@ -1,76 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.util._ - -/** Write out F Prime XML for struct definitions */ -object StructXmlWriter extends AstVisitor with LineUtils { - - type In = XmlWriterState - - type Out = List[Line] - - override def default(s: XmlWriterState) = Nil - - override def defStructAnnotatedNode(s: XmlWriterState, aNode: Ast.Annotated[AstNode[Ast.DefStruct]]) = { - val node = aNode._2 - val data = node.data - val tags = { - val pairs = s.getNamespaceAndName(Symbol.Struct(aNode)) - XmlTags.tags("serializable", pairs) - } - val body = { - val Right(a) = UsedSymbols.defStructAnnotatedNode(s.a, aNode) - val comment = AnnotationXmlWriter.multilineComment(aNode) - val imports = s.writeImportDirectives(a.usedSymbolSet) - val members = { - val tags = XmlTags.tags("members") - val st @ Type.Struct(_, _, _, _, _) = s.a.typeMap(node.id) - val ls = data.members.flatMap(structTypeMemberAnnotatedNode(s, st, _)) - XmlTags.taggedLines (tags) (ls.map(indentIn)) - } - comment ++ imports ++ members - } - XmlTags.taggedLines(tags)(body.map(indentIn)) - } - - def structTypeMemberAnnotatedNode( - s: XmlWriterState, - structType: Type.Struct, - aNode: Ast.Annotated[AstNode[Ast.StructTypeMember]] - ): Out = { - val node = aNode._2 - val data = node.data - val t = s.a.typeMap(data.typeName.id) - val pairs = { - val nameAndType = ("name", data.name) :: TypeXmlWriter.getPairs(s, t) - val size = (t, structType.sizes.get(data.name)) match { - case (_, Some(n)) => List(("array_size", n.toString)) - case _ => Nil - } - val format = { - val format = structType.formats.get(data.name) match { - case Some(format) => format - case None => Format("", List((Format.Field.Default,""))) - } - val s = FormatXmlWriter.formatToString(format, List(data.typeName)) - List(("format", s)) - } - val comment = AnnotationXmlWriter.singleLineComment(aNode) match { - case Some(comment) => List(comment) - case None => Nil - } - nameAndType ++ size ++ format ++ comment - } - val body = { - val defaultValue = structType.getDefaultValue.get. - anonStruct.members(data.name) - val xmlDefaultValue = ValueXmlWriter.write(s, defaultValue) - val tags = XmlTags.tags("default") - lines(XmlTags.taggedString (tags) (xmlDefaultValue)) - } - XmlTags.taggedLines("member", pairs) (body.map(indentIn)) - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/TopologyXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/TopologyXmlWriter.scala deleted file mode 100644 index 770a0a2c2..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/TopologyXmlWriter.scala +++ /dev/null @@ -1,99 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.util._ - -/** Write out F Prime XML for topology definitions */ -object TopologyXmlWriter extends AstVisitor with LineUtils { - - type In = XmlWriterState - - type Out = List[Line] - - override def defTopologyAnnotatedNode( - s: XmlWriterState, - aNode: Ast.Annotated[AstNode[Ast.DefTopology]] - ) = { - val symbol = Symbol.Topology(aNode) - val t = s.a.topologyMap(symbol) - val data = aNode._2.data - val pairs = List(("name", s.getName(symbol))) - val body = { - List( - writeImports(s, t), - writeInstances(s, t), - writeConnections(s, t) - ).flatMap(XmlWriterState.addBlankPrefix) :+ Line.blank - } - XmlTags.taggedLines ("assembly", pairs) (body.map(indentIn)) - } - - override def default(s: XmlWriterState) = Nil - - private def writeImports(s: XmlWriterState, t: Topology) = { - val symbols = t.instanceMap.keys.map(ci => Symbol.Component(ci.component.aNode)) - s.writeImportDirectives(symbols) - } - - private def writeInstances(s: XmlWriterState, t: Topology) = { - def writeInstance(ci: ComponentInstance) = { - val cis = Symbol.ComponentInstance(ci.aNode) - val cs = Symbol.Component(ci.component.aNode) - val pairs = List( - ("namespace", s.cppWriterState.getNamespace(cs).getOrElse("")), - ("name", s.getName(cis)), - ("type", cs.getUnqualifiedName), - ("base_id", XmlWriterState.writeId(ci.baseId)), - ("base_id_window", (ci.maxId - ci.baseId + 1).toString) - ) - XmlTags.taggedLines ("instance", pairs) (Nil) - } - val instances = t.instanceMap.keys.toArray.sortWith { - case (a, b) => - if (a.baseId != b.baseId) a.baseId < b.baseId - else a < b - } - //t.instanceMap.keys.toArray.sorted.flatMap(writeInstance).toList - instances.flatMap(writeInstance).toList - } - - private def writeConnections(s: XmlWriterState, t: Topology) = { - def getPairs( - endpoint: Connection.Endpoint, - portNumber: Int - ): List[(String, String)] = { - val pii = endpoint.port - List( - ("component", pii.componentInstance.getUnqualifiedName), - ("port", pii.portInstance.getUnqualifiedName), - ("type", "[unused]"), - ("num", portNumber.toString) - ) - } - def writeConnection(c: Connection) = { - val pairs = List(("name", "[unused]")) - val body = { - val fromPortNumber = t.fromPortNumberMap(c) - val toPortNumber = t.toPortNumberMap(c) - val source = XmlTags.taggedLines ( - "source", getPairs(c.from, fromPortNumber) - ) (Nil) - val target = XmlTags.taggedLines ( - "target", getPairs(c.to, toPortNumber) - ) (Nil) - source ++ target - } - XmlTags.taggedLines ("connection", pairs) (body.map(indentIn)) - } - def writeGraph(graphName: String): List[Line] = { - List ( - XmlWriterState.writeComment(s"@FPL START $graphName"), - t.sortConnections(t.connectionMap(graphName)).flatMap(writeConnection), - XmlWriterState.writeComment(s"@FPL END") - ).flatten - } - Line.blankSeparated (writeGraph) (t.connectionMap.keys.toList.sorted) - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/TypeXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/TypeXmlWriter.scala deleted file mode 100644 index fd037acc7..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/TypeXmlWriter.scala +++ /dev/null @@ -1,29 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.util._ - -/** Write an FPP type as XML */ -object TypeXmlWriter { - - /** Get the name of a type */ - def getName(s: XmlWriterState, t: Type): String = - TypeCppWriter.getName(s.cppWriterState, t, "string") - - /** Get the size of a type */ - def getSize(s: XmlWriterState, t: Type): Option[String] = t match { - case Type.String(Some(node)) => Some(s.a.valueMap(node.id).toString) - case Type.String(None) => Some(s.defaultStringSize.toString) - case _ => None - } - - /** Get the key-value pairs for a type */ - def getPairs(s: XmlWriterState, t: Type, nameTag: String = "type"): List[(String,String)] = { - val name = (nameTag, getName(s, t)) - getSize(s, t) match { - case Some(size) => List(name, ("size", size)) - case None => List(name) - } - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/ValueXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/ValueXmlWriter.scala deleted file mode 100644 index 9497d4dc2..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/ValueXmlWriter.scala +++ /dev/null @@ -1,15 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.ast._ -import fpp.compiler.analysis._ -import fpp.compiler.util._ - -/** Write an FPP value as XML */ -object ValueXmlWriter { - - /** Write a value */ - def write(s: XmlWriterState, v: Value): String = { - ValueCppWriter.write(s.cppWriterState, v) - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/XmlTags.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/XmlTags.scala deleted file mode 100644 index 6a9ce1f51..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/XmlTags.scala +++ /dev/null @@ -1,57 +0,0 @@ -package fpp.compiler.codegen - -/** Utilities for constructing XML Tags */ -object XmlTags extends LineUtils { - - def closeTag(name: String): String = s"" - - def openCloseTag(name: String, pairs: List[(String, String)] = Nil): String = openTagPrefix(name, pairs) ++ "/>" - - def openTag(name: String, pairs: List[(String, String)] = Nil): String = openTagPrefix(name, pairs) ++ ">" - - def quoted(s: String): String = { - // Add the enclosing quotation marks for the XML attribute - val q = "\"" - s"$q$s$q" - } - - def escaped(s: String): String = { - // These are the characters that must be replaced in an XML attribute - val replacements = List( - ("&", "&"), - ("'", "'"), - ("<", "<"), - (">", ">"), - ("\"", """), - ) - replacements.foldLeft (s) ({ case (s, (a, b)) => s.replaceAll(a, b) }) - } - - def taggedLines (tags: (String, String)) (ls: List[Line]): List[Line] = { - val (openTag, closeTag) = tags - (line(openTag) :: ls) :+ line(closeTag) - } - - def taggedLines (name: String, pairs: List[(String, String)] = Nil) (ls: List[Line]): List[Line] = - ls match { - case Nil => lines(openCloseTag(name, pairs)) - case _ => taggedLines (tags(name, pairs)) (ls) - } - - def taggedLinesOpt (name: String, pairs: List[(String, String)] = Nil) (ls: List[Line]): List[Line] = - ls match { - case Nil => Nil - case ls1 => taggedLines (name, pairs) (ls1) - } - - def taggedString (tags: (String, String)) (s: String): String = { - val (openTag, closeTag) = tags - openTag ++ s ++ closeTag - } - - def tags(name: String, pairs: List[(String, String)] = Nil): (String, String) = (openTag(name, pairs), closeTag(name)) - - private def openTagPrefix(name: String, pairs: List[(String, String)]) = - pairs.foldLeft(s"<$name")({ case (s, key -> value) => s ++ s" $key=${quoted(escaped(value))}" }) - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/XmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/XmlWriter.scala deleted file mode 100644 index 955d544dd..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/XmlWriter.scala +++ /dev/null @@ -1,107 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.util._ - -/** Write out F Prime XML */ -object XmlWriter extends AstStateVisitor with LineUtils { - - type State = XmlWriterState - - override def defArrayAnnotatedNode(s: XmlWriterState, aNode: Ast.Annotated[AstNode[Ast.DefArray]]) = { - val (_, node, _) = aNode - val data = node.data - val name = s.getName(Symbol.Array(aNode)) - val fileName = XmlWriterState.getArrayFileName(name) - val lines = ArrayXmlWriter.defArrayAnnotatedNode(s, aNode) - writeXmlFile(s, fileName, lines) - } - - override def defComponentAnnotatedNode(s: XmlWriterState, aNode: Ast.Annotated[AstNode[Ast.DefComponent]]) = { - val (_, node, _) = aNode - val data = node.data - val name = s.getName(Symbol.Component(aNode)) - val fileName = XmlWriterState.getComponentFileName(name) - val lines = ComponentXmlWriter.defComponentAnnotatedNode(s, aNode) - for { - _ <- visitList(s, data.members, matchComponentMember) - s <- writeXmlFile(s, fileName, lines) - } - yield s - } - - override def defEnumAnnotatedNode(s: XmlWriterState, aNode: Ast.Annotated[AstNode[Ast.DefEnum]]) = { - val (_, node, _) = aNode - val data = node.data - val name = s.getName(Symbol.Enum(aNode)) - val fileName = XmlWriterState.getEnumFileName(name) - val lines = EnumXmlWriter.defEnumAnnotatedNode(s, aNode) - writeXmlFile(s, fileName, lines) - } - - override def defModuleAnnotatedNode( - s: XmlWriterState, - aNode: Ast.Annotated[AstNode[Ast.DefModule]] - ) = { - val (_, node, _) = aNode - val data = node.data - visitList(s, data.members, matchModuleMember) - } - - override def defPortAnnotatedNode(s: XmlWriterState, aNode: Ast.Annotated[AstNode[Ast.DefPort]]) = { - val (_, node, _) = aNode - val data = node.data - val name = s.getName(Symbol.Port(aNode)) - val fileName = XmlWriterState.getPortFileName(name) - val lines = PortXmlWriter.defPortAnnotatedNode(s, aNode) - writeXmlFile(s, fileName, lines) - } - - override def defStructAnnotatedNode(s: XmlWriterState, aNode: Ast.Annotated[AstNode[Ast.DefStruct]]) = { - val (_, node, _) = aNode - val loc = Locations.get(node.id) - val data = node.data - val name = s.getName(Symbol.Struct(aNode)) - val fileName = XmlWriterState.getStructFileName(name) - val lines = StructXmlWriter.defStructAnnotatedNode(s, aNode) - for { - _ <- if (data.members.length == 0) Left(CodeGenError.EmptyStruct(loc)) else Right(()) - s <- writeXmlFile(s, fileName, lines) - } yield s - } - - override def defTopologyAnnotatedNode(s: XmlWriterState, aNode: Ast.Annotated[AstNode[Ast.DefTopology]]) = { - val (_, node, _) = aNode - val data = node.data - val name = s.getName(Symbol.Topology(aNode)) - val fileName = XmlWriterState.getTopologyFileName(name) - val lines = TopologyXmlWriter.defTopologyAnnotatedNode(s, aNode) - writeXmlFile(s, fileName, lines) - } - - override def transUnit(s: XmlWriterState, tu: Ast.TransUnit) = - visitList(s, tu.members, matchTuMember) - - private def writeXmlHeader(fileName: String) = lines( - s"""| - | - | - |""" - ) - - private def writeXmlFile(s: XmlWriterState, fileName: String, lines: List[Line]) = { - val path = java.nio.file.Paths.get(s.dir, fileName) - val file = File.Path(path) - val headerLines = writeXmlHeader(fileName) - for (writer <- file.openWrite()) yield { - (headerLines ++ lines).map(Line.write(writer) _) - writer.close() - s - } - } - -} diff --git a/compiler/lib/src/main/scala/codegen/XmlWriter/XmlWriterState.scala b/compiler/lib/src/main/scala/codegen/XmlWriter/XmlWriterState.scala deleted file mode 100644 index 34b29c8c3..000000000 --- a/compiler/lib/src/main/scala/codegen/XmlWriter/XmlWriterState.scala +++ /dev/null @@ -1,121 +0,0 @@ -package fpp.compiler.codegen - -import fpp.compiler.analysis._ -import fpp.compiler.util._ - -/** XML Writer state */ -case class XmlWriterState( - /** The result of semantic analysis */ - a: Analysis, - /** The output directory */ - dir: String = ".", - /** The list of include prefixes */ - prefixes: List[String] = Nil, - /** The default string size */ - defaultStringSize: Int = XmlWriterState.defaultDefaultStringSize, - /** The map from strings to locations */ - locationMap: Map[String, Location] = Map() -) { - - /** CppWriterState for writing C++ */ - val cppWriterState = CppWriterState(a) - - /** Removes the longest prefix from a Java path */ - def removeLongestPrefix(path: File.JavaPath): File.JavaPath = - File.removeLongestPrefix(prefixes)(path) - - /** Write import directives as lines */ - def writeImportDirectives(usedSymbols: Iterable[Symbol]): List[Line] = { - def getDirectiveForSymbol(sym: Symbol): Option[String] = - for { - tagFileName <- sym match { - case Symbol.AbsType(aNode) => - val symbol = Symbol.AbsType(aNode) - val name = getName(symbol) - Some("include_header", s"${name}.hpp") - case Symbol.Array(aNode) => Some( - "import_array_type", - XmlWriterState.getArrayFileName(getName(Symbol.Array(aNode))) - ) - case Symbol.Component(aNode) => Some( - "import_component_type", - XmlWriterState.getComponentFileName(getName(Symbol.Component(aNode))) - ) - case Symbol.Enum(aNode) => Some( - "import_enum_type", - XmlWriterState.getEnumFileName(getName(Symbol.Enum(aNode))) - ) - case Symbol.Port(aNode) => Some( - "import_port_type", - XmlWriterState.getPortFileName(getName(Symbol.Port(aNode))) - ) - case Symbol.Struct(aNode) => Some( - "import_serializable_type", - XmlWriterState.getStructFileName(getName(Symbol.Struct(aNode))) - ) - case _ => None - } - } - yield { - val loc = sym.getLoc.tuLocation - val (tagName, fileName) = tagFileName - val fullPath = loc.getNeighborPath(fileName) - val path = removeLongestPrefix(fullPath) - val tags = XmlTags.tags(tagName) - XmlTags.taggedString(tags)(path.toString) - } - val array = usedSymbols.map(getDirectiveForSymbol(_)). - filter(_.isDefined).map(_.get).toArray - scala.util.Sorting.quickSort(array) - array.toList.map(Line(_)) - } - - /** Write an FPP symbol as XML */ - def writeSymbol(symbol: Symbol): String = cppWriterState.writeSymbol(symbol) - - /** Gets the unqualified name associated with a symbol. */ - def getName(symbol: Symbol): String = cppWriterState.getName(symbol) - - /** Gets the namespace and name associated with a symbol */ - def getNamespaceAndName(symbol: Symbol): List[(String, String)] = { - val namespace = cppWriterState.getNamespace(symbol) - val namePair = ("name", getName(symbol)) - namespace match { - case Some(n) => List(("namespace", n), namePair) - case None => List(namePair) - } - } - -} - -case object XmlWriterState extends LineUtils { - - /** The default default string size */ - val defaultDefaultStringSize = 80 - - /** Gets the generated XML file name for an array definition */ - def getArrayFileName(baseName: String): String = s"${baseName}ArrayAi.xml" - - /** Gets the generated XML file name for an enum definition */ - def getEnumFileName(baseName: String): String = s"${baseName}EnumAi.xml" - - /** Gets the generated XML file name for a component definition */ - def getComponentFileName(baseName: String): String = s"${baseName}ComponentAi.xml" - - /** Gets the generated XML file name for a port definition */ - def getPortFileName(baseName: String): String = s"${baseName}PortAi.xml" - - /** Gets the generated XML file name for a struct definition */ - def getStructFileName(baseName: String): String = s"${baseName}SerializableAi.xml" - - /** Gets the generated XML file name for a topology definition */ - def getTopologyFileName(baseName: String): String = s"${baseName}TopologyAppAi.xml" - - /** Write an XML comment */ - def writeComment(comment: String): List[Line] = - Line.addPrefixAndSuffix("") - - /** Write an identifier */ - def writeId(id: BigInt): String = s"0x${id.toString(16).toUpperCase}" - -} diff --git a/compiler/tools/fpp-from-xml/test/.gitignore b/compiler/tools/fpp-from-xml/test/.gitignore deleted file mode 100644 index 62a514fc5..000000000 --- a/compiler/tools/fpp-from-xml/test/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*.out.txt -*.diff.txt -default-tests.sh -default-update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/array/array_enum.ref.txt b/compiler/tools/fpp-from-xml/test/array/array_enum.ref.txt deleted file mode 100644 index 31fa40755..000000000 --- a/compiler/tools/fpp-from-xml/test/array/array_enum.ref.txt +++ /dev/null @@ -1,3 +0,0 @@ -array ArrayEnum = [3] A.B default [ - A.B.C - ] diff --git a/compiler/tools/fpp-from-xml/test/array/array_enum.xml b/compiler/tools/fpp-from-xml/test/array/array_enum.xml deleted file mode 100644 index 1cd266688..000000000 --- a/compiler/tools/fpp-from-xml/test/array/array_enum.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - A::B - 3 - %s - - A::B::C - - diff --git a/compiler/tools/fpp-from-xml/test/array/array_qual_id.ref.txt b/compiler/tools/fpp-from-xml/test/array/array_qual_id.ref.txt deleted file mode 100644 index 123df4ff3..000000000 --- a/compiler/tools/fpp-from-xml/test/array/array_qual_id.ref.txt +++ /dev/null @@ -1,3 +0,0 @@ -@ FPP from XML: could not translate array value [ A::B(1) ] -@ FPP from XML: could not translate format string "%r" -array ArrayQualId = [1] A.B diff --git a/compiler/tools/fpp-from-xml/test/array/array_qual_id.xml b/compiler/tools/fpp-from-xml/test/array/array_qual_id.xml deleted file mode 100644 index 65d36ad02..000000000 --- a/compiler/tools/fpp-from-xml/test/array/array_qual_id.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - A::B - 1 - %r - - A::B(1) - - diff --git a/compiler/tools/fpp-from-xml/test/array/array_string.ref.txt b/compiler/tools/fpp-from-xml/test/array/array_string.ref.txt deleted file mode 100644 index 4af839b6a..000000000 --- a/compiler/tools/fpp-from-xml/test/array/array_string.ref.txt +++ /dev/null @@ -1,13 +0,0 @@ -module A { - - module B { - - @ Array with string args - array ArrayString = [2] string size 80 default [ - "abcd" - "abcd" - ] - - } - -} diff --git a/compiler/tools/fpp-from-xml/test/array/array_string.xml b/compiler/tools/fpp-from-xml/test/array/array_string.xml deleted file mode 100644 index 7170add43..000000000 --- a/compiler/tools/fpp-from-xml/test/array/array_string.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - Array with string args - string - 2 - %s - - "abcd" - "abcd" - - diff --git a/compiler/tools/fpp-from-xml/test/array/check-fpp b/compiler/tools/fpp-from-xml/test/array/check-fpp deleted file mode 100755 index 4246bc6a9..000000000 --- a/compiler/tools/fpp-from-xml/test/array/check-fpp +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -e - -fpp_syntax=../../../../bin/fpp-syntax - -files=`find . -name '*.ref.txt' | egrep -v 'error|missing'` -for file in $files -do - echo "checking $file" - $fpp_syntax < $file -done diff --git a/compiler/tools/fpp-from-xml/test/array/clean b/compiler/tools/fpp-from-xml/test/array/clean deleted file mode 100755 index b042fe2f0..000000000 --- a/compiler/tools/fpp-from-xml/test/array/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -. ../../../../scripts/utils.sh - -clean diff --git a/compiler/tools/fpp-from-xml/test/array/run b/compiler/tools/fpp-from-xml/test/array/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-from-xml/test/array/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/array/tests.sh b/compiler/tools/fpp-from-xml/test/array/tests.sh deleted file mode 100644 index d5dacfb41..000000000 --- a/compiler/tools/fpp-from-xml/test/array/tests.sh +++ /dev/null @@ -1,5 +0,0 @@ -tests=" -array_enum -array_qual_id -array_string -" diff --git a/compiler/tools/fpp-from-xml/test/array/update-ref b/compiler/tools/fpp-from-xml/test/array/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-from-xml/test/array/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/check-fpp b/compiler/tools/fpp-from-xml/test/check-fpp deleted file mode 100755 index cfd924260..000000000 --- a/compiler/tools/fpp-from-xml/test/check-fpp +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -e - -. ../../../scripts/utils.sh - -for target in `find . -mindepth 2 -name check-fpp` -do - dir=`dirname $target` - echo "[ $dir ]" - (cd $dir; ./check-fpp) -done diff --git a/compiler/tools/fpp-from-xml/test/clean b/compiler/tools/fpp-from-xml/test/clean deleted file mode 100755 index 25d0c051c..000000000 --- a/compiler/tools/fpp-from-xml/test/clean +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -e - -. ../../../scripts/utils.sh - -for target in `find . -mindepth 2 -name clean` -do - dir=`dirname $target` - (cd $dir; ./clean) -done -clean diff --git a/compiler/tools/fpp-from-xml/test/component/check-fpp b/compiler/tools/fpp-from-xml/test/component/check-fpp deleted file mode 100755 index 3662f5797..000000000 --- a/compiler/tools/fpp-from-xml/test/component/check-fpp +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -e - -fpp_syntax=../../../../bin/fpp-syntax - -# These tests are component fragments -fragments="commands|events|internal_ports|parameters|telemetry\.ref" -# These tests do not generate valid FPP -skip="telemetry_bad_limit" - -# Check whole components -files=`find . -name '*.ref.txt' | egrep -v "error|missing|$fragments|$skip"` -for file in $files -do - echo "checking $file" - $fpp_syntax < $file -done - -# Check component fragments -files=`find . -name '*.ref.txt' | egrep "$fragments"` -for file in $files -do - echo "checking $file" - { - echo 'passive component C {' - cat $file - echo '}' - } | $fpp_syntax -done diff --git a/compiler/tools/fpp-from-xml/test/component/clean b/compiler/tools/fpp-from-xml/test/component/clean deleted file mode 100755 index b042fe2f0..000000000 --- a/compiler/tools/fpp-from-xml/test/component/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -. ../../../../scripts/utils.sh - -clean diff --git a/compiler/tools/fpp-from-xml/test/component/commands.ref.txt b/compiler/tools/fpp-from-xml/test/component/commands.ref.txt deleted file mode 100644 index d9bdd99f4..000000000 --- a/compiler/tools/fpp-from-xml/test/component/commands.ref.txt +++ /dev/null @@ -1,36 +0,0 @@ -enum EventLevel { - FILTER_WARNING_HI = 0 - FILTER_WARNING_LO = 1 - FILTER_COMMAND = 2 - FILTER_ACTIVITY_HI = 3 - FILTER_ACTIVITY_LO = 4 - FILTER_DIAGNOSTIC = 5 -} - -enum FilterEnabled { - FILTER_ENABLED = 0 - FILTER_DISABLED = 1 -} - -@ Set filter for reporting events. Events are not stored in component. -sync command SET_EVENT_FILTER( - FilterLevel: EventLevel @< Filter level - FilterEnable: FilterEnabled @< Filter state - ) \ - opcode 0 - -enum IdFilterEnabled { - ID_ENABLED = 0 - ID_DISABLED = 1 -} - -@ Filter a particular ID -async command SET_ID_FILTER( - ID: U32 - IdFilterEnable: IdFilterEnabled @< ID filter state - ) \ - opcode 2 - -@ Dump the filter states via events -async command DUMP_FILTER_STATE \ - opcode 3 diff --git a/compiler/tools/fpp-from-xml/test/component/commands.xml b/compiler/tools/fpp-from-xml/test/component/commands.xml deleted file mode 100644 index 586abb87a..000000000 --- a/compiler/tools/fpp-from-xml/test/component/commands.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - Set filter for reporting events. Events are not stored in component. - - - - - - - - - - - - Filter level - - - - - - - Filter state - - - - - - Filter a particular ID - - - - - - - - - - ID filter state - - - - - - Dump the filter states via events - - - \ No newline at end of file diff --git a/compiler/tools/fpp-from-xml/test/component/events.ref.txt b/compiler/tools/fpp-from-xml/test/component/events.ref.txt deleted file mode 100644 index a0dacec2c..000000000 --- a/compiler/tools/fpp-from-xml/test/component/events.ref.txt +++ /dev/null @@ -1,49 +0,0 @@ -enum EventFilterState { - FILT_WARNING_HI = 0 - FILT_WARNING_LO = 1 - FILT_COMMAND = 2 - FILT_ACTIVITY_HI = 3 - FILT_ACTIVITY_LO = 4 - FILT_DIAGNOSTIC = 5 -} - -@ Dump severity filter state -event SEVERITY_FILTER_STATE( - $severity: EventFilterState @< The severity level - enabled: bool - ) \ - severity activity low \ - id 0 \ - format "{} filter state. {}" - -@ Indicate ID is filtered -event ID_FILTER_ENABLED( - ID: U32 @< The ID filtered - ) \ - severity activity high \ - id 1 \ - format "ID {} is filtered." - -@ Attempted to add ID to full ID filter ID -event ID_FILTER_LIST_FULL( - ID: U32 @< The ID filtered - ) \ - severity warning low \ - id 2 \ - format "ID filter list is full. Cannot filter {} ." - -@ Removed an ID from the filter -event ID_FILTER_REMOVED( - ID: U32 @< The ID removed - ) \ - severity activity high \ - id 3 \ - format "ID filter ID {} removed." - -@ ID not in filter -event ID_FILTER_NOT_FOUND( - ID: U32 @< The ID removed - ) \ - severity warning low \ - id 4 \ - format "ID filter ID {} not found." diff --git a/compiler/tools/fpp-from-xml/test/component/events.xml b/compiler/tools/fpp-from-xml/test/component/events.xml deleted file mode 100644 index d982a37ec..000000000 --- a/compiler/tools/fpp-from-xml/test/component/events.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - Dump severity filter state - - - - - - - - - - - - The severity level - - - - - - - - Indicate ID is filtered - - - - The ID filtered - - - - - - Attempted to add ID to full ID filter ID - - - - The ID filtered - - - - - - Removed an ID from the filter - - - - The ID removed - - - - - - ID not in filter - - - - The ID removed - - - - \ No newline at end of file diff --git a/compiler/tools/fpp-from-xml/test/component/general_ports_active.ref.txt b/compiler/tools/fpp-from-xml/test/component/general_ports_active.ref.txt deleted file mode 100644 index 145b973a2..000000000 --- a/compiler/tools/fpp-from-xml/test/component/general_ports_active.ref.txt +++ /dev/null @@ -1,28 +0,0 @@ -module M { - - @ Component GeneralPortsActive - active component GeneralPortsActive { - - @ Port p1 - async input port p1: [1] P \ - priority 10 \ - drop - - guarded input port p2: [1] P - - sync input port p3: [1] P - - output port p4: [10] P - - async input port p5: [1] serial \ - assert - - guarded input port p6: [1] serial - - sync input port p7: [1] serial - - output port p8: [10] serial - - } - -} diff --git a/compiler/tools/fpp-from-xml/test/component/general_ports_active.xml b/compiler/tools/fpp-from-xml/test/component/general_ports_active.xml deleted file mode 100644 index a94563d3a..000000000 --- a/compiler/tools/fpp-from-xml/test/component/general_ports_active.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - Component GeneralPortsActive - - - PPortAi.xml - - - - - Port p1 - - - - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/component/general_ports_passive.ref.txt b/compiler/tools/fpp-from-xml/test/component/general_ports_passive.ref.txt deleted file mode 100644 index be0c28ecb..000000000 --- a/compiler/tools/fpp-from-xml/test/component/general_ports_passive.ref.txt +++ /dev/null @@ -1,21 +0,0 @@ -module M { - - @ Component GeneralPortsPassive - passive component GeneralPortsPassive { - - @ Port p1 - guarded input port p1: [1] P - - sync input port p2: [1] P - - output port p3: [10] P - - guarded input port p4: [1] serial - - sync input port p5: [1] serial - - output port p6: [10] serial - - } - -} diff --git a/compiler/tools/fpp-from-xml/test/component/general_ports_passive.xml b/compiler/tools/fpp-from-xml/test/component/general_ports_passive.xml deleted file mode 100644 index 58a867dca..000000000 --- a/compiler/tools/fpp-from-xml/test/component/general_ports_passive.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - Component GeneralPortsPassive - - - PPortAi.xml - - - - - Port p1 - - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/component/import_dictionary.ref.txt b/compiler/tools/fpp-from-xml/test/component/import_dictionary.ref.txt deleted file mode 100644 index 469e3f4bf..000000000 --- a/compiler/tools/fpp-from-xml/test/component/import_dictionary.ref.txt +++ /dev/null @@ -1,12 +0,0 @@ -module M { - - passive component ImportDictionary { - - include "A.fppi" - - @ FPP from XML: original path was B/C.xml - include "C.fppi" - - } - -} diff --git a/compiler/tools/fpp-from-xml/test/component/import_dictionary.xml b/compiler/tools/fpp-from-xml/test/component/import_dictionary.xml deleted file mode 100644 index 9c872524f..000000000 --- a/compiler/tools/fpp-from-xml/test/component/import_dictionary.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - A.xml - B/C.xml - - diff --git a/compiler/tools/fpp-from-xml/test/component/internal_ports.ref.txt b/compiler/tools/fpp-from-xml/test/component/internal_ports.ref.txt deleted file mode 100644 index 49ee684a9..000000000 --- a/compiler/tools/fpp-from-xml/test/component/internal_ports.ref.txt +++ /dev/null @@ -1,19 +0,0 @@ -enum QueueLogSeverity { - QUEUE_LOG_FATAL = 1 @< A fatal non-recoverable event - QUEUE_LOG_WARNING_HI = 2 @< A serious but recoverable event - QUEUE_LOG_WARNING_LO = 3 @< A less serious but recoverable event - QUEUE_LOG_COMMAND = 4 @< An activity related to commanding - QUEUE_LOG_ACTIVITY_HI = 5 @< Important informational events - QUEUE_LOG_ACTIVITY_LO = 6 @< Less important informational events - QUEUE_LOG_DIAGNOSTIC = 7 @< Software diagnostic events -} - -@ internal interface to send log messages to component thread -internal port loqQueue( - $id: FwEventIdType @< Log ID - ref timeTag: Fw.Time @< Time Tag - $severity: QueueLogSeverity @< The severity argument - ref args: Fw.LogBuffer @< Buffer containing serialized log entry - ) \ - priority 1 \ - drop diff --git a/compiler/tools/fpp-from-xml/test/component/internal_ports.xml b/compiler/tools/fpp-from-xml/test/component/internal_ports.xml deleted file mode 100644 index a7150e193..000000000 --- a/compiler/tools/fpp-from-xml/test/component/internal_ports.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - internal interface to send log messages to component thread - - - - Log ID - - - Time Tag - - - - - - - - - - - - The severity argument - - - Buffer containing serialized log entry - - - - \ No newline at end of file diff --git a/compiler/tools/fpp-from-xml/test/component/parameters.ref.txt b/compiler/tools/fpp-from-xml/test/component/parameters.ref.txt deleted file mode 100644 index 57f60d8d5..000000000 --- a/compiler/tools/fpp-from-xml/test/component/parameters.ref.txt +++ /dev/null @@ -1,27 +0,0 @@ -@ A test parameter -param P1: U8 default 12 id 0 \ - set opcode 0 \ - save opcode 1 - -@ A test parameter -param P2: F32 default 13.14 id 1 \ - set opcode 2 \ - save opcode 3 - -enum EventLevel { - FILTER_WARNING_HI = 0 - FILTER_WARNING_LO = 1 - FILTER_COMMAND = 2 - FILTER_ACTIVITY_HI = 3 - FILTER_ACTIVITY_LO = 4 - FILTER_DIAGNOSTIC = 5 -} - -param P3: EventLevel default FILTER_ACTIVITY_LO id 2 \ - set opcode 4 \ - save opcode 5 - -@ FPP from XML: could not translate default value T() -param P4: T id 3 \ - set opcode 6 \ - save opcode 7 diff --git a/compiler/tools/fpp-from-xml/test/component/parameters.xml b/compiler/tools/fpp-from-xml/test/component/parameters.xml deleted file mode 100644 index e0072d828..000000000 --- a/compiler/tools/fpp-from-xml/test/component/parameters.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - A test parameter - - - - - A test parameter - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/component/run b/compiler/tools/fpp-from-xml/test/component/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-from-xml/test/component/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/component/special_ports.ref.txt b/compiler/tools/fpp-from-xml/test/component/special_ports.ref.txt deleted file mode 100644 index 10b79c49e..000000000 --- a/compiler/tools/fpp-from-xml/test/component/special_ports.ref.txt +++ /dev/null @@ -1,23 +0,0 @@ -module M { - - passive component SpecialPorts { - - command recv port cmdIn - - command reg port cmdRegOut - - command resp port cmdResponseOut - - event port eventOut - - param get port paramGetOut - - param set port paramSetOut - - text event port textEventOut - - telemetry port tlmOut - - } - -} diff --git a/compiler/tools/fpp-from-xml/test/component/special_ports.xml b/compiler/tools/fpp-from-xml/test/component/special_ports.xml deleted file mode 100644 index 3464d6a9d..000000000 --- a/compiler/tools/fpp-from-xml/test/component/special_ports.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - CmdPortAi.xml - CmdRegPortAi.xml - CmdResponsePortAi.xml - LogPortAi.xml - LogTextPortAi.xml - PrmGetPortAi.xml - PrmSetPortAi.xml - TlmPortAi.xml - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/component/telemetry.ref.txt b/compiler/tools/fpp-from-xml/test/component/telemetry.ref.txt deleted file mode 100644 index bba29c1a9..000000000 --- a/compiler/tools/fpp-from-xml/test/component/telemetry.ref.txt +++ /dev/null @@ -1,28 +0,0 @@ -@ Channel C1 -telemetry C1: U32 id 0x0 update always - -telemetry C2: U32 id 0x1 update always - -telemetry C3: U32 id 0x2 update on change - -telemetry C4: string size 80 id 0x3 update always - -telemetry C5: I32 id 0x4 update always \ - low { - red -3 - orange -2 - yellow -1 - } \ - high { - red 3 - orange 2 - yellow 1 - } - -enum E { - A = 0 - B = 1 - C = 2 -} - -telemetry C6: E id 0x5 update always diff --git a/compiler/tools/fpp-from-xml/test/component/telemetry.xml b/compiler/tools/fpp-from-xml/test/component/telemetry.xml deleted file mode 100644 index 63f138f9f..000000000 --- a/compiler/tools/fpp-from-xml/test/component/telemetry.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - Channel C1 - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.ref.txt b/compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.ref.txt deleted file mode 100644 index 6f63140c9..000000000 --- a/compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.ref.txt +++ /dev/null @@ -1,3 +0,0 @@ -fpp-from-xml -file: [ local path prefix ]/tools/fpp-from-xml/test/component/telemetry_bad_limit.xml -error: non-numeric type in limit for channel C diff --git a/compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.xml b/compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.xml deleted file mode 100644 index 88f5681f5..000000000 --- a/compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/compiler/tools/fpp-from-xml/test/component/tests.sh b/compiler/tools/fpp-from-xml/test/component/tests.sh deleted file mode 100644 index dd0cdd70f..000000000 --- a/compiler/tools/fpp-from-xml/test/component/tests.sh +++ /dev/null @@ -1,12 +0,0 @@ -tests=" -commands -events -general_ports_active -general_ports_passive -import_dictionary -internal_ports -parameters -special_ports -telemetry -telemetry_bad_limit -" diff --git a/compiler/tools/fpp-from-xml/test/component/update-ref b/compiler/tools/fpp-from-xml/test/component/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-from-xml/test/component/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/enum/.gitignore b/compiler/tools/fpp-from-xml/test/enum/.gitignore deleted file mode 100644 index 68e20f132..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*Ai.xml -*Ac.hpp -*Ac.cpp diff --git a/compiler/tools/fpp-from-xml/test/enum/check-fpp b/compiler/tools/fpp-from-xml/test/enum/check-fpp deleted file mode 100755 index 4246bc6a9..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/check-fpp +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -e - -fpp_syntax=../../../../bin/fpp-syntax - -files=`find . -name '*.ref.txt' | egrep -v 'error|missing'` -for file in $files -do - echo "checking $file" - $fpp_syntax < $file -done diff --git a/compiler/tools/fpp-from-xml/test/enum/clean b/compiler/tools/fpp-from-xml/test/enum/clean deleted file mode 100755 index b042fe2f0..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -. ../../../../scripts/utils.sh - -clean diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.ref.txt b/compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.ref.txt deleted file mode 100644 index b5105928a..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.ref.txt +++ /dev/null @@ -1,9 +0,0 @@ -module M { - - enum $enum { - X = 0 - Y = 1 - Z = 2 - } - -} diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.xml b/compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.xml deleted file mode 100644 index 12401e7f1..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_missing_name.ref.txt b/compiler/tools/fpp-from-xml/test/enum/enum_missing_name.ref.txt deleted file mode 100644 index f1e82792e..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/enum_missing_name.ref.txt +++ /dev/null @@ -1,3 +0,0 @@ -fpp-from-xml -file: [ local path prefix ]/tools/fpp-from-xml/test/enum/enum_missing_name.xml -error: missing attribute name for node diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_missing_name.xml b/compiler/tools/fpp-from-xml/test/enum/enum_missing_name.xml deleted file mode 100644 index 124eea833..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/enum_missing_name.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_ok.fpp b/compiler/tools/fpp-from-xml/test/enum/enum_ok.fpp deleted file mode 100644 index 2b2f71c56..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/enum_ok.fpp +++ /dev/null @@ -1,16 +0,0 @@ -module A { - - module B { - - @ Annotation line 1 - @ Annotation line 2 - enum OK { - X @< Annotation line 1 - @< Annotation line 2 - Y - Z - } - - } - -} diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_ok.ref.txt b/compiler/tools/fpp-from-xml/test/enum/enum_ok.ref.txt deleted file mode 100644 index 3a66a00bc..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/enum_ok.ref.txt +++ /dev/null @@ -1,13 +0,0 @@ -module A { - - module B { - - enum OK { - X = 0 @< Annotation line 1 Annotation line 2 - Y = 1 - Z = 2 - } - - } - -} diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_ok.xml b/compiler/tools/fpp-from-xml/test/enum/enum_ok.xml deleted file mode 100644 index 72931dfb5..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/enum_ok.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/enum/run b/compiler/tools/fpp-from-xml/test/enum/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/enum/tests.sh b/compiler/tools/fpp-from-xml/test/enum/tests.sh deleted file mode 100644 index c74c43ec5..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/tests.sh +++ /dev/null @@ -1,5 +0,0 @@ -tests=" -enum_kwd_name -enum_missing_name -enum_ok -" diff --git a/compiler/tools/fpp-from-xml/test/enum/update-ref b/compiler/tools/fpp-from-xml/test/enum/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-from-xml/test/enum/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/port/check-fpp b/compiler/tools/fpp-from-xml/test/port/check-fpp deleted file mode 100755 index 4246bc6a9..000000000 --- a/compiler/tools/fpp-from-xml/test/port/check-fpp +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -e - -fpp_syntax=../../../../bin/fpp-syntax - -files=`find . -name '*.ref.txt' | egrep -v 'error|missing'` -for file in $files -do - echo "checking $file" - $fpp_syntax < $file -done diff --git a/compiler/tools/fpp-from-xml/test/port/clean b/compiler/tools/fpp-from-xml/test/port/clean deleted file mode 100755 index b042fe2f0..000000000 --- a/compiler/tools/fpp-from-xml/test/port/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -. ../../../../scripts/utils.sh - -clean diff --git a/compiler/tools/fpp-from-xml/test/port/port_cmd_resp.ref.txt b/compiler/tools/fpp-from-xml/test/port/port_cmd_resp.ref.txt deleted file mode 100644 index 5dd57d94b..000000000 --- a/compiler/tools/fpp-from-xml/test/port/port_cmd_resp.ref.txt +++ /dev/null @@ -1,19 +0,0 @@ -module Fw { - - enum CommandResponse { - COMMAND_OK = 0 @< Command successfully executed - COMMAND_INVALID_OPCODE = 1 @< Invalid opcode dispatched - COMMAND_VALIDATION_ERROR = 2 @< Command failed validation - COMMAND_FORMAT_ERROR = 3 @< Command failed to deserialize - COMMAND_EXECUTION_ERROR = 4 @< Command had execution error - COMMAND_BUSY = 5 @< Component busy - } - - @ Command port - port CmdResponse( - opCode: FwOpcodeType @< Command Op Code - cmdSeq: U32 @< Command Sequence - response: CommandResponse @< The command response argument - ) - -} diff --git a/compiler/tools/fpp-from-xml/test/port/port_cmd_resp.xml b/compiler/tools/fpp-from-xml/test/port/port_cmd_resp.xml deleted file mode 100644 index 1f0076d38..000000000 --- a/compiler/tools/fpp-from-xml/test/port/port_cmd_resp.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - Command port - - - - Command Op Code - - - Command Sequence - - - - - - - - - - - The command response argument - - - diff --git a/compiler/tools/fpp-from-xml/test/port/port_ok.ref.txt b/compiler/tools/fpp-from-xml/test/port/port_ok.ref.txt deleted file mode 100644 index a3df1772a..000000000 --- a/compiler/tools/fpp-from-xml/test/port/port_ok.ref.txt +++ /dev/null @@ -1,18 +0,0 @@ -module A { - - enum Return { - X = 0 - Y = 1 - Z = 2 - } - - @ Top-level comment line 1 - @ Top-level comment line 2 - port OK( - a: U32 @< Argument a comment line 1 - @< Argument a comment line 2 - ref b: string size 40 @< Argument b comment line 1 - @< Argument b comment line 2 - ) -> Return - -} diff --git a/compiler/tools/fpp-from-xml/test/port/port_ok.xml b/compiler/tools/fpp-from-xml/test/port/port_ok.xml deleted file mode 100644 index cfd43b269..000000000 --- a/compiler/tools/fpp-from-xml/test/port/port_ok.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - Top-level comment line 1 - Top-level comment line 2 - - - - - Argument a comment line 1 - Argument a comment line 2 - - - - - Argument b comment line 1 - Argument b comment line 2 - - - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/port/run b/compiler/tools/fpp-from-xml/test/port/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-from-xml/test/port/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/port/tests.sh b/compiler/tools/fpp-from-xml/test/port/tests.sh deleted file mode 100644 index a0ff58b9e..000000000 --- a/compiler/tools/fpp-from-xml/test/port/tests.sh +++ /dev/null @@ -1,4 +0,0 @@ -tests=" -port_cmd_resp -port_ok -" diff --git a/compiler/tools/fpp-from-xml/test/port/update-ref b/compiler/tools/fpp-from-xml/test/port/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-from-xml/test/port/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/scripts/run.sh b/compiler/tools/fpp-from-xml/test/scripts/run.sh deleted file mode 100644 index 34341ac09..000000000 --- a/compiler/tools/fpp-from-xml/test/scripts/run.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh - -export LOCAL_PATH_PREFIX=`cd $COMPILER_ROOT; echo $PWD` - -. $COMPILER_ROOT/scripts/test-utils.sh - -fpp_from_xml=$COMPILER_ROOT/bin/fpp-from-xml - -compare() -{ - outfile=$1 - diff -u $outfile.ref.txt $outfile.out.txt > $outfile.diff.txt 2>&1 -} - -run_test() -{ - args=$1 - infile=$2 - if test -n "$3" - then - outfile=$3 - else - outfile=$infile - fi - $fpp_from_xml $args $infile.xml 2>&1 | remove_path_prefix > $outfile.out.txt - compare $outfile -} - -. ./tests.sh - -# Default tests -for t in $tests -do - echo " -$t() -{ - run_test '' $t -}" -done > default-tests.sh -. ./default-tests.sh - -if test -f run.sh -then - . ./run.sh -fi - -run_suite $tests diff --git a/compiler/tools/fpp-from-xml/test/scripts/update-ref.sh b/compiler/tools/fpp-from-xml/test/scripts/update-ref.sh deleted file mode 100644 index f398625ce..000000000 --- a/compiler/tools/fpp-from-xml/test/scripts/update-ref.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh - -export LOCAL_PATH_PREFIX=`cd $COMPILER_ROOT; echo $PWD` - -. $COMPILER_ROOT/scripts/test-utils.sh - -fpp_from_xml=$COMPILER_ROOT/bin/fpp-from-xml - -update() -{ - args=$1 - infile=$2 - if test -n "$3" - then - outfile=$3 - else - outfile=$infile - fi - $fpp_from_xml $args $infile.xml 2>&1 | remove_path_prefix > $outfile.ref.txt -} - -for file in `find . -name '*.ref.txt'` -do - rm $file -done - -. ./tests.sh - -# Default update ref -for t in $tests -do - echo " -$t() -{ - update '' $t -}" -done > default-update-ref.sh -. ./default-update-ref.sh - -if test -f update-ref.sh -then - . ./update-ref.sh -fi - -for t in $tests -do - echo "updating ref output for $t" - $t -done diff --git a/compiler/tools/fpp-from-xml/test/struct/check-fpp b/compiler/tools/fpp-from-xml/test/struct/check-fpp deleted file mode 100755 index 4246bc6a9..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/check-fpp +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -e - -fpp_syntax=../../../../bin/fpp-syntax - -files=`find . -name '*.ref.txt' | egrep -v 'error|missing'` -for file in $files -do - echo "checking $file" - $fpp_syntax < $file -done diff --git a/compiler/tools/fpp-from-xml/test/struct/clean b/compiler/tools/fpp-from-xml/test/struct/clean deleted file mode 100755 index b042fe2f0..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -. ../../../../scripts/utils.sh - -clean diff --git a/compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.ref.txt b/compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.ref.txt deleted file mode 100644 index 2a44a0cb0..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.ref.txt +++ /dev/null @@ -1,19 +0,0 @@ -module A { - - module B { - - enum E { - X = 0 - Y = 1 - Z = 2 - } - - @ Top-level comment, line 1 - @ Top-level comment, line 2 - struct StructOK { - m: [3] E format "the value is {}" - } - - } - -} diff --git a/compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.xml b/compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.xml deleted file mode 100644 index c1e8081e4..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - Top-level comment, line 1 - Top-level comment, line 2 - - - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/struct/run b/compiler/tools/fpp-from-xml/test/struct/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/struct/struct_format.ref.txt b/compiler/tools/fpp-from-xml/test/struct/struct_format.ref.txt deleted file mode 100644 index 419fcf70e..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/struct_format.ref.txt +++ /dev/null @@ -1,17 +0,0 @@ -module A { - - module B { - - struct StructFormat { - m1: I32 - @ FPP from XML: could not translate format string "%q" - m2: bool - m3: string size 23 - m4: [10] F32 format "{.3e}" - m5: [10] F32 format "{.3f}" - m6: [10] F32 format "{.3g}" - } - - } - -} diff --git a/compiler/tools/fpp-from-xml/test/struct/struct_format.xml b/compiler/tools/fpp-from-xml/test/struct/struct_format.xml deleted file mode 100644 index 34cbab2f7..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/struct_format.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.ref.txt b/compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.ref.txt deleted file mode 100644 index 717ea98d1..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.ref.txt +++ /dev/null @@ -1,3 +0,0 @@ -fpp-from-xml -file: [ local path prefix ]/tools/fpp-from-xml/test/struct/struct_missing_member_name.xml -error: missing attribute name for node diff --git a/compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.xml b/compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.xml deleted file mode 100644 index 2c4ecdde5..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-from-xml/test/struct/struct_ok.ref.txt b/compiler/tools/fpp-from-xml/test/struct/struct_ok.ref.txt deleted file mode 100644 index 73323b05b..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/struct_ok.ref.txt +++ /dev/null @@ -1,24 +0,0 @@ -module A { - - module B { - - enum E { - X = 0 - Y = 3 @< Inline comment - Z = 4 - } - - @ Top-level comment, line 1 - @ Top-level comment, line 2 - struct StructOK { - m1: C.D @< Inline comment - m2: I32 - m3: bool - m4: string size 23 - m5: E - m6: [10] U32 - } - - } - -} diff --git a/compiler/tools/fpp-from-xml/test/struct/struct_ok.xml b/compiler/tools/fpp-from-xml/test/struct/struct_ok.xml deleted file mode 100644 index 5386fd58b..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/struct_ok.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - Top-level comment, line 1 - Top-level comment, line 2 - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/struct/tests.sh b/compiler/tools/fpp-from-xml/test/struct/tests.sh deleted file mode 100644 index 9db0b7868..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/tests.sh +++ /dev/null @@ -1,6 +0,0 @@ -tests=" -member_array_of_enum -struct_format -struct_missing_member_name -struct_ok -" diff --git a/compiler/tools/fpp-from-xml/test/struct/update-ref b/compiler/tools/fpp-from-xml/test/struct/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-from-xml/test/struct/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/syntax/check-fpp b/compiler/tools/fpp-from-xml/test/syntax/check-fpp deleted file mode 100755 index 4246bc6a9..000000000 --- a/compiler/tools/fpp-from-xml/test/syntax/check-fpp +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -e - -fpp_syntax=../../../../bin/fpp-syntax - -files=`find . -name '*.ref.txt' | egrep -v 'error|missing'` -for file in $files -do - echo "checking $file" - $fpp_syntax < $file -done diff --git a/compiler/tools/fpp-from-xml/test/syntax/clean b/compiler/tools/fpp-from-xml/test/syntax/clean deleted file mode 100755 index b042fe2f0..000000000 --- a/compiler/tools/fpp-from-xml/test/syntax/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -. ../../../../scripts/utils.sh - -clean diff --git a/compiler/tools/fpp-from-xml/test/syntax/parse_error.ref.txt b/compiler/tools/fpp-from-xml/test/syntax/parse_error.ref.txt deleted file mode 100644 index 0b65eb42c..000000000 --- a/compiler/tools/fpp-from-xml/test/syntax/parse_error.ref.txt +++ /dev/null @@ -1,3 +0,0 @@ -fpp-from-xml -file: [ local path prefix ]/tools/fpp-from-xml/test/syntax/parse_error.xml -error: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. diff --git a/compiler/tools/fpp-from-xml/test/syntax/parse_error.xml b/compiler/tools/fpp-from-xml/test/syntax/parse_error.xml deleted file mode 100644 index e61e68ba5..000000000 --- a/compiler/tools/fpp-from-xml/test/syntax/parse_error.xml +++ /dev/null @@ -1 +0,0 @@ -This file should not parse! diff --git a/compiler/tools/fpp-from-xml/test/syntax/run b/compiler/tools/fpp-from-xml/test/syntax/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-from-xml/test/syntax/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/syntax/tests.sh b/compiler/tools/fpp-from-xml/test/syntax/tests.sh deleted file mode 100644 index 40969f15d..000000000 --- a/compiler/tools/fpp-from-xml/test/syntax/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -parse_error -" diff --git a/compiler/tools/fpp-from-xml/test/syntax/update-ref b/compiler/tools/fpp-from-xml/test/syntax/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-from-xml/test/syntax/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/test b/compiler/tools/fpp-from-xml/test/test deleted file mode 100755 index 6df8509b5..000000000 --- a/compiler/tools/fpp-from-xml/test/test +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../.. -cd .. -$COMPILER_ROOT/scripts/test -mv num_failed.txt test-output.txt test diff --git a/compiler/tools/fpp-from-xml/test/top/check-fpp b/compiler/tools/fpp-from-xml/test/top/check-fpp deleted file mode 100755 index b1fe2532c..000000000 --- a/compiler/tools/fpp-from-xml/test/top/check-fpp +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -e - -fpp_syntax=../../../../bin/fpp-syntax - -files=`find . -name '*.ref.txt' | egrep -v 'error|missing'` -for file in $files -do - echo "checking $file" - if echo $file | grep -q "fprime_ref_packets\.ref\.txt$" - then - $fpp_syntax -i < fprime_ref_packets.fpp - else - $fpp_syntax < $file - fi -done diff --git a/compiler/tools/fpp-from-xml/test/top/clean b/compiler/tools/fpp-from-xml/test/top/clean deleted file mode 100755 index b042fe2f0..000000000 --- a/compiler/tools/fpp-from-xml/test/top/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -. ../../../../scripts/utils.sh - -clean diff --git a/compiler/tools/fpp-from-xml/test/top/fprime_ref.ref.txt b/compiler/tools/fpp-from-xml/test/top/fprime_ref.ref.txt deleted file mode 100644 index 03c3ea5ef..000000000 --- a/compiler/tools/fpp-from-xml/test/top/fprime_ref.ref.txt +++ /dev/null @@ -1,321 +0,0 @@ -instance cmdDisp: Svc.CommandDispatcher base id 121 - -instance chanTlm: Svc.TlmChan base id 61 - -instance prmDb: Svc.PrmDb base id 141 - -instance cmdSeq: Svc.CmdSequencer base id 541 - -instance eventLogger: Svc.ActiveLogger base id 421 - -instance $health: Svc.Health base id 361 - -instance fileUplink: Svc.FileUplink base id 261 - -instance fileUplinkBufferManager: Svc.BufferManager base id 301 - -instance fileDownlink: Svc.FileDownlink base id 501 - -instance fileManager: Svc.FileManager base id 601 - -instance textLogger: Svc.PassiveTextLogger base id 521 - -instance fatalAdapter: Svc.AssertFatalAdapter base id 341 - -instance fatalHandler: Svc.FatalHandler base id 1 - -instance linuxTime: Svc.Time base id 441 - -instance staticMemory: Svc.StaticMemory base id 661 - -instance downlink: Svc.Framer base id 681 - -instance uplink: Svc.Deframer base id 701 - -instance comm: Drv.ByteStreamDriverModel base id 621 - -instance rateGroupDriverComp: Svc.RateGroupDriver base id 461 - -instance rateGroup1Comp: Svc.ActiveRateGroup base id 21 - -instance rateGroup2Comp: Svc.ActiveRateGroup base id 161 - -instance rateGroup3Comp: Svc.ActiveRateGroup base id 241 - -instance sendBuffComp: Ref.SendBuff base id 81 - -instance recvBuffComp: Ref.RecvBuff base id 101 - -instance pingRcvr: Ref.PingReceiver base id 41 - -instance SG1: Ref.SignalGen base id 181 - -instance SG3: Ref.SignalGen base id 201 - -instance SG2: Ref.SignalGen base id 221 - -instance SG5: Ref.SignalGen base id 281 - -instance SG4: Ref.SignalGen base id 321 - -instance blockDrv: Drv.BlockDriver base id 481 - -topology Ref { - - instance cmdDisp - - instance chanTlm - - instance prmDb - - instance cmdSeq - - instance eventLogger - - instance $health - - instance fileUplink - - instance fileUplinkBufferManager - - instance fileDownlink - - instance fileManager - - instance textLogger - - instance fatalAdapter - - instance fatalHandler - - instance linuxTime - - instance staticMemory - - instance downlink - - instance uplink - - instance comm - - instance rateGroupDriverComp - - instance rateGroup1Comp - - instance rateGroup2Comp - - instance rateGroup3Comp - - instance sendBuffComp - - instance recvBuffComp - - instance pingRcvr - - instance SG1 - - instance SG3 - - instance SG2 - - instance SG5 - - instance SG4 - - instance blockDrv - - connections XML { - comm.allocate[0] -> staticMemory.bufferAllocate[0] - comm.$recv[0] -> uplink.framedIn[0] - uplink.framedDeallocate[0] -> staticMemory.bufferDeallocate[0] - uplink.bufferAllocate[0] -> fileUplinkBufferManager.bufferGetCallee[0] - uplink.comOut[0] -> cmdDisp.seqCmdBuff[0] - uplink.bufferOut[0] -> fileUplink.bufferSendIn[0] - uplink.bufferDeallocate[0] -> fileUplinkBufferManager.bufferSendIn[0] - fileUplink.bufferSendOut[0] -> fileUplinkBufferManager.bufferSendIn[0] - downlink.framedAllocate[0] -> staticMemory.bufferAllocate[1] - downlink.framedOut[0] -> comm.$send[0] - comm.deallocate[0] -> staticMemory.bufferDeallocate[1] - eventLogger.PktSend[0] -> downlink.comIn[0] - chanTlm.PktSend[0] -> downlink.comIn[0] - fileDownlink.bufferSendOut[0] -> downlink.bufferIn[0] - downlink.bufferDeallocate[0] -> fileDownlink.bufferReturn[0] - eventLogger.CmdReg[0] -> cmdDisp.compCmdReg[0] - cmdDisp.CmdReg[0] -> cmdDisp.compCmdReg[1] - $health.CmdReg[0] -> cmdDisp.compCmdReg[2] - prmDb.CmdReg[0] -> cmdDisp.compCmdReg[3] - cmdSeq.cmdRegOut[0] -> cmdDisp.compCmdReg[4] - fileDownlink.cmdRegOut[0] -> cmdDisp.compCmdReg[5] - sendBuffComp.CmdReg[0] -> cmdDisp.compCmdReg[6] - recvBuffComp.CmdReg[0] -> cmdDisp.compCmdReg[7] - SG1.cmdRegOut[0] -> cmdDisp.compCmdReg[8] - SG2.cmdRegOut[0] -> cmdDisp.compCmdReg[9] - SG3.cmdRegOut[0] -> cmdDisp.compCmdReg[10] - SG4.cmdRegOut[0] -> cmdDisp.compCmdReg[11] - SG5.cmdRegOut[0] -> cmdDisp.compCmdReg[12] - pingRcvr.CmdReg[0] -> cmdDisp.compCmdReg[13] - fileManager.cmdRegOut[0] -> cmdDisp.compCmdReg[14] - cmdDisp.compCmdSend[0] -> eventLogger.CmdDisp[0] - cmdDisp.compCmdSend[1] -> cmdDisp.CmdDisp[0] - cmdDisp.compCmdSend[2] -> $health.CmdDisp[0] - cmdDisp.compCmdSend[3] -> prmDb.CmdDisp[0] - cmdDisp.compCmdSend[4] -> cmdSeq.cmdIn[0] - cmdDisp.compCmdSend[5] -> fileDownlink.cmdIn[0] - cmdDisp.compCmdSend[6] -> sendBuffComp.CmdDisp[0] - cmdDisp.compCmdSend[7] -> recvBuffComp.CmdDisp[0] - cmdDisp.compCmdSend[8] -> SG1.cmdIn[0] - cmdDisp.compCmdSend[9] -> SG2.cmdIn[0] - cmdDisp.compCmdSend[10] -> SG3.cmdIn[0] - cmdDisp.compCmdSend[11] -> SG4.cmdIn[0] - cmdDisp.compCmdSend[12] -> SG5.cmdIn[0] - cmdDisp.compCmdSend[13] -> pingRcvr.CmdDisp[0] - cmdDisp.compCmdSend[14] -> fileManager.cmdIn[0] - eventLogger.CmdStatus[0] -> cmdDisp.compCmdStat[0] - cmdSeq.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] - prmDb.CmdStatus[0] -> cmdDisp.compCmdStat[0] - cmdDisp.CmdStatus[0] -> cmdDisp.compCmdStat[0] - $health.CmdStatus[0] -> cmdDisp.compCmdStat[0] - fileDownlink.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] - fileManager.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] - pingRcvr.CmdStatus[0] -> cmdDisp.compCmdStat[0] - recvBuffComp.CmdStatus[0] -> cmdDisp.compCmdStat[0] - sendBuffComp.CmdStatus[0] -> cmdDisp.compCmdStat[0] - SG1.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] - SG2.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] - SG3.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] - SG4.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] - SG5.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] - cmdDisp.seqCmdStatus[1] -> cmdSeq.cmdResponseIn[0] - cmdSeq.comCmdOut[0] -> cmdDisp.seqCmdBuff[1] - prmDb.Log[0] -> eventLogger.LogRecv[0] - fileUplink.eventOut[0] -> eventLogger.LogRecv[0] - eventLogger.Log[0] -> eventLogger.LogRecv[0] - fileUplinkBufferManager.eventOut[0] -> eventLogger.LogRecv[0] - cmdDisp.Log[0] -> eventLogger.LogRecv[0] - cmdSeq.logOut[0] -> eventLogger.LogRecv[0] - fatalAdapter.Log[0] -> eventLogger.LogRecv[0] - $health.Log[0] -> eventLogger.LogRecv[0] - fileDownlink.eventOut[0] -> eventLogger.LogRecv[0] - fileManager.eventOut[0] -> eventLogger.LogRecv[0] - rateGroup1Comp.Log[0] -> eventLogger.LogRecv[0] - rateGroup2Comp.Log[0] -> eventLogger.LogRecv[0] - rateGroup3Comp.Log[0] -> eventLogger.LogRecv[0] - sendBuffComp.Log[0] -> eventLogger.LogRecv[0] - recvBuffComp.Log[0] -> eventLogger.LogRecv[0] - SG1.logOut[0] -> eventLogger.LogRecv[0] - SG2.logOut[0] -> eventLogger.LogRecv[0] - SG3.logOut[0] -> eventLogger.LogRecv[0] - SG4.logOut[0] -> eventLogger.LogRecv[0] - SG5.logOut[0] -> eventLogger.LogRecv[0] - pingRcvr.Log[0] -> eventLogger.LogRecv[0] - cmdSeq.LogText[0] -> textLogger.TextLogger[0] - eventLogger.LogText[0] -> textLogger.TextLogger[0] - $health.LogText[0] -> textLogger.TextLogger[0] - fatalAdapter.LogText[0] -> textLogger.TextLogger[0] - prmDb.LogText[0] -> textLogger.TextLogger[0] - cmdDisp.LogText[0] -> textLogger.TextLogger[0] - rateGroup1Comp.LogText[0] -> textLogger.TextLogger[0] - rateGroup2Comp.LogText[0] -> textLogger.TextLogger[0] - rateGroup3Comp.LogText[0] -> textLogger.TextLogger[0] - pingRcvr.LogText[0] -> textLogger.TextLogger[0] - SG1.logTextOut[0] -> textLogger.TextLogger[0] - SG2.logTextOut[0] -> textLogger.TextLogger[0] - SG3.logTextOut[0] -> textLogger.TextLogger[0] - SG4.logTextOut[0] -> textLogger.TextLogger[0] - SG5.logTextOut[0] -> textLogger.TextLogger[0] - sendBuffComp.LogText[0] -> textLogger.TextLogger[0] - recvBuffComp.LogText[0] -> textLogger.TextLogger[0] - fileDownlink.textEventOut[0] -> textLogger.TextLogger[0] - fileDownlink.tlmOut[0] -> chanTlm.TlmRecv[0] - fileUplinkBufferManager.tlmOut[0] -> chanTlm.TlmRecv[0] - fileUplink.tlmOut[0] -> chanTlm.TlmRecv[0] - fileManager.tlmOut[0] -> chanTlm.TlmRecv[0] - cmdSeq.tlmOut[0] -> chanTlm.TlmRecv[0] - cmdDisp.Tlm[0] -> chanTlm.TlmRecv[0] - rateGroup1Comp.Tlm[0] -> chanTlm.TlmRecv[0] - rateGroup2Comp.Tlm[0] -> chanTlm.TlmRecv[0] - rateGroup3Comp.Tlm[0] -> chanTlm.TlmRecv[0] - $health.Tlm[0] -> chanTlm.TlmRecv[0] - SG1.tlmOut[0] -> chanTlm.TlmRecv[0] - SG2.tlmOut[0] -> chanTlm.TlmRecv[0] - SG3.tlmOut[0] -> chanTlm.TlmRecv[0] - SG4.tlmOut[0] -> chanTlm.TlmRecv[0] - SG5.tlmOut[0] -> chanTlm.TlmRecv[0] - pingRcvr.Tlm[0] -> chanTlm.TlmRecv[0] - sendBuffComp.Tlm[0] -> chanTlm.TlmRecv[0] - recvBuffComp.Tlm[0] -> chanTlm.TlmRecv[0] - blockDrv.Tlm[0] -> chanTlm.TlmRecv[0] - recvBuffComp.ParamGet[0] -> prmDb.getPrm[0] - sendBuffComp.ParamGet[0] -> prmDb.getPrm[0] - recvBuffComp.ParamSet[0] -> prmDb.setPrm[0] - sendBuffComp.ParamSet[0] -> prmDb.setPrm[0] - prmDb.Time[0] -> linuxTime.timeGetPort[0] - eventLogger.Time[0] -> linuxTime.timeGetPort[0] - rateGroup1Comp.Time[0] -> linuxTime.timeGetPort[0] - rateGroup2Comp.Time[0] -> linuxTime.timeGetPort[0] - rateGroup3Comp.Time[0] -> linuxTime.timeGetPort[0] - cmdSeq.timeCaller[0] -> linuxTime.timeGetPort[0] - $health.Time[0] -> linuxTime.timeGetPort[0] - fileUplinkBufferManager.timeCaller[0] -> linuxTime.timeGetPort[0] - cmdDisp.Time[0] -> linuxTime.timeGetPort[0] - fileUplink.timeCaller[0] -> linuxTime.timeGetPort[0] - fileDownlink.timeCaller[0] -> linuxTime.timeGetPort[0] - fileManager.timeCaller[0] -> linuxTime.timeGetPort[0] - fatalAdapter.Time[0] -> linuxTime.timeGetPort[0] - recvBuffComp.Time[0] -> linuxTime.timeGetPort[0] - SG1.timeCaller[0] -> linuxTime.timeGetPort[0] - SG2.timeCaller[0] -> linuxTime.timeGetPort[0] - SG3.timeCaller[0] -> linuxTime.timeGetPort[0] - SG4.timeCaller[0] -> linuxTime.timeGetPort[0] - SG5.timeCaller[0] -> linuxTime.timeGetPort[0] - sendBuffComp.Time[0] -> linuxTime.timeGetPort[0] - pingRcvr.Time[0] -> linuxTime.timeGetPort[0] - blockDrv.Time[0] -> linuxTime.timeGetPort[0] - blockDrv.CycleOut[0] -> rateGroupDriverComp.CycleIn[0] - rateGroupDriverComp.CycleOut[0] -> rateGroup1Comp.CycleIn[0] - rateGroup1Comp.RateGroupMemberOut[0] -> SG1.schedIn[0] - rateGroup1Comp.RateGroupMemberOut[1] -> SG2.schedIn[0] - rateGroup1Comp.RateGroupMemberOut[2] -> chanTlm.Run[0] - rateGroup1Comp.RateGroupMemberOut[3] -> fileDownlink.Run[0] - rateGroupDriverComp.CycleOut[1] -> rateGroup2Comp.CycleIn[0] - rateGroup2Comp.RateGroupMemberOut[0] -> cmdSeq.schedIn[0] - rateGroup2Comp.RateGroupMemberOut[1] -> sendBuffComp.SchedIn[0] - rateGroup2Comp.RateGroupMemberOut[2] -> SG3.schedIn[0] - rateGroup2Comp.RateGroupMemberOut[3] -> SG4.schedIn[0] - rateGroupDriverComp.CycleOut[2] -> rateGroup3Comp.CycleIn[0] - rateGroup3Comp.RateGroupMemberOut[0] -> $health.Run[0] - rateGroup3Comp.RateGroupMemberOut[1] -> SG5.schedIn[0] - rateGroup3Comp.RateGroupMemberOut[2] -> blockDrv.Sched[0] - rateGroup3Comp.RateGroupMemberOut[3] -> fileUplinkBufferManager.schedIn[0] - rateGroup1Comp.PingOut[0] -> $health.PingReturn[0] - $health.PingSend[0] -> rateGroup1Comp.PingIn[0] - $health.PingSend[1] -> rateGroup2Comp.PingIn[0] - rateGroup2Comp.PingOut[0] -> $health.PingReturn[1] - $health.PingSend[2] -> rateGroup3Comp.PingIn[0] - rateGroup3Comp.PingOut[0] -> $health.PingReturn[2] - $health.PingSend[3] -> cmdDisp.pingIn[0] - cmdDisp.pingOut[0] -> $health.PingReturn[3] - $health.PingSend[4] -> eventLogger.pingIn[0] - eventLogger.pingOut[0] -> $health.PingReturn[4] - $health.PingSend[5] -> cmdSeq.pingIn[0] - cmdSeq.pingOut[0] -> $health.PingReturn[5] - $health.PingSend[6] -> chanTlm.pingIn[0] - chanTlm.pingOut[0] -> $health.PingReturn[6] - $health.PingSend[7] -> prmDb.pingIn[0] - prmDb.pingOut[0] -> $health.PingReturn[7] - $health.PingSend[8] -> fileUplink.pingIn[0] - fileUplink.pingOut[0] -> $health.PingReturn[8] - $health.PingSend[9] -> fileDownlink.pingIn[0] - fileDownlink.pingOut[0] -> $health.PingReturn[9] - $health.PingSend[10] -> pingRcvr.PingIn[0] - pingRcvr.PingOut[0] -> $health.PingReturn[10] - $health.PingSend[11] -> blockDrv.PingIn[0] - blockDrv.PingOut[0] -> $health.PingReturn[11] - $health.PingSend[12] -> fileManager.pingIn[0] - fileManager.pingOut[0] -> $health.PingReturn[12] - eventLogger.FatalAnnounce[0] -> fatalHandler.FatalReceive[0] - sendBuffComp.Data[0] -> blockDrv.BufferIn[0] - blockDrv.BufferOut[0] -> recvBuffComp.Data[0] - } - -} diff --git a/compiler/tools/fpp-from-xml/test/top/fprime_ref.xml b/compiler/tools/fpp-from-xml/test/top/fprime_ref.xml deleted file mode 100644 index d1cf92f2e..000000000 --- a/compiler/tools/fpp-from-xml/test/top/fprime_ref.xml +++ /dev/null @@ -1,927 +0,0 @@ - - - - - - - Svc/FatalHandler/FatalHandlerComponentAi.xml - Svc/ActiveRateGroup/ActiveRateGroupComponentAi.xml - Ref/PingReceiver/PingReceiverComponentAi.xml - Svc/TlmChan/TlmChanComponentAi.xml - Ref/SendBuffApp/SendBuffComponentAi.xml - Ref/RecvBuffApp/RecvBuffComponentAi.xml - Svc/CmdDispatcher/CommandDispatcherComponentAi.xml - Svc/PrmDb/PrmDbComponentAi.xml - Svc/ActiveRateGroup/ActiveRateGroupComponentAi.xml - Svc/CmdSequencer/CmdSequencerComponentAi.xml - Ref/SignalGen/SignalGenComponentAi.xml - Ref/SignalGen/SignalGenComponentAi.xml - Ref/SignalGen/SignalGenComponentAi.xml - Svc/ActiveRateGroup/ActiveRateGroupComponentAi.xml - Svc/FileUplink/FileUplinkComponentAi.xml - Ref/SignalGen/SignalGenComponentAi.xml - Svc/BufferManager/BufferManagerComponentAi.xml - Ref/SignalGen/SignalGenComponentAi.xml - Svc/AssertFatalAdapter/AssertFatalAdapterComponentAi.xml - Svc/Health/HealthComponentAi.xml - Svc/BufferManager/BufferManagerComponentAi.xml - Svc/ActiveLogger/ActiveLoggerComponentAi.xml - Svc/Time/TimeComponentAi.xml - Svc/RateGroupDriver/RateGroupDriverComponentAi.xml - Drv/BlockDriver/BlockDriverComponentAi.xml - Svc/FileDownlink/FileDownlinkComponentAi.xml - Svc/FileManager/FileManagerComponentAi.xml - Svc/PassiveConsoleTextLogger/PassiveTextLoggerComponentAi.xml - Svc/LinuxTimer/LinuxTimerComponentAi.xml - Drv/ByteStreamDriverModel/ByteStreamDriverComponentAi.xml - Svc/StaticMemory/StaticMemoryComponentAi.xml - Svc/Framer/FramerComponentAi.xml - Svc/Deframer/DeframerComponentAi.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.fpp b/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.fpp deleted file mode 100644 index 7861d57ce..000000000 --- a/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.fpp +++ /dev/null @@ -1,5 +0,0 @@ -topology T { - - include "fprime_ref_packets.ref.txt" - -} diff --git a/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.ref.txt b/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.ref.txt deleted file mode 100644 index 86fa305e2..000000000 --- a/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.ref.txt +++ /dev/null @@ -1,265 +0,0 @@ -telemetry packets RefPackets { - - packet CDH id 1 group 1 { - Ref.cmdDisp.CommandsDispatched - Ref.rateGroup1Comp.RgMaxTime - Ref.rateGroup2Comp.RgMaxTime - Ref.rateGroup3Comp.RgMaxTime - Ref.cmdSeq.CS_LoadCommands - Ref.cmdSeq.CS_CancelCommands - Ref.cmdSeq.CS_CommandsExecuted - Ref.cmdSeq.CS_SequencesCompleted - Ref.fileUplink.FilesReceived - Ref.fileUplink.PacketsReceived - Ref.fileUplinkBufferManager.TotalBuffs - Ref.fileUplinkBufferManager.CurrBuffs - Ref.fileUplinkBufferManager.HiBuffs - Ref.fileDownlink.FilesSent - Ref.fileDownlink.PacketsSent - Ref.fileManager.CommandsExecuted - } - - packet CDHErrors id 2 group 1 { - Ref.rateGroup1Comp.RgCycleSlips - Ref.rateGroup2Comp.RgCycleSlips - Ref.rateGroup3Comp.RgCycleSlips - Ref.cmdSeq.CS_Errors - Ref.fileUplink.Warnings - Ref.fileDownlink.Warnings - Ref.$health.PingLateWarnings - Ref.fileManager.Errors - Ref.fileUplinkBufferManager.NoBuffs - Ref.fileUplinkBufferManager.EmptyBuffs - Ref.fileManager.Errors - } - - packet DriveTlm id 3 group 1 { - Ref.pingRcvr.PR_NumPings - Ref.sendBuffComp.PacketsSent - Ref.sendBuffComp.NumErrorsInjected - Ref.sendBuffComp.Parameter3 - Ref.sendBuffComp.Parameter4 - Ref.sendBuffComp.SendState - Ref.recvBuffComp.PktState - Ref.recvBuffComp.Sensor1 - Ref.recvBuffComp.Sensor2 - Ref.recvBuffComp.Parameter1 - Ref.recvBuffComp.Parameter2 - Ref.blockDrv.BD_Cycles - } - - packet SigGenSum id 4 group 1 { - Ref.SG1.Output - Ref.SG1.Type - Ref.SG2.Output - Ref.SG2.Type - Ref.SG3.Output - Ref.SG3.Type - Ref.SG4.Output - Ref.SG4.Type - Ref.SG5.Output - Ref.SG5.Type - } - - packet SystemRes1 id 5 group 2 { - Ref.systemResources.MEMORY_TOTAL - Ref.systemResources.MEMORY_USED - Ref.systemResources.NON_VOLATILE_TOTAL - Ref.systemResources.NON_VOLATILE_FREE - } - - packet SystemRes3 id 6 group 2 { - Ref.systemResources.CPU - Ref.systemResources.CPU_00 - Ref.systemResources.CPU_01 - Ref.systemResources.CPU_02 - Ref.systemResources.CPU_03 - Ref.systemResources.CPU_04 - Ref.systemResources.CPU_05 - Ref.systemResources.CPU_06 - Ref.systemResources.CPU_07 - Ref.systemResources.CPU_08 - Ref.systemResources.CPU_09 - Ref.systemResources.CPU_10 - Ref.systemResources.CPU_11 - Ref.systemResources.CPU_12 - Ref.systemResources.CPU_13 - Ref.systemResources.CPU_14 - Ref.systemResources.CPU_15 - } - - packet SigGen1Info id 10 group 2 { - Ref.SG1.Info - } - - packet SigGen2Info id 11 group 2 { - Ref.SG2.Info - } - - packet SigGen3Info id 12 group 2 { - Ref.SG3.Info - } - - packet SigGen4Info id 13 group 2 { - Ref.SG4.Info - } - - packet SigGen5Info id 14 group 2 { - Ref.SG5.Info - } - - packet SigGen1 id 15 group 3 { - Ref.SG1.PairOutput - Ref.SG1.History - Ref.SG1.PairHistory - Ref.SG1.DpBytes - Ref.SG1.DpRecords - } - - packet SigGen2 id 16 group 3 { - Ref.SG2.PairOutput - Ref.SG2.History - Ref.SG2.PairHistory - Ref.SG2.DpBytes - Ref.SG2.DpRecords - } - - packet SigGen3 id 17 group 3 { - Ref.SG3.PairOutput - Ref.SG3.History - Ref.SG3.PairHistory - Ref.SG3.DpBytes - Ref.SG3.DpRecords - } - - packet SigGen4 id 18 group 3 { - Ref.SG4.PairOutput - Ref.SG4.History - Ref.SG4.PairHistory - Ref.SG4.DpBytes - Ref.SG4.DpRecords - } - - packet SigGen5 id 19 group 3 { - Ref.SG5.PairOutput - Ref.SG5.History - Ref.SG5.PairHistory - Ref.SG5.DpBytes - Ref.SG5.DpRecords - } - - packet TypeDemo id 20 group 3 { - Ref.typeDemo.ChoiceCh - Ref.typeDemo.ChoicesCh - Ref.typeDemo.ExtraChoicesCh - Ref.typeDemo.ChoicePairCh - Ref.typeDemo.ChoiceSlurryCh - Ref.typeDemo.Float1Ch - Ref.typeDemo.Float2Ch - Ref.typeDemo.Float3Ch - Ref.typeDemo.FloatSet - Ref.typeDemo.ScalarStructCh - Ref.typeDemo.ScalarU8Ch - Ref.typeDemo.ScalarU16Ch - Ref.typeDemo.ScalarU32Ch - Ref.typeDemo.ScalarU64Ch - Ref.typeDemo.ScalarI8Ch - Ref.typeDemo.ScalarI16Ch - Ref.typeDemo.ScalarI32Ch - Ref.typeDemo.ScalarI64Ch - Ref.typeDemo.ScalarF32Ch - Ref.typeDemo.ScalarF64Ch - } - - packet DataProducts id 21 group 3 { - Ref.dpCat.CatalogDps - Ref.dpCat.DpsSent - Ref.dpMgr.NumSuccessfulAllocations - Ref.dpMgr.NumFailedAllocations - Ref.dpMgr.NumDataProducts - Ref.dpMgr.NumBytes - Ref.dpWriter.NumBuffersReceived - Ref.dpWriter.NumBytesWritten - Ref.dpWriter.NumSuccessfulWrites - Ref.dpWriter.NumFailedWrites - Ref.dpWriter.NumErrors - Ref.dpBufferManager.TotalBuffs - Ref.dpBufferManager.CurrBuffs - Ref.dpBufferManager.HiBuffs - Ref.dpBufferManager.NoBuffs - Ref.dpBufferManager.EmptyBuffs - } - - packet Version1 id 22 group 2 { - Ref.version.FrameworkVersion - Ref.version.ProjectVersion - } - - packet Version_Library1 id 23 group 2 { - Ref.version.LibraryVersion01 - Ref.version.LibraryVersion02 - } - - packet Version_Library2 id 24 group 2 { - Ref.version.LibraryVersion03 - Ref.version.LibraryVersion04 - } - - packet Version_Library3 id 25 group 2 { - Ref.version.LibraryVersion05 - Ref.version.LibraryVersion06 - } - - packet Version_Library4 id 26 group 2 { - Ref.version.LibraryVersion07 - Ref.version.LibraryVersion08 - } - - packet Version_Library5 id 27 group 2 { - Ref.version.LibraryVersion09 - Ref.version.LibraryVersion10 - } - - packet Version_Custom1 id 28 group 2 { - Ref.version.CustomVersion01 - } - - packet Version_Custom2 id 29 group 2 { - Ref.version.CustomVersion02 - } - - packet Version_Custom3 id 30 group 2 { - Ref.version.CustomVersion03 - } - - packet Version_Custom4 id 31 group 2 { - Ref.version.CustomVersion04 - } - - packet Version_Custom5 id 32 group 2 { - Ref.version.CustomVersion05 - } - - packet Version_Custom6 id 33 group 2 { - Ref.version.CustomVersion06 - } - - packet Version_Custom7 id 34 group 2 { - Ref.version.CustomVersion07 - } - - packet Version_Custom8 id 35 group 2 { - Ref.version.CustomVersion08 - } - - packet Version_Custom9 id 36 group 2 { - Ref.version.CustomVersion09 - } - - packet Version_Custom10 id 37 group 2 { - Ref.version.CustomVersion10 - } - -} omit { - Ref.cmdDisp.CommandErrors -} diff --git a/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.xml b/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.xml deleted file mode 100644 index e52579424..000000000 --- a/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.xml +++ /dev/null @@ -1,261 +0,0 @@ - - - Ref/Top/RefTopologyAppAi.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-from-xml/test/top/run b/compiler/tools/fpp-from-xml/test/top/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-from-xml/test/top/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/top/tests.sh b/compiler/tools/fpp-from-xml/test/top/tests.sh deleted file mode 100644 index 868139043..000000000 --- a/compiler/tools/fpp-from-xml/test/top/tests.sh +++ /dev/null @@ -1,4 +0,0 @@ -tests=" -fprime_ref -fprime_ref_packets -" diff --git a/compiler/tools/fpp-from-xml/test/top/update-ref b/compiler/tools/fpp-from-xml/test/top/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-from-xml/test/top/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/.gitignore b/compiler/tools/fpp-to-xml/test/.gitignore deleted file mode 100644 index cef5898e8..000000000 --- a/compiler/tools/fpp-to-xml/test/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -*.diff.txt -*.names.txt -*.out.txt -*Ac.cpp -*Ac.hpp -*Ai.xml -*.csv -DefaultDict -default-tests.sh -default-update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/README.adoc b/compiler/tools/fpp-to-xml/test/README.adoc deleted file mode 100644 index 0ddc51844..000000000 --- a/compiler/tools/fpp-to-xml/test/README.adoc +++ /dev/null @@ -1,22 +0,0 @@ -== fpp-to-xml/test - -This is the test directory for the `fpp-to-xml` tool. - -=== Running Tests - -To run the tests, execute `./test` in this directory. -All the tests should pass. - -=== Developing Tests - -When developing tests, run the tool `./check-xml`. -This ensures that all the `*.ref.xml` files are valid F Prime XML files -that produce valid {cpp} files when run through the F Prime code generator. - -Before running `check-xml`, do the following: - -* Check out a copy of the -https://github.com/nasa/fprime[F Prime repository]. - -* Set the shell environment variable `FPRIME` to point to -the root of the F Prime repository. diff --git a/compiler/tools/fpp-to-xml/test/T.hpp b/compiler/tools/fpp-to-xml/test/T.hpp deleted file mode 100644 index aee00b435..000000000 --- a/compiler/tools/fpp-to-xml/test/T.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef __T_HPP__ -#define __T_HPP__ - -#include "Fw/Types/Serializable.hpp" - -//! C++ interface for type T -//! This simulates a handwritten C++ serializable class -//! that is represented as an abstract type in an FPP model. -class T : - public Fw::Serializable -{ - - public: - - enum { - SERIALIZED_SIZE = 10 - }; - - public: - - T(); - - public: - - bool operator==(const T& other) const; - bool operator!=(const T& other) const; - - Fw::SerializeStatus serializeTo(Fw::SerializeBufferBase& buffer) const; - - Fw::SerializeStatus deserializeFrom(Fw::SerializeBufferBase& buffer); - -}; - -#endif diff --git a/compiler/tools/fpp-to-xml/test/Time.hpp b/compiler/tools/fpp-to-xml/test/Time.hpp deleted file mode 100644 index 73cd3f13d..000000000 --- a/compiler/tools/fpp-to-xml/test/Time.hpp +++ /dev/null @@ -1,94 +0,0 @@ -#ifndef FW_TIME_HPP -#define FW_TIME_HPP - -#include -#include -#include -#include -#include - -namespace Fw { - class Time: public Serializable { - - friend class TimeTester; - - public: - - enum { - SERIALIZED_SIZE = sizeof(FwTimeBaseStoreType) - + sizeof(FwTimeContextStoreType) - + sizeof(U32) + sizeof(U32) - }; - - Time(); // !< Default constructor - Time(const Time& other); // !< Copy constructor - Time(U32 seconds, U32 useconds); // !< Constructor with member values as arguments - Time(TimeBase timeBase, U32 seconds, U32 useconds); // !< Constructor with member values as arguments - Time(TimeBase timeBase, FwTimeContextStoreType context, U32 seconds, U32 useconds); // !< Constructor with member values as arguments - virtual ~Time(); // !< Destructor - void set(U32 seconds, U32 useconds); // !< Sets value of time stored - void set(TimeBase timeBase, U32 seconds, U32 useconds); // !< Sets value of time stored - void set(TimeBase timeBase, FwTimeContextStoreType context, U32 seconds, U32 useconds); // !< Sets value of time stored - void setTimeBase(TimeBase timeBase); - void setTimeContext(FwTimeContextStoreType context); - U32 getSeconds() const; // !< Gets seconds part of time - U32 getUSeconds() const; // !< Gets microseconds part of time - TimeBase getTimeBase() const; // !< Time base of time. This is project specific and is meant for indicating different sources of time - FwTimeContextStoreType getContext() const; // !< get the context value - SerializeStatus serializeTo(SerializeBufferBase& buffer) const override; // !< Serialize method - SerializeStatus deserializeFrom(SerializeBufferBase& buffer) override; // !< Deserialize method - bool operator==(const Time& other) const; - bool operator!=(const Time& other) const; - bool operator>(const Time& other) const; - bool operator<(const Time& other) const; - bool operator>=(const Time& other) const; - bool operator<=(const Time& other) const; - Time& operator=(const Time& other); - - // Static methods: - //! The type of a comparison result - typedef enum { - LT = -1, - EQ = 0, - GT = 1, - INCOMPARABLE = 2 - } Comparison; - - //! \return time zero - static Time zero(TimeBase timeBase=TimeBase::TB_NONE); - - //! Compare two times - //! \return The result - static Comparison compare( - const Time &time1, //!< Time 1 - const Time &time2 //!< Time 2 - ); - - //! Add two times - //! \return The result - static Time add( - const Time& a, //!< Time a - const Time& b //!< Time b - ); - - //! Subtract subtrahend from minuend - //! \return The result - static Time sub( - const Time& minuend, //!< Value being subtracted from - const Time& subtrahend //!< Value being subtracted - ); - - // add seconds and microseconds to existing time - void add(U32 seconds, U32 mseconds); - -#ifdef BUILD_UT // Stream operators to support Googletest - friend std::ostream& operator<<(std::ostream& os, const Time& val); -#endif - private: - TimeValue m_val; // !< Time value - }; - extern const Time ZERO_TIME; - -} - -#endif diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayEnum1ArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayEnum1ArrayAi.ref.xml deleted file mode 100644 index 2d837a02e..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayEnum1ArrayAi.ref.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - ArrayEnumE1EnumAi.xml - - Array with enum argument - - M::ArrayEnumE1 - 2 - %s - - M::ArrayEnumE1::X - M::ArrayEnumE1::X - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayEnum2ArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayEnum2ArrayAi.ref.xml deleted file mode 100644 index 090973b93..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayEnum2ArrayAi.ref.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - ArrayEnumE2EnumAi.xml - M::ArrayEnumE2 - 5 - %s - - M::ArrayEnumE2::A - M::ArrayEnumE2::A - M::ArrayEnumE2::A - M::ArrayEnumE2::A - M::ArrayEnumE2::A - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayEnumE1EnumAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayEnumE1EnumAi.ref.xml deleted file mode 100644 index 507199706..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayEnumE1EnumAi.ref.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayEnumE2EnumAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayEnumE2EnumAi.ref.xml deleted file mode 100644 index cf2a8f49e..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayEnumE2EnumAi.ref.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayOK1ArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayOK1ArrayAi.ref.xml deleted file mode 100644 index bf03bd987..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayOK1ArrayAi.ref.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - F32 - 5 - %.3f - - 1.0f - 1.0f - 1.0f - 1.0f - 1.0f - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayOK2ArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayOK2ArrayAi.ref.xml deleted file mode 100644 index 083cf3e4b..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayOK2ArrayAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - ArrayOK1ArrayAi.xml - M1::ArrayOK1 - 3 - %s - - M1::ArrayOK1(1.0f) - M1::ArrayOK1(1.0f) - M1::ArrayOK1(1.0f) - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayOK3ArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayOK3ArrayAi.ref.xml deleted file mode 100644 index f89f4030d..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayOK3ArrayAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - string - 2 - %s - - Fw::String("\"\\") - Fw::String("abc\ndef\n") - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayOK4ArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayOK4ArrayAi.ref.xml deleted file mode 100644 index bcaa2bd25..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayOK4ArrayAi.ref.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - ArrayOK3ArrayAi.xml - - Array with array arg - - M2::ArrayOK3 - 4 - %s - - M2::ArrayOK3({Fw::String("\"\\"), Fw::String("abc\ndef\n")}) - M2::ArrayOK3({Fw::String("\"\\"), Fw::String("abc\ndef\n")}) - M2::ArrayOK3({Fw::String("\"\\"), Fw::String("abc\ndef\n")}) - M2::ArrayOK3({Fw::String("\"\\"), Fw::String("abc\ndef\n")}) - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayOK5ArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayOK5ArrayAi.ref.xml deleted file mode 100644 index 66cf51d97..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayOK5ArrayAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - T.hpp - T - 3 - %s - - T() - T() - T() - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArraySpecialCommentArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArraySpecialCommentArrayAi.ref.xml deleted file mode 100644 index 259330be6..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArraySpecialCommentArrayAi.ref.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - An array with special characters in XML comments - &'<>" - &'<>" - - U32 - 3 - %u - - 0 - 0 - 0 - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayStruct1ArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayStruct1ArrayAi.ref.xml deleted file mode 100644 index 58220de49..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayStruct1ArrayAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - ArrayStructS1SerializableAi.xml - M1::ArrayStructS1 - 2 - %s - - M1::ArrayStructS1(0.0f, 0.0, 0, 0, 0, 0, 0, 0, 0, 0, false, Fw::String(""), T()) - M1::ArrayStructS1(0.0f, 0.0, 0, 0, 0, 0, 0, 0, 0, 0, false, Fw::String(""), T()) - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayStruct2ArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayStruct2ArrayAi.ref.xml deleted file mode 100644 index 3f17e557b..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayStruct2ArrayAi.ref.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - ArrayStructS2SerializableAi.xml - - Array with struct arg - - ArrayStructS2 - 3 - %s - - ArrayStructS2(M1::ArrayStructS1(0.0f, 0.0, 0, 0, 0, 0, 0, 0, 0, 0, false, Fw::String(""), T())) - ArrayStructS2(M1::ArrayStructS1(0.0f, 0.0, 0, 0, 0, 0, 0, 0, 0, 0, false, Fw::String(""), T())) - ArrayStructS2(M1::ArrayStructS1(0.0f, 0.0, 0, 0, 0, 0, 0, 0, 0, 0, false, Fw::String(""), T())) - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayStructMemberArrayArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayStructMemberArrayArrayAi.ref.xml deleted file mode 100644 index 6f1beed0c..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayStructMemberArrayArrayAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - ArrayStructMemberArraySerializableAi.xml - S::ArrayStructMemberArray - 3 - %s - - S::ArrayStructMemberArray(0, 0.0) - S::ArrayStructMemberArray(0, 0.0) - S::ArrayStructMemberArray(0, 0.0) - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayStructMemberArraySerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayStructMemberArraySerializableAi.ref.xml deleted file mode 100644 index ce0dfdddc..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayStructMemberArraySerializableAi.ref.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - A struct with a member array - - - - 0 - - - 0.0 - - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayStructS1SerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayStructS1SerializableAi.ref.xml deleted file mode 100644 index ed7357c97..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayStructS1SerializableAi.ref.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - T.hpp - - - 0.0f - - - 0.0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - false - - - Fw::String("") - - - T() - - - diff --git a/compiler/tools/fpp-to-xml/test/array/ArrayStructS2SerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/array/ArrayStructS2SerializableAi.ref.xml deleted file mode 100644 index cf0ff4833..000000000 --- a/compiler/tools/fpp-to-xml/test/array/ArrayStructS2SerializableAi.ref.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - ArrayStructS1SerializableAi.xml - - - M1::ArrayStructS1(0.0f, 0.0, 0, 0, 0, 0, 0, 0, 0, 0, false, Fw::String(""), T()) - - - diff --git a/compiler/tools/fpp-to-xml/test/array/array_enum.fpp b/compiler/tools/fpp-to-xml/test/array/array_enum.fpp deleted file mode 100644 index 824a63337..000000000 --- a/compiler/tools/fpp-to-xml/test/array/array_enum.fpp +++ /dev/null @@ -1,24 +0,0 @@ -module M { - - enum ArrayEnumE1 { - X = 1 @< Example comment - Y = 2 - Z = 9 - } - - enum ArrayEnumE2 { - A = 10 - B = 20 - C = 30 - D = 40 - } - -} - -module N { - - array ArrayEnum1 = [2] M.ArrayEnumE1 @< Array with enum argument - - array ArrayEnum2 = [5] M.ArrayEnumE2 - -} diff --git a/compiler/tools/fpp-to-xml/test/array/array_enum.ref.txt b/compiler/tools/fpp-to-xml/test/array/array_enum.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/array/array_ok.fpp b/compiler/tools/fpp-to-xml/test/array/array_ok.fpp deleted file mode 100644 index 6b099ec7b..000000000 --- a/compiler/tools/fpp-to-xml/test/array/array_ok.fpp +++ /dev/null @@ -1,24 +0,0 @@ -module M1 { - array ArrayOK1 = [5] F32 default 1 format "{.03f}" -} - -module M2 { - - array ArrayOK2 = [3] M1.ArrayOK1 - - array ArrayOK3 = [2] string default ["\"\\", """ - abc - def - """] - -} - -module M3 { - array ArrayOK4 = [4] M2.ArrayOK3 @< Array with array arg -} - -type T - -module M4 { - array ArrayOK5 = [3] T -} diff --git a/compiler/tools/fpp-to-xml/test/array/array_ok.ref.txt b/compiler/tools/fpp-to-xml/test/array/array_ok.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/array/array_special_comment.fpp b/compiler/tools/fpp-to-xml/test/array/array_special_comment.fpp deleted file mode 100644 index c768525a4..000000000 --- a/compiler/tools/fpp-to-xml/test/array/array_special_comment.fpp +++ /dev/null @@ -1,3 +0,0 @@ -@ An array with special characters in XML comments -@ &'<>" -array ArraySpecialComment = [3] U32 @< &'<>" diff --git a/compiler/tools/fpp-to-xml/test/array/array_special_comment.ref.txt b/compiler/tools/fpp-to-xml/test/array/array_special_comment.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/array/array_struct.fpp b/compiler/tools/fpp-to-xml/test/array/array_struct.fpp deleted file mode 100644 index 5900d30b2..000000000 --- a/compiler/tools/fpp-to-xml/test/array/array_struct.fpp +++ /dev/null @@ -1,29 +0,0 @@ -type T - -module M1 { - struct ArrayStructS1 { - mF32: F32 - mF64: F64 - mI16: I16 - mI32: I32 - mI64: I64 - mI8: I8 - mU16: U16 - mU32: U32 - mU64: U64 - mU8: U8 - m_bool: bool - m_string: string - m_absType: T - } -} - -struct ArrayStructS2 { - s1: M1.ArrayStructS1 -} - -array ArrayStruct1 = [2] M1.ArrayStructS1 - -module M2 { - array ArrayStruct2 = [3] ArrayStructS2 @< Array with struct arg -} diff --git a/compiler/tools/fpp-to-xml/test/array/array_struct.ref.txt b/compiler/tools/fpp-to-xml/test/array/array_struct.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/array/array_struct_member_array.fpp b/compiler/tools/fpp-to-xml/test/array/array_struct_member_array.fpp deleted file mode 100644 index 6b711f043..000000000 --- a/compiler/tools/fpp-to-xml/test/array/array_struct_member_array.fpp +++ /dev/null @@ -1,13 +0,0 @@ -type T - -module S { - @ A struct with a member array - struct ArrayStructMemberArray { - mU32Array: [3] U32 - mF64: F64 - } -} - -module A { - array ArrayStructMemberArray = [3] S.ArrayStructMemberArray -} diff --git a/compiler/tools/fpp-to-xml/test/array/array_struct_member_array.ref.txt b/compiler/tools/fpp-to-xml/test/array/array_struct_member_array.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/array/check-xml b/compiler/tools/fpp-to-xml/test/array/check-xml deleted file mode 100755 index f42fec066..000000000 --- a/compiler/tools/fpp-to-xml/test/array/check-xml +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../.. - -skip_xml_names=" -ArrayStruct1Array -" - -for name in $skip_xml_names -do - export SKIP_XML_FOR_$name=1 -done - -skip_cpp_names=" -BuiltInTypeArray -ArrayStruct1Array -" - -sh ../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/array/clean b/compiler/tools/fpp-to-xml/test/array/clean deleted file mode 100755 index 5a2a7feb8..000000000 --- a/compiler/tools/fpp-to-xml/test/array/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../.. - -sh ../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/array/run b/compiler/tools/fpp-to-xml/test/array/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-to-xml/test/array/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/array/run.sh b/compiler/tools/fpp-to-xml/test/array/run.sh deleted file mode 100644 index da58b39ce..000000000 --- a/compiler/tools/fpp-to-xml/test/array/run.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -array_enum() -{ - run_test "-p $PWD" array_enum && \ - diff_xml ArrayEnumE1Enum ArrayEnumE2Enum ArrayEnum1Array ArrayEnum2Array -} - -array_ok() -{ - run_test "-p $PWD" array_ok && \ - diff_xml ArrayOK1Array ArrayOK2Array ArrayOK3Array ArrayOK4Array ArrayOK5Array -} - -array_special_comment() -{ - run_test "-p $PWD" array_special_comment && \ - diff_xml ArraySpecialCommentArray -} - -array_struct() -{ - run_test "-p $PWD" array_struct && \ - diff_xml ArrayStructS1Serializable ArrayStructS2Serializable ArrayStruct1Array ArrayStruct2Array -} - -array_struct_member_array() -{ - run_test "-p $PWD" array_struct_member_array && \ - diff_xml ArrayStructMemberArraySerializable ArrayStructMemberArrayArray -} diff --git a/compiler/tools/fpp-to-xml/test/array/tests.sh b/compiler/tools/fpp-to-xml/test/array/tests.sh deleted file mode 100644 index 51593a9b3..000000000 --- a/compiler/tools/fpp-to-xml/test/array/tests.sh +++ /dev/null @@ -1,7 +0,0 @@ -tests=" -array_enum -array_ok -array_special_comment -array_struct -array_struct_member_array -" diff --git a/compiler/tools/fpp-to-xml/test/array/update-ref b/compiler/tools/fpp-to-xml/test/array/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-to-xml/test/array/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/array/update-ref.sh b/compiler/tools/fpp-to-xml/test/array/update-ref.sh deleted file mode 100644 index 503fd764e..000000000 --- a/compiler/tools/fpp-to-xml/test/array/update-ref.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -array_enum() -{ - update "-p $PWD" array_enum - move_xml ArrayEnumE1Enum ArrayEnumE2Enum ArrayEnum1Array ArrayEnum2Array -} - -array_ok() -{ - update "-p $PWD" array_ok - indices=`seq 1 5` - move_xml ArrayOK1Array ArrayOK2Array ArrayOK3Array ArrayOK4Array ArrayOK5Array -} - -array_special_comment() -{ - update "-p $PWD" array_special_comment - move_xml ArraySpecialCommentArray -} - -array_struct() -{ - update "-p $PWD" array_struct - move_xml ArrayStructS1Serializable ArrayStructS2Serializable ArrayStruct1Array ArrayStruct2Array -} - - -array_struct_member_array() -{ - update "-p $PWD" array_struct_member_array - move_xml ArrayStructMemberArraySerializable ArrayStructMemberArrayArray -} diff --git a/compiler/tools/fpp-to-xml/test/check-xml b/compiler/tools/fpp-to-xml/test/check-xml deleted file mode 100755 index 7c28ee13e..000000000 --- a/compiler/tools/fpp-to-xml/test/check-xml +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -e - -. ../../../scripts/utils.sh - -for target in `find . -mindepth 2 -name check-xml` -do - dir=`dirname $target` - echo "[ $dir ]" - (cd $dir; ./check-xml) -done diff --git a/compiler/tools/fpp-to-xml/test/clean b/compiler/tools/fpp-to-xml/test/clean deleted file mode 100755 index 25d0c051c..000000000 --- a/compiler/tools/fpp-to-xml/test/clean +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -e - -. ../../../scripts/utils.sh - -for target in `find . -mindepth 2 -name clean` -do - dir=`dirname $target` - (cd $dir; ./clean) -done -clean diff --git a/compiler/tools/fpp-to-xml/test/component/CmdPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/CmdPortAi.ref.xml deleted file mode 100644 index 1ba8c8dfc..000000000 --- a/compiler/tools/fpp-to-xml/test/component/CmdPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/CmdRegPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/CmdRegPortAi.ref.xml deleted file mode 100644 index 932f7f8fb..000000000 --- a/compiler/tools/fpp-to-xml/test/component/CmdRegPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/CmdResponsePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/CmdResponsePortAi.ref.xml deleted file mode 100644 index a26aa0476..000000000 --- a/compiler/tools/fpp-to-xml/test/component/CmdResponsePortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/CommandsComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/CommandsComponentAi.ref.xml deleted file mode 100644 index 464b20439..000000000 --- a/compiler/tools/fpp-to-xml/test/component/CommandsComponentAi.ref.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - CmdPortAi.xml - CmdRegPortAi.xml - CmdResponsePortAi.xml - PPortAi.xml - - - - - - - - - - - - Command C1 - - - - - - - - Command C5 - - - - - - - - Command C6 - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/DpBufferRequestPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/DpBufferRequestPortAi.ref.xml deleted file mode 100644 index 25248b4bb..000000000 --- a/compiler/tools/fpp-to-xml/test/component/DpBufferRequestPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/DpBufferSendPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/DpBufferSendPortAi.ref.xml deleted file mode 100644 index 58f76284e..000000000 --- a/compiler/tools/fpp-to-xml/test/component/DpBufferSendPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/DpGetPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/DpGetPortAi.ref.xml deleted file mode 100644 index b934c3508..000000000 --- a/compiler/tools/fpp-to-xml/test/component/DpGetPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/DpRequestPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/DpRequestPortAi.ref.xml deleted file mode 100644 index e25753f44..000000000 --- a/compiler/tools/fpp-to-xml/test/component/DpRequestPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/DpResponsePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/DpResponsePortAi.ref.xml deleted file mode 100644 index 31e54e681..000000000 --- a/compiler/tools/fpp-to-xml/test/component/DpResponsePortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/DpSendPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/DpSendPortAi.ref.xml deleted file mode 100644 index 4391b0065..000000000 --- a/compiler/tools/fpp-to-xml/test/component/DpSendPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/EmptyComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/EmptyComponentAi.ref.xml deleted file mode 100644 index f13c403fa..000000000 --- a/compiler/tools/fpp-to-xml/test/component/EmptyComponentAi.ref.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/EventsComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/EventsComponentAi.ref.xml deleted file mode 100644 index 49231146e..000000000 --- a/compiler/tools/fpp-to-xml/test/component/EventsComponentAi.ref.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - LogPortAi.xml - LogTextPortAi.xml - TimePortAi.xml - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/GeneralPorts1ComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/GeneralPorts1ComponentAi.ref.xml deleted file mode 100644 index 2ba7baeb2..000000000 --- a/compiler/tools/fpp-to-xml/test/component/GeneralPorts1ComponentAi.ref.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - Component GeneralPorts1 - - - PPortAi.xml - - - - - Port p1 - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/GeneralPorts2ComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/GeneralPorts2ComponentAi.ref.xml deleted file mode 100644 index d1aad4228..000000000 --- a/compiler/tools/fpp-to-xml/test/component/GeneralPorts2ComponentAi.ref.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - Component GeneralPorts2 - - - PPortAi.xml - - - - - Port p1 - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/InternalPortsComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/InternalPortsComponentAi.ref.xml deleted file mode 100644 index 021e390f4..000000000 --- a/compiler/tools/fpp-to-xml/test/component/InternalPortsComponentAi.ref.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - PPortAi.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/LogPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/LogPortAi.ref.xml deleted file mode 100644 index 9b6927984..000000000 --- a/compiler/tools/fpp-to-xml/test/component/LogPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/LogTextPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/LogTextPortAi.ref.xml deleted file mode 100644 index 97635152b..000000000 --- a/compiler/tools/fpp-to-xml/test/component/LogTextPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/PPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/PPortAi.ref.xml deleted file mode 100644 index 64b132daf..000000000 --- a/compiler/tools/fpp-to-xml/test/component/PPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/ParametersComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/ParametersComponentAi.ref.xml deleted file mode 100644 index 506d6a74a..000000000 --- a/compiler/tools/fpp-to-xml/test/component/ParametersComponentAi.ref.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - CmdPortAi.xml - CmdRegPortAi.xml - CmdResponsePortAi.xml - PrmGetPortAi.xml - PrmSetPortAi.xml - - - - - - - - - - - - - Parameter P1 - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/PrmGetPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/PrmGetPortAi.ref.xml deleted file mode 100644 index 025e72b14..000000000 --- a/compiler/tools/fpp-to-xml/test/component/PrmGetPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/PrmSetPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/PrmSetPortAi.ref.xml deleted file mode 100644 index b05b2dec4..000000000 --- a/compiler/tools/fpp-to-xml/test/component/PrmSetPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/ProductRecvPortAsyncComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/ProductRecvPortAsyncComponentAi.ref.xml deleted file mode 100644 index 3faf62275..000000000 --- a/compiler/tools/fpp-to-xml/test/component/ProductRecvPortAsyncComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - DpResponsePortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/ProductRecvPortGuardedComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/ProductRecvPortGuardedComponentAi.ref.xml deleted file mode 100644 index 96c804fdb..000000000 --- a/compiler/tools/fpp-to-xml/test/component/ProductRecvPortGuardedComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - DpResponsePortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/SpecialPortsComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/SpecialPortsComponentAi.ref.xml deleted file mode 100644 index 3cda96fc3..000000000 --- a/compiler/tools/fpp-to-xml/test/component/SpecialPortsComponentAi.ref.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - CmdPortAi.xml - CmdRegPortAi.xml - CmdResponsePortAi.xml - DpGetPortAi.xml - DpRequestPortAi.xml - DpResponsePortAi.xml - DpSendPortAi.xml - LogPortAi.xml - LogTextPortAi.xml - PrmGetPortAi.xml - PrmSetPortAi.xml - TlmPortAi.xml - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/TelemetryComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/TelemetryComponentAi.ref.xml deleted file mode 100644 index 422dd0928..000000000 --- a/compiler/tools/fpp-to-xml/test/component/TelemetryComponentAi.ref.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - TimePortAi.xml - TlmPortAi.xml - - - - - - - - - - Channel C1 - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/TimePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/TimePortAi.ref.xml deleted file mode 100644 index 96322ebcd..000000000 --- a/compiler/tools/fpp-to-xml/test/component/TimePortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/TlmPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/TlmPortAi.ref.xml deleted file mode 100644 index c6e3afdd1..000000000 --- a/compiler/tools/fpp-to-xml/test/component/TlmPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/TypesComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/TypesComponentAi.ref.xml deleted file mode 100644 index 16e0d8e9c..000000000 --- a/compiler/tools/fpp-to-xml/test/component/TypesComponentAi.ref.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - Types_AArrayAi.xml - Types_EEnumAi.xml - Types_SSerializableAi.xml - Types_T.hpp - - diff --git a/compiler/tools/fpp-to-xml/test/component/Types_AArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/Types_AArrayAi.ref.xml deleted file mode 100644 index 1fd1870f6..000000000 --- a/compiler/tools/fpp-to-xml/test/component/Types_AArrayAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - U32 - 3 - %u - - 0 - 0 - 0 - - diff --git a/compiler/tools/fpp-to-xml/test/component/Types_AUseArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/Types_AUseArrayAi.ref.xml deleted file mode 100644 index e39251006..000000000 --- a/compiler/tools/fpp-to-xml/test/component/Types_AUseArrayAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - Types_AArrayAi.xml - M::Types_A - 3 - %s - - M::Types_A(0) - M::Types_A(0) - M::Types_A(0) - - diff --git a/compiler/tools/fpp-to-xml/test/component/Types_EEnumAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/Types_EEnumAi.ref.xml deleted file mode 100644 index b9c46fda0..000000000 --- a/compiler/tools/fpp-to-xml/test/component/Types_EEnumAi.ref.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/component/Types_EUseArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/Types_EUseArrayAi.ref.xml deleted file mode 100644 index f6907a5e0..000000000 --- a/compiler/tools/fpp-to-xml/test/component/Types_EUseArrayAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - Types_EEnumAi.xml - M::Types_E - 3 - %s - - M::Types_E::X - M::Types_E::X - M::Types_E::X - - diff --git a/compiler/tools/fpp-to-xml/test/component/Types_SSerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/Types_SSerializableAi.ref.xml deleted file mode 100644 index 301d6e7c3..000000000 --- a/compiler/tools/fpp-to-xml/test/component/Types_SSerializableAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - 0 - - - 0.0f - - - diff --git a/compiler/tools/fpp-to-xml/test/component/Types_SUseArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/Types_SUseArrayAi.ref.xml deleted file mode 100644 index 8976518d0..000000000 --- a/compiler/tools/fpp-to-xml/test/component/Types_SUseArrayAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - Types_SSerializableAi.xml - M::Types_S - 3 - %s - - M::Types_S(0, 0.0f) - M::Types_S(0, 0.0f) - M::Types_S(0, 0.0f) - - diff --git a/compiler/tools/fpp-to-xml/test/component/Types_T.hpp b/compiler/tools/fpp-to-xml/test/component/Types_T.hpp deleted file mode 100644 index 54a244067..000000000 --- a/compiler/tools/fpp-to-xml/test/component/Types_T.hpp +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef __Types_T_HPP__ -#define __Types_T_HPP__ - -#include "Fw/Types/Serializable.hpp" - -namespace M { - -//! C++ interface for type Types_T -//! This simulates a handwritten C++ serializable class -//! that is represented as an abstract type in an FPP model. -class Types_T : - public Fw::Serializable -{ - - public: - - enum { - SERIALIZED_SIZE = 10 - }; - - public: - - Types_T(); - - public: - - bool operator==(const Types_T& other) const; - bool operator!=(const Types_T& other) const; - - Fw::SerializeStatus serializeTo(Fw::SerializeBufferBase& buffer) const; - - Fw::SerializeStatus deserializeFrom(Fw::SerializeBufferBase& buffer); - -}; - -} - -#endif diff --git a/compiler/tools/fpp-to-xml/test/component/Types_TUseArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/component/Types_TUseArrayAi.ref.xml deleted file mode 100644 index 9f3842b8e..000000000 --- a/compiler/tools/fpp-to-xml/test/component/Types_TUseArrayAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - Types_T.hpp - M::Types_T - 3 - %s - - M::Types_T() - M::Types_T() - M::Types_T() - - diff --git a/compiler/tools/fpp-to-xml/test/component/check-xml b/compiler/tools/fpp-to-xml/test/component/check-xml deleted file mode 100755 index c944c3855..000000000 --- a/compiler/tools/fpp-to-xml/test/component/check-xml +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../.. - -skip_xml_names=" -" - -for name in $skip_xml_names -do - export SKIP_XML_FOR_$name=1 -done - -skip_cpp_names=" -CommandsComponent -EventsComponent -ParametersComponent -TelemetryComponent -" - -sh ../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/component/clean b/compiler/tools/fpp-to-xml/test/component/clean deleted file mode 100755 index 5a2a7feb8..000000000 --- a/compiler/tools/fpp-to-xml/test/component/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../.. - -sh ../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/component/commands.fpp b/compiler/tools/fpp-to-xml/test/component/commands.fpp deleted file mode 100644 index aeb666ae8..000000000 --- a/compiler/tools/fpp-to-xml/test/component/commands.fpp +++ /dev/null @@ -1,25 +0,0 @@ -module M { - - active component Commands { - - async input port p: P - - command reg port cmdRegOut - command recv port cmdIn - command resp port cmdResponseOut - - @ Command C1 - async command C1 - async command C2 priority 10 - async command C3 drop - async command C4 priority 10 drop - - @ Command C5 - sync command C5(a: U32) - - @ Command C6 - guarded command C6(a: F32) - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/component/commands.ref.txt b/compiler/tools/fpp-to-xml/test/component/commands.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/component/empty.fpp b/compiler/tools/fpp-to-xml/test/component/empty.fpp deleted file mode 100644 index c96ea0398..000000000 --- a/compiler/tools/fpp-to-xml/test/component/empty.fpp +++ /dev/null @@ -1,7 +0,0 @@ -module M { - - passive component Empty { - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/component/empty.ref.txt b/compiler/tools/fpp-to-xml/test/component/empty.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/component/events.fpp b/compiler/tools/fpp-to-xml/test/component/events.fpp deleted file mode 100644 index 397ef671c..000000000 --- a/compiler/tools/fpp-to-xml/test/component/events.fpp +++ /dev/null @@ -1,15 +0,0 @@ -passive component Events { - - event port eventOut - - text event port textEventOut - - time get port timeGetOut - - event E1 severity activity low format "E1" - event E2 severity activity low id 10 format "E2" - event E3(a: U32) severity activity low format "E3: a={}" - event E4(a: U32) severity activity low format "E4: a={}" throttle 10 - event Escape severity activity low format "\"&'<>" - -} diff --git a/compiler/tools/fpp-to-xml/test/component/events.ref.txt b/compiler/tools/fpp-to-xml/test/component/events.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/component/general_ports.fpp b/compiler/tools/fpp-to-xml/test/component/general_ports.fpp deleted file mode 100644 index 64e73a55c..000000000 --- a/compiler/tools/fpp-to-xml/test/component/general_ports.fpp +++ /dev/null @@ -1,35 +0,0 @@ -module M { - - @ Component GeneralPorts1 - active component GeneralPorts1 { - - @ Port p1 - async input port p1: P priority 10 drop - guarded input port p2: P - sync input port p3: P - output port p4: [10] P - - - async input port p5: serial - guarded input port p6: serial - sync input port p7: serial - output port p8: [10] serial - - async input port p9: P hook - } - - @ Component GeneralPorts2 - passive component GeneralPorts2 { - - @ Port p1 - guarded input port p1: P - sync input port p2: P - output port p3: [10] P - - guarded input port p4: serial - sync input port p5: serial - output port p6: [10] serial - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/component/general_ports.ref.txt b/compiler/tools/fpp-to-xml/test/component/general_ports.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/component/internal_ports.fpp b/compiler/tools/fpp-to-xml/test/component/internal_ports.fpp deleted file mode 100644 index 0bcd99779..000000000 --- a/compiler/tools/fpp-to-xml/test/component/internal_ports.fpp +++ /dev/null @@ -1,14 +0,0 @@ -module M { - - active component InternalPorts { - - async input port p1: P - - internal port p2(a: U32) - internal port p3(a: U32) priority 10 - internal port p4(a: U32) drop - internal port p5(a: U32) priority 10 drop - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/component/internal_ports.ref.txt b/compiler/tools/fpp-to-xml/test/component/internal_ports.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/component/parameters.fpp b/compiler/tools/fpp-to-xml/test/component/parameters.fpp deleted file mode 100644 index 5de2e9cc6..000000000 --- a/compiler/tools/fpp-to-xml/test/component/parameters.fpp +++ /dev/null @@ -1,19 +0,0 @@ -passive component Parameters { - - command recv port cmdIn - - command reg port cmdRegOut - - command resp port cmdResponseOut - - param get port paramGetOut - - param set port paramSetOut - - @ Parameter P1 - param P1: U32 - param P2: F32 set opcode 0x100 save opcode 0x101 - param P3: I32 default 10 - param P4: string default "a\"bc" - -} diff --git a/compiler/tools/fpp-to-xml/test/component/parameters.ref.txt b/compiler/tools/fpp-to-xml/test/component/parameters.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/component/ports.fpp b/compiler/tools/fpp-to-xml/test/component/ports.fpp deleted file mode 100644 index acd1ce8e8..000000000 --- a/compiler/tools/fpp-to-xml/test/component/ports.fpp +++ /dev/null @@ -1,23 +0,0 @@ -module M { - - port P - -} - -module Fw { - - port Cmd - port CmdReg - port CmdResponse - port DpGet - port DpRequest - port DpResponse - port DpSend - port Log - port LogText - port PrmGet - port PrmSet - port Time - port Tlm - -} diff --git a/compiler/tools/fpp-to-xml/test/component/ports.ref.txt b/compiler/tools/fpp-to-xml/test/component/ports.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/component/product_recv_port_async.fpp b/compiler/tools/fpp-to-xml/test/component/product_recv_port_async.fpp deleted file mode 100644 index 1bdcf034c..000000000 --- a/compiler/tools/fpp-to-xml/test/component/product_recv_port_async.fpp +++ /dev/null @@ -1,9 +0,0 @@ -module M { - - active component ProductRecvPortAsync { - - async product recv port productRecvIn priority 10 drop - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/component/product_recv_port_async.ref.txt b/compiler/tools/fpp-to-xml/test/component/product_recv_port_async.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/component/product_recv_port_guarded.fpp b/compiler/tools/fpp-to-xml/test/component/product_recv_port_guarded.fpp deleted file mode 100644 index ba7d8254f..000000000 --- a/compiler/tools/fpp-to-xml/test/component/product_recv_port_guarded.fpp +++ /dev/null @@ -1,9 +0,0 @@ -module M { - - passive component ProductRecvPortGuarded { - - guarded product recv port productRecvIn - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/component/product_recv_port_guarded.ref.txt b/compiler/tools/fpp-to-xml/test/component/product_recv_port_guarded.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/component/run b/compiler/tools/fpp-to-xml/test/component/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-to-xml/test/component/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/component/run.sh b/compiler/tools/fpp-to-xml/test/component/run.sh deleted file mode 100644 index 73f2a8512..000000000 --- a/compiler/tools/fpp-to-xml/test/component/run.sh +++ /dev/null @@ -1,85 +0,0 @@ -commands() -{ - run_test "-p $PWD -i ports.fpp" commands && \ - diff_xml CommandsComponent -} - -empty() -{ - run_test "-p $PWD" empty && \ - diff_xml EmptyComponent -} - -events() -{ - run_test "-p $PWD -i ports.fpp" events && \ - diff_xml EventsComponent -} - -general_ports() -{ - run_test "-p $PWD -i ports.fpp" general_ports && \ - diff_xml GeneralPorts1Component GeneralPorts2Component -} - -internal_ports() -{ - run_test "-p $PWD -i ports.fpp" internal_ports && \ - diff_xml InternalPortsComponent -} - -parameters() -{ - run_test "-p $PWD -i ports.fpp" parameters && \ - diff_xml ParametersComponent -} - -ports() -{ - run_test "-p $PWD" ports && \ - diff_xml PPort \ - CmdPort CmdRegPort CmdResponsePort \ - DpGetPort DpRequestPort DpResponsePort DpSendPort \ - LogPort LogTextPort \ - PrmGetPort PrmSetPort \ - TimePort \ - TlmPort -} - -product_recv_port_async() -{ - run_test "-p $PWD -i ports.fpp" product_recv_port_async && \ - diff_xml ProductRecvPortAsyncComponent -} - -product_recv_port_guarded() -{ - run_test "-p $PWD -i ports.fpp" product_recv_port_guarded && \ - diff_xml ProductRecvPortGuardedComponent -} - -special_ports() -{ - run_test "-p $PWD -i ports.fpp" special_ports && \ - diff_xml SpecialPortsComponent -} - -telemetry() -{ - run_test "-p $PWD -i ports.fpp" telemetry && \ - diff_xml TelemetryComponent -} - -types() -{ - run_test "-p $PWD -n types.names.txt" types && \ - diff -u types.names.txt types.names.ref.txt && \ - diff_xml TypesComponent \ - Types_AArray \ - Types_EEnum \ - Types_SSerializable \ - Types_AUseArray \ - Types_EUseArray \ - Types_SUseArray \ - Types_TUseArray -} diff --git a/compiler/tools/fpp-to-xml/test/component/special_ports.fpp b/compiler/tools/fpp-to-xml/test/component/special_ports.fpp deleted file mode 100644 index 27ea3f0ad..000000000 --- a/compiler/tools/fpp-to-xml/test/component/special_ports.fpp +++ /dev/null @@ -1,24 +0,0 @@ -module M { - - passive component SpecialPorts { - - command recv port cmdIn - command reg port cmdRegOut - command resp port cmdResponseOut - - event port eventOut - text event port textEventOut - - param get port paramGetOut - param set port paramSetOut - - telemetry port tlmOut - - product get port productGetOut - product request port productRequestOut - sync product recv port productRecvIn - product send port productSendOut - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/component/special_ports.ref.txt b/compiler/tools/fpp-to-xml/test/component/special_ports.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/component/telemetry.fpp b/compiler/tools/fpp-to-xml/test/component/telemetry.fpp deleted file mode 100644 index 37690a60e..000000000 --- a/compiler/tools/fpp-to-xml/test/component/telemetry.fpp +++ /dev/null @@ -1,16 +0,0 @@ -passive component Telemetry { - - telemetry port tlmOut - - time get port timeGetOut - - @ Channel C1 - telemetry C1: U32 - telemetry C2: U32 format "{}" - telemetry C3: U32 update on change - telemetry C4: string - telemetry C5: I32 \ - low { red -3, orange -2, yellow -1 } \ - high { red 3, orange 2, yellow 1 } - -} diff --git a/compiler/tools/fpp-to-xml/test/component/telemetry.ref.txt b/compiler/tools/fpp-to-xml/test/component/telemetry.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/component/tests.sh b/compiler/tools/fpp-to-xml/test/component/tests.sh deleted file mode 100644 index a7e46817f..000000000 --- a/compiler/tools/fpp-to-xml/test/component/tests.sh +++ /dev/null @@ -1,14 +0,0 @@ -tests=" -commands -empty -events -general_ports -internal_ports -parameters -ports -product_recv_port_async -product_recv_port_guarded -special_ports -telemetry -types -" diff --git a/compiler/tools/fpp-to-xml/test/component/types.fpp b/compiler/tools/fpp-to-xml/test/component/types.fpp deleted file mode 100644 index da03a0710..000000000 --- a/compiler/tools/fpp-to-xml/test/component/types.fpp +++ /dev/null @@ -1,20 +0,0 @@ -module M { - - passive component Types { - - array A = [3] U32 - - enum E { X } - - struct S { x: U32, y: F32 } - - type T - - array AUse = [3] Types.A - array EUse = [3] Types.E - array SUse = [3] Types.S - array TUse = [3] Types.T - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/component/types.names.ref.txt b/compiler/tools/fpp-to-xml/test/component/types.names.ref.txt deleted file mode 100644 index 78b719ab8..000000000 --- a/compiler/tools/fpp-to-xml/test/component/types.names.ref.txt +++ /dev/null @@ -1,8 +0,0 @@ -TypesComponentAi.xml -Types_AArrayAi.xml -Types_AUseArrayAi.xml -Types_EEnumAi.xml -Types_EUseArrayAi.xml -Types_SSerializableAi.xml -Types_SUseArrayAi.xml -Types_TUseArrayAi.xml diff --git a/compiler/tools/fpp-to-xml/test/component/types.ref.txt b/compiler/tools/fpp-to-xml/test/component/types.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/component/update-ref b/compiler/tools/fpp-to-xml/test/component/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-to-xml/test/component/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/component/update-ref.sh b/compiler/tools/fpp-to-xml/test/component/update-ref.sh deleted file mode 100644 index 805c13087..000000000 --- a/compiler/tools/fpp-to-xml/test/component/update-ref.sh +++ /dev/null @@ -1,85 +0,0 @@ -commands() -{ - update "-p $PWD -i ports.fpp" commands - move_xml CommandsComponent -} - -empty() -{ - update "-p $PWD" empty - move_xml EmptyComponent -} - -events() -{ - update "-p $PWD -i ports.fpp" events - move_xml EventsComponent -} - -general_ports() -{ - update "-p $PWD -i ports.fpp" general_ports - move_xml GeneralPorts1Component GeneralPorts2Component -} - -internal_ports() -{ - update "-p $PWD -i ports.fpp" internal_ports - move_xml InternalPortsComponent -} - -parameters() -{ - update "-p $PWD -i ports.fpp" parameters - move_xml ParametersComponent -} - -ports() -{ - update "-p $PWD" ports - move_xml PPort \ - CmdPort CmdRegPort CmdResponsePort \ - DpGetPort DpRequestPort DpResponsePort DpSendPort \ - LogPort LogTextPort \ - PrmGetPort PrmSetPort \ - TimePort \ - TlmPort -} - -product_recv_port_async() -{ - update "-p $PWD -i ports.fpp" product_recv_port_async - move_xml ProductRecvPortAsyncComponent -} - -product_recv_port_guarded() -{ - update "-p $PWD -i ports.fpp" product_recv_port_guarded - move_xml ProductRecvPortGuardedComponent -} - -special_ports() -{ - update "-p $PWD -i ports.fpp" special_ports - move_xml SpecialPortsComponent -} - -telemetry() -{ - update "-p $PWD -i ports.fpp" telemetry - move_xml TelemetryComponent -} - -types() -{ - update "-p $PWD -n types.names.txt" types - mv types.names.txt types.names.ref.txt - move_xml TypesComponent \ - Types_AArray \ - Types_EEnum \ - Types_SSerializable \ - Types_AUseArray \ - Types_EUseArray \ - Types_SUseArray \ - Types_TUseArray -} diff --git a/compiler/tools/fpp-to-xml/test/enum/DefaultEnumAi.ref.xml b/compiler/tools/fpp-to-xml/test/enum/DefaultEnumAi.ref.xml deleted file mode 100644 index 532754f4e..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/DefaultEnumAi.ref.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - An enum with a default value - - - - diff --git a/compiler/tools/fpp-to-xml/test/enum/ExplicitEnumAi.ref.xml b/compiler/tools/fpp-to-xml/test/enum/ExplicitEnumAi.ref.xml deleted file mode 100644 index 2fd75f685..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/ExplicitEnumAi.ref.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - An enum with explicit constant values - - - - diff --git a/compiler/tools/fpp-to-xml/test/enum/ImplicitEnumAi.ref.xml b/compiler/tools/fpp-to-xml/test/enum/ImplicitEnumAi.ref.xml deleted file mode 100644 index 0d951423a..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/ImplicitEnumAi.ref.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - An enum with implicit constant values - - - - diff --git a/compiler/tools/fpp-to-xml/test/enum/SerializeTypeEnumAi.ref.xml b/compiler/tools/fpp-to-xml/test/enum/SerializeTypeEnumAi.ref.xml deleted file mode 100644 index 4d2a6e357..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/SerializeTypeEnumAi.ref.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - An enum with serialize type specified - - - - diff --git a/compiler/tools/fpp-to-xml/test/enum/check-xml b/compiler/tools/fpp-to-xml/test/enum/check-xml deleted file mode 100755 index 74b10a394..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../.. - -sh ../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/enum/clean b/compiler/tools/fpp-to-xml/test/enum/clean deleted file mode 100755 index 5a2a7feb8..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../.. - -sh ../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/enum/default.fpp b/compiler/tools/fpp-to-xml/test/enum/default.fpp deleted file mode 100644 index b80369d9d..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/default.fpp +++ /dev/null @@ -1,9 +0,0 @@ -module M { - - @ An enum with a default value - enum Default { - X @< Member X - Y - } default Y - -} diff --git a/compiler/tools/fpp-to-xml/test/enum/default.ref.txt b/compiler/tools/fpp-to-xml/test/enum/default.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/enum/explicit.fpp b/compiler/tools/fpp-to-xml/test/enum/explicit.fpp deleted file mode 100644 index c5e64a90d..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/explicit.fpp +++ /dev/null @@ -1,9 +0,0 @@ -module M { - - @ An enum with explicit constant values - enum Explicit : U8 { - X = 1 @< Member X - Y = 2 - } - -} diff --git a/compiler/tools/fpp-to-xml/test/enum/explicit.ref.txt b/compiler/tools/fpp-to-xml/test/enum/explicit.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/enum/implicit.fpp b/compiler/tools/fpp-to-xml/test/enum/implicit.fpp deleted file mode 100644 index ccb4ad353..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/implicit.fpp +++ /dev/null @@ -1,9 +0,0 @@ -module M { - - @ An enum with implicit constant values - enum Implicit { - X @< Member X - Y - } - -} diff --git a/compiler/tools/fpp-to-xml/test/enum/implicit.ref.txt b/compiler/tools/fpp-to-xml/test/enum/implicit.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/enum/run b/compiler/tools/fpp-to-xml/test/enum/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/enum/run.sh b/compiler/tools/fpp-to-xml/test/enum/run.sh deleted file mode 100644 index 2050a8527..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/run.sh +++ /dev/null @@ -1,23 +0,0 @@ -default() -{ - run_test '' default && \ - diff DefaultEnumAi.xml DefaultEnumAi.ref.xml -} - -explicit() -{ - run_test '' explicit && \ - diff ExplicitEnumAi.xml ExplicitEnumAi.ref.xml -} - -implicit() -{ - run_test '' implicit && \ - diff ImplicitEnumAi.xml ImplicitEnumAi.ref.xml -} - -serialize_type() -{ - run_test '' serialize_type && \ - diff SerializeTypeEnumAi.xml SerializeTypeEnumAi.ref.xml -} diff --git a/compiler/tools/fpp-to-xml/test/enum/serialize_type.fpp b/compiler/tools/fpp-to-xml/test/enum/serialize_type.fpp deleted file mode 100644 index 6cf4eb3a9..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/serialize_type.fpp +++ /dev/null @@ -1,9 +0,0 @@ -module M { - - @ An enum with serialize type specified - enum SerializeType : U8 { - X @< Member X - Y - } - -} diff --git a/compiler/tools/fpp-to-xml/test/enum/serialize_type.ref.txt b/compiler/tools/fpp-to-xml/test/enum/serialize_type.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/enum/tests.sh b/compiler/tools/fpp-to-xml/test/enum/tests.sh deleted file mode 100644 index 0dd7b6601..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/tests.sh +++ /dev/null @@ -1,6 +0,0 @@ -tests=" -default -explicit -implicit -serialize_type -" diff --git a/compiler/tools/fpp-to-xml/test/enum/update-ref b/compiler/tools/fpp-to-xml/test/enum/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/enum/update-ref.sh b/compiler/tools/fpp-to-xml/test/enum/update-ref.sh deleted file mode 100644 index 6adece43c..000000000 --- a/compiler/tools/fpp-to-xml/test/enum/update-ref.sh +++ /dev/null @@ -1,23 +0,0 @@ -default() -{ - update '' default - mv DefaultEnumAi.xml DefaultEnumAi.ref.xml -} - -explicit() -{ - update '' explicit - mv ExplicitEnumAi.xml ExplicitEnumAi.ref.xml -} - -implicit() -{ - update '' implicit - mv ImplicitEnumAi.xml ImplicitEnumAi.ref.xml -} - -serialize_type() -{ - update '' serialize_type - mv SerializeTypeEnumAi.xml SerializeTypeEnumAi.ref.xml -} diff --git a/compiler/tools/fpp-to-xml/test/port/A.fpp b/compiler/tools/fpp-to-xml/test/port/A.fpp deleted file mode 100644 index 20ae848e0..000000000 --- a/compiler/tools/fpp-to-xml/test/port/A.fpp +++ /dev/null @@ -1,5 +0,0 @@ -module M { - - array A = [3] U32 - -} diff --git a/compiler/tools/fpp-to-xml/test/port/A.ref.txt b/compiler/tools/fpp-to-xml/test/port/A.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/port/AArrayAi.ref.xml b/compiler/tools/fpp-to-xml/test/port/AArrayAi.ref.xml deleted file mode 100644 index 37b31af78..000000000 --- a/compiler/tools/fpp-to-xml/test/port/AArrayAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - U32 - 3 - %u - - 0 - 0 - 0 - - diff --git a/compiler/tools/fpp-to-xml/test/port/E.fpp b/compiler/tools/fpp-to-xml/test/port/E.fpp deleted file mode 100644 index 7894b887f..000000000 --- a/compiler/tools/fpp-to-xml/test/port/E.fpp +++ /dev/null @@ -1,5 +0,0 @@ -module M { - - enum E { A, B, C } - -} diff --git a/compiler/tools/fpp-to-xml/test/port/E.ref.txt b/compiler/tools/fpp-to-xml/test/port/E.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/port/EEnumAi.ref.xml b/compiler/tools/fpp-to-xml/test/port/EEnumAi.ref.xml deleted file mode 100644 index 39c6d17fd..000000000 --- a/compiler/tools/fpp-to-xml/test/port/EEnumAi.ref.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/port/PortKwdNamePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/port/PortKwdNamePortAi.ref.xml deleted file mode 100644 index af6b93a9a..000000000 --- a/compiler/tools/fpp-to-xml/test/port/PortKwdNamePortAi.ref.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/port/PortOK1PortAi.ref.xml b/compiler/tools/fpp-to-xml/test/port/PortOK1PortAi.ref.xml deleted file mode 100644 index 612085394..000000000 --- a/compiler/tools/fpp-to-xml/test/port/PortOK1PortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/port/PortOK2PortAi.ref.xml b/compiler/tools/fpp-to-xml/test/port/PortOK2PortAi.ref.xml deleted file mode 100644 index d998f9310..000000000 --- a/compiler/tools/fpp-to-xml/test/port/PortOK2PortAi.ref.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - Top-level comment - - - - - Comment for parameter a - - - - diff --git a/compiler/tools/fpp-to-xml/test/port/PortOK3PortAi.ref.xml b/compiler/tools/fpp-to-xml/test/port/PortOK3PortAi.ref.xml deleted file mode 100644 index a4e0d7bda..000000000 --- a/compiler/tools/fpp-to-xml/test/port/PortOK3PortAi.ref.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/port/PortOK4PortAi.ref.xml b/compiler/tools/fpp-to-xml/test/port/PortOK4PortAi.ref.xml deleted file mode 100644 index d8f6361a1..000000000 --- a/compiler/tools/fpp-to-xml/test/port/PortOK4PortAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - AArrayAi.xml - EEnumAi.xml - SSerializableAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/port/S.fpp b/compiler/tools/fpp-to-xml/test/port/S.fpp deleted file mode 100644 index 2a49ffb8a..000000000 --- a/compiler/tools/fpp-to-xml/test/port/S.fpp +++ /dev/null @@ -1,5 +0,0 @@ -module M { - - struct S { x: U32, y: F32 } - -} diff --git a/compiler/tools/fpp-to-xml/test/port/S.ref.txt b/compiler/tools/fpp-to-xml/test/port/S.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/port/SSerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/port/SSerializableAi.ref.xml deleted file mode 100644 index 240d3b019..000000000 --- a/compiler/tools/fpp-to-xml/test/port/SSerializableAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - 0 - - - 0.0f - - - diff --git a/compiler/tools/fpp-to-xml/test/port/check-xml b/compiler/tools/fpp-to-xml/test/port/check-xml deleted file mode 100755 index 74b10a394..000000000 --- a/compiler/tools/fpp-to-xml/test/port/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../.. - -sh ../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/port/clean b/compiler/tools/fpp-to-xml/test/port/clean deleted file mode 100755 index 5a2a7feb8..000000000 --- a/compiler/tools/fpp-to-xml/test/port/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../.. - -sh ../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/port/port_kwd_name.fpp b/compiler/tools/fpp-to-xml/test/port/port_kwd_name.fpp deleted file mode 100644 index df358d192..000000000 --- a/compiler/tools/fpp-to-xml/test/port/port_kwd_name.fpp +++ /dev/null @@ -1,8 +0,0 @@ -# Due to a bug in the F Prime autocoder, all ports must be -# enclosed in modules - -module M { - - port PortKwdName(ref $time: U32) - -} diff --git a/compiler/tools/fpp-to-xml/test/port/port_kwd_name.ref.txt b/compiler/tools/fpp-to-xml/test/port/port_kwd_name.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/port/port_ok.fpp b/compiler/tools/fpp-to-xml/test/port/port_ok.fpp deleted file mode 100644 index ae05e0887..000000000 --- a/compiler/tools/fpp-to-xml/test/port/port_ok.fpp +++ /dev/null @@ -1,29 +0,0 @@ -# Due to a bug in the F Prime autocoder, all ports must be -# enclosed in modules - -locate type M.E at "E.fpp" -locate type M.A at "A.fpp" -locate type M.S at "S.fpp" - -module M { - - port PortOK1 - - @ Top-level comment - port PortOK2( - @ Comment for parameter a - a: U32 - ) - - port PortOK3( - a: U32 - ref b: string size 40 - ) -> F32 - - port PortOK4( - ref a: A - ref s: S - ref e: E - ) - -} diff --git a/compiler/tools/fpp-to-xml/test/port/port_ok.ref.txt b/compiler/tools/fpp-to-xml/test/port/port_ok.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/port/run b/compiler/tools/fpp-to-xml/test/port/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-to-xml/test/port/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/port/run.sh b/compiler/tools/fpp-to-xml/test/port/run.sh deleted file mode 100644 index 8f79ffb03..000000000 --- a/compiler/tools/fpp-to-xml/test/port/run.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -fpp_depend=../../../../bin/fpp-depend - -port_kwd_name() -{ - run_test "-p $PWD" port_kwd_name && \ - diff_xml PortKwdNamePort -} - -port_ok() -{ - files="" - for i in `seq 1 4`; do files="$files PortOK${i}Port"; done - run_test "-i `$fpp_depend port_ok.fpp | tr '\n' ','` -p $PWD" port_ok && \ - diff_xml $files -} - -types() -{ - for file in A E S - do - run_test "-p $PWD" $file - done -} - diff --git a/compiler/tools/fpp-to-xml/test/port/tests.sh b/compiler/tools/fpp-to-xml/test/port/tests.sh deleted file mode 100644 index e1401186c..000000000 --- a/compiler/tools/fpp-to-xml/test/port/tests.sh +++ /dev/null @@ -1,5 +0,0 @@ -tests=" -port_kwd_name -port_ok -types -" diff --git a/compiler/tools/fpp-to-xml/test/port/update-ref b/compiler/tools/fpp-to-xml/test/port/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-to-xml/test/port/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/port/update-ref.sh b/compiler/tools/fpp-to-xml/test/port/update-ref.sh deleted file mode 100644 index d7985b3e3..000000000 --- a/compiler/tools/fpp-to-xml/test/port/update-ref.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -port_kwd_name() -{ - update "-p $PWD" port_kwd_name - move_xml PortKwdNamePort -} - -port_ok() -{ - update "-i `fpp-depend port_ok.fpp | tr '\n' ','` -p $PWD" port_ok - move_xml PortOK1Port PortOK2Port PortOK3Port PortOK4Port -} - -types() -{ - for file in A E S - do - update "-p $PWD" $file - done - move_xml AArray EEnum SSerializable -} diff --git a/compiler/tools/fpp-to-xml/test/scripts/check-xml.sh b/compiler/tools/fpp-to-xml/test/scripts/check-xml.sh deleted file mode 100644 index 2b62aa430..000000000 --- a/compiler/tools/fpp-to-xml/test/scripts/check-xml.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -e - -# ---------------------------------------------------------------------- -# Compile ref XML files, to check them for validity -# ---------------------------------------------------------------------- - -pwd=$PWD - -fprime_codegen=$COMPILER_ROOT/scripts/fprime-codegen -test_dir="$COMPILER_ROOT/tools/fpp-to-xml/test" - -files=`find . -name '*Ai.ref.xml'` - -for file in $files -do - dir=`dirname $file` - base=`basename $file Ai.ref.xml` - xml_file=$base'Ai.xml' - echo "copying $file to $xml_file" - cp $file $dir/$xml_file -done - -for file in $files -do - dir=`dirname $file` - base=`basename $file Ai.ref.xml` - # Skip XML to C++ in cases where the F Prime Python autocoder is - # broken - var='SKIP_XML_FOR_'$base - skip_xml_cmd='echo $'$var - xml_file=$base'Ai.xml' - if test -z "`eval $skip_xml_cmd`" - then - cd $dir - echo "compiling $xml_file" - $fprime_codegen $xml_file > /dev/null - cd $pwd - else - echo "skipping $xml_file" - fi -done diff --git a/compiler/tools/fpp-to-xml/test/scripts/clean.sh b/compiler/tools/fpp-to-xml/test/scripts/clean.sh deleted file mode 100644 index 709953131..000000000 --- a/compiler/tools/fpp-to-xml/test/scripts/clean.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -e - -. $COMPILER_ROOT/scripts/utils.sh - -clean -rm -rf default-tests.sh default-update-ref.sh DefaultDict -for file in `find . -name '*Ai.xml' -or -name '*Ac.*' -or -name '*.names.txt' -or -name '*.csv'` -do - rm $file -done diff --git a/compiler/tools/fpp-to-xml/test/scripts/run.sh b/compiler/tools/fpp-to-xml/test/scripts/run.sh deleted file mode 100644 index 84b6699a4..000000000 --- a/compiler/tools/fpp-to-xml/test/scripts/run.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -. $COMPILER_ROOT/scripts/test-utils.sh - -fpp_to_xml=$COMPILER_ROOT/bin/fpp-to-xml - -compare() -{ - outfile=$1 - diff -u $outfile.ref.txt $outfile.out.txt > $outfile.diff.txt 2>&1 -} - -run_test() -{ - args=$1 - infile=$2 - if test -n "$3" - then - outfile=$3 - else - outfile=$infile - fi - $fpp_to_xml $args $infile.fpp 2>&1 | remove_path_prefix > $outfile.out.txt - compare $outfile -} - -. ./tests.sh - -# Default tests -for t in $tests -do - echo " -$t() -{ - run_test '-p '$PWD $t -}" -done > default-tests.sh -. ./default-tests.sh - -diff_xml() -{ - for file in $@ - do - if ! diff $file'Ai.xml' $file'Ai.ref.xml' - then - return 1 - fi - done -} - -. ./run.sh - -run_suite $tests diff --git a/compiler/tools/fpp-to-xml/test/scripts/update-ref.sh b/compiler/tools/fpp-to-xml/test/scripts/update-ref.sh deleted file mode 100644 index 913fbd16f..000000000 --- a/compiler/tools/fpp-to-xml/test/scripts/update-ref.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -. $COMPILER_ROOT/scripts/test-utils.sh - -fpp_to_xml=$COMPILER_ROOT/bin/fpp-to-xml -fpp_depend=$COMPILER_ROOT/bin/fpp-depend - -update() -{ - args=$1 - infile=$2 - if test -n "$3" - then - outfile=$3 - else - outfile=$infile - fi - $fpp_to_xml $args $infile.fpp 2>&1 | remove_path_prefix > $outfile.ref.txt -} - -for file in `find . -maxdepth 1 -name '*.ref.txt'` -do - rm $file -done - -. ./tests.sh - -# Default update ref -for t in $tests -do - echo " -$t() -{ - update '-p '$PWD $t -}" -done > default-update-ref.sh -. ./default-update-ref.sh - -move_xml() -{ - for file in $@ - do - mv $file'Ai.xml' $file'Ai.ref.xml' - done -} - -. ./update-ref.sh - -for t in $tests -do - echo "updating ref output for $t" - $t -done diff --git a/compiler/tools/fpp-to-xml/test/struct/EEnumAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/EEnumAi.ref.xml deleted file mode 100644 index 48ca9d532..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/EEnumAi.ref.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/IncludedSerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/IncludedSerializableAi.ref.xml deleted file mode 100644 index 21ed29db5..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/IncludedSerializableAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - 0 - - - 0.0f - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/IncludingSerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/IncludingSerializableAi.ref.xml deleted file mode 100644 index 1e00d9570..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/IncludingSerializableAi.ref.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - IncludedSerializableAi.xml - - - M::Included(0, 0.0f) - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/StructAbsTypeSerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/StructAbsTypeSerializableAi.ref.xml deleted file mode 100644 index cf4ccade7..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/StructAbsTypeSerializableAi.ref.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - T.hpp - - - T() - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/StructDefaultSerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/StructDefaultSerializableAi.ref.xml deleted file mode 100644 index 7038b83af..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/StructDefaultSerializableAi.ref.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - 54 - - - Fw::String("hello") - - - 0.0 - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/StructEnumMemberSerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/StructEnumMemberSerializableAi.ref.xml deleted file mode 100644 index 14e3b854d..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/StructEnumMemberSerializableAi.ref.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - EEnumAi.xml - - - M::E::X - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/StructFormatSerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/StructFormatSerializableAi.ref.xml deleted file mode 100644 index be1ac6e18..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/StructFormatSerializableAi.ref.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0.0f - - - 0.0f - - - 0.0f - - - 0.0f - - - 0.0f - - - 0.0f - - - 0.0f - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/StructModules1SerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/StructModules1SerializableAi.ref.xml deleted file mode 100644 index ba40f0ca5..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/StructModules1SerializableAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - 0 - - - 0.0f - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/StructModules2SerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/StructModules2SerializableAi.ref.xml deleted file mode 100644 index 016f7e152..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/StructModules2SerializableAi.ref.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - StructModules1SerializableAi.xml - - - M::StructModules1(0, 0.0f) - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/StructModules3SerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/StructModules3SerializableAi.ref.xml deleted file mode 100644 index b2a106dc7..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/StructModules3SerializableAi.ref.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - StructModules1SerializableAi.xml - - - M::StructModules1(0, 0.0f) - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/StructOK1SerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/StructOK1SerializableAi.ref.xml deleted file mode 100644 index ef63c1650..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/StructOK1SerializableAi.ref.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - Top-level annotation, line 1 - Top-level annotation, line 2 - - - - 0.0f - - - 0.0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - false - - - Fw::String("") - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/StructOK2SerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/StructOK2SerializableAi.ref.xml deleted file mode 100644 index 5165f9931..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/StructOK2SerializableAi.ref.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - StructOK1SerializableAi.xml - - - StructOK1(0.0f, 0.0, 0, 0, 0, 0, 0, 0, 0, 0, false, Fw::String("")) - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/StructStringArraySerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/StructStringArraySerializableAi.ref.xml deleted file mode 100644 index 452a30d78..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/StructStringArraySerializableAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - Fw::String("") - - - Fw::String("") - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/StructStringSerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/StructStringSerializableAi.ref.xml deleted file mode 100644 index 5219351f3..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/StructStringSerializableAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - Fw::String("hello") - - - Fw::String("") - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/check-xml b/compiler/tools/fpp-to-xml/test/struct/check-xml deleted file mode 100755 index 74b10a394..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../.. - -sh ../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/struct/clean b/compiler/tools/fpp-to-xml/test/struct/clean deleted file mode 100755 index 5a2a7feb8..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../.. - -sh ../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/struct/duplicate_xml_file.fpp b/compiler/tools/fpp-to-xml/test/struct/duplicate_xml_file.fpp deleted file mode 100644 index cb6c3ffa2..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/duplicate_xml_file.fpp +++ /dev/null @@ -1,5 +0,0 @@ -module M { - struct S { x: U32 } -} - -struct S { x: U32 } diff --git a/compiler/tools/fpp-to-xml/test/struct/duplicate_xml_file.ref.txt b/compiler/tools/fpp-to-xml/test/struct/duplicate_xml_file.ref.txt deleted file mode 100644 index 66fbcc3f5..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/duplicate_xml_file.ref.txt +++ /dev/null @@ -1,9 +0,0 @@ -fpp-to-xml -[ local path prefix ]/tools/fpp-to-xml/test/struct/duplicate_xml_file.fpp:5.1 -struct S { x: U32 } -^ -error: duplicate XML file SSerializableAi.xml -previous file would be generated here: -[ local path prefix ]/tools/fpp-to-xml/test/struct/duplicate_xml_file.fpp:2.3 - struct S { x: U32 } - ^ diff --git a/compiler/tools/fpp-to-xml/test/struct/empty_struct.fpp b/compiler/tools/fpp-to-xml/test/struct/empty_struct.fpp deleted file mode 100644 index 3a1807ae1..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/empty_struct.fpp +++ /dev/null @@ -1 +0,0 @@ -struct S { } diff --git a/compiler/tools/fpp-to-xml/test/struct/empty_struct.ref.txt b/compiler/tools/fpp-to-xml/test/struct/empty_struct.ref.txt deleted file mode 100644 index 952b42592..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/empty_struct.ref.txt +++ /dev/null @@ -1,5 +0,0 @@ -fpp-to-xml -[ local path prefix ]/tools/fpp-to-xml/test/struct/empty_struct.fpp:1.1 -struct S { } -^ -error: cannot write XML for an empty struct diff --git a/compiler/tools/fpp-to-xml/test/struct/enum.fpp b/compiler/tools/fpp-to-xml/test/struct/enum.fpp deleted file mode 100644 index b94a332d8..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/enum.fpp +++ /dev/null @@ -1,8 +0,0 @@ -module M { - - enum E { - X = 1 - Y = 2 - } - -} diff --git a/compiler/tools/fpp-to-xml/test/struct/enum.ref.txt b/compiler/tools/fpp-to-xml/test/struct/enum.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/struct/include.fpp b/compiler/tools/fpp-to-xml/test/struct/include.fpp deleted file mode 100644 index 27331717f..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/include.fpp +++ /dev/null @@ -1,7 +0,0 @@ -module M { - - include "include/included.fppi" - - struct Including { x: Included } - -} diff --git a/compiler/tools/fpp-to-xml/test/struct/include.ref.txt b/compiler/tools/fpp-to-xml/test/struct/include.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/struct/include/included.fppi b/compiler/tools/fpp-to-xml/test/struct/include/included.fppi deleted file mode 100644 index 2f3bfc4fc..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/include/included.fppi +++ /dev/null @@ -1 +0,0 @@ -struct Included { x: U32, y: F32 } diff --git a/compiler/tools/fpp-to-xml/test/struct/output_dir/StructOutputDirSerializableAi.ref.xml b/compiler/tools/fpp-to-xml/test/struct/output_dir/StructOutputDirSerializableAi.ref.xml deleted file mode 100644 index 56fccfabf..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/output_dir/StructOutputDirSerializableAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - 0 - - - 0.0f - - - diff --git a/compiler/tools/fpp-to-xml/test/struct/output_dir/struct_output_dir.fpp b/compiler/tools/fpp-to-xml/test/struct/output_dir/struct_output_dir.fpp deleted file mode 100644 index 7cbe814be..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/output_dir/struct_output_dir.fpp +++ /dev/null @@ -1,4 +0,0 @@ -struct StructOutputDir { - a: U32 - b: F32 -} diff --git a/compiler/tools/fpp-to-xml/test/struct/output_dir/struct_output_dir.ref.txt b/compiler/tools/fpp-to-xml/test/struct/output_dir/struct_output_dir.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/struct/run b/compiler/tools/fpp-to-xml/test/struct/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/struct/run.sh b/compiler/tools/fpp-to-xml/test/struct/run.sh deleted file mode 100644 index 65c288b1a..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/run.sh +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/sh - -. ../../../../scripts/test-utils.sh - -fpp_to_xml=../../../../bin/fpp-to-xml - -compare() -{ - outfile=$1 - diff -u $outfile.ref.txt $outfile.out.txt > $outfile.diff.txt 2>&1 -} - -run_test() -{ - args=$1 - infile=$2 - if test -n "$3" - then - outfile=$3 - else - outfile=$infile - fi - $fpp_to_xml $args $infile.fpp 2>&1 | remove_path_prefix > $outfile.out.txt - compare $outfile -} - -. ./tests.sh - -# Default tests -for t in $tests -do - echo " -$t() -{ - run_test '-p '$PWD $t -}" -done > default-tests.sh -. ./default-tests.sh - -diff_xml() -{ - for file in $@ - do - if ! diff $file'Ai.xml' $file'Ai.ref.xml' - then - return 1 - fi - done -} - -enum() -{ - run_test '' enum && \ - diff EEnumAi.xml EEnumAi.ref.xml -} - -include() -{ - run_test "-p $PWD" include && \ - diff IncludedSerializableAi.xml IncludedSerializableAi.ref.xml && \ - diff IncludingSerializableAi.xml IncludingSerializableAi.ref.xml -} - -struct_abs_type() -{ - run_test "-p $PWD" struct_abs_type && \ - diff -u StructAbsTypeSerializableAi.xml StructAbsTypeSerializableAi.ref.xml -} - -struct_default() -{ - run_test "-p $PWD" struct_default && \ - diff -u StructDefaultSerializableAi.xml StructDefaultSerializableAi.ref.xml -} - -struct_enum_member() -{ - run_test "-i enum.fpp -p $PWD" struct_enum_member && \ - diff -u StructEnumMemberSerializableAi.xml StructEnumMemberSerializableAi.ref.xml -} - -struct_ok() -{ - run_test "-n struct_ok.names.txt -p $PWD" struct_ok && \ - diff -u struct_ok.names.txt struct_ok.names.ref.txt && \ - diff -u StructOK1SerializableAi.xml StructOK1SerializableAi.ref.xml && \ - diff -u StructOK2SerializableAi.xml StructOK2SerializableAi.ref.xml -} - -struct_format() -{ - run_test '' struct_format && \ - diff StructFormatSerializableAi.xml StructFormatSerializableAi.ref.xml -} - -struct_modules() -{ - run_test "-p $PWD" struct_modules && \ - diff StructModules1SerializableAi.xml StructModules1SerializableAi.ref.xml && \ - diff StructModules2SerializableAi.xml StructModules2SerializableAi.ref.xml && \ - diff StructModules3SerializableAi.xml StructModules3SerializableAi.ref.xml -} - -struct_output_dir() -{ - run_test '-d output_dir' output_dir/struct_output_dir && \ - diff output_dir/StructOutputDirSerializableAi.xml output_dir/StructOutputDirSerializableAi.ref.xml -} - -struct_string() -{ - run_test '' struct_string && \ - diff StructStringSerializableAi.xml StructStringSerializableAi.ref.xml -} - -struct_string_array() -{ - run_test '' struct_string_array && \ - diff StructStringArraySerializableAi.xml StructStringArraySerializableAi.ref.xml -} - -run_suite $tests diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_abs_type.fpp b/compiler/tools/fpp-to-xml/test/struct/struct_abs_type.fpp deleted file mode 100644 index 1cbfc3f08..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/struct_abs_type.fpp +++ /dev/null @@ -1,2 +0,0 @@ -type T -struct StructAbsType { t: T } diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_abs_type.ref.txt b/compiler/tools/fpp-to-xml/test/struct/struct_abs_type.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_default.fpp b/compiler/tools/fpp-to-xml/test/struct/struct_default.fpp deleted file mode 100644 index fa6f8d3d2..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/struct_default.fpp +++ /dev/null @@ -1,5 +0,0 @@ -struct StructDefault { - mU32: U32 - mS1: string size 40 - mF64: F64 -} default {mU32 = 54, mS1 = "hello"} diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_default.ref.txt b/compiler/tools/fpp-to-xml/test/struct/struct_default.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_enum_member.fpp b/compiler/tools/fpp-to-xml/test/struct/struct_enum_member.fpp deleted file mode 100644 index bf33ade6d..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/struct_enum_member.fpp +++ /dev/null @@ -1,5 +0,0 @@ -struct StructEnumMember { - - e: M.E - -} diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_enum_member.ref.txt b/compiler/tools/fpp-to-xml/test/struct/struct_enum_member.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_format.fpp b/compiler/tools/fpp-to-xml/test/struct/struct_format.fpp deleted file mode 100644 index 9fc20710f..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/struct_format.fpp +++ /dev/null @@ -1,19 +0,0 @@ -struct StructFormat { - m1: I32 format "{}" - m2: U32 format "{}" - m3: I32 format "{d}" - m4: U32 format "{d}" - m5: I32 format "{x}" - m6: U32 format "{x}" - m7: I32 format "{c}" - m8: U32 format "{c}" - m9: I32 format "{o}" - m10: U32 format "{o}" - m11: F32 format "{e}" - m12: F32 format "{f}" - m13: F32 format "{g}" - m14: F32 format "{.3e}" - m15: F32 format "{.3f}" - m16: F32 format "{.3g}" - m17: F32 format "{.3g}%" -} diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_format.ref.txt b/compiler/tools/fpp-to-xml/test/struct/struct_format.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_modules.fpp b/compiler/tools/fpp-to-xml/test/struct/struct_modules.fpp deleted file mode 100644 index bc4692d61..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/struct_modules.fpp +++ /dev/null @@ -1,13 +0,0 @@ -module M { - struct StructModules1 { - x: U32 - y: F32 - } - struct StructModules2 { - x: M.StructModules1 - } -} - -struct StructModules3 { - x: M.StructModules1 -} diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_modules.ref.txt b/compiler/tools/fpp-to-xml/test/struct/struct_modules.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_ok.fpp b/compiler/tools/fpp-to-xml/test/struct/struct_ok.fpp deleted file mode 100644 index 8fe0e11aa..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/struct_ok.fpp +++ /dev/null @@ -1,22 +0,0 @@ -@ Top-level annotation, line 1 -@ Top-level annotation, line 2 -struct StructOK1 { - @ Member annotation, line 1. - @ Member annotation, line 2. - mF32: [3] F32 - mF64: F64 - mI16: I16 - mI32: I32 - mI64: I64 - mI8: I8 - mU16: U16 - mU32: U32 - mU64: U64 - mU8: U8 - m_bool: bool - m_string: string -} - -struct StructOK2 { - s1: StructOK1 -} diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_ok.names.ref.txt b/compiler/tools/fpp-to-xml/test/struct/struct_ok.names.ref.txt deleted file mode 100644 index 8be2edadb..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/struct_ok.names.ref.txt +++ /dev/null @@ -1,2 +0,0 @@ -StructOK1SerializableAi.xml -StructOK2SerializableAi.xml diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_ok.ref.txt b/compiler/tools/fpp-to-xml/test/struct/struct_ok.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_string.fpp b/compiler/tools/fpp-to-xml/test/struct/struct_string.fpp deleted file mode 100644 index a88d3a3e8..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/struct_string.fpp +++ /dev/null @@ -1,4 +0,0 @@ -struct StructString { - s1: string - s2: string size 40 -} default {s1 = "hello"} diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_string.ref.txt b/compiler/tools/fpp-to-xml/test/struct/struct_string.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_string_array.fpp b/compiler/tools/fpp-to-xml/test/struct/struct_string_array.fpp deleted file mode 100644 index 3021040f5..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/struct_string_array.fpp +++ /dev/null @@ -1,4 +0,0 @@ -struct StructStringArray { - s1: string - s2: [16] string size 40 -} diff --git a/compiler/tools/fpp-to-xml/test/struct/struct_string_array.ref.txt b/compiler/tools/fpp-to-xml/test/struct/struct_string_array.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/struct/tests.sh b/compiler/tools/fpp-to-xml/test/struct/tests.sh deleted file mode 100644 index e50ffc8ac..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/tests.sh +++ /dev/null @@ -1,16 +0,0 @@ -tests=" -duplicate_xml_file -empty_struct -enum -include -struct_abs_type -struct_default -struct_enum_member -struct_format -struct_modules -struct_ok -struct_output_dir -struct_string -struct_string_array -" - diff --git a/compiler/tools/fpp-to-xml/test/struct/update-ref b/compiler/tools/fpp-to-xml/test/struct/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/struct/update-ref.sh b/compiler/tools/fpp-to-xml/test/struct/update-ref.sh deleted file mode 100644 index 50f2c3447..000000000 --- a/compiler/tools/fpp-to-xml/test/struct/update-ref.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh - -enum() -{ - update '' enum - mv EEnumAi.xml EEnumAi.ref.xml -} - -include() -{ - update "-p $PWD" include - mv IncludedSerializableAi.xml IncludedSerializableAi.ref.xml - mv IncludingSerializableAi.xml IncludingSerializableAi.ref.xml -} - -struct_abs_type() -{ - update "-p $PWD" struct_abs_type - mv StructAbsTypeSerializableAi.xml StructAbsTypeSerializableAi.ref.xml -} - -struct_default() -{ - update "-p $PWD" struct_default - mv StructDefaultSerializableAi.xml StructDefaultSerializableAi.ref.xml -} - -struct_enum_member() -{ - update "-i enum.fpp -p $PWD" struct_enum_member - mv StructEnumMemberSerializableAi.xml StructEnumMemberSerializableAi.ref.xml -} - -struct_ok() -{ - update "-n struct_ok.names.txt -p $PWD" struct_ok - mv struct_ok.names.txt struct_ok.names.ref.txt - mv StructOK1SerializableAi.xml StructOK1SerializableAi.ref.xml - mv StructOK2SerializableAi.xml StructOK2SerializableAi.ref.xml -} - -struct_format() -{ - update '' struct_format - mv StructFormatSerializableAi.xml StructFormatSerializableAi.ref.xml -} - -struct_modules() -{ - update "-p $PWD" struct_modules - mv StructModules1SerializableAi.xml StructModules1SerializableAi.ref.xml - mv StructModules2SerializableAi.xml StructModules2SerializableAi.ref.xml - mv StructModules3SerializableAi.xml StructModules3SerializableAi.ref.xml -} - -struct_output_dir() -{ - update '-d output_dir' output_dir/struct_output_dir - mv output_dir/StructOutputDirSerializableAi.xml output_dir/StructOutputDirSerializableAi.ref.xml -} - -struct_string() -{ - update '' struct_string - mv StructStringSerializableAi.xml StructStringSerializableAi.ref.xml -} - -struct_string_array() -{ - update '' struct_string_array - mv StructStringArraySerializableAi.xml StructStringArraySerializableAi.ref.xml -} diff --git a/compiler/tools/fpp-to-xml/test/test b/compiler/tools/fpp-to-xml/test/test deleted file mode 100755 index 6df8509b5..000000000 --- a/compiler/tools/fpp-to-xml/test/test +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../.. -cd .. -$COMPILER_ROOT/scripts/test -mv num_failed.txt test-output.txt test diff --git a/compiler/tools/fpp-to-xml/test/top_basic/C1ComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_basic/C1ComponentAi.ref.xml deleted file mode 100644 index e28770502..000000000 --- a/compiler/tools/fpp-to-xml/test/top_basic/C1ComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_basic/C2ComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_basic/C2ComponentAi.ref.xml deleted file mode 100644 index 87b478de7..000000000 --- a/compiler/tools/fpp-to-xml/test/top_basic/C2ComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_basic/PPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_basic/PPortAi.ref.xml deleted file mode 100644 index 64b132daf..000000000 --- a/compiler/tools/fpp-to-xml/test/top_basic/PPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_basic/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_basic/TTopologyAppAi.ref.xml deleted file mode 100644 index 430cbedf1..000000000 --- a/compiler/tools/fpp-to-xml/test/top_basic/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - C1ComponentAi.xml - C2ComponentAi.xml - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_basic/basic.fpp b/compiler/tools/fpp-to-xml/test/top_basic/basic.fpp deleted file mode 100644 index 35805e2c5..000000000 --- a/compiler/tools/fpp-to-xml/test/top_basic/basic.fpp +++ /dev/null @@ -1,31 +0,0 @@ -module M { - - port P - - passive component C1 { - - output port pOut: P - - } - - passive component C2 { - - sync input port pIn: P - - } - - instance c1: C1 base id 0x100 - instance c2: C2 base id 0x200 - - topology T { - - instance c1 - instance c2 - - connections C { - c1.pOut -> c2.pIn - } - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/top_basic/basic.ref.txt b/compiler/tools/fpp-to-xml/test/top_basic/basic.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_basic/check-xml b/compiler/tools/fpp-to-xml/test/top_basic/check-xml deleted file mode 100755 index 74b10a394..000000000 --- a/compiler/tools/fpp-to-xml/test/top_basic/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../.. - -sh ../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_basic/clean b/compiler/tools/fpp-to-xml/test/top_basic/clean deleted file mode 100755 index 5a2a7feb8..000000000 --- a/compiler/tools/fpp-to-xml/test/top_basic/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../.. - -sh ../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_basic/run b/compiler/tools/fpp-to-xml/test/top_basic/run deleted file mode 100755 index bf6f79f51..000000000 --- a/compiler/tools/fpp-to-xml/test/top_basic/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_basic/run.sh b/compiler/tools/fpp-to-xml/test/top_basic/run.sh deleted file mode 100644 index d4c97a982..000000000 --- a/compiler/tools/fpp-to-xml/test/top_basic/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -basic() -{ - run_test "-p $PWD" basic && \ - diff_xml PPort C1Component C2Component TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_basic/tests.sh b/compiler/tools/fpp-to-xml/test/top_basic/tests.sh deleted file mode 100644 index 81c8e56d7..000000000 --- a/compiler/tools/fpp-to-xml/test/top_basic/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -basic -" diff --git a/compiler/tools/fpp-to-xml/test/top_basic/update-ref b/compiler/tools/fpp-to-xml/test/top_basic/update-ref deleted file mode 100755 index c905604d4..000000000 --- a/compiler/tools/fpp-to-xml/test/top_basic/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../.. - -sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_basic/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_basic/update-ref.sh deleted file mode 100644 index ff0fb788d..000000000 --- a/compiler/tools/fpp-to-xml/test/top_basic/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -basic() -{ - update "-p $PWD" basic - move_xml PPort C1Component C2Component TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/AComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/basic/AComponentAi.ref.xml deleted file mode 100644 index 24cf81f22..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/basic/AComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/BComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/basic/BComponentAi.ref.xml deleted file mode 100644 index 0e42bfd32..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/basic/BComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/PPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/basic/PPortAi.ref.xml deleted file mode 100644 index 64b132daf..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/basic/PPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/basic/TTopologyAppAi.ref.xml deleted file mode 100644 index 4fbc5d39d..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/basic/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - AComponentAi.xml - BComponentAi.xml - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/check-xml b/compiler/tools/fpp-to-xml/test/top_import/basic/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/basic/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/clean b/compiler/tools/fpp-to-xml/test/top_import/basic/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/basic/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/import_basic.fpp b/compiler/tools/fpp-to-xml/test/top_import/basic/import_basic.fpp deleted file mode 100644 index c72ebc04f..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/basic/import_basic.fpp +++ /dev/null @@ -1,45 +0,0 @@ -module M { - - port P - - passive component A { - - output port pOut: P - - } - - passive component B { - - sync input port pIn: P - - } - - instance a1: A base id 0x100 - instance a2: A base id 0x200 - - instance b: B base id 0x400 - - topology S { - - instance a1 - instance b - - connections C1 { - a1.pOut -> b.pIn - } - - } - - topology T { - - import S - - instance a2 - - connections C2 { - a2.pOut -> b.pIn - } - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/import_basic.ref.txt b/compiler/tools/fpp-to-xml/test/top_import/basic/import_basic.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/run b/compiler/tools/fpp-to-xml/test/top_import/basic/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/basic/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/run.sh b/compiler/tools/fpp-to-xml/test/top_import/basic/run.sh deleted file mode 100644 index 04b303f01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/basic/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -import_basic() -{ - run_test "-p $PWD" import_basic && \ - diff_xml PPort AComponent BComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/tests.sh b/compiler/tools/fpp-to-xml/test/top_import/basic/tests.sh deleted file mode 100644 index ae722bc0d..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/basic/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -import_basic -" diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/update-ref b/compiler/tools/fpp-to-xml/test/top_import/basic/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/basic/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/basic/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_import/basic/update-ref.sh deleted file mode 100644 index 4a48b8a6e..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/basic/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -import_basic() -{ - update "-p $PWD" import_basic - move_xml PPort AComponent BComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/AComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/merge/AComponentAi.ref.xml deleted file mode 100644 index 377b55313..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/merge/AComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/BComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/merge/BComponentAi.ref.xml deleted file mode 100644 index 0e42bfd32..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/merge/BComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/PPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/merge/PPortAi.ref.xml deleted file mode 100644 index 64b132daf..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/merge/PPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/merge/TTopologyAppAi.ref.xml deleted file mode 100644 index 54eeccfe9..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/merge/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - AComponentAi.xml - BComponentAi.xml - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/check-xml b/compiler/tools/fpp-to-xml/test/top_import/merge/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/merge/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/clean b/compiler/tools/fpp-to-xml/test/top_import/merge/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/merge/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/import_merge.fpp b/compiler/tools/fpp-to-xml/test/top_import/merge/import_merge.fpp deleted file mode 100644 index 1aa6063c5..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/merge/import_merge.fpp +++ /dev/null @@ -1,46 +0,0 @@ -module M { - - port P - - passive component A { - - output port pOut: [2] P - - } - - passive component B { - - sync input port pIn: P - - } - - instance a1: A base id 0x100 - instance a2: A base id 0x200 - - instance b: B base id 0x400 - - topology S { - - instance a1 - instance b - - connections C { - a1.pOut -> b.pIn - } - - } - - topology T { - - import S - - instance a2 - - connections C { - a1.pOut -> b.pIn - a2.pOut -> b.pIn - } - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/import_merge.ref.txt b/compiler/tools/fpp-to-xml/test/top_import/merge/import_merge.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/run b/compiler/tools/fpp-to-xml/test/top_import/merge/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/merge/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/run.sh b/compiler/tools/fpp-to-xml/test/top_import/merge/run.sh deleted file mode 100644 index d8246e198..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/merge/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -import_merge() -{ - run_test "-p $PWD" import_merge && \ - diff_xml PPort AComponent BComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/tests.sh b/compiler/tools/fpp-to-xml/test/top_import/merge/tests.sh deleted file mode 100644 index 9fef16b0f..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/merge/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -import_merge -" diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/update-ref b/compiler/tools/fpp-to-xml/test/top_import/merge/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/merge/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/merge/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_import/merge/update-ref.sh deleted file mode 100644 index 6fbd75f49..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/merge/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -import_merge() -{ - update "-p $PWD" import_merge - move_xml PPort AComponent BComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/pattern/CComponentAi.ref.xml deleted file mode 100644 index 4b3969419..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/pattern/CComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - TimePortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/pattern/TTopologyAppAi.ref.xml deleted file mode 100644 index e558667d3..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/pattern/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CComponentAi.xml - TimeComponentAi.xml - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/TimeComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/pattern/TimeComponentAi.ref.xml deleted file mode 100644 index d4868ee20..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/pattern/TimeComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - TimePortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/TimePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/pattern/TimePortAi.ref.xml deleted file mode 100644 index b8e4ad60c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/pattern/TimePortAi.ref.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Time.hpp - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/check-xml b/compiler/tools/fpp-to-xml/test/top_import/pattern/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/pattern/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/clean b/compiler/tools/fpp-to-xml/test/top_import/pattern/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/pattern/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/import_pattern.fpp b/compiler/tools/fpp-to-xml/test/top_import/pattern/import_pattern.fpp deleted file mode 100644 index d80a8487f..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/pattern/import_pattern.fpp +++ /dev/null @@ -1,25 +0,0 @@ -module Fw { - type Time - port Time($time: Fw.Time) -} -module M { - passive component Time { - sync input port timeGetIn: Fw.Time - } - passive component C { - time get port timeGetOut - } - instance $time: Time base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology S { - instance $time - instance c1 - time connections instance $time - } - topology T { - import S - instance c2 - time connections instance $time - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/import_pattern.ref.txt b/compiler/tools/fpp-to-xml/test/top_import/pattern/import_pattern.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/run b/compiler/tools/fpp-to-xml/test/top_import/pattern/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/pattern/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/run.sh b/compiler/tools/fpp-to-xml/test/top_import/pattern/run.sh deleted file mode 100644 index f874aa2aa..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/pattern/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -import_pattern() -{ - run_test "-p $PWD" import_pattern && \ - diff_xml TimePort TimeComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/tests.sh b/compiler/tools/fpp-to-xml/test/top_import/pattern/tests.sh deleted file mode 100644 index b7afddfee..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/pattern/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -import_pattern -" diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/update-ref b/compiler/tools/fpp-to-xml/test/top_import/pattern/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/pattern/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/pattern/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_import/pattern/update-ref.sh deleted file mode 100644 index 4be5583b5..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/pattern/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -import_pattern() -{ - update "-p $PWD" import_pattern - move_xml TimePort TimeComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/AComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/port_num/AComponentAi.ref.xml deleted file mode 100644 index be2486912..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/port_num/AComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/BComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/port_num/BComponentAi.ref.xml deleted file mode 100644 index 0e42bfd32..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/port_num/BComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/PPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/port_num/PPortAi.ref.xml deleted file mode 100644 index 64b132daf..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/port_num/PPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/port_num/TTopologyAppAi.ref.xml deleted file mode 100644 index 77bab649b..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/port_num/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - AComponentAi.xml - BComponentAi.xml - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/check-xml b/compiler/tools/fpp-to-xml/test/top_import/port_num/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/port_num/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/clean b/compiler/tools/fpp-to-xml/test/top_import/port_num/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/port_num/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/import_port_num.fpp b/compiler/tools/fpp-to-xml/test/top_import/port_num/import_port_num.fpp deleted file mode 100644 index e9eb1b1e1..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/port_num/import_port_num.fpp +++ /dev/null @@ -1,46 +0,0 @@ -module M { - - port P - - passive component A { - - output port pOut: [3] P - - } - - passive component B { - - sync input port pIn: P - - } - - instance a1: A base id 0x100 - instance a2: A base id 0x200 - - instance b: B base id 0x400 - - topology S { - - instance a1 - instance b - - connections C { - a1.pOut[2] -> b.pIn - } - - } - - topology T { - - import S - - instance a2 - - connections C { - a1.pOut -> b.pIn - a2.pOut -> b.pIn - } - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/import_port_num.ref.txt b/compiler/tools/fpp-to-xml/test/top_import/port_num/import_port_num.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/run b/compiler/tools/fpp-to-xml/test/top_import/port_num/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/port_num/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/run.sh b/compiler/tools/fpp-to-xml/test/top_import/port_num/run.sh deleted file mode 100644 index 261c561e0..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/port_num/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -import_port_num() -{ - run_test "-p $PWD" import_port_num && \ - diff_xml PPort AComponent BComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/tests.sh b/compiler/tools/fpp-to-xml/test/top_import/port_num/tests.sh deleted file mode 100644 index 8fd175d32..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/port_num/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -import_port_num -" diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/update-ref b/compiler/tools/fpp-to-xml/test/top_import/port_num/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/port_num/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/port_num/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_import/port_num/update-ref.sh deleted file mode 100644 index 66a2017b9..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/port_num/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -import_port_num() -{ - update "-p $PWD" import_port_num - move_xml PPort AComponent BComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/AComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/private/AComponentAi.ref.xml deleted file mode 100644 index 24cf81f22..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/private/AComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/BComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/private/BComponentAi.ref.xml deleted file mode 100644 index 0e42bfd32..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/private/BComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/PPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/private/PPortAi.ref.xml deleted file mode 100644 index 64b132daf..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/private/PPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/private/TTopologyAppAi.ref.xml deleted file mode 100644 index 71b123939..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/private/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - AComponentAi.xml - BComponentAi.xml - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/check-xml b/compiler/tools/fpp-to-xml/test/top_import/private/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/private/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/clean b/compiler/tools/fpp-to-xml/test/top_import/private/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/private/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/import_private.fpp b/compiler/tools/fpp-to-xml/test/top_import/private/import_private.fpp deleted file mode 100644 index 67fad487a..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/private/import_private.fpp +++ /dev/null @@ -1,45 +0,0 @@ -module M { - - port P - - passive component A { - - output port pOut: P - - } - - passive component B { - - sync input port pIn: P - - } - - instance a1: A base id 0x100 - instance a2: A base id 0x200 - - instance b: B base id 0x400 - - topology S { - - private instance a1 - instance b - - connections C { - a1.pOut -> b.pIn - } - - } - - topology T { - - import S - - instance a2 - - connections C { - a2.pOut -> b.pIn - } - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/import_private.ref.txt b/compiler/tools/fpp-to-xml/test/top_import/private/import_private.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/run b/compiler/tools/fpp-to-xml/test/top_import/private/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/private/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/run.sh b/compiler/tools/fpp-to-xml/test/top_import/private/run.sh deleted file mode 100644 index 5839e9fa9..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/private/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -import_private() -{ - run_test "-p $PWD" import_private && \ - diff_xml PPort AComponent BComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/tests.sh b/compiler/tools/fpp-to-xml/test/top_import/private/tests.sh deleted file mode 100644 index 556c322a9..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/private/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -import_private -" diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/update-ref b/compiler/tools/fpp-to-xml/test/top_import/private/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/private/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/private/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_import/private/update-ref.sh deleted file mode 100644 index 9c3705325..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/private/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -import_private() -{ - update "-p $PWD" import_private - move_xml PPort AComponent BComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/AComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/transitive/AComponentAi.ref.xml deleted file mode 100644 index 24cf81f22..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/transitive/AComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/BComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/transitive/BComponentAi.ref.xml deleted file mode 100644 index 0e42bfd32..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/transitive/BComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/PPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/transitive/PPortAi.ref.xml deleted file mode 100644 index 64b132daf..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/transitive/PPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_import/transitive/TTopologyAppAi.ref.xml deleted file mode 100644 index 5732a028c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/transitive/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - AComponentAi.xml - BComponentAi.xml - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/check-xml b/compiler/tools/fpp-to-xml/test/top_import/transitive/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/transitive/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/clean b/compiler/tools/fpp-to-xml/test/top_import/transitive/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/transitive/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/import_transitive.fpp b/compiler/tools/fpp-to-xml/test/top_import/transitive/import_transitive.fpp deleted file mode 100644 index 1a9469d0f..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/transitive/import_transitive.fpp +++ /dev/null @@ -1,42 +0,0 @@ -module M { - - port P - - passive component A { - - output port pOut: P - - } - - passive component B { - - sync input port pIn: P - - } - - instance a: A base id 0x100 - instance b: B base id 0x200 - - topology A { - - instance a - instance b - - connections C { - a.pOut -> b.pIn - } - - } - - topology B { import A } - - topology C { import A } - - topology T { - - import B - import C - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/import_transitive.ref.txt b/compiler/tools/fpp-to-xml/test/top_import/transitive/import_transitive.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/run b/compiler/tools/fpp-to-xml/test/top_import/transitive/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/transitive/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/run.sh b/compiler/tools/fpp-to-xml/test/top_import/transitive/run.sh deleted file mode 100644 index faa143369..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/transitive/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -import_transitive() -{ - run_test "-p $PWD" import_transitive && \ - diff_xml PPort AComponent BComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/tests.sh b/compiler/tools/fpp-to-xml/test/top_import/transitive/tests.sh deleted file mode 100644 index aa7847f56..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/transitive/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -import_transitive -" diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/update-ref b/compiler/tools/fpp-to-xml/test/top_import/transitive/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/transitive/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_import/transitive/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_import/transitive/update-ref.sh deleted file mode 100644 index f94a8f0e9..000000000 --- a/compiler/tools/fpp-to-xml/test/top_import/transitive/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -import_transitive() -{ - update "-p $PWD" import_transitive - move_xml PPort AComponent BComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/PPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_numbering/general/PPortAi.ref.xml deleted file mode 100644 index 64b132daf..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/general/PPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/SourceComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_numbering/general/SourceComponentAi.ref.xml deleted file mode 100644 index 7d03374dd..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/general/SourceComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_numbering/general/TTopologyAppAi.ref.xml deleted file mode 100644 index 0a630087a..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/general/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - SourceComponentAi.xml - TargetComponentAi.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/TargetComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_numbering/general/TargetComponentAi.ref.xml deleted file mode 100644 index e3bfc59c5..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/general/TargetComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - PPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/check-xml b/compiler/tools/fpp-to-xml/test/top_numbering/general/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/general/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/clean b/compiler/tools/fpp-to-xml/test/top_numbering/general/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/general/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/numbering_general.fpp b/compiler/tools/fpp-to-xml/test/top_numbering/general/numbering_general.fpp deleted file mode 100644 index 53cb8a9dd..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/general/numbering_general.fpp +++ /dev/null @@ -1,33 +0,0 @@ -module M { - - port P - - passive component Source { - output port pOut: [5] P - } - - passive component Target { - sync input port pIn: [2] P - } - - instance source: Source base id 0x100 - instance target: Target base id 0x200 - - topology T { - - instance source - instance target - - connections C { - - source.pOut -> target.pIn - source.pOut -> target.pIn - source.pOut[1] -> target.pIn[1] - source.pOut -> target.pIn - source.pOut -> target.pIn - - } - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/numbering_general.ref.txt b/compiler/tools/fpp-to-xml/test/top_numbering/general/numbering_general.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/run b/compiler/tools/fpp-to-xml/test/top_numbering/general/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/general/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/run.sh b/compiler/tools/fpp-to-xml/test/top_numbering/general/run.sh deleted file mode 100644 index 14dc1732e..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/general/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -numbering_general() -{ - run_test "-p $PWD" numbering_general && \ - diff_xml PPort SourceComponent TargetComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/tests.sh b/compiler/tools/fpp-to-xml/test/top_numbering/general/tests.sh deleted file mode 100644 index 2eaaae01a..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/general/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -numbering_general -" diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/update-ref b/compiler/tools/fpp-to-xml/test/top_numbering/general/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/general/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/general/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_numbering/general/update-ref.sh deleted file mode 100644 index 32bc4e9b6..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/general/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -numbering_general() -{ - update "-p $PWD" numbering_general - move_xml PPort SourceComponent TargetComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/PPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_numbering/matched/PPortAi.ref.xml deleted file mode 100644 index 64b132daf..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/matched/PPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/SourceComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_numbering/matched/SourceComponentAi.ref.xml deleted file mode 100644 index b0f7a3669..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/matched/SourceComponentAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - PPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_numbering/matched/TTopologyAppAi.ref.xml deleted file mode 100644 index 3586bb2a3..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/matched/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - SourceComponentAi.xml - TargetComponentAi.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/TargetComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_numbering/matched/TargetComponentAi.ref.xml deleted file mode 100644 index c1a8d7831..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/matched/TargetComponentAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - PPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/check-xml b/compiler/tools/fpp-to-xml/test/top_numbering/matched/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/matched/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/clean b/compiler/tools/fpp-to-xml/test/top_numbering/matched/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/matched/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/numbering_matched.fpp b/compiler/tools/fpp-to-xml/test/top_numbering/matched/numbering_matched.fpp deleted file mode 100644 index 86e39049d..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/matched/numbering_matched.fpp +++ /dev/null @@ -1,45 +0,0 @@ -module M { - - constant numPorts = 10 - - port P - - passive component Source { - sync input port pIn: [numPorts] P - output port pOut: [numPorts] P - match pIn with pOut - } - - passive component Target { - sync input port pIn: [numPorts] P - output port pOut: [numPorts] P - } - - instance source: Source base id 0x100 - instance target1: Target base id 0x200 - instance target2: Target base id 0x300 - instance target3: Target base id 0x400 - - topology T { - - instance source - instance target1 - instance target2 - instance target3 - - connections C { - - source.pOut[1] -> target1.pIn - target1.pOut -> source.pIn - - source.pOut -> target2.pIn - target2.pOut -> source.pIn[2] - - source.pOut -> target3.pIn - target3.pOut -> source.pIn - - } - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/numbering_matched.ref.txt b/compiler/tools/fpp-to-xml/test/top_numbering/matched/numbering_matched.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/run b/compiler/tools/fpp-to-xml/test/top_numbering/matched/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/matched/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/run.sh b/compiler/tools/fpp-to-xml/test/top_numbering/matched/run.sh deleted file mode 100644 index b6ac46b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/matched/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -numbering_matched() -{ - run_test "-p $PWD" numbering_matched && \ - diff_xml PPort SourceComponent TargetComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/tests.sh b/compiler/tools/fpp-to-xml/test/top_numbering/matched/tests.sh deleted file mode 100644 index 2cada613c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/matched/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -numbering_matched -" diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/update-ref b/compiler/tools/fpp-to-xml/test/top_numbering/matched/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/matched/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/matched/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_numbering/matched/update-ref.sh deleted file mode 100644 index f29aa193b..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/matched/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -numbering_matched() -{ - update "-p $PWD" numbering_matched - move_xml PPort SourceComponent TargetComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/.gitignore b/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/.gitignore deleted file mode 100644 index 4dd6f6e38..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*.eps -*.pdf -Case*.txt -Case*.xml diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/TTopologyAppAi.ref.xml deleted file mode 100644 index a0e3fe21a..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - SourceComponentAi.xml - TargetComponentAi.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/check-xml b/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/clean b/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/clean deleted file mode 100755 index 4632eae13..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/clean +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh -for file in `find . -name 'Case*.txt' -or -name '*.eps' -or -name '*.pdf'` -do - rm $file -done diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/gen-layout b/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/gen-layout deleted file mode 100755 index 511cfd6c8..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/gen-layout +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -e - -cases=" -Case1 -Case2 -Case3 -Case4 -Case5 -" - -fpl-extract-xml TTopologyAppAi.ref.xml -for case_name in $cases -do - echo "[ $case_name ]" - fpl-convert-xml $case_name.xml > $case_name.txt - fpl-write-eps < $case_name.txt > $case_name.eps - epspdf $case_name.eps -done diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/numbering_unmatched.fpp b/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/numbering_unmatched.fpp deleted file mode 100644 index 4a8a05735..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/numbering_unmatched.fpp +++ /dev/null @@ -1,119 +0,0 @@ -module M { - - constant numPorts = 5 - - port P - - passive component Source { - - output port pOut: [numPorts] P - sync input port pIn: [numPorts] P - - match pOut with pIn - - } - - passive component Target { - - output port pOut: [numPorts] P - sync input port pIn: [numPorts] P - - } - - instance source1: Source base id 0x0100 - instance target11: Target base id 0x1100 - - instance source2: Source base id 0x0200 - instance target21: Target base id 0x2100 - - instance source3: Source base id 0x300 - instance target31: Source base id 0x3100 - instance target32: Source base id 0x3200 - - instance source4: Source base id 0x400 - instance target41: Source base id 0x4100 - instance target42: Source base id 0x4200 - - instance source5: Source base id 0x500 - instance target51: Source base id 0x5100 - instance target52: Source base id 0x5200 - instance target53: Source base id 0x5300 - instance target54: Source base id 0x5400 - instance target55: Source base id 0x5500 - - topology T { - - # Case 1: Matching connections to the same target - - instance source1 - instance target11 - - connections Case1 { - unmatched source1.pOut[0] -> target11.pIn[0] - unmatched target11.pOut[0] -> source1.pIn[0] - unmatched source1.pOut[1] -> target11.pIn[1] - unmatched target11.pOut[1] -> source1.pIn[1] - } - - # Case 2: Non-matching connections to the same target - - instance source2 - instance target21 - - connections Case2 { - unmatched source2.pOut[0] -> target21.pIn[0] - unmatched target21.pOut[0] -> source2.pIn[0] - unmatched source2.pOut[1] -> target21.pIn[1] - } - - # Case 3: Matching connections to different targets - - instance source3 - instance target31 - instance target32 - - connections Case3 { - unmatched source3.pOut[0] -> target31.pIn[0] - unmatched target32.pOut[0] -> source3.pIn[0] - } - - # Case 4: Non-matching connections to the same target - - instance source4 - instance target41 - instance target42 - - connections Case4 { - unmatched source4.pOut[0] -> target41.pIn[0] - unmatched target42.pOut[1] -> source4.pIn[1] - } - - # Case 5: Mixed matched and unmatched connections - - instance source5 - instance target51 - instance target52 - instance target53 - instance target54 - instance target55 - - connections Case5 { - # Matched connections with explicit numbering - source5.pOut[0] -> target51.pIn - target51.pOut -> source5.pIn[0] - # Matched connections with implicit numbering at pOut - source5.pOut -> target52.pIn - target52.pOut -> source5.pIn[1] - # Matched connections with implicit numbering at pIn - source5.pOut[2] -> target53.pIn - target53.pOut -> source5.pIn - # Matched connections with implicit numbering on both sides - source5.pOut -> target54.pIn - target54.pOut -> source5.pIn - # Unmatched connection - unmatched source5.pOut -> target55.pIn - } - - } - -} diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/numbering_unmatched.ref.txt b/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/numbering_unmatched.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/run b/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/run.sh b/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/run.sh deleted file mode 100644 index c33c1e04a..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -numbering_unmatched() -{ - run_test "-p $PWD" numbering_unmatched && \ - diff_xml TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/tests.sh b/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/tests.sh deleted file mode 100644 index 551560222..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -numbering_unmatched -" diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/update-ref b/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/update-ref.sh deleted file mode 100644 index 6410a79cc..000000000 --- a/compiler/tools/fpp-to-xml/test/top_numbering/unmatched/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -numbering_unmatched() -{ - update "-p $PWD" numbering_unmatched - move_xml TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/command/CComponentAi.ref.xml deleted file mode 100644 index 2eae8b939..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/CComponentAi.ref.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - CmdPortAi.xml - CmdRegPortAi.xml - CmdResponsePortAi.xml - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/CmdPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/command/CmdPortAi.ref.xml deleted file mode 100644 index 1ba8c8dfc..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/CmdPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/CmdRegPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/command/CmdRegPortAi.ref.xml deleted file mode 100644 index 932f7f8fb..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/CmdRegPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/CmdResponsePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/command/CmdResponsePortAi.ref.xml deleted file mode 100644 index a26aa0476..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/CmdResponsePortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/CommandsComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/command/CommandsComponentAi.ref.xml deleted file mode 100644 index 707afa909..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/CommandsComponentAi.ref.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - CmdPortAi.xml - CmdRegPortAi.xml - CmdResponsePortAi.xml - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/command/TTopologyAppAi.ref.xml deleted file mode 100644 index 5a848646f..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - CComponentAi.xml - CommandsComponentAi.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/command/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/clean b/compiler/tools/fpp-to-xml/test/top_pattern/command/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/pattern_command.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/command/pattern_command.fpp deleted file mode 100644 index 26ce7a83d..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/pattern_command.fpp +++ /dev/null @@ -1,28 +0,0 @@ -module Fw { - port Cmd - port CmdReg - port CmdResponse -} -module M { - passive component Commands { - sync input port cmdRegIn: [2] Fw.CmdReg - output port cmdOut: [2] Fw.Cmd - sync input port cmdResponseIn: [2] Fw.CmdResponse - match cmdRegIn with cmdOut - match cmdRegIn with cmdResponseIn - } - passive component C { - command reg port cmdRegOut - command recv port cmdIn - command resp port cmdResponseOut - } - instance commands: Commands base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance commands - instance c1 - instance c2 - command connections instance commands - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/pattern_command.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/command/pattern_command.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/run b/compiler/tools/fpp-to-xml/test/top_pattern/command/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/command/run.sh deleted file mode 100644 index 3e775b2f5..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_command() -{ - run_test "-p $PWD" pattern_command && \ - diff_xml CmdRegPort CmdResponsePort CommandsComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/command/tests.sh deleted file mode 100644 index d38d3c81a..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_command -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/command/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/command/update-ref.sh deleted file mode 100644 index 256cb3398..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_command() -{ - update "-p $PWD" pattern_command - move_xml CmdPort CmdRegPort CmdResponsePort CommandsComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CComponentAi.ref.xml deleted file mode 100644 index 2eae8b939..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CComponentAi.ref.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - CmdPortAi.xml - CmdRegPortAi.xml - CmdResponsePortAi.xml - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CmdPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CmdPortAi.ref.xml deleted file mode 100644 index 1ba8c8dfc..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CmdPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CmdRegPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CmdRegPortAi.ref.xml deleted file mode 100644 index 932f7f8fb..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CmdRegPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CmdResponsePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CmdResponsePortAi.ref.xml deleted file mode 100644 index a26aa0476..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CmdResponsePortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CommandsComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CommandsComponentAi.ref.xml deleted file mode 100644 index 0d5f2b7bd..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/CommandsComponentAi.ref.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - CmdPortAi.xml - CmdRegPortAi.xml - CmdResponsePortAi.xml - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/TTopologyAppAi.ref.xml deleted file mode 100644 index c1fcbfb96..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - CComponentAi.xml - CommandsComponentAi.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/clean b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/pattern_command_list.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/pattern_command_list.fpp deleted file mode 100644 index e7721c478..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/pattern_command_list.fpp +++ /dev/null @@ -1,28 +0,0 @@ -module Fw { - port Cmd - port CmdReg - port CmdResponse -} -module M { - passive component Commands { - sync input port cmdRegIn: Fw.CmdReg - output port cmdOut: Fw.Cmd - sync input port cmdResponseIn: Fw.CmdResponse - match cmdRegIn with cmdOut - match cmdRegIn with cmdResponseIn - } - passive component C { - command reg port cmdRegOut - command recv port cmdIn - command resp port cmdResponseOut - } - instance commands: Commands base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance commands - instance c1 - instance c2 - command connections instance commands { c1 } - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/pattern_command_list.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/pattern_command_list.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/run b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/run.sh deleted file mode 100644 index 8f1256fca..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_command_list() -{ - run_test "-p $PWD" pattern_command_list && \ - diff_xml CmdRegPort CmdResponsePort CommandsComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/tests.sh deleted file mode 100644 index de5336020..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_command_list -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/command_list/update-ref.sh deleted file mode 100644 index 859dca9c8..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/command_list/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_command_list() -{ - update "-p $PWD" pattern_command_list - move_xml CmdPort CmdRegPort CmdResponsePort CommandsComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/event/CComponentAi.ref.xml deleted file mode 100644 index 116c26b0d..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/CComponentAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - LogPortAi.xml - TimePortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/EventsComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/event/EventsComponentAi.ref.xml deleted file mode 100644 index e32a0bd49..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/EventsComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - LogPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/LogPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/event/LogPortAi.ref.xml deleted file mode 100644 index 9b6927984..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/LogPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/event/TTopologyAppAi.ref.xml deleted file mode 100644 index 77e6aa9b5..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CComponentAi.xml - EventsComponentAi.xml - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/TimePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/event/TimePortAi.ref.xml deleted file mode 100644 index b8e4ad60c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/TimePortAi.ref.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Time.hpp - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/event/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/clean b/compiler/tools/fpp-to-xml/test/top_pattern/event/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/pattern_event.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/event/pattern_event.fpp deleted file mode 100644 index 67165817f..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/pattern_event.fpp +++ /dev/null @@ -1,23 +0,0 @@ -module Fw { - type Time - port Time($time: Fw.Time) - port Log -} -module M { - passive component Events { - sync input port eventIn: Fw.Log - } - passive component C { - time get port timeGetOut - event port eventOut - } - instance events: Events base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance events - instance c1 - instance c2 - event connections instance events - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/pattern_event.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/event/pattern_event.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/run b/compiler/tools/fpp-to-xml/test/top_pattern/event/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/event/run.sh deleted file mode 100644 index 1dc0712e1..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_event() -{ - run_test "-p $PWD" pattern_event && \ - diff_xml TimePort LogPort EventsComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/event/tests.sh deleted file mode 100644 index 0a58f4dac..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_event -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/event/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/event/update-ref.sh deleted file mode 100644 index cf6090c2f..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_event() -{ - update "-p $PWD" pattern_event - move_xml TimePort LogPort EventsComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/CComponentAi.ref.xml deleted file mode 100644 index 116c26b0d..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/CComponentAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - LogPortAi.xml - TimePortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/EventsComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/EventsComponentAi.ref.xml deleted file mode 100644 index e32a0bd49..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/EventsComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - LogPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/LogPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/LogPortAi.ref.xml deleted file mode 100644 index 9b6927984..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/LogPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/TTopologyAppAi.ref.xml deleted file mode 100644 index fe878b798..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - CComponentAi.xml - EventsComponentAi.xml - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/TimePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/TimePortAi.ref.xml deleted file mode 100644 index b8e4ad60c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/TimePortAi.ref.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Time.hpp - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/clean b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/pattern_event_list.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/pattern_event_list.fpp deleted file mode 100644 index f1d075ae0..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/pattern_event_list.fpp +++ /dev/null @@ -1,23 +0,0 @@ -module Fw { - type Time - port Time($time: Fw.Time) - port Log -} -module M { - passive component Events { - sync input port eventIn: Fw.Log - } - passive component C { - time get port timeGetOut - event port eventOut - } - instance events: Events base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance events - instance c1 - instance c2 - event connections instance events { c1 } - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/pattern_event_list.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/pattern_event_list.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/run b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/run.sh deleted file mode 100644 index b2bf3b577..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_event_list() -{ - run_test "-p $PWD" pattern_event_list && \ - diff_xml TimePort LogPort EventsComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/tests.sh deleted file mode 100644 index b88582c62..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_event_list -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/event_list/update-ref.sh deleted file mode 100644 index 433214413..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/event_list/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_event_list() -{ - update "-p $PWD" pattern_event_list - move_xml TimePort LogPort EventsComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/health/CComponentAi.ref.xml deleted file mode 100644 index f79a4a514..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health/CComponentAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - PingPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/HealthComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/health/HealthComponentAi.ref.xml deleted file mode 100644 index 61ea77975..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health/HealthComponentAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - PingPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/PingPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/health/PingPortAi.ref.xml deleted file mode 100644 index 17fa52e16..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health/PingPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/health/TTopologyAppAi.ref.xml deleted file mode 100644 index 76147149a..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - CComponentAi.xml - HealthComponentAi.xml - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/health/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/clean b/compiler/tools/fpp-to-xml/test/top_pattern/health/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/pattern_health.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/health/pattern_health.fpp deleted file mode 100644 index 0effd4e8d..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health/pattern_health.fpp +++ /dev/null @@ -1,23 +0,0 @@ -module Svc { - port Ping -} -module M { - passive component Health { - sync input port pingIn: [2] Svc.Ping - output port pingOut: [2] Svc.Ping - match pingOut with pingIn - } - passive component C { - sync input port pingIn: Svc.Ping - output port pingOut: Svc.Ping - } - instance $health: Health base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance $health - instance c1 - instance c2 - health connections instance $health - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/pattern_health.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/health/pattern_health.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/run b/compiler/tools/fpp-to-xml/test/top_pattern/health/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/health/run.sh deleted file mode 100644 index c3d85e95b..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_health() -{ - run_test "-p $PWD" pattern_health && \ - diff_xml PingPort HealthComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/health/tests.sh deleted file mode 100644 index 26b2db85f..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_health -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/health/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/health/update-ref.sh deleted file mode 100644 index f7df6523a..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_health() -{ - update "-p $PWD" pattern_health - move_xml PingPort HealthComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/CComponentAi.ref.xml deleted file mode 100644 index f79a4a514..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/CComponentAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - PingPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/HealthComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/HealthComponentAi.ref.xml deleted file mode 100644 index dd7e0e939..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/HealthComponentAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - PingPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/PingPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/PingPortAi.ref.xml deleted file mode 100644 index 17fa52e16..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/PingPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/TTopologyAppAi.ref.xml deleted file mode 100644 index 7f9e3e882..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CComponentAi.xml - HealthComponentAi.xml - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/clean b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/pattern_health_list.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/pattern_health_list.fpp deleted file mode 100644 index 1e923ab0b..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/pattern_health_list.fpp +++ /dev/null @@ -1,23 +0,0 @@ -module Svc { - port Ping -} -module M { - passive component Health { - sync input port pingIn: Svc.Ping - output port pingOut: Svc.Ping - match pingOut with pingIn - } - passive component C { - sync input port pingIn: Svc.Ping - output port pingOut: Svc.Ping - } - instance $health: Health base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance $health - instance c1 - instance c2 - health connections instance $health { c1 } - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/pattern_health_list.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/pattern_health_list.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/run b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/run.sh deleted file mode 100644 index de94456e8..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_health_list() -{ - run_test "-p $PWD" pattern_health_list && \ - diff_xml PingPort HealthComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/tests.sh deleted file mode 100644 index c2a571eff..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_health_list -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/health_list/update-ref.sh deleted file mode 100644 index 6f56d3a30..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/health_list/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_health_list() -{ - update "-p $PWD" pattern_health_list - move_xml PingPort HealthComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param/CComponentAi.ref.xml deleted file mode 100644 index 54f9fafd3..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/CComponentAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - PrmGetPortAi.xml - PrmSetPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/HealthComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param/HealthComponentAi.ref.xml deleted file mode 100644 index 61ea77975..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/HealthComponentAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - PingPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/ParametersComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param/ParametersComponentAi.ref.xml deleted file mode 100644 index c64012b91..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/ParametersComponentAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - PrmGetPortAi.xml - PrmSetPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/PingPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param/PingPortAi.ref.xml deleted file mode 100644 index 17fa52e16..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/PingPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/PrmGetPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param/PrmGetPortAi.ref.xml deleted file mode 100644 index 025e72b14..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/PrmGetPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/PrmSetPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param/PrmSetPortAi.ref.xml deleted file mode 100644 index b05b2dec4..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/PrmSetPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param/TTopologyAppAi.ref.xml deleted file mode 100644 index 6a416c7d7..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - CComponentAi.xml - ParametersComponentAi.xml - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/param/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/clean b/compiler/tools/fpp-to-xml/test/top_pattern/param/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/pattern_param.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/param/pattern_param.fpp deleted file mode 100644 index 4c5bcc23d..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/pattern_param.fpp +++ /dev/null @@ -1,23 +0,0 @@ -module Fw { - port PrmGet - port PrmSet -} -module M { - passive component Parameters { - sync input port prmGetIn: Fw.PrmGet - sync input port prmSetIn: Fw.PrmSet - } - passive component C { - param get port prmGetOut - param set port prmSetOut - } - instance parameters: Parameters base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance parameters - instance c1 - instance c2 - param connections instance parameters - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/pattern_param.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/param/pattern_param.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/run b/compiler/tools/fpp-to-xml/test/top_pattern/param/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/param/run.sh deleted file mode 100644 index 3a0a65e09..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_param() -{ - run_test "-p $PWD" pattern_param && \ - diff_xml PrmGetPort PrmSetPort ParametersComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/param/tests.sh deleted file mode 100644 index a65692067..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_param -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/param/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/param/update-ref.sh deleted file mode 100644 index dbf52e4fb..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_param() -{ - update "-p $PWD" pattern_param - move_xml PrmGetPort PrmSetPort ParametersComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/CComponentAi.ref.xml deleted file mode 100644 index 54f9fafd3..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/CComponentAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - PrmGetPortAi.xml - PrmSetPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/HealthComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/HealthComponentAi.ref.xml deleted file mode 100644 index 61ea77975..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/HealthComponentAi.ref.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - PingPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/ParametersComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/ParametersComponentAi.ref.xml deleted file mode 100644 index c64012b91..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/ParametersComponentAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - PrmGetPortAi.xml - PrmSetPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/PingPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/PingPortAi.ref.xml deleted file mode 100644 index 17fa52e16..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/PingPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/PrmGetPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/PrmGetPortAi.ref.xml deleted file mode 100644 index 025e72b14..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/PrmGetPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/PrmSetPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/PrmSetPortAi.ref.xml deleted file mode 100644 index b05b2dec4..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/PrmSetPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/TTopologyAppAi.ref.xml deleted file mode 100644 index b952c1ba1..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CComponentAi.xml - ParametersComponentAi.xml - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/clean b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/pattern_param_list.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/pattern_param_list.fpp deleted file mode 100644 index 529ffdc6c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/pattern_param_list.fpp +++ /dev/null @@ -1,23 +0,0 @@ -module Fw { - port PrmGet - port PrmSet -} -module M { - passive component Parameters { - sync input port prmGetIn: Fw.PrmGet - sync input port prmSetIn: Fw.PrmSet - } - passive component C { - param get port prmGetOut - param set port prmSetOut - } - instance parameters: Parameters base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance parameters - instance c1 - instance c2 - param connections instance parameters { c1 } - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/pattern_param_list.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/pattern_param_list.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/run b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/run.sh deleted file mode 100644 index e2cb362ca..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_param_list() -{ - run_test "-p $PWD" pattern_param_list && \ - diff_xml PrmGetPort PrmSetPort ParametersComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/tests.sh deleted file mode 100644 index 9d513bccf..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_param_list -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/param_list/update-ref.sh deleted file mode 100644 index f62c23ecc..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/param_list/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_param_list() -{ - update "-p $PWD" pattern_param_list - move_xml PrmGetPort PrmSetPort ParametersComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/CComponentAi.ref.xml deleted file mode 100644 index 81d801371..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/CComponentAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - TimePortAi.xml - TlmPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TTopologyAppAi.ref.xml deleted file mode 100644 index cae432c15..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CComponentAi.xml - TelemetryComponentAi.xml - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TelemetryComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TelemetryComponentAi.ref.xml deleted file mode 100644 index 68c4a988c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TelemetryComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - TlmPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TimePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TimePortAi.ref.xml deleted file mode 100644 index b8e4ad60c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TimePortAi.ref.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Time.hpp - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TlmPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TlmPortAi.ref.xml deleted file mode 100644 index c6e3afdd1..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/TlmPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/clean b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/pattern_telemetry.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/pattern_telemetry.fpp deleted file mode 100644 index 25186068c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/pattern_telemetry.fpp +++ /dev/null @@ -1,23 +0,0 @@ -module Fw { - type Time - port Time($time: Fw.Time) - port Tlm -} -module M { - passive component Telemetry { - sync input port tlmIn: Fw.Tlm - } - passive component C { - time get port timeGetOut - telemetry port tlmOut - } - instance $telemetry: Telemetry base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance $telemetry - instance c1 - instance c2 - telemetry connections instance $telemetry - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/pattern_telemetry.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/pattern_telemetry.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/run b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/run.sh deleted file mode 100644 index 96b5f92c9..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_telemetry() -{ - run_test "-p $PWD" pattern_telemetry && \ - diff_xml TimePort TlmPort TelemetryComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/tests.sh deleted file mode 100644 index 5def0b178..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_telemetry -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/update-ref.sh deleted file mode 100644 index c102709a8..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_telemetry() -{ - update "-p $PWD" pattern_telemetry - move_xml TimePort TlmPort TelemetryComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/CComponentAi.ref.xml deleted file mode 100644 index 81d801371..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/CComponentAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - TimePortAi.xml - TlmPortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TTopologyAppAi.ref.xml deleted file mode 100644 index 6aa408bb5..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - CComponentAi.xml - TelemetryComponentAi.xml - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TelemetryComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TelemetryComponentAi.ref.xml deleted file mode 100644 index 68c4a988c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TelemetryComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - TlmPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TimePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TimePortAi.ref.xml deleted file mode 100644 index b8e4ad60c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TimePortAi.ref.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Time.hpp - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TlmPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TlmPortAi.ref.xml deleted file mode 100644 index c6e3afdd1..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/TlmPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/clean b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/pattern_telemetry_list.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/pattern_telemetry_list.fpp deleted file mode 100644 index 81d0e600a..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/pattern_telemetry_list.fpp +++ /dev/null @@ -1,23 +0,0 @@ -module Fw { - type Time - port Time($time: Fw.Time) - port Tlm -} -module M { - passive component Telemetry { - sync input port tlmIn: Fw.Tlm - } - passive component C { - time get port timeGetOut - telemetry port tlmOut - } - instance $telemetry: Telemetry base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance $telemetry - instance c1 - instance c2 - telemetry connections instance $telemetry { c1 } - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/pattern_telemetry_list.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/pattern_telemetry_list.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/run b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/run.sh deleted file mode 100644 index f74cd2a8e..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_telemetry_list() -{ - run_test "-p $PWD" pattern_telemetry_list && \ - diff_xml TimePort TlmPort TelemetryComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/tests.sh deleted file mode 100644 index c78a1a8b0..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_telemetry_list -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/update-ref.sh deleted file mode 100644 index aec0e1b97..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/telemetry_list/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_telemetry_list() -{ - update "-p $PWD" pattern_telemetry_list - move_xml TimePort TlmPort TelemetryComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/CComponentAi.ref.xml deleted file mode 100644 index 43d854776..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/CComponentAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - LogTextPortAi.xml - TimePortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/LogTextPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/LogTextPortAi.ref.xml deleted file mode 100644 index 97635152b..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/LogTextPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/TTopologyAppAi.ref.xml deleted file mode 100644 index 0876b1746..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CComponentAi.xml - TextEventsComponentAi.xml - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/TextEventsComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/TextEventsComponentAi.ref.xml deleted file mode 100644 index 6e572f6ab..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/TextEventsComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - LogTextPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/TimePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/TimePortAi.ref.xml deleted file mode 100644 index b8e4ad60c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/TimePortAi.ref.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Time.hpp - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/clean b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/pattern_text_event.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/pattern_text_event.fpp deleted file mode 100644 index f5a23c6b4..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/pattern_text_event.fpp +++ /dev/null @@ -1,23 +0,0 @@ -module Fw { - type Time - port Time($time: Fw.Time) - port LogText -} -module M { - passive component TextEvents { - sync input port textEventIn: Fw.LogText - } - passive component C { - time get port timeGetOut - text event port textEventOut - } - instance textEvents: TextEvents base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x200 - topology T { - instance textEvents - instance c1 - instance c2 - text event connections instance textEvents - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/pattern_text_event.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/pattern_text_event.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/run b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/run.sh deleted file mode 100644 index 12353ec16..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_text_event() -{ - run_test "-p $PWD" pattern_text_event && \ - diff_xml TimePort LogTextPort TextEventsComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/tests.sh deleted file mode 100644 index 55d5e3a41..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_text_event -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/text_event/update-ref.sh deleted file mode 100644 index cc6276815..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_text_event() -{ - update "-p $PWD" pattern_text_event - move_xml TimePort LogTextPort TextEventsComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/CComponentAi.ref.xml deleted file mode 100644 index 43d854776..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/CComponentAi.ref.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - LogTextPortAi.xml - TimePortAi.xml - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/LogTextPortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/LogTextPortAi.ref.xml deleted file mode 100644 index 97635152b..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/LogTextPortAi.ref.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/TTopologyAppAi.ref.xml deleted file mode 100644 index 24e4a3722..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - CComponentAi.xml - TextEventsComponentAi.xml - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/TextEventsComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/TextEventsComponentAi.ref.xml deleted file mode 100644 index 6e572f6ab..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/TextEventsComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - LogTextPortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/TimePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/TimePortAi.ref.xml deleted file mode 100644 index b8e4ad60c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/TimePortAi.ref.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Time.hpp - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/clean b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/pattern_text_event_list.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/pattern_text_event_list.fpp deleted file mode 100644 index e055dc8ba..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/pattern_text_event_list.fpp +++ /dev/null @@ -1,23 +0,0 @@ -module Fw { - type Time - port Time($time: Fw.Time) - port LogText -} -module M { - passive component TextEvents { - sync input port textEventIn: Fw.LogText - } - passive component C { - time get port timeGetOut - text event port textEventOut - } - instance textEvents: TextEvents base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x200 - topology T { - instance textEvents - instance c1 - instance c2 - text event connections instance textEvents { c1 } - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/pattern_text_event_list.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/pattern_text_event_list.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/run b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/run.sh deleted file mode 100644 index 117104e04..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_text_event_list() -{ - run_test "-p $PWD" pattern_text_event_list && \ - diff_xml TimePort LogTextPort TextEventsComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/tests.sh deleted file mode 100644 index 5dac094b4..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_text_event_list -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/update-ref.sh deleted file mode 100644 index 8aa11a72f..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/text_event_list/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_text_event_list() -{ - update "-p $PWD" pattern_text_event_list - move_xml TimePort LogTextPort TextEventsComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/time/CComponentAi.ref.xml deleted file mode 100644 index 4b3969419..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time/CComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - TimePortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/time/TTopologyAppAi.ref.xml deleted file mode 100644 index e558667d3..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CComponentAi.xml - TimeComponentAi.xml - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/TimeComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/time/TimeComponentAi.ref.xml deleted file mode 100644 index d4868ee20..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time/TimeComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - TimePortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/TimePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/time/TimePortAi.ref.xml deleted file mode 100644 index b8e4ad60c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time/TimePortAi.ref.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Time.hpp - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/time/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/clean b/compiler/tools/fpp-to-xml/test/top_pattern/time/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/pattern_time.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/time/pattern_time.fpp deleted file mode 100644 index 27dfcb33b..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time/pattern_time.fpp +++ /dev/null @@ -1,21 +0,0 @@ -module Fw { - type Time - port Time($time: Fw.Time) -} -module M { - passive component Time { - sync input port timeGetIn: Fw.Time - } - passive component C { - time get port timeGetOut - } - instance $time: Time base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance $time - instance c1 - instance c2 - time connections instance $time - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/pattern_time.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/time/pattern_time.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/run b/compiler/tools/fpp-to-xml/test/top_pattern/time/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/time/run.sh deleted file mode 100644 index 5d3a7a56d..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_time() -{ - run_test "-p $PWD" pattern_time && \ - diff_xml TimePort TimeComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/time/tests.sh deleted file mode 100644 index 4406e258b..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_time -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/time/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/time/update-ref.sh deleted file mode 100644 index fecac257e..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_time() -{ - update "-p $PWD" pattern_time - move_xml TimePort TimeComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/CComponentAi.ref.xml deleted file mode 100644 index 4b3969419..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/CComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - TimePortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/TTopologyAppAi.ref.xml deleted file mode 100644 index e558667d3..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CComponentAi.xml - TimeComponentAi.xml - - - - - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/TimeComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/TimeComponentAi.ref.xml deleted file mode 100644 index d4868ee20..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/TimeComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - TimePortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/TimePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/TimePortAi.ref.xml deleted file mode 100644 index b8e4ad60c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/TimePortAi.ref.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Time.hpp - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/clean b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/pattern_time_existing.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/pattern_time_existing.fpp deleted file mode 100644 index bfdd21ed7..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/pattern_time_existing.fpp +++ /dev/null @@ -1,24 +0,0 @@ -module Fw { - type Time - port Time($time: Fw.Time) -} -module M { - passive component Time { - sync input port timeGetIn: Fw.Time - } - passive component C { - time get port timeGetOut - } - instance $time: Time base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance $time - instance c1 - instance c2 - time connections instance $time - connections Time { - c1.timeGetOut -> $time.timeGetIn - } - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/pattern_time_existing.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/pattern_time_existing.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/run b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/run.sh deleted file mode 100644 index b9502fcd5..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_time_existing() -{ - run_test "-p $PWD" pattern_time_existing && \ - diff_xml TimePort TimeComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/tests.sh deleted file mode 100644 index 0069b2939..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_time_existing -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/update-ref.sh deleted file mode 100644 index 1eedc3b8b..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_existing/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_time_existing() -{ - update "-p $PWD" pattern_time_existing - move_xml TimePort TimeComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/CComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/CComponentAi.ref.xml deleted file mode 100644 index 4b3969419..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/CComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - TimePortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/TTopologyAppAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/TTopologyAppAi.ref.xml deleted file mode 100644 index dc733118e..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/TTopologyAppAi.ref.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - CComponentAi.xml - TimeComponentAi.xml - - - - - - - - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/TimeComponentAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/TimeComponentAi.ref.xml deleted file mode 100644 index d4868ee20..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/TimeComponentAi.ref.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - TimePortAi.xml - - - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/TimePortAi.ref.xml b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/TimePortAi.ref.xml deleted file mode 100644 index b8e4ad60c..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/TimePortAi.ref.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Time.hpp - - - - diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/check-xml b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/check-xml deleted file mode 100755 index 50af24b01..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/check-xml +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=$PWD/../../../../.. - -sh ../../scripts/check-xml.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/clean b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/clean deleted file mode 100755 index 8d322fe40..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/clean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/clean.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/pattern_time_list.fpp b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/pattern_time_list.fpp deleted file mode 100644 index 83f5061fc..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/pattern_time_list.fpp +++ /dev/null @@ -1,21 +0,0 @@ -module Fw { - type Time - port Time($time: Fw.Time) -} -module M { - passive component Time { - sync input port timeGetIn: Fw.Time - } - passive component C { - time get port timeGetOut - } - instance $time: Time base id 0x100 - instance c1: C base id 0x200 - instance c2: C base id 0x300 - topology T { - instance $time - instance c1 - instance c2 - time connections instance $time { c1 } - } -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/pattern_time_list.ref.txt b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/pattern_time_list.ref.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/run b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/run deleted file mode 100755 index 6bcb2b473..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/run.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/run.sh b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/run.sh deleted file mode 100644 index f0f3985ad..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/run.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_time_list() -{ - run_test "-p $PWD" pattern_time_list && \ - diff_xml TimePort TimeComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/tests.sh b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/tests.sh deleted file mode 100644 index 066ef0630..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -tests=" -pattern_time_list -" diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/update-ref b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/update-ref deleted file mode 100755 index 2889a0733..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/update-ref +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export COMPILER_ROOT=../../../../.. - -sh ../../scripts/update-ref.sh diff --git a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/update-ref.sh b/compiler/tools/fpp-to-xml/test/top_pattern/time_list/update-ref.sh deleted file mode 100644 index f5afd0d37..000000000 --- a/compiler/tools/fpp-to-xml/test/top_pattern/time_list/update-ref.sh +++ /dev/null @@ -1,5 +0,0 @@ -pattern_time_list() -{ - update "-p $PWD" pattern_time_list - move_xml TimePort TimeComponent CComponent TTopologyApp -} diff --git a/compiler/tools/fpp-to-xml/test/update-ref b/compiler/tools/fpp-to-xml/test/update-ref deleted file mode 100755 index 5bfaedc59..000000000 --- a/compiler/tools/fpp-to-xml/test/update-ref +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -e - -for file in `find . -mindepth 2 -name update-ref` -do - dir=`dirname $file` - echo "[ $dir ]" - base=`basename $file` - (cd $dir; ./$base) -done diff --git a/compiler/tools/fpp/src/main/scala/fpp-from-xml.scala b/compiler/tools/fpp/src/main/scala/fpp-from-xml.scala deleted file mode 100644 index af8984454..000000000 --- a/compiler/tools/fpp/src/main/scala/fpp-from-xml.scala +++ /dev/null @@ -1,53 +0,0 @@ -package fpp.compiler.tools - -import fpp.compiler.codegen._ -import fpp.compiler.util._ -import scopt.OParser - -object FPPFromXml { - - case class Options( - files: List[File] = Nil, - ) - - def command(options: Options): Result.Result[Unit] = { - for { - xmlFiles <- Result.map(options.files, parseXmlFile) - lines <- XmlFppWriter.writeFileList(xmlFiles) - } - yield lines.map(Line.write(Line.stdout) _) - } - - def parseXmlFile(file: File): Result.Result[XmlFppWriter.File] = { - for { - elem <- try { - Right(scala.xml.XML.loadFile(file.toString)) - } - catch { - case e: Exception => Left(XmlError.ParseError(file.toString, e.toString)) - } - } - yield XmlFppWriter.File(file.toString, elem) - } - - def toolMain(args: Array[String]) = - Tool(name).mainMethod(args, oparser, Options(), command) - - val builder = OParser.builder[Options] - - val name = "fpp-from-xml" - - val oparser = { - import builder._ - OParser.sequence( - programName(name), - head(name, Version.v), - help('h', "help").text("print this message and exit"), - arg[String]("file ...") - .unbounded() - .action((f, c) => c.copy(files = File.fromString(f) :: c.files)) - .text("files to translate"), - ) - } - -} diff --git a/compiler/tools/fpp/src/main/scala/fpp-to-xml.scala b/compiler/tools/fpp/src/main/scala/fpp-to-xml.scala deleted file mode 100644 index 0e8506337..000000000 --- a/compiler/tools/fpp/src/main/scala/fpp-to-xml.scala +++ /dev/null @@ -1,108 +0,0 @@ -package fpp.compiler.tools - -import fpp.compiler.analysis._ -import fpp.compiler.ast._ -import fpp.compiler.codegen._ -import fpp.compiler.syntax._ -import fpp.compiler.transform._ -import fpp.compiler.util._ -import scopt.OParser - -object FPPToXml { - - case class Options( - dir: Option[String] = None, - files: List[File] = Nil, - imports: List[File] = Nil, - names: Option[String] = None, - prefixes: List[String] = Nil, - defaultStringSize: Int = XmlWriterState.defaultDefaultStringSize, - ) - - def command(options: Options) = { - val files = options.files.reverse match { - case Nil => List(File.StdIn) - case list => list - } - val a = Analysis(inputFileSet = options.files.toSet) - for { - tulFiles <- Result.map(files, Parser.parseFile (Parser.transUnit) (None) _) - aTulFiles <- ResolveSpecInclude.transformList( - a, - tulFiles, - ResolveSpecInclude.transUnit - ) - tulFiles <- Right(aTulFiles._2) - tulImports <- Result.map(options.imports, Parser.parseFile (Parser.transUnit) (None) _) - a <- CheckSemantics.tuList(a, tulFiles ++ tulImports) - s <- { - val dir = options.dir match { - case Some(dir1) => dir1 - case None => "." - } - ComputeXmlFiles.visitList( - XmlWriterState(a, dir, options.prefixes, options.defaultStringSize), - tulFiles, - ComputeXmlFiles.transUnit - ) - } - _ <- options.names match { - case Some(fileName) => writeXmlFileNames(s.locationMap.toList.map(_._1), fileName) - case None => Right(()) - } - _ <- XmlWriter.visitList(s, tulFiles, XmlWriter.transUnit) - } yield () - } - - def writeXmlFileNames(xmlFiles: List[String], fileName: String) = { - val file = File.fromString(fileName) - for { writer <- file.openWrite() - } yield { - xmlFiles.sorted.map(writer.println(_)) - writer.close() - } - } - - def toolMain(args: Array[String]) = - Tool(name).mainMethod(args, oparser, Options(), command) - - val builder = OParser.builder[Options] - - val name = "fpp-to-xml" - - val oparser = { - import builder._ - OParser.sequence( - programName(name), - head(name, Version.v), - help('h', "help").text("print this message and exit"), - opt[String]('d', "directory") - .valueName("") - .action((d, c) => c.copy(dir = Some(d))) - .text("output directory"), - opt[Seq[String]]('i', "imports") - .valueName(",...") - .action((i, c) => c.copy(imports = i.toList.map(File.fromString(_)))) - .text("files to import"), - opt[String]('n', "names") - .valueName("") - .action((n, c) => c.copy(names = Some(n))) - .text("write names of generated files to "), - opt[Seq[String]]('p', "path-prefixes") - .valueName(",...") - .action((p, c) => c.copy(prefixes = p.toList)) - .text("prefixes to delete from generated file paths"), - opt[Int]('s', "size") - .valueName("") - .validate(s => if (s > 0) success else failure("size must be greater than zero")) - .action((s, c) => c.copy(defaultStringSize = s)) - .text("default string size"), - arg[String]("file ...") - .unbounded() - .optional() - .action((f, c) => c.copy(files = File.fromString(f) :: c.files)) - .text("files to translate"), - ) - } - -} diff --git a/compiler/tools/fpp/src/main/scala/fpp.scala b/compiler/tools/fpp/src/main/scala/fpp.scala index 62e979024..6bf2fc0cd 100644 --- a/compiler/tools/fpp/src/main/scala/fpp.scala +++ b/compiler/tools/fpp/src/main/scala/fpp.scala @@ -15,7 +15,6 @@ object FPP { case "depend" => FPPDepend.toolMain(options.args) case "filenames" => FPPFilenames.toolMain(options.args) case "format" => FPPFormat.toolMain(options.args) - case "from-xml" => FPPFromXml.toolMain(options.args) case "locate-defs" => FPPLocateDefs.toolMain(options.args) case "locate-uses" => FPPLocateUses.toolMain(options.args) case "syntax" => FPPSyntax.toolMain(options.args) @@ -23,7 +22,6 @@ object FPP { case "to-dict" => FPPToDict.toolMain(options.args) case "to-json" => FPPtoJson.toolMain(options.args) case "to-layout" => FPPToLayout.toolMain(options.args) - case "to-xml" => FPPToXml.toolMain(options.args) } Right(None) @@ -61,7 +59,6 @@ check performs semantic checking of FPP models depend computes dependencies for FPP source files filenames writes out the names of C++ files generated from FPP source files format parses FPP source files and writes out formatted source files -from-xml parses older F Prime XML files and converts them to FPP files locate-defs parses FPP source files and reports the locations of symbol definitions locate-uses parses FPP source files and reports the locations of symbols used in the files syntax parses FPP source files into an abstract syntax tree (AST) and optionally writes out the AST @@ -77,9 +74,9 @@ to-layout writes layout text files for connection graphs within F Prime topolo .action((f, c) => c.copy(command = f)) .validate(c => c match { - case "check" | "depend" | "filenames" | "format" | "from-xml" | + case "check" | "depend" | "filenames" | "format" | "locate-defs" | "locate-uses" | "syntax" | - "to-cpp" | "to-dict" | "to-json" | "to-layout" | "to-xml" => + "to-cpp" | "to-dict" | "to-json" | "to-layout" => Right(None) case _ => Left(s"invalid fpp command '$c'") } From 3f316ee37d6e01bcb9056d0361b8e88ba96dc507 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 13:14:03 -0700 Subject: [PATCH 005/110] Put back from-xml --- compiler/install | 1 + .../XmlFppWriter/ArrayXmlFppWriter.scala | 79 +++ .../XmlFppWriter/ComponentXmlFppWriter.scala | 531 ++++++++++++++++++ .../XmlFppWriter/EnumXmlFppWriter.scala | 88 +++ .../FormalParamsXmlFppWriter.scala | 72 +++ .../XmlFppWriter/PortXmlFppWriter.scala | 62 ++ .../XmlFppWriter/StructXmlFppWriter.scala | 106 ++++ .../XmlFppWriter/TlmPacketSetXmlWriter.scala | 121 ++++ .../XmlFppWriter/TopologyXmlFppWriter.scala | 186 ++++++ .../codegen/XmlFppWriter/XmlFppWriter.scala | 435 ++++++++++++++ .../fpp/src/main/scala/fpp-from-xml.scala | 53 ++ compiler/tools/fpp/src/main/scala/fpp.scala | 4 +- 12 files changed, 1737 insertions(+), 1 deletion(-) create mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/ArrayXmlFppWriter.scala create mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/ComponentXmlFppWriter.scala create mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/EnumXmlFppWriter.scala create mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/FormalParamsXmlFppWriter.scala create mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/PortXmlFppWriter.scala create mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/StructXmlFppWriter.scala create mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/TlmPacketSetXmlWriter.scala create mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/TopologyXmlFppWriter.scala create mode 100644 compiler/lib/src/main/scala/codegen/XmlFppWriter/XmlFppWriter.scala create mode 100644 compiler/tools/fpp/src/main/scala/fpp-from-xml.scala diff --git a/compiler/install b/compiler/install index f7b668826..30b9937e0 100755 --- a/compiler/install +++ b/compiler/install @@ -56,6 +56,7 @@ check depend filenames format +from-xml locate-defs locate-uses syntax diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/ArrayXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/ArrayXmlFppWriter.scala new file mode 100644 index 000000000..37d7e3145 --- /dev/null +++ b/compiler/lib/src/main/scala/codegen/XmlFppWriter/ArrayXmlFppWriter.scala @@ -0,0 +1,79 @@ +package fpp.compiler.codegen + +import fpp.compiler.ast._ +import fpp.compiler.analysis +import fpp.compiler.codegen._ +import fpp.compiler.util._ +import scala.xml.Node + +/** Writes out an F Prime XML array as FPP source */ +object ArrayXmlFppWriter extends LineUtils { + + def writeFile(file: XmlFppWriter.File): XmlFppWriter.Result = + for (tuMember <- FppBuilder.tuMember(file)) + yield FppWriter.tuMember(tuMember) + + private object FppBuilder { + + /** Translates an XML type to an FPP type name */ + def translateType(file: XmlFppWriter.File): Node => Result.Result[Ast.TypeName] = file.translateType(node => Right(node.text)) _ + + /** Translates a block of default values from FPP to XML */ + def translateDefaults(node: scala.xml.Node, tn: Ast.TypeName): (Option[AstNode[Ast.Expr]], List[String]) = { + val xmlElements = node \ "value" + val arrayNodeOpt = for { + elementNodes <- Options.map( + xmlElements.toList, + ((node: scala.xml.Node) => XmlFppWriter.FppBuilder.translateValue(node.text, tn)) + ) + } yield AstNode.create(Ast.ExprArray(elementNodes)) + val note = arrayNodeOpt match { + case None => + val xmlArray = "[ " ++ xmlElements.map(_.text).mkString(", ") ++ " ]" + val s = "could not translate array value " ++ xmlArray + List(XmlFppWriter.constructNote(s)) + case _ => Nil + } + (arrayNodeOpt, note) + } + + /** Extracts array definitions from struct members */ + def defArrayAnnotated(file: XmlFppWriter.File): + Result.Result[Ast.Annotated[Ast.DefArray]] = + for { + name <- file.getAttribute(file.elem, "name") + comment <- file.getComment(file.elem) + xmlSize <- file.getSingleChild(file.elem, "size") + xmlEltType <- file.getSingleChild(file.elem, "type") + eltType <- translateType(file)(xmlEltType) + xmlDefault <- file.getSingleChild(file.elem, "default") + xmlFormat <- file.getSingleChild(file.elem, "format") + } + yield { + val (fppDefaultsOpt, note1) = translateDefaults(xmlDefault, eltType) + val (fppFormatOpt, note2) = + XmlFppWriter.FppBuilder.translateFormatOpt(Some(xmlFormat.text)) + val note = note1 ++ note2 + val node = Ast.DefArray( + name, + AstNode.create(Ast.ExprLiteralInt(xmlSize.text)), + AstNode.create(eltType), + fppDefaultsOpt, + fppFormatOpt.map(AstNode.create(_)) + ) + (note ++ comment, node, Nil) + } + + /** Generates the TU member */ + def tuMember(file: XmlFppWriter.File): Result.Result[Ast.TUMember] = + for (array <- defArrayAnnotated(file)) + yield XmlFppWriter.tuMember( + array, + Ast.TUMember.DefArray.apply, + Ast.ModuleMember.DefArray.apply, + file + ) + + } + +} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/ComponentXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/ComponentXmlFppWriter.scala new file mode 100644 index 000000000..386df1414 --- /dev/null +++ b/compiler/lib/src/main/scala/codegen/XmlFppWriter/ComponentXmlFppWriter.scala @@ -0,0 +1,531 @@ +package fpp.compiler.codegen + +import fpp.compiler.ast._ +import fpp.compiler.codegen._ +import fpp.compiler.util._ +import scala.xml.Node + +/** Writes out an F Prime XML component as FPP source */ +object ComponentXmlFppWriter extends LineUtils { + + /** Writes a component file */ + def writeComponentFile(file: XmlFppWriter.File): XmlFppWriter.Result = + for (tuMember <- FppBuilder.tuMember(file)) + yield FppWriter.tuMember(tuMember) + + /** Writes an imported file */ + private def writeImportedFile + (memberGenerator: FppBuilder.MemberGenerator) + (file: XmlFppWriter.File): XmlFppWriter.Result = + for (members <- FppBuilder.mapChildren(file, memberGenerator)) + yield Line.blankSeparated (FppWriter.componentMember) (members) + + /** Writes a commands file */ + val writeCommandsFile: XmlFppWriter.File => XmlFppWriter.Result = writeImportedFile(FppBuilder.MemberGenerator.Command) _ + + /** Writes a params file */ + val writeParamsFile: XmlFppWriter.File => XmlFppWriter.Result = writeImportedFile(FppBuilder.MemberGenerator.Param) _ + + /** Writes a ports file */ + val writePortsFile: XmlFppWriter.File => XmlFppWriter.Result = writeImportedFile(FppBuilder.MemberGenerator.Port) _ + + /** Writes a tlm channels file */ + val writeTlmChannelsFile: XmlFppWriter.File => XmlFppWriter.Result = writeImportedFile(FppBuilder.MemberGenerator.TlmChannel) _ + + /** Writes an events file */ + val writeEventsFile: XmlFppWriter.File => XmlFppWriter.Result = writeImportedFile(FppBuilder.MemberGenerator.Event) _ + + /** Writes an internal ports file */ + val writeInternalPortsFile: XmlFppWriter.File => XmlFppWriter.Result = writeImportedFile(FppBuilder.MemberGenerator.InternalPort) _ + + /** Builds FPP for translating Component XML */ + private object FppBuilder { + + /** Generates the TU member */ + def tuMember(file: XmlFppWriter.File): Result.Result[Ast.TUMember] = + for { + component <- defComponentAnnotated(file) + } + yield XmlFppWriter.tuMember( + component, + Ast.TUMember.DefComponent.apply, + Ast.ModuleMember.DefComponent.apply, + file + ) + + /** Component member generator */ + trait MemberGenerator { + + val xmlName: String + + /** Generates a member node */ + def generateMemberNode(file: XmlFppWriter.File, node: scala.xml.Node): + Result.Result[Ast.Annotated[Ast.ComponentMember.Node]] = + Left(file.semanticError(s"$xmlName not implemented")) + + /** Generates a list of member nodes */ + def generateMemberNodes(file: XmlFppWriter.File, node: scala.xml.Node): + Result.Result[List[Ast.Annotated[Ast.ComponentMember.Node]]] = + for (node <- generateMemberNode(file, node)) + yield List(node) + + /** Generates a list of members */ + final def generateMembers(file: XmlFppWriter.File, node: scala.xml.Node): Result.Result[List[Ast.ComponentMember]] = + generateMemberNodes(file, node) match { + case Left(error) => Left(error) + case Right(aNodes) => Right(aNodes.map(Ast.ComponentMember(_))) + } + + } + + /** Constructs an enum component member */ + def constructEnumMember(enumAnnotated: Ast.Annotated[Ast.DefEnum]): + Ast.Annotated[Ast.ComponentMember.DefEnum] = { + val (pre, e, post) = enumAnnotated + (pre, Ast.ComponentMember.DefEnum(AstNode.create(e)), post) + } + + /** Extracts enum definitions in argument types */ + def translateArgEnums(file: XmlFppWriter.File, xmlNode: scala.xml.Node): + Result.Result[List[Ast.Annotated[Ast.ComponentMember.DefEnum]]] = + for (enums <- FormalParamsXmlFppWriter.defEnumAnnotatedList(file, xmlNode)) + yield enums.map(constructEnumMember) + + /** Translates an optional queue full attribute */ + def translateQueueFullOpt(file: XmlFppWriter.File, xmlNode: scala.xml.Node): + Result.Result[Option[Ast.QueueFull]] = { + val xmlQueueFullOpt = XmlFppWriter.getAttributeOpt(xmlNode, "full") + xmlQueueFullOpt match { + case Some("assert") => Right(Some(Ast.QueueFull.Assert)) + case Some("block") => Right(Some(Ast.QueueFull.Block)) + case Some("drop") => Right(Some(Ast.QueueFull.Drop)) + case Some(xmlQueueFull) => + Left(file.semanticError(s"invalid queue full behavior $xmlQueueFull")) + case None => Right(None) + } + } + + /** Translates an optional queue full attribute as an AST node */ + def translateQueueFullNodeOpt(file: XmlFppWriter.File, xmlNode: scala.xml.Node): + Result.Result[Option[AstNode[Ast.QueueFull]]] = + for (qfo <- translateQueueFullOpt(file, xmlNode)) + yield qfo.map(AstNode.create(_)) + + /** Translates an XML type to an FPP type name */ + def translateType(file: XmlFppWriter.File): Node => Result.Result[Ast.TypeName] = + file.translateType(node => file.getAttribute(node, "data_type")) _ + + case object MemberGenerator { + + case object Include extends MemberGenerator { + + val xmlName = "import_dictionary" + + override def generateMemberNode(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = + for { + child <- file.getUniqueChild(xmlNode) + } + yield { + val path = child.toString + val fppPath = path.replaceAll("\\.xml$", ".fppi") + val fileName = fppPath.split("/").toList.reverse.head + val fileNameNode = AstNode.create(fileName) + val specIncludeNode = AstNode.create(Ast.SpecInclude(fileNameNode)) + val memberNode = Ast.ComponentMember.SpecInclude(specIncludeNode) + val annotation = if (fileName == fppPath) Nil else { + val s = s"original path was $path" + List(XmlFppWriter.constructNote(s)) + } + (annotation, memberNode, Nil) + } + + } + + case object Port extends MemberGenerator { + + val xmlName = "port" + + def general(file: XmlFppWriter.File, xmlNode: scala.xml.Node): Result.Result[Ast.SpecPortInstance.General] = { + import Ast.SpecPortInstance._ + for { + xmlKind <- file.getAttribute(xmlNode, "kind") + kind <- xmlKind match { + case "async_input" => Right(AsyncInput) + case "guarded_input" => Right(GuardedInput) + case "output" => Right(Output) + case "sync_input" => Right(SyncInput) + case _ => Left(file.semanticError(s"invalid port kind $xmlKind")) + } + name <- file.getAttribute(xmlNode, "name") + xmlPort <- file.getAttribute(xmlNode, "data_type") + queueFull <- translateQueueFullOpt(file, xmlNode) + } + yield { + val size = XmlFppWriter.getAttributeOpt(xmlNode, "max_number").map( + text => AstNode.create(Ast.ExprLiteralInt(text)) + ) + val port = xmlPort match { + case "Serial" => None + case _ => Some(XmlFppWriter.FppBuilder.translateQualIdent(xmlPort)) + } + val priority = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "priority") + General(kind, name, size, port, priority, queueFull.map(AstNode.create(_))) + } + } + + def special(file: XmlFppWriter.File, xmlNode: scala.xml.Node, role: String): + Result.Result[Ast.SpecPortInstance.Special] = { + import Ast.SpecPortInstance._ + for { + kind <- role match { + case "Cmd" => Right(CommandRecv) + case "CmdRegistration" => Right(CommandReg) + case "CmdResponse" => Right(CommandResp) + case "LogEvent" => Right(Ast.SpecPortInstance.Event) + case "ParamGet" => Right(ParamGet) + case "ParamSet" => Right(ParamSet) + case "Telemetry" => Right(Telemetry) + case "LogTextEvent" => Right(TextEvent) + case "TimeGet" => Right(TimeGet) + case _ => Left(file.semanticError(s"invalid role $role")) + } + name <- file.getAttribute(xmlNode, "name") + } + yield Special(None, kind, name, None, None) + } + + override def generateMemberNode(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = { + for { + comment <- file.getComment(xmlNode) + member <- XmlFppWriter.getAttributeOpt(xmlNode, "role") match { + case Some(role) => special(file, xmlNode, role) + case None => general(file, xmlNode) + } + } + yield { + val node = AstNode.create(member) + val memberNode = Ast.ComponentMember.SpecPortInstance(node) + (comment, memberNode, Nil) + } + } + + } + + case object InternalPort extends MemberGenerator { + + val xmlName = "internal_interface" + + override def generateMemberNodes(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = + for { + annotatedEnumMemberNodes <- translateArgEnums(file, xmlNode) + comment <- file.getComment(xmlNode) + name <- file.getAttribute(xmlNode, "name") + params <- FormalParamsXmlFppWriter.formalParamList(file, xmlNode) + queueFull <- translateQueueFullOpt(file, xmlNode) + } + yield { + val annotatedPortMemberNode = { + val priority = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "priority") + val internalPort = Ast.SpecInternalPort(name, params, priority, queueFull) + val node = AstNode.create(internalPort) + val memberNode = Ast.ComponentMember.SpecInternalPort(node) + (comment, memberNode, Nil) + } + annotatedEnumMemberNodes :+ annotatedPortMemberNode + } + + } + + case object Command extends MemberGenerator { + + val xmlName = "command" + + override def generateMemberNodes(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = + for { + xmlKind <- file.getAttribute(xmlNode, "kind") + kind <- xmlKind match { + case "async" => Right(Ast.SpecCommand.Async) + case "guarded" => Right(Ast.SpecCommand.Guarded) + case "sync" => Right(Ast.SpecCommand.Sync) + case _ => Left(file.semanticError(s"invalid command kind $xmlKind")) + } + annotatedEnumMemberNodes <- translateArgEnums(file, xmlNode) + comment <- file.getComment(xmlNode) + name <- file.getAttribute(xmlNode, "mnemonic") + params <- FormalParamsXmlFppWriter.formalParamList(file, xmlNode) + queueFull <- translateQueueFullNodeOpt(file, xmlNode) + } + yield { + val annotatedCommandMemberNode = { + val priority = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "priority") + val opcode = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "opcode") + val command = Ast.SpecCommand( + kind, + name, + params, + opcode, + priority, + queueFull + ) + val node = AstNode.create(command) + val memberNode = Ast.ComponentMember.SpecCommand(node) + (comment, memberNode, Nil) + } + annotatedEnumMemberNodes :+ annotatedCommandMemberNode + } + + } + + case object Event extends MemberGenerator { + + val xmlName = "event" + + override def generateMemberNodes(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = + for { + annotatedEnumMemberNodes <- translateArgEnums(file, xmlNode) + comment <- file.getComment(xmlNode) + name <- file.getAttribute(xmlNode, "name") + params <- FormalParamsXmlFppWriter.formalParamList(file, xmlNode) + xmlSeverity <- file.getAttribute(xmlNode, "severity") + severity <- xmlSeverity match { + case "ACTIVITY_HI" => Right(Ast.SpecEvent.ActivityHigh) + case "ACTIVITY_LO" => Right(Ast.SpecEvent.ActivityLow) + case "COMMAND" => Right(Ast.SpecEvent.Command) + case "DIAGNOSTIC" => Right(Ast.SpecEvent.Diagnostic) + case "FATAL" => Right(Ast.SpecEvent.Fatal) + case "WARNING_HI" => Right(Ast.SpecEvent.WarningHigh) + case "WARNING_LO" => Right(Ast.SpecEvent.WarningLow) + case _ => Left(file.semanticError(s"invalid severity $xmlSeverity")) + } + xmlFormat <- file.getAttribute(xmlNode, "format_string") + } + yield { + val annotatedEventMemberNode = { + val id = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "id") + val (formatOpt, note) = + XmlFppWriter.FppBuilder.translateFormatOpt(Some(xmlFormat)) + val format = formatOpt match { + case Some(format) => format + case None => "{}" + } + val throttle = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "throttle") + val event = Ast.SpecEvent( + name, + params, + severity, + id, + AstNode.create(format), + throttle + ) + val node = AstNode.create(event) + val memberNode = Ast.ComponentMember.SpecEvent(node) + (note ++ comment, memberNode, Nil) + } + annotatedEnumMemberNodes :+ annotatedEventMemberNode + } + + } + + case object Param extends MemberGenerator { + + val xmlName = "parameter" + + override def generateMemberNodes(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = { + for { + enumAnnotatedOpt <- XmlFppWriter.FppBuilder.InlineEnumBuilder.defEnumAnnotatedOpt(file)(xmlNode) + comment <- file.getComment(xmlNode) + name <- file.getAttribute(xmlNode, "name") + typeName <- translateType(file)(xmlNode) + } + yield { + val id = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "id") + val xmlDefaultOpt = XmlFppWriter.getAttributeOpt(xmlNode, "default") + val defaultOpt = xmlDefaultOpt.flatMap( + s => XmlFppWriter.FppBuilder.translateValue(s, typeName) + ) + val defaultNote = (xmlDefaultOpt, defaultOpt) match { + case (Some(xmlDefault), None) => + val s = s"could not translate default value $xmlDefault" + List(XmlFppWriter.constructNote(s)) + case _ => Nil + } + val setOpcode = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "set_opcode") + val saveOpcode = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "save_opcode") + val isExternal = XmlFppWriter.getAttributeOpt(xmlNode, "external").isDefined + + val paramMemberNode = { + val param = Ast.SpecParam( + name, + AstNode.create(typeName), + defaultOpt, + id, + setOpcode, + saveOpcode, + isExternal + ) + val node = AstNode.create(param) + val memberNode = Ast.ComponentMember.SpecParam(node) + (defaultNote ++ comment, memberNode, Nil) + } + enumAnnotatedOpt match { + case Some(enumAnnotated) => + val enumMemberNode = constructEnumMember(enumAnnotated) + List(enumMemberNode, paramMemberNode) + case None => List(paramMemberNode) + } + } + } + + } + + case object TlmChannel extends MemberGenerator { + + val xmlName = "channel" + + override def generateMemberNodes(file: XmlFppWriter.File, xmlNode: scala.xml.Node) = { + type Limits = List[Ast.SpecTlmChannel.Limit] + def translateLimits( + direction: String, + typeName: Ast.TypeName, + channel: String + ): Result.Result[Limits] = { + import Ast.SpecTlmChannel._ + val pairs = List( + (Red, "red"), + (Orange, "orange"), + (Yellow, "yellow") + ).map(pair => { + val (kind, name) = pair + val xmlName = s"${direction}_$name" + XmlFppWriter.getAttributeOpt(xmlNode, xmlName).map((kind, _)) + }).filter(_.isDefined).map(_.get) + Result.foldLeft (pairs) (Nil: Limits) ((result, pair) => { + val (kind, xmlValue) = pair + XmlFppWriter.FppBuilder.translateValue(xmlValue, typeName) match { + case Some(exprNode) => + val kindNode = AstNode.create(kind) + Right(result :+ (kindNode, exprNode)) + case None => + Left(file.semanticError(s"non-numeric type in limit for channel $channel")) + } + }) + } + for { + enumAnnotatedOpt <- XmlFppWriter.FppBuilder.InlineEnumBuilder.defEnumAnnotatedOpt(file)(xmlNode) + name <- file.getAttribute(xmlNode, "name") + comment <- file.getComment(xmlNode) + typeName <- translateType(file)(xmlNode) + update <- XmlFppWriter.getAttributeOpt(xmlNode, "update") match { + case None => Right(None) + case Some("always") => Right(Some(Ast.SpecTlmChannel.Always)) + case Some("on_change") => Right(Some(Ast.SpecTlmChannel.OnChange)) + case Some(xmlUpdate) => Left(file.semanticError(s"invalid update specifier $xmlUpdate")) + } + lowLimits <- translateLimits("low", typeName, name) + highLimits <- translateLimits("high", typeName, name) + } + yield { + val id = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "id") + val xmlFormat = XmlFppWriter.getAttributeOpt(xmlNode, "format_string") + val (format, formatNote) = + XmlFppWriter.FppBuilder.translateFormatOpt(xmlFormat) + val channel = Ast.SpecTlmChannel( + name, + AstNode.create(typeName), + id, + update, + format.map(AstNode.create(_)), + lowLimits, + highLimits + ) + val node = AstNode.create(channel) + val memberNode = Ast.ComponentMember.SpecTlmChannel(node) + val tlmChannelMemberNode = (formatNote ++ comment, memberNode, Nil) + enumAnnotatedOpt match { + case Some(enumAnnotated) => + val enumMemberNode = constructEnumMember(enumAnnotated) + List(enumMemberNode, tlmChannelMemberNode) + case None => List(tlmChannelMemberNode) + } + } + } + + } + + } + + /** Member list result */ + type MemListRes = Result.Result[List[Ast.ComponentMember]] + + /** Member list list result */ + type MemListListRes = Result.Result[List[List[Ast.ComponentMember]]] + + /** Maps a node generator onto children at the top level */ + def mapChildren(file: XmlFppWriter.File, memberGenerator: MemberGenerator): MemListRes = + mapChildrenOfNodeOpt(file, Some(file.elem), memberGenerator) + + /** Maps a node generator onto the children of an XML node */ + def mapChildrenOfNodeOpt( + file: XmlFppWriter.File, + nodeOpt: Option[scala.xml.Node], + memberGenerator: MemberGenerator + ): MemListRes = + for { + list <- nodeOpt.fold(Right(Nil): MemListListRes)(node => { + val children = node \ memberGenerator.xmlName + Result.map(children.toList, memberGenerator.generateMembers(file, _)) + }) + } yield list.flatten + + /** Extracts component members */ + def componentMemberList(file: XmlFppWriter.File): + Result.Result[List[Ast.ComponentMember]] = { + def mapChildrenOfName(args: (String, MemberGenerator)): MemListRes = { + val (name, memberGenerator) = args + for { + nodeOpt <- file.getSingleChildOpt(file.elem, name) + result <- mapChildrenOfNodeOpt(file, nodeOpt, memberGenerator) + } yield result + } + for { + includes <- mapChildren(file, MemberGenerator.Include) + lists <- Result.map( + List( + ("ports", MemberGenerator.Port), + ("internal_interfaces", MemberGenerator.InternalPort), + ("commands", MemberGenerator.Command), + ("events", MemberGenerator.Event), + ("parameters", MemberGenerator.Param), + ("telemetry", MemberGenerator.TlmChannel) + ), + mapChildrenOfName _ + ) + } + yield (includes :: lists).flatten + } + + /** Translates a component kind */ + def translateKind(file: XmlFppWriter.File, xmlKind: String): + Result.Result[Ast.ComponentKind] = + xmlKind match { + case "active" => Right(Ast.ComponentKind.Active) + case "passive" => Right(Ast.ComponentKind.Passive) + case "queued" => Right(Ast.ComponentKind.Queued) + case _ => Left(file.semanticError(s"invalid component kind $xmlKind")) + } + + /** Translates the component */ + def defComponentAnnotated(file: XmlFppWriter.File): + Result.Result[Ast.Annotated[Ast.DefComponent]] = + for { + comment <- file.getComment(file.elem) + xmlKind <- file.getAttribute(file.elem, "kind") + kind <- translateKind(file, xmlKind) + name <- file.getAttribute(file.elem, "name") + members <- componentMemberList(file) + } + yield (comment, Ast.DefComponent(kind, name, members), Nil) + + } + +} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/EnumXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/EnumXmlFppWriter.scala new file mode 100644 index 000000000..7d6be240c --- /dev/null +++ b/compiler/lib/src/main/scala/codegen/XmlFppWriter/EnumXmlFppWriter.scala @@ -0,0 +1,88 @@ +package fpp.compiler.codegen + +import fpp.compiler.ast._ +import fpp.compiler.codegen._ +import fpp.compiler.util._ + +/** Writes out an F Prime XML enum as FPP source */ +object EnumXmlFppWriter extends LineUtils { + + def writeFile(file: XmlFppWriter.File): XmlFppWriter.Result = + for (tuMember <- FppBuilder.tuMember(file)) + yield FppWriter.tuMember(tuMember) + + private object FppBuilder { + + def annotation(file: XmlFppWriter.File): List[String] = { + // Not supported in F Prime XML + Nil + } + + def constants(file: XmlFppWriter.File): Result.Result[List[Ast.Annotated[AstNode[Ast.DefEnumConstant]]]] = { + val items = file.elem \ "item" + Result.map(items.toList, defEnumConstantAnnotatedNode(file, _)) + } + + def defEnum(file: XmlFppWriter.File): Result.Result[Ast.DefEnum] = + for { + name <- file.getAttribute(file.elem, "name") + constants <- FppBuilder.constants(file) + } + yield { + val repType = FppBuilder.repType(file) + val default = FppBuilder.default(file) + Ast.DefEnum(name, repType, constants, default) + } + + def defEnumConstant( + file: XmlFppWriter.File, + constant: scala.xml.Node + ): Result.Result[Ast.DefEnumConstant] = + for { + name <- file.getAttribute(constant, "name") + value <- file.getAttribute(constant, "value") + } + yield { + val e = Ast.ExprLiteralInt(value) + val node = AstNode.create(e) + Ast.DefEnumConstant(name, Some(node)) + } + + def defEnumConstantAnnotatedNode( + file: XmlFppWriter.File, + constant: scala.xml.Node + ): Result.Result[Ast.Annotated[AstNode[Ast.DefEnumConstant]]] = + for (data <- defEnumConstant(file, constant)) + yield { + val a = XmlFppWriter.getAttributeComment(constant) + val node = AstNode.create(data) + (Nil, node, a) + } + + def default(file: XmlFppWriter.File): Option[AstNode[Ast.Expr]] = { + // Not supported in F Prime XML + None + } + + def repType(file: XmlFppWriter.File): Option[AstNode[Ast.TypeName]] = { + // Not supported in F Prime XML + None + } + + /** Generates the TU member */ + def tuMember(file: XmlFppWriter.File): Result.Result[Ast.TUMember] = + for (data <- defEnum(file)) + yield { + val a = annotation(file) + val aT = (a, data, Nil) + XmlFppWriter.tuMember( + aT, + Ast.TUMember.DefEnum.apply, + Ast.ModuleMember.DefEnum.apply, + file + ) + } + + } + +} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/FormalParamsXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/FormalParamsXmlFppWriter.scala new file mode 100644 index 000000000..ed37c22c7 --- /dev/null +++ b/compiler/lib/src/main/scala/codegen/XmlFppWriter/FormalParamsXmlFppWriter.scala @@ -0,0 +1,72 @@ +package fpp.compiler.codegen + +import fpp.compiler.ast._ +import fpp.compiler.codegen._ +import fpp.compiler.util._ +import scala.xml.Node + +/** Writes out F Prime XML arguments as FPP formal parameters */ +object FormalParamsXmlFppWriter extends LineUtils { + + /** Translates an XML type to an FPP type name */ + def translateType(file: XmlFppWriter.File): Node => Result.Result[Ast.TypeName] = + file.translateType(node => file.getAttribute(node, "type")) _ + + /** Extracts a formal parameter */ + def formalParamAnnotatedNode(file: XmlFppWriter.File, node: scala.xml.Node): + Result.Result[Ast.Annotated[AstNode[Ast.FormalParam]]] = + for { + name <- file.getAttribute(node, "name") + kind <- XmlFppWriter.getAttributeOpt(node, "pass_by") match { + case Some("value") => Right(Ast.FormalParam.Value) + case Some("reference") => Right(Ast.FormalParam.Ref) + case Some(_) => Left(file.invalidAttribute("pass_by", node)) + case None => Right(Ast.FormalParam.Value) + } + typeName <- translateType(file)(node) + comment <- file.getComment(node) + } + yield { + val typeNameNode = AstNode.create(typeName) + val data = Ast.FormalParam(kind, name, typeNameNode) + val node = AstNode.create(data) + (Nil, node, comment) + } + + /** Extracts enum definitions from argument and return types */ + def defEnumAnnotatedList(file: XmlFppWriter.File, node: scala.xml.Node): + Result.Result[List[Ast.Annotated[Ast.DefEnum]]] = + for { + nodeOpt <- file.getSingleChildOpt(node, "args") + nodes <- nodeOpt match { + case Some(node) => Right((node \ "arg").toList) + case None => Right(Nil) + } + retTypeNodeOpt <- file.getSingleChildOpt(node, "return") + nodes <- retTypeNodeOpt match { + case Some(node) => Right(nodes :+ node) + case None => Right(nodes) + } + enumOpts <- Result.map( + nodes, + XmlFppWriter.FppBuilder.InlineEnumBuilder.defEnumAnnotatedOpt(file) + ) + } + yield enumOpts.filter(_.isDefined).map(_.get) + + /** Extracts formal parameters */ + def formalParamList( + file: XmlFppWriter.File, + node: scala.xml.Node + ): Result.Result[Ast.FormalParamList] = + for { + childOpt <- file.getSingleChildOpt(node, "args") + result <- childOpt match { + case Some(child) => + val args = child \ "arg" + Result.map(args.toList, formalParamAnnotatedNode(file, _)) + case None => Right(Nil) + } + } yield result + +} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/PortXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/PortXmlFppWriter.scala new file mode 100644 index 000000000..c40d1178d --- /dev/null +++ b/compiler/lib/src/main/scala/codegen/XmlFppWriter/PortXmlFppWriter.scala @@ -0,0 +1,62 @@ +package fpp.compiler.codegen + +import fpp.compiler.ast._ +import fpp.compiler.codegen._ +import fpp.compiler.util._ +import scala.xml.Node + +/** Writes out an F Prime XML port as FPP source */ +object PortXmlFppWriter extends LineUtils { + + def writeFile(file: XmlFppWriter.File): XmlFppWriter.Result = + for (tuMember <- FppBuilder.tuMemberList(file)) + yield FppWriter.tuMemberList(tuMember) + + /** Builds FPP for translating Serializable XML */ + private object FppBuilder { + + /** Translates an XML type to an FPP type name */ + def translateType(file: XmlFppWriter.File): Node => Result.Result[Ast.TypeName] = + file.translateType(node => file.getAttribute(node, "type")) _ + + /** Extracts the return type */ + def returnTypeOpt(file: XmlFppWriter.File): + Result.Result[Option[AstNode[Ast.TypeName]]] = + file.getSingleChildOpt(file.elem, "return") match { + case Right(Some(child)) => + for (typeName <- translateType(file)(child)) + yield Some(AstNode.create(typeName)) + case Right(None) => Right(None) + case Left(e) => Left(e) + } + + /** Generates the list of TU members */ + def tuMemberList(file: XmlFppWriter.File): Result.Result[List[Ast.TUMember]] = + for { + enums <- FormalParamsXmlFppWriter.defEnumAnnotatedList(file, file.elem) + port <- defPortAnnotated(file) + } + yield XmlFppWriter.tuMemberList( + enums, + Ast.TUMember.DefEnum.apply, + Ast.ModuleMember.DefEnum.apply, + port, + Ast.TUMember.DefPort.apply, + Ast.ModuleMember.DefPort.apply, + file + ) + + /** Translates the port */ + def defPortAnnotated(file: XmlFppWriter.File): + Result.Result[Ast.Annotated[Ast.DefPort]] = + for { + comment <- file.getComment(file.elem) + name <- file.getAttribute(file.elem, "name") + params <- FormalParamsXmlFppWriter.formalParamList(file, file.elem) + returnType <- returnTypeOpt(file) + } + yield (comment, Ast.DefPort(name, params, returnType), Nil) + + } + +} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/StructXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/StructXmlFppWriter.scala new file mode 100644 index 000000000..c1a276b56 --- /dev/null +++ b/compiler/lib/src/main/scala/codegen/XmlFppWriter/StructXmlFppWriter.scala @@ -0,0 +1,106 @@ +package fpp.compiler.codegen + +import fpp.compiler.ast._ +import fpp.compiler.codegen._ +import fpp.compiler.util._ +import scala.xml.Node + +/** Writes out an F Prime XML Serializable struct as FPP source */ +object StructXmlFppWriter extends LineUtils { + + def writeFile(file: XmlFppWriter.File): XmlFppWriter.Result = + for (tuMember <- FppBuilder.tuMemberList(file)) + yield FppWriter.tuMemberList(tuMember) + + /** Builds FPP for translating Serializable XML */ + private object FppBuilder { + + /** Translates an XML type to an FPP type name */ + def translateType(file: XmlFppWriter.File): Node => Result.Result[Ast.TypeName] = + file.translateType(node => file.getAttribute(node, "type")) _ + + /** Extracts a struct type member */ + def structTypeMemberAnnotatedNode( + file: XmlFppWriter.File, + node: scala.xml.Node + ): Result.Result[Ast.Annotated[AstNode[Ast.StructTypeMember]]] = { + for { + structName <- file.getAttribute(file.elem, "name") + memberName <- file.getAttribute(node, "name") + xmlType <- file.getAttribute(node, "type") + memberType <- translateType(file)(node) + } + yield { + val xmlSizeOpt = XmlFppWriter.getAttributeOpt(node, "array_size") + val sizeOpt = (memberType, xmlSizeOpt) match { + case (_, Some(size)) => Some(size) + case _ => None + } + val xmlFormatOpt = XmlFppWriter.getAttributeOpt(node, "format") + val (fppFormatOpt, pre) = + XmlFppWriter.FppBuilder.translateFormatOpt(xmlFormatOpt) + val data = Ast.StructTypeMember( + memberName, + sizeOpt.map(size => AstNode.create(Ast.ExprLiteralInt(size))), + AstNode.create(memberType), + fppFormatOpt.map(AstNode.create(_)) + ) + val astNode = AstNode.create(data) + val post = XmlFppWriter.getAttributeComment(node) + (pre, astNode, post) + } + } + + /** Extracts enum definitions from struct members */ + def defEnumAnnotatedList(file: XmlFppWriter.File): + Result.Result[List[Ast.Annotated[Ast.DefEnum]]] = + for { + child <- file.getSingleChild(file.elem, "members") + members <- Right((child \ "member").toList) + enumOpts <- Result.map( + members, + XmlFppWriter.FppBuilder.InlineEnumBuilder.defEnumAnnotatedOpt(file) + ) + } + yield enumOpts.filter(_.isDefined).map(_.get) + + /** Extracts struct type members */ + def structTypeMemberAnnotatedNodeList(file: XmlFppWriter.File): + Result.Result[List[Ast.Annotated[AstNode[Ast.StructTypeMember]]]] = + for { + child <- file.getSingleChild(file.elem, "members") + result <- { + val members = child \ "member" + Result.map(members.toList, structTypeMemberAnnotatedNode(file, _)) + } + } yield result + + /** Generates the list of TU members */ + def tuMemberList(file: XmlFppWriter.File): Result.Result[List[Ast.TUMember]] = + for { + enums <- defEnumAnnotatedList(file) + struct <- defStructAnnotated(file) + } + yield XmlFppWriter.tuMemberList( + enums, + Ast.TUMember.DefEnum.apply, + Ast.ModuleMember.DefEnum.apply, + struct, + Ast.TUMember.DefStruct.apply, + Ast.ModuleMember.DefStruct.apply, + file, + ) + + /** Translates the struct type */ + def defStructAnnotated(file: XmlFppWriter.File): + Result.Result[Ast.Annotated[Ast.DefStruct]] = + for { + comment <- file.getComment(file.elem) + structName <- file.getAttribute(file.elem, "name") + members <- structTypeMemberAnnotatedNodeList(file) + } + yield (comment, Ast.DefStruct(structName, members, None), Nil) + + } + +} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/TlmPacketSetXmlWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/TlmPacketSetXmlWriter.scala new file mode 100644 index 000000000..8704d34f7 --- /dev/null +++ b/compiler/lib/src/main/scala/codegen/XmlFppWriter/TlmPacketSetXmlWriter.scala @@ -0,0 +1,121 @@ +package fpp.compiler.codegen + +import fpp.compiler.ast._ +import fpp.compiler.codegen._ +import fpp.compiler.util._ +import scala.xml.Node + +/** Writes out an F Prime XML telemetry packet set as FPP source */ +object TlmPacketSetXmlFppWriter extends LineUtils { + + def writeFile(file: XmlFppWriter.File): XmlFppWriter.Result = + for (topologyMember <- FppBuilder.topologyMember(file)) + yield FppWriter.topologyMember(topologyMember) + + /** Builds FPP for translating telemetry packet XML */ + private object FppBuilder { + + /** Generates the topology member */ + def topologyMember(file: XmlFppWriter.File): Result.Result[Ast.TopologyMember] = + for (tps <- specTlmPacketSetAnnotated(file)) + yield { + val node = XmlFppWriter.transformNode (Ast.TopologyMember.SpecTlmPacketSet.apply) (tps) + Ast.TopologyMember(node) + } + + /** Extracts a telemetry packet set member */ + def tlmPacketSetMember( + file: XmlFppWriter.File, + xmlNode: scala.xml.Node + ): Result.Result[Ast.TlmPacketSetMember] = + for { + name <- file.getAttribute(xmlNode, "name") + group <- file.translateInteger(xmlNode, "level") + members <- tlmPacketMemberList(file, xmlNode) + } + yield { + val id = XmlFppWriter.FppBuilder.translateIntegerOpt(xmlNode, "id") + val data = Ast.SpecTlmPacket( + name, + id, + group, + members + ) + val node = Ast.TlmPacketSetMember.SpecTlmPacket(AstNode.create(data)) + val aNode = (Nil, node, Nil) + Ast.TlmPacketSetMember(aNode) + } + + /** Extracts a telemetry channel identifier */ + def tlmChannelIdentifier( + file: XmlFppWriter.File, + name: String + ): Result.Result[Ast.TlmChannelIdentifier] = + name.split("\\.").toList.reverse match { + case head :: tail => + val nodeList = tail.reverse.map(AstNode.create) + val instance = Ast.QualIdent.fromNodeList(nodeList) + Right( + Ast.TlmChannelIdentifier( + AstNode.create(instance), + AstNode.create(head) + ) + ) + case _ => Left(file.semanticError(s"channel name $name is not well-formed")) + } + + /** Extracts a telemetry channel identifier node */ + def tlmChannelIdentifierNode( + file: XmlFppWriter.File, + xmlNode: scala.xml.Node + ): Result.Result[AstNode[Ast.TlmChannelIdentifier]] = + for { + name <- file.getAttribute(xmlNode, "name") + tci <- tlmChannelIdentifier(file, name) + } + yield AstNode.create(tci) + + /** Extracts a telemetry packet member */ + def tlmPacketMember( + file: XmlFppWriter.File, + xmlNode: scala.xml.Node + ): Result.Result[Ast.TlmPacketMember] = + tlmChannelIdentifierNode(file, xmlNode).map(Ast.TlmPacketMember.TlmChannelIdentifier.apply) + + /** Extracts telemetry packet members */ + def tlmPacketMemberList(file: XmlFppWriter.File, xmlNode: scala.xml.Node): + Result.Result[List[Ast.TlmPacketMember]] = { + val channels = xmlNode \ "channel" + Result.map(channels.toList, tlmPacketMember(file, _)) + } + + /** Extracts telemetry packet set members */ + def tlmPacketSetMemberList(file: XmlFppWriter.File): + Result.Result[List[Ast.TlmPacketSetMember]] = { + val packets = file.elem \ "packet" + Result.map(packets.toList, tlmPacketSetMember(file, _)) + } + + /** Extracts omitted channels */ + def omittedChannelList(file: XmlFppWriter.File): + Result.Result[List[AstNode[Ast.TlmChannelIdentifier]]] = + for { + child <- file.getSingleChild(file.elem, "ignore") + channels <- Right(child \ "channel") + channelIds <- Result.map(channels.toList, tlmChannelIdentifierNode(file, _)) + } + yield channelIds + + /** Translates the telemetry packet set */ + def specTlmPacketSetAnnotated(file: XmlFppWriter.File): + Result.Result[Ast.Annotated[Ast.SpecTlmPacketSet]] = + for { + name <- file.getAttribute(file.elem, "name") + members <- tlmPacketSetMemberList(file) + omitted <- omittedChannelList(file) + } + yield (Nil, Ast.SpecTlmPacketSet(name, members, omitted), Nil) + + } + +} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/TopologyXmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/TopologyXmlFppWriter.scala new file mode 100644 index 000000000..7423ec3fc --- /dev/null +++ b/compiler/lib/src/main/scala/codegen/XmlFppWriter/TopologyXmlFppWriter.scala @@ -0,0 +1,186 @@ +package fpp.compiler.codegen + +import fpp.compiler.ast._ +import fpp.compiler.codegen._ +import fpp.compiler.util._ + +/** Writes out an F Prime XML topology as FPP source */ +object TopologyXmlFppWriter extends LineUtils { + + def writeFile(file: XmlFppWriter.File): XmlFppWriter.Result = + for (tuMember <- FppBuilder.tuMemberList(file)) + yield FppWriter.tuMemberList(tuMember) + + /** Builds FPP for translating topology XML */ + private object FppBuilder { + + /** Generates the list of TU members */ + def tuMemberList(file: XmlFppWriter.File): Result.Result[List[Ast.TUMember]] = + for { + instances <- defComponentInstanceAnnotatedList(file) + top <- defTopologyAnnotated(file) + } + yield XmlFppWriter.tuMemberList( + instances, + Ast.TUMember.DefComponentInstance.apply, + Ast.ModuleMember.DefComponentInstance.apply, + top, + Ast.TUMember.DefTopology.apply, + Ast.ModuleMember.DefTopology.apply, + file, + ) + + /** Translates a component instance definition */ + def defComponentInstanceAnnotated( + file: XmlFppWriter.File, + node: scala.xml.Node + ): Result.Result[Ast.Annotated[Ast.DefComponentInstance]] = + for { + name <- file.getAttribute(node, "name") + componentName <- file.getAttribute(node, "type") + baseId <- file.getAttribute(node, "base_id") + } + yield { + val componentQid = Ast.QualIdent.fromNodeList( + (XmlFppWriter.getAttributeNamespace(node) :+ componentName). + map(AstNode.create(_)) + ) + ( + Nil, + Ast.DefComponentInstance( + name, + AstNode.create(componentQid), + AstNode.create(Ast.ExprLiteralInt(baseId)), + None, + None, + None, + None, + None, + None, + Nil + ), + Nil + ) + } + + /** Translates a component instance specifier */ + def specCompInstanceAnnotated( + file: XmlFppWriter.File, + node: scala.xml.Node + ): Result.Result[Ast.Annotated[Ast.SpecCompInstance]] = + for (name <- file.getAttribute(node, "name")) + yield { + val qid = XmlFppWriter.FppBuilder.translateQualIdent(name) + ( + Nil, + Ast.SpecCompInstance(Ast.Visibility.Public, qid), + Nil + ) + } + + /** Translates the component instance definitions */ + def defComponentInstanceAnnotatedList(file: XmlFppWriter.File): + Result.Result[List[Ast.Annotated[Ast.DefComponentInstance]]] = { + val instances = file.elem \ "instance" + Result.map(instances.toList, defComponentInstanceAnnotated(file, _)) + } + + /** Translates the component instance specifiers */ + def specCompInstanceAnnotatedList(file: XmlFppWriter.File): + Result.Result[List[Ast.Annotated[Ast.SpecCompInstance]]] = { + val instances = file.elem \ "instance" + Result.map(instances.toList, specCompInstanceAnnotated(file, _)) + } + + type Endpoint = ( + AstNode[Ast.PortInstanceIdentifier], + Option[AstNode[Ast.Expr]] + ) + + /** Translates a connection endpoint */ + def endpoint( + file: XmlFppWriter.File, + node: scala.xml.Node + ): Result.Result[Endpoint] = + for { + xmlInstance <- file.getAttribute(node, "component") + port <- file.getAttribute(node, "port") + portNumber <- file.getAttribute(node, "num") + } + yield { + val pii = Ast.PortInstanceIdentifier( + XmlFppWriter.FppBuilder.translateQualIdent(xmlInstance), + AstNode.create(port) + ) + val e = Ast.ExprLiteralInt(portNumber) + (AstNode.create(pii), Some(AstNode.create(e))) + } + + /** Translates a connection */ + def connection( + file: XmlFppWriter.File, + node: scala.xml.Node + ): Result.Result[Ast.SpecConnectionGraph.Connection] = + for { + xmlSource <- file.getSingleChild(node, "source") + from <- endpoint(file, xmlSource) + xmlTarget <- file.getSingleChild(node, "target") + to <- endpoint(file, xmlTarget) + } + yield { + Ast.SpecConnectionGraph.Connection( + false, + from._1, + from._2, + to._1, + to._2 + ) + } + + /** Translates the connections */ + def connectionList(file: XmlFppWriter.File): + Result.Result[List[Ast.SpecConnectionGraph.Connection]] = { + val connections = file.elem \ "connection" + Result.map(connections.toList, connection(file, _)) + } + + /** Translates the connection graph */ + def specConnectionGraphAnnotated(file: XmlFppWriter.File): + Result.Result[Ast.Annotated[Ast.SpecConnectionGraph]] = + for (connections <- connectionList(file)) + yield ( + Nil, + Ast.SpecConnectionGraph.Direct("XML", connections), + Nil + ) + + /** Translates the topology */ + def defTopologyAnnotated(file: XmlFppWriter.File): + Result.Result[Ast.Annotated[Ast.DefTopology]] = + for { + name <- file.getAttribute(file.elem, "name") + instancesAnnotated <- specCompInstanceAnnotatedList(file) + graphAnnotated <- specConnectionGraphAnnotated(file) + } + yield { + def member[T] + (memberNodeConstructor: AstNode[T] => Ast.TopologyMember.Node) + (ta: Ast.Annotated[T]) = { + val (a1, t, a2) = ta + val node = AstNode.create(t) + val memberNode = memberNodeConstructor(node) + Ast.TopologyMember(a1, memberNode, a2) + } + val instanceMembers = instancesAnnotated.map( + member(Ast.TopologyMember.SpecCompInstance.apply) + ) + val graphMember = member(Ast.TopologyMember.SpecConnectionGraph.apply)( + graphAnnotated + ) + val members = instanceMembers :+ graphMember + (Nil, Ast.DefTopology(name, members), Nil) + } + + } + +} diff --git a/compiler/lib/src/main/scala/codegen/XmlFppWriter/XmlFppWriter.scala b/compiler/lib/src/main/scala/codegen/XmlFppWriter/XmlFppWriter.scala new file mode 100644 index 000000000..df5e68028 --- /dev/null +++ b/compiler/lib/src/main/scala/codegen/XmlFppWriter/XmlFppWriter.scala @@ -0,0 +1,435 @@ +package fpp.compiler.codegen + +import fpp.compiler.ast._ +import fpp.compiler.codegen._ +import fpp.compiler.util._ + +/** Writes F Prime XML as FPP source */ +object XmlFppWriter extends LineUtils { + + type Result = Result.Result[List[Line]] + + /** An F Prime XML file */ + case class File( + /** The file name */ + name: String, + /** The XML element */ + elem: scala.xml.Elem + ) { + + /** Constructs an error containing the file name */ + def error(e: (String) => Error): Error = e(name) + + /** Constructs a semantic error with the given message */ + def semanticError(message: String): Error = error(XmlError.SemanticError(_, message)) + + /** Gets an attribute from a node, returning an error if it is not there */ + def getAttribute(node: scala.xml.Node, name: String): Result.Result[String] = + getAttributeOpt(node, name) match { + case Some(s) => Right(s) + case None => Left(semanticError(s"missing attribute $name for node ${node.toString}")) + } + + /** Gets a comment from a node, returning an empty list if it is not there */ + def getComment(node: scala.xml.Node): Result.Result[List[String]] = + for (childOpt <- getSingleChildOpt(node, "comment")) + yield { + def removeOuterBlanks(list: List[String]) = { + def removeLeadingBlanks(list: List[String]): List[String] = + list match { + case "" :: tail => removeLeadingBlanks(tail) + case _ => list + } + def removeTrailingBlanks(list: List[String]) = + removeLeadingBlanks(list.reverse).reverse + removeTrailingBlanks(removeLeadingBlanks(list)) + } + childOpt match { + case Some(node) => { + val list = node.child.map(_.toString.split("\n").map(_.trim)).flatten.toList + removeOuterBlanks(list) + } + case None => Nil + } + } + + /** Gets the integer value attribute from a node */ + def getIntegerValueAttribute(defaultValue: BigInt)(node: scala.xml.Node): + Result.Result[BigInt]= + getAttributeOpt(node, "value") match { + case Some(value) => + try { + Right(BigInt(value)) + } catch { + case _: Exception => Left( + semanticError(s"invalid value $value for node ${node.toString}") + ) + } + case None => Right(defaultValue) + } + + /** Gets a single named child from a node, returning an error if it is not there */ + def getSingleChild(node: scala.xml.Node, name: String): Result.Result[scala.xml.Node] = + getSingleChildOpt(node, name) match { + case Right(Some(child)) => Right(child) + case Right(None) => Left(semanticError(s"missing child $name for node ${node.toString}")) + case Left(e) => Left(e) + } + + /** Gets an optional single named child from a node */ + def getSingleChildOpt(node: scala.xml.Node, name: String): Result.Result[Option[scala.xml.Node]] = + (node \ name).toList match { + case head :: Nil => Right(Some(head)) + case Nil => Right(None) + case _ => Left(semanticError(s"multiple child nodes $name for node ${node.toString}")) + } + + /** Gets the unique child of a node */ + def getUniqueChild(node: scala.xml.Node): Result.Result[scala.xml.Node] = + node.child.size match { + case 0 => Left(semanticError(s"missing child for node ${node.toString}")) + case 1 => Right(node.child.head) + case _ => Left(semanticError(s"too many children of node ${node.toString}")) + } + + /** Reports an invalid attribute */ + def invalidAttribute(name: String, node: scala.xml.Node): Error = + semanticError(s"invalid attribute $name in node ${node.toString}") + + /** Translates a integer attribute */ + def translateInteger(xmlNode: scala.xml.Node, name: String): Result.Result[AstNode[Ast.ExprLiteralInt]] = + getAttribute(xmlNode, name).map( + text => AstNode.create(Ast.ExprLiteralInt(text)) + ) + + /** Translates an XML type to an FPP type name */ + def translateType + (getType: scala.xml.Node => Result.Result[String]) + (node: scala.xml.Node): Result.Result[Ast.TypeName] = + for { + xmlType <- getType(node) + result <- { + val sizeOpt = getAttributeOpt(node, "size") + xmlType match { + case "I16" => Right(Ast.TypeNameInt(Ast.I16())) + case "I32" => Right(Ast.TypeNameInt(Ast.I32())) + case "I64" => Right(Ast.TypeNameInt(Ast.I64())) + case "I8" => Right(Ast.TypeNameInt(Ast.I8())) + case "F32" => Right(Ast.TypeNameFloat(Ast.F32())) + case "F64" => Right(Ast.TypeNameFloat(Ast.F64())) + case "U16" => Right(Ast.TypeNameInt(Ast.U16())) + case "U32" => Right(Ast.TypeNameInt(Ast.U32())) + case "U64" => Right(Ast.TypeNameInt(Ast.U64())) + case "U8" => Right(Ast.TypeNameInt(Ast.U8())) + case "bool" => Right(Ast.TypeNameBool) + case "ENUM" => for { + enumeration <- getSingleChild(node, "enum") + name <- getAttribute(enumeration, "name") + } yield FppBuilder.translateQualIdentType(name) + case "string" => Right(Ast.TypeNameString( + sizeOpt.map((size: String) => AstNode.create(Ast.ExprLiteralInt(size))) + )) + case _ => Right(FppBuilder.translateQualIdentType(xmlType)) + } + } + } yield result + + /** Writes a file as lines */ + def write: Result = { + val eltType = elem.label + for { + body <- eltType match { + case "array" => ArrayXmlFppWriter.writeFile(this) + case "assembly" => TopologyXmlFppWriter.writeFile(this) + case "commands" => ComponentXmlFppWriter.writeCommandsFile(this) + case "component" => ComponentXmlFppWriter.writeComponentFile(this) + case "enum" => EnumXmlFppWriter.writeFile(this) + case "events" => ComponentXmlFppWriter.writeEventsFile(this) + case "interface" => PortXmlFppWriter.writeFile(this) + case "internal_interfaces" => ComponentXmlFppWriter.writeInternalPortsFile(this) + case "packets" => TlmPacketSetXmlFppWriter.writeFile(this) + case "parameters" => ComponentXmlFppWriter.writeParamsFile(this) + case "ports" => ComponentXmlFppWriter.writePortsFile(this) + case "serializable" => StructXmlFppWriter.writeFile(this) + case "telemetry" => ComponentXmlFppWriter.writeTlmChannelsFile(this) + case _ => Left(semanticError(s"invalid element type $eltType")) + } + } + yield body + } + + } + + /** Constructs a translator note */ + def constructNote(s: String): String = "FPP from XML: " ++ s + + /** Gets an attribute comment */ + def getAttributeComment(node: scala.xml.Node): List[String] = + getAttributeOpt(node, "comment") match { + case Some(s) => s.split("\n").map(_.trim).toList + case None => Nil + } + + /** Gets an attribute namespace */ + def getAttributeNamespace(node: scala.xml.Node): List[String] = + getAttributeOpt(node, "namespace") match { + case Some(s) => s.split("::").toList + case None => Nil + } + + /** Gets an optional attribute */ + def getAttributeOpt(node: scala.xml.Node, name: String): Option[String] = + node.attribute(name).map(_.toList.head.toString) + + /** Writes a file list */ + def writeFileList(fileList: List[File]): Result.Result[List[Line]] = { + for (files <- Result.map(fileList, _.write)) + yield Line.blankSeparated (identity[List[Line]]) (files) + } + + /** Builds a TU member from a single annotated element */ + def tuMember[T]( + aT: Ast.Annotated[T], + tumConstructor: AstNode[T] => Ast.TUMember.Node, + moduleConstructor: AstNode[T] => Ast.ModuleMember.Node, + file: XmlFppWriter.File + ): Ast.TUMember = tuMemberList( + Nil: List[Ast.Annotated[Ast.DefEnum]], + Ast.TUMember.DefEnum.apply, + Ast.ModuleMember.DefEnum.apply, + aT, + tumConstructor, + moduleConstructor, + file + ).head + + /** Transforms an annotated AST node */ + def transformNode[A,B](transform: AstNode[A] => B)(a: Ast.Annotated[A]): (List[String], B, List[String]) = + (a._1, transform(AstNode.create(a._2)), a._3) + + /** Builds a list of TU members from a list of annotated A elements + * followed by a single annotated B element */ + def tuMemberList[A,B]( + aNodesA: List[Ast.Annotated[A]], + tumConstructorA: AstNode[A] => Ast.TUMember.Node, + moduleConstructorA: AstNode[A] => Ast.ModuleMember.Node, + aNodeB: Ast.Annotated[B], + tumConstructorB: AstNode[B] => Ast.TUMember.Node, + moduleConstructorB: AstNode[B] => Ast.ModuleMember.Node, + file: XmlFppWriter.File, + ): List[Ast.TUMember] = { + val moduleNames = XmlFppWriter.getAttributeNamespace(file.elem) + val memberNodes = moduleNames match { + case Nil => { + // Generate a list of TU members + val aNodesA1 = aNodesA.map(transformNode(tumConstructorA)) + val aNodeB1 = transformNode(tumConstructorB)(aNodeB) + aNodesA1 :+ aNodeB1 + } + case head :: tail => { + // Generate a TU member consisting of one or more modules enclosing module members + val aNodesA1 = aNodesA.map(transformNode(moduleConstructorA)) + val aNodeB1 = transformNode(moduleConstructorB)(aNodeB) + val members = aNodesA1 :+ aNodeB1 + val members1 = XmlFppWriter.FppBuilder.encloseWithModuleMemberModules(tail.reverse)(members) + List(XmlFppWriter.FppBuilder.encloseWithTuMemberModule(head)(members1)) + } + } + memberNodes.map(Ast.TUMember(_)) + } + + /** Utilities for constructing FPP ASTs */ + object FppBuilder { + + /** Encloses a list of module members with a module inside a trans unit */ + def encloseWithTuMemberModule + (name: String) + (members: List[Ast.Annotated[Ast.ModuleMember.Node]]): + Ast.Annotated[Ast.TUMember.Node] = + encloseWithModule(Ast.TUMember.DefModule.apply)(name)(members) + + /** Encloses a list of module members with zero more modules inside a module */ + def encloseWithModuleMemberModules + (names: List[String]) + (members: List[Ast.Annotated[Ast.ModuleMember.Node]]): + List[Ast.Annotated[Ast.ModuleMember.Node]] = + { + def encloseWithModuleMemberModule + (name: String) + (members: List[Ast.Annotated[Ast.ModuleMember.Node]]): + List[Ast.Annotated[Ast.ModuleMember.Node]] = + List(encloseWithModule(Ast.ModuleMember.DefModule.apply)(name)(members)) + names match { + case Nil => members + case head :: tail => encloseWithModuleMemberModules(tail)( + encloseWithModuleMemberModule(head)(members) + ) + } + } + + /** Translates a qualified identifier type */ + def translateQualIdentType(xmlType: String): Ast.TypeNameQualIdent = + Ast.TypeNameQualIdent(translateQualIdent(xmlType)) + + /** Translates a qualified identifier */ + def translateQualIdent(xmlQid: String): AstNode[Ast.QualIdent] = + AstNode.create( + Ast.QualIdent.fromNodeList( + xmlQid.split("::").toList.map(AstNode.create(_)) + ) + ) + + /** Translates an XML format */ + def translateFormat(xmlFormat: String): Option[String] = { + val repls = List( + ("\\{" -> "{{"), + ("\\}" -> "}}"), + ("(%ld|%d|%lu|%u|%s|%g|%llu|%lld)" -> "{}"), + ("%c" -> "{c}"), + ("(%o|%lo|%llo)" ->"{o}"), + ("(%x|%lx|%llx)" -> "{x}"), + ("%e"-> "{e}"), + ("%f"-> "{f}"), + ("%(\\.[0-9]+)e"-> "{$1e}"), + ("%(\\.[0-9]+)f"-> "{$1f}"), + ("%(\\.[0-9]+)g" -> "{$1g}") + ) + val s = repls.foldLeft(xmlFormat)({ case (s, (a, b)) => s.replaceAll(a, b) }) + if (!s.replaceAll("%%", "").contains("%")) + Some(s.replaceAll("%%", "%")) else None + } + + /** Translates an optional XML format. + * Returns the translated format and a note. */ + def translateFormatOpt(xmlFormatOpt: Option[String]): (Option[String], List[String]) = { + val fppFormatOpt = xmlFormatOpt.flatMap(FppBuilder.translateFormat(_)) + val note = (xmlFormatOpt, fppFormatOpt) match { + case (Some(xmlFormat), None) => + val s = "could not translate format string \"" ++ xmlFormat ++ "\"" + List(constructNote(s)) + case _ => Nil + } + // Represent default format "{}" more succinctly as no format + val format = fppFormatOpt match { + case Some("{}") => None + case _ => fppFormatOpt + } + (format, note) + } + + /** Translates an optional integer attribute */ + def translateIntegerOpt(xmlNode: scala.xml.Node, name: String): Option[AstNode[Ast.ExprLiteralInt]] = + getAttributeOpt(xmlNode, name).map( + text => AstNode.create(Ast.ExprLiteralInt(text)) + ) + + /** Translates a value from FPP to XML */ + def translateValue(xmlValue: String, tn: Ast.TypeName): Option[AstNode[Ast.Expr]] = { + val exprOpt = (xmlValue, tn) match { + case (_, Ast.TypeNameInt(_)) => Some(Ast.ExprLiteralInt(xmlValue)) + case (_, Ast.TypeNameFloat(_)) => Some(Ast.ExprLiteralFloat(xmlValue)) + case ("true", Ast.TypeNameBool) => Some(Ast.ExprLiteralBool(Ast.LiteralBool.True)) + case ("false", Ast.TypeNameBool) => Some(Ast.ExprLiteralBool(Ast.LiteralBool.False)) + case (_, Ast.TypeNameString(_)) => Some(Ast.ExprLiteralString(xmlValue.replaceAll("^\"|\"$", ""))) + case _ => + if ("[^A-Za-z0-9_:]".r.findAllIn(xmlValue).length > 0) + // Not a qualified identifier -- don't translate + None + else { + // C++ qualified identifier. Translate to an FPP qualified identifier. + val head :: tail = xmlValue.split("::").toList + val e = tail.foldLeft (Ast.ExprIdent(head): Ast.Expr) ((e1, s) => + Ast.ExprDot(AstNode.create(e1), AstNode.create(s)) + ) + Some(e) + } + } + exprOpt.map(AstNode.create(_)) + } + + /** Encloses several member nodes with a module of variant type */ + private def encloseWithModule[MemberType] + (memberTypeConstructor: AstNode[Ast.DefModule] => MemberType) + (name:String) + (memberNodes: List[Ast.Annotated[Ast.ModuleMember.Node]]): + Ast.Annotated[MemberType] = + { + val members = memberNodes.map(Ast.ModuleMember(_)) + val defModule = Ast.DefModule(name, members) + val node = AstNode.create(defModule) + (Nil, memberTypeConstructor(node), Nil) + } + + /** Extracts inline enums from XML nodes */ + object InlineEnumBuilder { + + /** Translates an enum */ + def defEnumAnnotated(file: XmlFppWriter.File)(node: scala.xml.Node): + Result.Result[Ast.Annotated[Ast.DefEnum]] = + for { + name <- file.getAttribute(node, "name") + constants <- defEnumConstantNodeAnnotatedList(file)(node) + } + yield (Nil, Ast.DefEnum(name, None, constants, None), Nil) + + /** Translates an enum if present in the node */ + def defEnumAnnotatedOpt(file: XmlFppWriter.File)(node: scala.xml.Node): + Result.Result[Option[Ast.Annotated[Ast.DefEnum]]] = + for { + enumNodeOpt <- file.getSingleChildOpt(node, "enum") + result <- enumNodeOpt match { + case Some(enumNode) => defEnumAnnotated(file)(enumNode).map(Some(_)) + case None => Right(None) + } + } yield result + + /** Translates an enum constant node */ + def defEnumConstantNodeAnnotated + (file: XmlFppWriter.File) + (defaultValue: BigInt) + (node: scala.xml.Node): + Result.Result[(Ast.Annotated[AstNode[Ast.DefEnumConstant]], BigInt)] = + { + for { + name <- file.getAttribute(node, "name") + value <- file.getIntegerValueAttribute(defaultValue)(node) + } + yield { + val data = Ast.DefEnumConstant( + name, + Some(AstNode.create(Ast.ExprLiteralInt(value.toString))) + ) + val astNode = AstNode.create(data) + val comment = XmlFppWriter.getAttributeComment(node) + ((Nil, astNode, comment), value + 1) + } + } + + /** Translates a list of enum constant nodes */ + def defEnumConstantNodeAnnotatedList + (file: XmlFppWriter.File) + (enumNode: scala.xml.Node): + Result.Result[List[Ast.Annotated[AstNode[Ast.DefEnumConstant]]]] = + { + val items = (enumNode \ "item").toList + def fold( + nodes: List[scala.xml.Node], + defaultValue: BigInt, + out: List[Ast.Annotated[AstNode[Ast.DefEnumConstant]]] + ): Result.Result[List[Ast.Annotated[AstNode[Ast.DefEnumConstant]]]] = { + nodes match { + case Nil => Right(out.reverse) + case head :: tail => defEnumConstantNodeAnnotated(file)(defaultValue)(head) match { + case Left(e) => Left(e) + case Right((aNode, nextDefaultValue)) => fold(tail, nextDefaultValue, aNode :: out) + } + } + } + fold(items, BigInt(0), Nil) + } + + } + + } + +} diff --git a/compiler/tools/fpp/src/main/scala/fpp-from-xml.scala b/compiler/tools/fpp/src/main/scala/fpp-from-xml.scala new file mode 100644 index 000000000..af8984454 --- /dev/null +++ b/compiler/tools/fpp/src/main/scala/fpp-from-xml.scala @@ -0,0 +1,53 @@ +package fpp.compiler.tools + +import fpp.compiler.codegen._ +import fpp.compiler.util._ +import scopt.OParser + +object FPPFromXml { + + case class Options( + files: List[File] = Nil, + ) + + def command(options: Options): Result.Result[Unit] = { + for { + xmlFiles <- Result.map(options.files, parseXmlFile) + lines <- XmlFppWriter.writeFileList(xmlFiles) + } + yield lines.map(Line.write(Line.stdout) _) + } + + def parseXmlFile(file: File): Result.Result[XmlFppWriter.File] = { + for { + elem <- try { + Right(scala.xml.XML.loadFile(file.toString)) + } + catch { + case e: Exception => Left(XmlError.ParseError(file.toString, e.toString)) + } + } + yield XmlFppWriter.File(file.toString, elem) + } + + def toolMain(args: Array[String]) = + Tool(name).mainMethod(args, oparser, Options(), command) + + val builder = OParser.builder[Options] + + val name = "fpp-from-xml" + + val oparser = { + import builder._ + OParser.sequence( + programName(name), + head(name, Version.v), + help('h', "help").text("print this message and exit"), + arg[String]("file ...") + .unbounded() + .action((f, c) => c.copy(files = File.fromString(f) :: c.files)) + .text("files to translate"), + ) + } + +} diff --git a/compiler/tools/fpp/src/main/scala/fpp.scala b/compiler/tools/fpp/src/main/scala/fpp.scala index 6bf2fc0cd..77f8ef04d 100644 --- a/compiler/tools/fpp/src/main/scala/fpp.scala +++ b/compiler/tools/fpp/src/main/scala/fpp.scala @@ -15,6 +15,7 @@ object FPP { case "depend" => FPPDepend.toolMain(options.args) case "filenames" => FPPFilenames.toolMain(options.args) case "format" => FPPFormat.toolMain(options.args) + case "from-xml" => FPPFromXml.toolMain(options.args) case "locate-defs" => FPPLocateDefs.toolMain(options.args) case "locate-uses" => FPPLocateUses.toolMain(options.args) case "syntax" => FPPSyntax.toolMain(options.args) @@ -59,6 +60,7 @@ check performs semantic checking of FPP models depend computes dependencies for FPP source files filenames writes out the names of C++ files generated from FPP source files format parses FPP source files and writes out formatted source files +from-xml parses older F Prime XML files and converts them to FPP files locate-defs parses FPP source files and reports the locations of symbol definitions locate-uses parses FPP source files and reports the locations of symbols used in the files syntax parses FPP source files into an abstract syntax tree (AST) and optionally writes out the AST @@ -74,7 +76,7 @@ to-layout writes layout text files for connection graphs within F Prime topolo .action((f, c) => c.copy(command = f)) .validate(c => c match { - case "check" | "depend" | "filenames" | "format" | + case "check" | "depend" | "filenames" | "format" | "from-xml" | "locate-defs" | "locate-uses" | "syntax" | "to-cpp" | "to-dict" | "to-json" | "to-layout" => Right(None) From d8709b6eca7ccd82921482b4ae49f10488cb9cd4 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 13:14:34 -0700 Subject: [PATCH 006/110] Put back from xml tests --- .../test/array/array_enum.ref.txt | 3 + .../fpp-from-xml/test/array/array_enum.xml | 10 + .../test/array/array_qual_id.ref.txt | 3 + .../fpp-from-xml/test/array/array_qual_id.xml | 10 + .../test/array/array_string.ref.txt | 13 + .../fpp-from-xml/test/array/array_string.xml | 12 + .../tools/fpp-from-xml/test/array/check-fpp | 10 + compiler/tools/fpp-from-xml/test/array/clean | 5 + compiler/tools/fpp-from-xml/test/array/run | 5 + .../tools/fpp-from-xml/test/array/tests.sh | 5 + .../tools/fpp-from-xml/test/array/update-ref | 5 + compiler/tools/fpp-from-xml/test/check-fpp | 10 + compiler/tools/fpp-from-xml/test/clean | 10 + .../fpp-from-xml/test/component/check-fpp | 28 + .../tools/fpp-from-xml/test/component/clean | 5 + .../test/component/commands.ref.txt | 36 + .../fpp-from-xml/test/component/commands.xml | 48 + .../test/component/events.ref.txt | 49 + .../fpp-from-xml/test/component/events.xml | 62 ++ .../component/general_ports_active.ref.txt | 28 + .../test/component/general_ports_active.xml | 26 + .../component/general_ports_passive.ref.txt | 21 + .../test/component/general_ports_passive.xml | 24 + .../test/component/import_dictionary.ref.txt | 12 + .../test/component/import_dictionary.xml | 6 + .../test/component/internal_ports.ref.txt | 19 + .../test/component/internal_ports.xml | 30 + .../test/component/parameters.ref.txt | 27 + .../test/component/parameters.xml | 23 + .../tools/fpp-from-xml/test/component/run | 5 + .../test/component/special_ports.ref.txt | 23 + .../test/component/special_ports.xml | 29 + .../test/component/telemetry.ref.txt | 28 + .../fpp-from-xml/test/component/telemetry.xml | 18 + .../component/telemetry_bad_limit.ref.txt | 3 + .../test/component/telemetry_bad_limit.xml | 3 + .../fpp-from-xml/test/component/tests.sh | 12 + .../fpp-from-xml/test/component/update-ref | 5 + .../tools/fpp-from-xml/test/enum/check-fpp | 10 + compiler/tools/fpp-from-xml/test/enum/clean | 5 + .../test/enum/enum_kwd_name.ref.txt | 9 + .../fpp-from-xml/test/enum/enum_kwd_name.xml | 12 + .../test/enum/enum_missing_name.ref.txt | 3 + .../test/enum/enum_missing_name.xml | 1 + .../tools/fpp-from-xml/test/enum/enum_ok.fpp | 16 + .../fpp-from-xml/test/enum/enum_ok.ref.txt | 13 + .../tools/fpp-from-xml/test/enum/enum_ok.xml | 12 + compiler/tools/fpp-from-xml/test/enum/run | 5 + .../tools/fpp-from-xml/test/enum/tests.sh | 5 + .../tools/fpp-from-xml/test/enum/update-ref | 5 + .../tools/fpp-from-xml/test/port/check-fpp | 10 + compiler/tools/fpp-from-xml/test/port/clean | 5 + .../test/port/port_cmd_resp.ref.txt | 19 + .../fpp-from-xml/test/port/port_cmd_resp.xml | 26 + .../fpp-from-xml/test/port/port_ok.ref.txt | 18 + .../tools/fpp-from-xml/test/port/port_ok.xml | 34 + compiler/tools/fpp-from-xml/test/port/run | 5 + .../tools/fpp-from-xml/test/port/tests.sh | 4 + .../tools/fpp-from-xml/test/port/update-ref | 5 + .../tools/fpp-from-xml/test/scripts/run.sh | 47 + .../fpp-from-xml/test/scripts/update-ref.sh | 49 + .../tools/fpp-from-xml/test/struct/check-fpp | 10 + compiler/tools/fpp-from-xml/test/struct/clean | 5 + .../test/struct/member_array_of_enum.ref.txt | 19 + .../test/struct/member_array_of_enum.xml | 15 + compiler/tools/fpp-from-xml/test/struct/run | 5 + .../test/struct/struct_format.ref.txt | 17 + .../test/struct/struct_format.xml | 10 + .../struct/struct_missing_member_name.ref.txt | 3 + .../struct/struct_missing_member_name.xml | 5 + .../test/struct/struct_ok.ref.txt | 24 + .../fpp-from-xml/test/struct/struct_ok.xml | 20 + .../tools/fpp-from-xml/test/struct/tests.sh | 6 + .../tools/fpp-from-xml/test/struct/update-ref | 5 + .../tools/fpp-from-xml/test/syntax/check-fpp | 10 + compiler/tools/fpp-from-xml/test/syntax/clean | 5 + .../test/syntax/parse_error.ref.txt | 3 + .../fpp-from-xml/test/syntax/parse_error.xml | 1 + compiler/tools/fpp-from-xml/test/syntax/run | 5 + .../tools/fpp-from-xml/test/syntax/tests.sh | 3 + .../tools/fpp-from-xml/test/syntax/update-ref | 5 + compiler/tools/fpp-from-xml/test/test | 6 + .../tools/fpp-from-xml/test/top/check-fpp | 15 + compiler/tools/fpp-from-xml/test/top/clean | 5 + .../fpp-from-xml/test/top/fprime_ref.ref.txt | 321 ++++++ .../fpp-from-xml/test/top/fprime_ref.xml | 927 ++++++++++++++++++ .../test/top/fprime_ref_packets.fpp | 5 + .../test/top/fprime_ref_packets.ref.txt | 265 +++++ .../test/top/fprime_ref_packets.xml | 261 +++++ compiler/tools/fpp-from-xml/test/top/run | 5 + compiler/tools/fpp-from-xml/test/top/tests.sh | 4 + .../tools/fpp-from-xml/test/top/update-ref | 5 + 92 files changed, 2984 insertions(+) create mode 100644 compiler/tools/fpp-from-xml/test/array/array_enum.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/array/array_enum.xml create mode 100644 compiler/tools/fpp-from-xml/test/array/array_qual_id.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/array/array_qual_id.xml create mode 100644 compiler/tools/fpp-from-xml/test/array/array_string.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/array/array_string.xml create mode 100755 compiler/tools/fpp-from-xml/test/array/check-fpp create mode 100755 compiler/tools/fpp-from-xml/test/array/clean create mode 100755 compiler/tools/fpp-from-xml/test/array/run create mode 100644 compiler/tools/fpp-from-xml/test/array/tests.sh create mode 100755 compiler/tools/fpp-from-xml/test/array/update-ref create mode 100755 compiler/tools/fpp-from-xml/test/check-fpp create mode 100755 compiler/tools/fpp-from-xml/test/clean create mode 100755 compiler/tools/fpp-from-xml/test/component/check-fpp create mode 100755 compiler/tools/fpp-from-xml/test/component/clean create mode 100644 compiler/tools/fpp-from-xml/test/component/commands.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/component/commands.xml create mode 100644 compiler/tools/fpp-from-xml/test/component/events.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/component/events.xml create mode 100644 compiler/tools/fpp-from-xml/test/component/general_ports_active.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/component/general_ports_active.xml create mode 100644 compiler/tools/fpp-from-xml/test/component/general_ports_passive.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/component/general_ports_passive.xml create mode 100644 compiler/tools/fpp-from-xml/test/component/import_dictionary.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/component/import_dictionary.xml create mode 100644 compiler/tools/fpp-from-xml/test/component/internal_ports.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/component/internal_ports.xml create mode 100644 compiler/tools/fpp-from-xml/test/component/parameters.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/component/parameters.xml create mode 100755 compiler/tools/fpp-from-xml/test/component/run create mode 100644 compiler/tools/fpp-from-xml/test/component/special_ports.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/component/special_ports.xml create mode 100644 compiler/tools/fpp-from-xml/test/component/telemetry.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/component/telemetry.xml create mode 100644 compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.xml create mode 100644 compiler/tools/fpp-from-xml/test/component/tests.sh create mode 100755 compiler/tools/fpp-from-xml/test/component/update-ref create mode 100755 compiler/tools/fpp-from-xml/test/enum/check-fpp create mode 100755 compiler/tools/fpp-from-xml/test/enum/clean create mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.xml create mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_missing_name.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_missing_name.xml create mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_ok.fpp create mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_ok.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/enum/enum_ok.xml create mode 100755 compiler/tools/fpp-from-xml/test/enum/run create mode 100644 compiler/tools/fpp-from-xml/test/enum/tests.sh create mode 100755 compiler/tools/fpp-from-xml/test/enum/update-ref create mode 100755 compiler/tools/fpp-from-xml/test/port/check-fpp create mode 100755 compiler/tools/fpp-from-xml/test/port/clean create mode 100644 compiler/tools/fpp-from-xml/test/port/port_cmd_resp.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/port/port_cmd_resp.xml create mode 100644 compiler/tools/fpp-from-xml/test/port/port_ok.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/port/port_ok.xml create mode 100755 compiler/tools/fpp-from-xml/test/port/run create mode 100644 compiler/tools/fpp-from-xml/test/port/tests.sh create mode 100755 compiler/tools/fpp-from-xml/test/port/update-ref create mode 100644 compiler/tools/fpp-from-xml/test/scripts/run.sh create mode 100644 compiler/tools/fpp-from-xml/test/scripts/update-ref.sh create mode 100755 compiler/tools/fpp-from-xml/test/struct/check-fpp create mode 100755 compiler/tools/fpp-from-xml/test/struct/clean create mode 100644 compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.xml create mode 100755 compiler/tools/fpp-from-xml/test/struct/run create mode 100644 compiler/tools/fpp-from-xml/test/struct/struct_format.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/struct/struct_format.xml create mode 100644 compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.xml create mode 100644 compiler/tools/fpp-from-xml/test/struct/struct_ok.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/struct/struct_ok.xml create mode 100644 compiler/tools/fpp-from-xml/test/struct/tests.sh create mode 100755 compiler/tools/fpp-from-xml/test/struct/update-ref create mode 100755 compiler/tools/fpp-from-xml/test/syntax/check-fpp create mode 100755 compiler/tools/fpp-from-xml/test/syntax/clean create mode 100644 compiler/tools/fpp-from-xml/test/syntax/parse_error.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/syntax/parse_error.xml create mode 100755 compiler/tools/fpp-from-xml/test/syntax/run create mode 100644 compiler/tools/fpp-from-xml/test/syntax/tests.sh create mode 100755 compiler/tools/fpp-from-xml/test/syntax/update-ref create mode 100755 compiler/tools/fpp-from-xml/test/test create mode 100755 compiler/tools/fpp-from-xml/test/top/check-fpp create mode 100755 compiler/tools/fpp-from-xml/test/top/clean create mode 100644 compiler/tools/fpp-from-xml/test/top/fprime_ref.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/top/fprime_ref.xml create mode 100644 compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.fpp create mode 100644 compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.ref.txt create mode 100644 compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.xml create mode 100755 compiler/tools/fpp-from-xml/test/top/run create mode 100644 compiler/tools/fpp-from-xml/test/top/tests.sh create mode 100755 compiler/tools/fpp-from-xml/test/top/update-ref diff --git a/compiler/tools/fpp-from-xml/test/array/array_enum.ref.txt b/compiler/tools/fpp-from-xml/test/array/array_enum.ref.txt new file mode 100644 index 000000000..31fa40755 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/array/array_enum.ref.txt @@ -0,0 +1,3 @@ +array ArrayEnum = [3] A.B default [ + A.B.C + ] diff --git a/compiler/tools/fpp-from-xml/test/array/array_enum.xml b/compiler/tools/fpp-from-xml/test/array/array_enum.xml new file mode 100644 index 000000000..1cd266688 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/array/array_enum.xml @@ -0,0 +1,10 @@ + + + + A::B + 3 + %s + + A::B::C + + diff --git a/compiler/tools/fpp-from-xml/test/array/array_qual_id.ref.txt b/compiler/tools/fpp-from-xml/test/array/array_qual_id.ref.txt new file mode 100644 index 000000000..123df4ff3 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/array/array_qual_id.ref.txt @@ -0,0 +1,3 @@ +@ FPP from XML: could not translate array value [ A::B(1) ] +@ FPP from XML: could not translate format string "%r" +array ArrayQualId = [1] A.B diff --git a/compiler/tools/fpp-from-xml/test/array/array_qual_id.xml b/compiler/tools/fpp-from-xml/test/array/array_qual_id.xml new file mode 100644 index 000000000..65d36ad02 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/array/array_qual_id.xml @@ -0,0 +1,10 @@ + + + + A::B + 1 + %r + + A::B(1) + + diff --git a/compiler/tools/fpp-from-xml/test/array/array_string.ref.txt b/compiler/tools/fpp-from-xml/test/array/array_string.ref.txt new file mode 100644 index 000000000..4af839b6a --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/array/array_string.ref.txt @@ -0,0 +1,13 @@ +module A { + + module B { + + @ Array with string args + array ArrayString = [2] string size 80 default [ + "abcd" + "abcd" + ] + + } + +} diff --git a/compiler/tools/fpp-from-xml/test/array/array_string.xml b/compiler/tools/fpp-from-xml/test/array/array_string.xml new file mode 100644 index 000000000..7170add43 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/array/array_string.xml @@ -0,0 +1,12 @@ + + + + Array with string args + string + 2 + %s + + "abcd" + "abcd" + + diff --git a/compiler/tools/fpp-from-xml/test/array/check-fpp b/compiler/tools/fpp-from-xml/test/array/check-fpp new file mode 100755 index 000000000..4246bc6a9 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/array/check-fpp @@ -0,0 +1,10 @@ +#!/bin/sh -e + +fpp_syntax=../../../../bin/fpp-syntax + +files=`find . -name '*.ref.txt' | egrep -v 'error|missing'` +for file in $files +do + echo "checking $file" + $fpp_syntax < $file +done diff --git a/compiler/tools/fpp-from-xml/test/array/clean b/compiler/tools/fpp-from-xml/test/array/clean new file mode 100755 index 000000000..b042fe2f0 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/array/clean @@ -0,0 +1,5 @@ +#!/bin/sh -e + +. ../../../../scripts/utils.sh + +clean diff --git a/compiler/tools/fpp-from-xml/test/array/run b/compiler/tools/fpp-from-xml/test/array/run new file mode 100755 index 000000000..bf6f79f51 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/array/run @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/array/tests.sh b/compiler/tools/fpp-from-xml/test/array/tests.sh new file mode 100644 index 000000000..d5dacfb41 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/array/tests.sh @@ -0,0 +1,5 @@ +tests=" +array_enum +array_qual_id +array_string +" diff --git a/compiler/tools/fpp-from-xml/test/array/update-ref b/compiler/tools/fpp-from-xml/test/array/update-ref new file mode 100755 index 000000000..c905604d4 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/array/update-ref @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/check-fpp b/compiler/tools/fpp-from-xml/test/check-fpp new file mode 100755 index 000000000..cfd924260 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/check-fpp @@ -0,0 +1,10 @@ +#!/bin/sh -e + +. ../../../scripts/utils.sh + +for target in `find . -mindepth 2 -name check-fpp` +do + dir=`dirname $target` + echo "[ $dir ]" + (cd $dir; ./check-fpp) +done diff --git a/compiler/tools/fpp-from-xml/test/clean b/compiler/tools/fpp-from-xml/test/clean new file mode 100755 index 000000000..25d0c051c --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/clean @@ -0,0 +1,10 @@ +#!/bin/sh -e + +. ../../../scripts/utils.sh + +for target in `find . -mindepth 2 -name clean` +do + dir=`dirname $target` + (cd $dir; ./clean) +done +clean diff --git a/compiler/tools/fpp-from-xml/test/component/check-fpp b/compiler/tools/fpp-from-xml/test/component/check-fpp new file mode 100755 index 000000000..3662f5797 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/check-fpp @@ -0,0 +1,28 @@ +#!/bin/sh -e + +fpp_syntax=../../../../bin/fpp-syntax + +# These tests are component fragments +fragments="commands|events|internal_ports|parameters|telemetry\.ref" +# These tests do not generate valid FPP +skip="telemetry_bad_limit" + +# Check whole components +files=`find . -name '*.ref.txt' | egrep -v "error|missing|$fragments|$skip"` +for file in $files +do + echo "checking $file" + $fpp_syntax < $file +done + +# Check component fragments +files=`find . -name '*.ref.txt' | egrep "$fragments"` +for file in $files +do + echo "checking $file" + { + echo 'passive component C {' + cat $file + echo '}' + } | $fpp_syntax +done diff --git a/compiler/tools/fpp-from-xml/test/component/clean b/compiler/tools/fpp-from-xml/test/component/clean new file mode 100755 index 000000000..b042fe2f0 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/clean @@ -0,0 +1,5 @@ +#!/bin/sh -e + +. ../../../../scripts/utils.sh + +clean diff --git a/compiler/tools/fpp-from-xml/test/component/commands.ref.txt b/compiler/tools/fpp-from-xml/test/component/commands.ref.txt new file mode 100644 index 000000000..d9bdd99f4 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/commands.ref.txt @@ -0,0 +1,36 @@ +enum EventLevel { + FILTER_WARNING_HI = 0 + FILTER_WARNING_LO = 1 + FILTER_COMMAND = 2 + FILTER_ACTIVITY_HI = 3 + FILTER_ACTIVITY_LO = 4 + FILTER_DIAGNOSTIC = 5 +} + +enum FilterEnabled { + FILTER_ENABLED = 0 + FILTER_DISABLED = 1 +} + +@ Set filter for reporting events. Events are not stored in component. +sync command SET_EVENT_FILTER( + FilterLevel: EventLevel @< Filter level + FilterEnable: FilterEnabled @< Filter state + ) \ + opcode 0 + +enum IdFilterEnabled { + ID_ENABLED = 0 + ID_DISABLED = 1 +} + +@ Filter a particular ID +async command SET_ID_FILTER( + ID: U32 + IdFilterEnable: IdFilterEnabled @< ID filter state + ) \ + opcode 2 + +@ Dump the filter states via events +async command DUMP_FILTER_STATE \ + opcode 3 diff --git a/compiler/tools/fpp-from-xml/test/component/commands.xml b/compiler/tools/fpp-from-xml/test/component/commands.xml new file mode 100644 index 000000000..586abb87a --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/commands.xml @@ -0,0 +1,48 @@ + + + + Set filter for reporting events. Events are not stored in component. + + + + + + + + + + + + Filter level + + + + + + + Filter state + + + + + + Filter a particular ID + + + + + + + + + + ID filter state + + + + + + Dump the filter states via events + + + \ No newline at end of file diff --git a/compiler/tools/fpp-from-xml/test/component/events.ref.txt b/compiler/tools/fpp-from-xml/test/component/events.ref.txt new file mode 100644 index 000000000..a0dacec2c --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/events.ref.txt @@ -0,0 +1,49 @@ +enum EventFilterState { + FILT_WARNING_HI = 0 + FILT_WARNING_LO = 1 + FILT_COMMAND = 2 + FILT_ACTIVITY_HI = 3 + FILT_ACTIVITY_LO = 4 + FILT_DIAGNOSTIC = 5 +} + +@ Dump severity filter state +event SEVERITY_FILTER_STATE( + $severity: EventFilterState @< The severity level + enabled: bool + ) \ + severity activity low \ + id 0 \ + format "{} filter state. {}" + +@ Indicate ID is filtered +event ID_FILTER_ENABLED( + ID: U32 @< The ID filtered + ) \ + severity activity high \ + id 1 \ + format "ID {} is filtered." + +@ Attempted to add ID to full ID filter ID +event ID_FILTER_LIST_FULL( + ID: U32 @< The ID filtered + ) \ + severity warning low \ + id 2 \ + format "ID filter list is full. Cannot filter {} ." + +@ Removed an ID from the filter +event ID_FILTER_REMOVED( + ID: U32 @< The ID removed + ) \ + severity activity high \ + id 3 \ + format "ID filter ID {} removed." + +@ ID not in filter +event ID_FILTER_NOT_FOUND( + ID: U32 @< The ID removed + ) \ + severity warning low \ + id 4 \ + format "ID filter ID {} not found." diff --git a/compiler/tools/fpp-from-xml/test/component/events.xml b/compiler/tools/fpp-from-xml/test/component/events.xml new file mode 100644 index 000000000..d982a37ec --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/events.xml @@ -0,0 +1,62 @@ + + + + Dump severity filter state + + + + + + + + + + + + The severity level + + + + + + + + Indicate ID is filtered + + + + The ID filtered + + + + + + Attempted to add ID to full ID filter ID + + + + The ID filtered + + + + + + Removed an ID from the filter + + + + The ID removed + + + + + + ID not in filter + + + + The ID removed + + + + \ No newline at end of file diff --git a/compiler/tools/fpp-from-xml/test/component/general_ports_active.ref.txt b/compiler/tools/fpp-from-xml/test/component/general_ports_active.ref.txt new file mode 100644 index 000000000..145b973a2 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/general_ports_active.ref.txt @@ -0,0 +1,28 @@ +module M { + + @ Component GeneralPortsActive + active component GeneralPortsActive { + + @ Port p1 + async input port p1: [1] P \ + priority 10 \ + drop + + guarded input port p2: [1] P + + sync input port p3: [1] P + + output port p4: [10] P + + async input port p5: [1] serial \ + assert + + guarded input port p6: [1] serial + + sync input port p7: [1] serial + + output port p8: [10] serial + + } + +} diff --git a/compiler/tools/fpp-from-xml/test/component/general_ports_active.xml b/compiler/tools/fpp-from-xml/test/component/general_ports_active.xml new file mode 100644 index 000000000..a94563d3a --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/general_ports_active.xml @@ -0,0 +1,26 @@ + + + + + + Component GeneralPortsActive + + + PPortAi.xml + + + + + Port p1 + + + + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/component/general_ports_passive.ref.txt b/compiler/tools/fpp-from-xml/test/component/general_ports_passive.ref.txt new file mode 100644 index 000000000..be0c28ecb --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/general_ports_passive.ref.txt @@ -0,0 +1,21 @@ +module M { + + @ Component GeneralPortsPassive + passive component GeneralPortsPassive { + + @ Port p1 + guarded input port p1: [1] P + + sync input port p2: [1] P + + output port p3: [10] P + + guarded input port p4: [1] serial + + sync input port p5: [1] serial + + output port p6: [10] serial + + } + +} diff --git a/compiler/tools/fpp-from-xml/test/component/general_ports_passive.xml b/compiler/tools/fpp-from-xml/test/component/general_ports_passive.xml new file mode 100644 index 000000000..58a867dca --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/general_ports_passive.xml @@ -0,0 +1,24 @@ + + + + + + Component GeneralPortsPassive + + + PPortAi.xml + + + + + Port p1 + + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/component/import_dictionary.ref.txt b/compiler/tools/fpp-from-xml/test/component/import_dictionary.ref.txt new file mode 100644 index 000000000..469e3f4bf --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/import_dictionary.ref.txt @@ -0,0 +1,12 @@ +module M { + + passive component ImportDictionary { + + include "A.fppi" + + @ FPP from XML: original path was B/C.xml + include "C.fppi" + + } + +} diff --git a/compiler/tools/fpp-from-xml/test/component/import_dictionary.xml b/compiler/tools/fpp-from-xml/test/component/import_dictionary.xml new file mode 100644 index 000000000..9c872524f --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/import_dictionary.xml @@ -0,0 +1,6 @@ + + + A.xml + B/C.xml + + diff --git a/compiler/tools/fpp-from-xml/test/component/internal_ports.ref.txt b/compiler/tools/fpp-from-xml/test/component/internal_ports.ref.txt new file mode 100644 index 000000000..49ee684a9 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/internal_ports.ref.txt @@ -0,0 +1,19 @@ +enum QueueLogSeverity { + QUEUE_LOG_FATAL = 1 @< A fatal non-recoverable event + QUEUE_LOG_WARNING_HI = 2 @< A serious but recoverable event + QUEUE_LOG_WARNING_LO = 3 @< A less serious but recoverable event + QUEUE_LOG_COMMAND = 4 @< An activity related to commanding + QUEUE_LOG_ACTIVITY_HI = 5 @< Important informational events + QUEUE_LOG_ACTIVITY_LO = 6 @< Less important informational events + QUEUE_LOG_DIAGNOSTIC = 7 @< Software diagnostic events +} + +@ internal interface to send log messages to component thread +internal port loqQueue( + $id: FwEventIdType @< Log ID + ref timeTag: Fw.Time @< Time Tag + $severity: QueueLogSeverity @< The severity argument + ref args: Fw.LogBuffer @< Buffer containing serialized log entry + ) \ + priority 1 \ + drop diff --git a/compiler/tools/fpp-from-xml/test/component/internal_ports.xml b/compiler/tools/fpp-from-xml/test/component/internal_ports.xml new file mode 100644 index 000000000..a7150e193 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/internal_ports.xml @@ -0,0 +1,30 @@ + + + + internal interface to send log messages to component thread + + + + Log ID + + + Time Tag + + + + + + + + + + + + The severity argument + + + Buffer containing serialized log entry + + + + \ No newline at end of file diff --git a/compiler/tools/fpp-from-xml/test/component/parameters.ref.txt b/compiler/tools/fpp-from-xml/test/component/parameters.ref.txt new file mode 100644 index 000000000..57f60d8d5 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/parameters.ref.txt @@ -0,0 +1,27 @@ +@ A test parameter +param P1: U8 default 12 id 0 \ + set opcode 0 \ + save opcode 1 + +@ A test parameter +param P2: F32 default 13.14 id 1 \ + set opcode 2 \ + save opcode 3 + +enum EventLevel { + FILTER_WARNING_HI = 0 + FILTER_WARNING_LO = 1 + FILTER_COMMAND = 2 + FILTER_ACTIVITY_HI = 3 + FILTER_ACTIVITY_LO = 4 + FILTER_DIAGNOSTIC = 5 +} + +param P3: EventLevel default FILTER_ACTIVITY_LO id 2 \ + set opcode 4 \ + save opcode 5 + +@ FPP from XML: could not translate default value T() +param P4: T id 3 \ + set opcode 6 \ + save opcode 7 diff --git a/compiler/tools/fpp-from-xml/test/component/parameters.xml b/compiler/tools/fpp-from-xml/test/component/parameters.xml new file mode 100644 index 000000000..e0072d828 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/parameters.xml @@ -0,0 +1,23 @@ + + + + A test parameter + + + + + A test parameter + + + + + + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/component/run b/compiler/tools/fpp-from-xml/test/component/run new file mode 100755 index 000000000..bf6f79f51 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/run @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/component/special_ports.ref.txt b/compiler/tools/fpp-from-xml/test/component/special_ports.ref.txt new file mode 100644 index 000000000..10b79c49e --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/special_ports.ref.txt @@ -0,0 +1,23 @@ +module M { + + passive component SpecialPorts { + + command recv port cmdIn + + command reg port cmdRegOut + + command resp port cmdResponseOut + + event port eventOut + + param get port paramGetOut + + param set port paramSetOut + + text event port textEventOut + + telemetry port tlmOut + + } + +} diff --git a/compiler/tools/fpp-from-xml/test/component/special_ports.xml b/compiler/tools/fpp-from-xml/test/component/special_ports.xml new file mode 100644 index 000000000..3464d6a9d --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/special_ports.xml @@ -0,0 +1,29 @@ + + + + + + CmdPortAi.xml + CmdRegPortAi.xml + CmdResponsePortAi.xml + LogPortAi.xml + LogTextPortAi.xml + PrmGetPortAi.xml + PrmSetPortAi.xml + TlmPortAi.xml + + + + + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/component/telemetry.ref.txt b/compiler/tools/fpp-from-xml/test/component/telemetry.ref.txt new file mode 100644 index 000000000..bba29c1a9 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/telemetry.ref.txt @@ -0,0 +1,28 @@ +@ Channel C1 +telemetry C1: U32 id 0x0 update always + +telemetry C2: U32 id 0x1 update always + +telemetry C3: U32 id 0x2 update on change + +telemetry C4: string size 80 id 0x3 update always + +telemetry C5: I32 id 0x4 update always \ + low { + red -3 + orange -2 + yellow -1 + } \ + high { + red 3 + orange 2 + yellow 1 + } + +enum E { + A = 0 + B = 1 + C = 2 +} + +telemetry C6: E id 0x5 update always diff --git a/compiler/tools/fpp-from-xml/test/component/telemetry.xml b/compiler/tools/fpp-from-xml/test/component/telemetry.xml new file mode 100644 index 000000000..63f138f9f --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/telemetry.xml @@ -0,0 +1,18 @@ + + + + Channel C1 + + + + + + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.ref.txt b/compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.ref.txt new file mode 100644 index 000000000..6f63140c9 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.ref.txt @@ -0,0 +1,3 @@ +fpp-from-xml +file: [ local path prefix ]/tools/fpp-from-xml/test/component/telemetry_bad_limit.xml +error: non-numeric type in limit for channel C diff --git a/compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.xml b/compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.xml new file mode 100644 index 000000000..88f5681f5 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/telemetry_bad_limit.xml @@ -0,0 +1,3 @@ + + + diff --git a/compiler/tools/fpp-from-xml/test/component/tests.sh b/compiler/tools/fpp-from-xml/test/component/tests.sh new file mode 100644 index 000000000..dd0cdd70f --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/tests.sh @@ -0,0 +1,12 @@ +tests=" +commands +events +general_ports_active +general_ports_passive +import_dictionary +internal_ports +parameters +special_ports +telemetry +telemetry_bad_limit +" diff --git a/compiler/tools/fpp-from-xml/test/component/update-ref b/compiler/tools/fpp-from-xml/test/component/update-ref new file mode 100755 index 000000000..c905604d4 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/component/update-ref @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/enum/check-fpp b/compiler/tools/fpp-from-xml/test/enum/check-fpp new file mode 100755 index 000000000..4246bc6a9 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/check-fpp @@ -0,0 +1,10 @@ +#!/bin/sh -e + +fpp_syntax=../../../../bin/fpp-syntax + +files=`find . -name '*.ref.txt' | egrep -v 'error|missing'` +for file in $files +do + echo "checking $file" + $fpp_syntax < $file +done diff --git a/compiler/tools/fpp-from-xml/test/enum/clean b/compiler/tools/fpp-from-xml/test/enum/clean new file mode 100755 index 000000000..b042fe2f0 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/clean @@ -0,0 +1,5 @@ +#!/bin/sh -e + +. ../../../../scripts/utils.sh + +clean diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.ref.txt b/compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.ref.txt new file mode 100644 index 000000000..b5105928a --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.ref.txt @@ -0,0 +1,9 @@ +module M { + + enum $enum { + X = 0 + Y = 1 + Z = 2 + } + +} diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.xml b/compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.xml new file mode 100644 index 000000000..12401e7f1 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/enum_kwd_name.xml @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_missing_name.ref.txt b/compiler/tools/fpp-from-xml/test/enum/enum_missing_name.ref.txt new file mode 100644 index 000000000..f1e82792e --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/enum_missing_name.ref.txt @@ -0,0 +1,3 @@ +fpp-from-xml +file: [ local path prefix ]/tools/fpp-from-xml/test/enum/enum_missing_name.xml +error: missing attribute name for node diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_missing_name.xml b/compiler/tools/fpp-from-xml/test/enum/enum_missing_name.xml new file mode 100644 index 000000000..124eea833 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/enum_missing_name.xml @@ -0,0 +1 @@ + diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_ok.fpp b/compiler/tools/fpp-from-xml/test/enum/enum_ok.fpp new file mode 100644 index 000000000..2b2f71c56 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/enum_ok.fpp @@ -0,0 +1,16 @@ +module A { + + module B { + + @ Annotation line 1 + @ Annotation line 2 + enum OK { + X @< Annotation line 1 + @< Annotation line 2 + Y + Z + } + + } + +} diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_ok.ref.txt b/compiler/tools/fpp-from-xml/test/enum/enum_ok.ref.txt new file mode 100644 index 000000000..3a66a00bc --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/enum_ok.ref.txt @@ -0,0 +1,13 @@ +module A { + + module B { + + enum OK { + X = 0 @< Annotation line 1 Annotation line 2 + Y = 1 + Z = 2 + } + + } + +} diff --git a/compiler/tools/fpp-from-xml/test/enum/enum_ok.xml b/compiler/tools/fpp-from-xml/test/enum/enum_ok.xml new file mode 100644 index 000000000..72931dfb5 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/enum_ok.xml @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/enum/run b/compiler/tools/fpp-from-xml/test/enum/run new file mode 100755 index 000000000..bf6f79f51 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/run @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/enum/tests.sh b/compiler/tools/fpp-from-xml/test/enum/tests.sh new file mode 100644 index 000000000..c74c43ec5 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/tests.sh @@ -0,0 +1,5 @@ +tests=" +enum_kwd_name +enum_missing_name +enum_ok +" diff --git a/compiler/tools/fpp-from-xml/test/enum/update-ref b/compiler/tools/fpp-from-xml/test/enum/update-ref new file mode 100755 index 000000000..c905604d4 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/update-ref @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/port/check-fpp b/compiler/tools/fpp-from-xml/test/port/check-fpp new file mode 100755 index 000000000..4246bc6a9 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/port/check-fpp @@ -0,0 +1,10 @@ +#!/bin/sh -e + +fpp_syntax=../../../../bin/fpp-syntax + +files=`find . -name '*.ref.txt' | egrep -v 'error|missing'` +for file in $files +do + echo "checking $file" + $fpp_syntax < $file +done diff --git a/compiler/tools/fpp-from-xml/test/port/clean b/compiler/tools/fpp-from-xml/test/port/clean new file mode 100755 index 000000000..b042fe2f0 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/port/clean @@ -0,0 +1,5 @@ +#!/bin/sh -e + +. ../../../../scripts/utils.sh + +clean diff --git a/compiler/tools/fpp-from-xml/test/port/port_cmd_resp.ref.txt b/compiler/tools/fpp-from-xml/test/port/port_cmd_resp.ref.txt new file mode 100644 index 000000000..5dd57d94b --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/port/port_cmd_resp.ref.txt @@ -0,0 +1,19 @@ +module Fw { + + enum CommandResponse { + COMMAND_OK = 0 @< Command successfully executed + COMMAND_INVALID_OPCODE = 1 @< Invalid opcode dispatched + COMMAND_VALIDATION_ERROR = 2 @< Command failed validation + COMMAND_FORMAT_ERROR = 3 @< Command failed to deserialize + COMMAND_EXECUTION_ERROR = 4 @< Command had execution error + COMMAND_BUSY = 5 @< Component busy + } + + @ Command port + port CmdResponse( + opCode: FwOpcodeType @< Command Op Code + cmdSeq: U32 @< Command Sequence + response: CommandResponse @< The command response argument + ) + +} diff --git a/compiler/tools/fpp-from-xml/test/port/port_cmd_resp.xml b/compiler/tools/fpp-from-xml/test/port/port_cmd_resp.xml new file mode 100644 index 000000000..1f0076d38 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/port/port_cmd_resp.xml @@ -0,0 +1,26 @@ + + + + + Command port + + + + Command Op Code + + + Command Sequence + + + + + + + + + + + The command response argument + + + diff --git a/compiler/tools/fpp-from-xml/test/port/port_ok.ref.txt b/compiler/tools/fpp-from-xml/test/port/port_ok.ref.txt new file mode 100644 index 000000000..a3df1772a --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/port/port_ok.ref.txt @@ -0,0 +1,18 @@ +module A { + + enum Return { + X = 0 + Y = 1 + Z = 2 + } + + @ Top-level comment line 1 + @ Top-level comment line 2 + port OK( + a: U32 @< Argument a comment line 1 + @< Argument a comment line 2 + ref b: string size 40 @< Argument b comment line 1 + @< Argument b comment line 2 + ) -> Return + +} diff --git a/compiler/tools/fpp-from-xml/test/port/port_ok.xml b/compiler/tools/fpp-from-xml/test/port/port_ok.xml new file mode 100644 index 000000000..cfd43b269 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/port/port_ok.xml @@ -0,0 +1,34 @@ + + + + + + + Top-level comment line 1 + Top-level comment line 2 + + + + + Argument a comment line 1 + Argument a comment line 2 + + + + + Argument b comment line 1 + Argument b comment line 2 + + + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/port/run b/compiler/tools/fpp-from-xml/test/port/run new file mode 100755 index 000000000..bf6f79f51 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/port/run @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/port/tests.sh b/compiler/tools/fpp-from-xml/test/port/tests.sh new file mode 100644 index 000000000..a0ff58b9e --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/port/tests.sh @@ -0,0 +1,4 @@ +tests=" +port_cmd_resp +port_ok +" diff --git a/compiler/tools/fpp-from-xml/test/port/update-ref b/compiler/tools/fpp-from-xml/test/port/update-ref new file mode 100755 index 000000000..c905604d4 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/port/update-ref @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/scripts/run.sh b/compiler/tools/fpp-from-xml/test/scripts/run.sh new file mode 100644 index 000000000..34341ac09 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/scripts/run.sh @@ -0,0 +1,47 @@ +#!/bin/sh + +export LOCAL_PATH_PREFIX=`cd $COMPILER_ROOT; echo $PWD` + +. $COMPILER_ROOT/scripts/test-utils.sh + +fpp_from_xml=$COMPILER_ROOT/bin/fpp-from-xml + +compare() +{ + outfile=$1 + diff -u $outfile.ref.txt $outfile.out.txt > $outfile.diff.txt 2>&1 +} + +run_test() +{ + args=$1 + infile=$2 + if test -n "$3" + then + outfile=$3 + else + outfile=$infile + fi + $fpp_from_xml $args $infile.xml 2>&1 | remove_path_prefix > $outfile.out.txt + compare $outfile +} + +. ./tests.sh + +# Default tests +for t in $tests +do + echo " +$t() +{ + run_test '' $t +}" +done > default-tests.sh +. ./default-tests.sh + +if test -f run.sh +then + . ./run.sh +fi + +run_suite $tests diff --git a/compiler/tools/fpp-from-xml/test/scripts/update-ref.sh b/compiler/tools/fpp-from-xml/test/scripts/update-ref.sh new file mode 100644 index 000000000..f398625ce --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/scripts/update-ref.sh @@ -0,0 +1,49 @@ +#!/bin/sh + +export LOCAL_PATH_PREFIX=`cd $COMPILER_ROOT; echo $PWD` + +. $COMPILER_ROOT/scripts/test-utils.sh + +fpp_from_xml=$COMPILER_ROOT/bin/fpp-from-xml + +update() +{ + args=$1 + infile=$2 + if test -n "$3" + then + outfile=$3 + else + outfile=$infile + fi + $fpp_from_xml $args $infile.xml 2>&1 | remove_path_prefix > $outfile.ref.txt +} + +for file in `find . -name '*.ref.txt'` +do + rm $file +done + +. ./tests.sh + +# Default update ref +for t in $tests +do + echo " +$t() +{ + update '' $t +}" +done > default-update-ref.sh +. ./default-update-ref.sh + +if test -f update-ref.sh +then + . ./update-ref.sh +fi + +for t in $tests +do + echo "updating ref output for $t" + $t +done diff --git a/compiler/tools/fpp-from-xml/test/struct/check-fpp b/compiler/tools/fpp-from-xml/test/struct/check-fpp new file mode 100755 index 000000000..4246bc6a9 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/check-fpp @@ -0,0 +1,10 @@ +#!/bin/sh -e + +fpp_syntax=../../../../bin/fpp-syntax + +files=`find . -name '*.ref.txt' | egrep -v 'error|missing'` +for file in $files +do + echo "checking $file" + $fpp_syntax < $file +done diff --git a/compiler/tools/fpp-from-xml/test/struct/clean b/compiler/tools/fpp-from-xml/test/struct/clean new file mode 100755 index 000000000..b042fe2f0 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/clean @@ -0,0 +1,5 @@ +#!/bin/sh -e + +. ../../../../scripts/utils.sh + +clean diff --git a/compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.ref.txt b/compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.ref.txt new file mode 100644 index 000000000..2a44a0cb0 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.ref.txt @@ -0,0 +1,19 @@ +module A { + + module B { + + enum E { + X = 0 + Y = 1 + Z = 2 + } + + @ Top-level comment, line 1 + @ Top-level comment, line 2 + struct StructOK { + m: [3] E format "the value is {}" + } + + } + +} diff --git a/compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.xml b/compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.xml new file mode 100644 index 000000000..c1e8081e4 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/member_array_of_enum.xml @@ -0,0 +1,15 @@ + + + Top-level comment, line 1 + Top-level comment, line 2 + + + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/struct/run b/compiler/tools/fpp-from-xml/test/struct/run new file mode 100755 index 000000000..bf6f79f51 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/run @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/struct/struct_format.ref.txt b/compiler/tools/fpp-from-xml/test/struct/struct_format.ref.txt new file mode 100644 index 000000000..419fcf70e --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/struct_format.ref.txt @@ -0,0 +1,17 @@ +module A { + + module B { + + struct StructFormat { + m1: I32 + @ FPP from XML: could not translate format string "%q" + m2: bool + m3: string size 23 + m4: [10] F32 format "{.3e}" + m5: [10] F32 format "{.3f}" + m6: [10] F32 format "{.3g}" + } + + } + +} diff --git a/compiler/tools/fpp-from-xml/test/struct/struct_format.xml b/compiler/tools/fpp-from-xml/test/struct/struct_format.xml new file mode 100644 index 000000000..34cbab2f7 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/struct_format.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.ref.txt b/compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.ref.txt new file mode 100644 index 000000000..717ea98d1 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.ref.txt @@ -0,0 +1,3 @@ +fpp-from-xml +file: [ local path prefix ]/tools/fpp-from-xml/test/struct/struct_missing_member_name.xml +error: missing attribute name for node diff --git a/compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.xml b/compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.xml new file mode 100644 index 000000000..2c4ecdde5 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/struct_missing_member_name.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/compiler/tools/fpp-from-xml/test/struct/struct_ok.ref.txt b/compiler/tools/fpp-from-xml/test/struct/struct_ok.ref.txt new file mode 100644 index 000000000..73323b05b --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/struct_ok.ref.txt @@ -0,0 +1,24 @@ +module A { + + module B { + + enum E { + X = 0 + Y = 3 @< Inline comment + Z = 4 + } + + @ Top-level comment, line 1 + @ Top-level comment, line 2 + struct StructOK { + m1: C.D @< Inline comment + m2: I32 + m3: bool + m4: string size 23 + m5: E + m6: [10] U32 + } + + } + +} diff --git a/compiler/tools/fpp-from-xml/test/struct/struct_ok.xml b/compiler/tools/fpp-from-xml/test/struct/struct_ok.xml new file mode 100644 index 000000000..5386fd58b --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/struct_ok.xml @@ -0,0 +1,20 @@ + + + Top-level comment, line 1 + Top-level comment, line 2 + + + + + + + + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/struct/tests.sh b/compiler/tools/fpp-from-xml/test/struct/tests.sh new file mode 100644 index 000000000..9db0b7868 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/tests.sh @@ -0,0 +1,6 @@ +tests=" +member_array_of_enum +struct_format +struct_missing_member_name +struct_ok +" diff --git a/compiler/tools/fpp-from-xml/test/struct/update-ref b/compiler/tools/fpp-from-xml/test/struct/update-ref new file mode 100755 index 000000000..c905604d4 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/struct/update-ref @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/syntax/check-fpp b/compiler/tools/fpp-from-xml/test/syntax/check-fpp new file mode 100755 index 000000000..4246bc6a9 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/syntax/check-fpp @@ -0,0 +1,10 @@ +#!/bin/sh -e + +fpp_syntax=../../../../bin/fpp-syntax + +files=`find . -name '*.ref.txt' | egrep -v 'error|missing'` +for file in $files +do + echo "checking $file" + $fpp_syntax < $file +done diff --git a/compiler/tools/fpp-from-xml/test/syntax/clean b/compiler/tools/fpp-from-xml/test/syntax/clean new file mode 100755 index 000000000..b042fe2f0 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/syntax/clean @@ -0,0 +1,5 @@ +#!/bin/sh -e + +. ../../../../scripts/utils.sh + +clean diff --git a/compiler/tools/fpp-from-xml/test/syntax/parse_error.ref.txt b/compiler/tools/fpp-from-xml/test/syntax/parse_error.ref.txt new file mode 100644 index 000000000..0b65eb42c --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/syntax/parse_error.ref.txt @@ -0,0 +1,3 @@ +fpp-from-xml +file: [ local path prefix ]/tools/fpp-from-xml/test/syntax/parse_error.xml +error: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. diff --git a/compiler/tools/fpp-from-xml/test/syntax/parse_error.xml b/compiler/tools/fpp-from-xml/test/syntax/parse_error.xml new file mode 100644 index 000000000..e61e68ba5 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/syntax/parse_error.xml @@ -0,0 +1 @@ +This file should not parse! diff --git a/compiler/tools/fpp-from-xml/test/syntax/run b/compiler/tools/fpp-from-xml/test/syntax/run new file mode 100755 index 000000000..bf6f79f51 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/syntax/run @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/syntax/tests.sh b/compiler/tools/fpp-from-xml/test/syntax/tests.sh new file mode 100644 index 000000000..40969f15d --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/syntax/tests.sh @@ -0,0 +1,3 @@ +tests=" +parse_error +" diff --git a/compiler/tools/fpp-from-xml/test/syntax/update-ref b/compiler/tools/fpp-from-xml/test/syntax/update-ref new file mode 100755 index 000000000..c905604d4 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/syntax/update-ref @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/test b/compiler/tools/fpp-from-xml/test/test new file mode 100755 index 000000000..6df8509b5 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/test @@ -0,0 +1,6 @@ +#!/bin/sh -e + +export COMPILER_ROOT=../.. +cd .. +$COMPILER_ROOT/scripts/test +mv num_failed.txt test-output.txt test diff --git a/compiler/tools/fpp-from-xml/test/top/check-fpp b/compiler/tools/fpp-from-xml/test/top/check-fpp new file mode 100755 index 000000000..b1fe2532c --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/top/check-fpp @@ -0,0 +1,15 @@ +#!/bin/sh -e + +fpp_syntax=../../../../bin/fpp-syntax + +files=`find . -name '*.ref.txt' | egrep -v 'error|missing'` +for file in $files +do + echo "checking $file" + if echo $file | grep -q "fprime_ref_packets\.ref\.txt$" + then + $fpp_syntax -i < fprime_ref_packets.fpp + else + $fpp_syntax < $file + fi +done diff --git a/compiler/tools/fpp-from-xml/test/top/clean b/compiler/tools/fpp-from-xml/test/top/clean new file mode 100755 index 000000000..b042fe2f0 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/top/clean @@ -0,0 +1,5 @@ +#!/bin/sh -e + +. ../../../../scripts/utils.sh + +clean diff --git a/compiler/tools/fpp-from-xml/test/top/fprime_ref.ref.txt b/compiler/tools/fpp-from-xml/test/top/fprime_ref.ref.txt new file mode 100644 index 000000000..03c3ea5ef --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/top/fprime_ref.ref.txt @@ -0,0 +1,321 @@ +instance cmdDisp: Svc.CommandDispatcher base id 121 + +instance chanTlm: Svc.TlmChan base id 61 + +instance prmDb: Svc.PrmDb base id 141 + +instance cmdSeq: Svc.CmdSequencer base id 541 + +instance eventLogger: Svc.ActiveLogger base id 421 + +instance $health: Svc.Health base id 361 + +instance fileUplink: Svc.FileUplink base id 261 + +instance fileUplinkBufferManager: Svc.BufferManager base id 301 + +instance fileDownlink: Svc.FileDownlink base id 501 + +instance fileManager: Svc.FileManager base id 601 + +instance textLogger: Svc.PassiveTextLogger base id 521 + +instance fatalAdapter: Svc.AssertFatalAdapter base id 341 + +instance fatalHandler: Svc.FatalHandler base id 1 + +instance linuxTime: Svc.Time base id 441 + +instance staticMemory: Svc.StaticMemory base id 661 + +instance downlink: Svc.Framer base id 681 + +instance uplink: Svc.Deframer base id 701 + +instance comm: Drv.ByteStreamDriverModel base id 621 + +instance rateGroupDriverComp: Svc.RateGroupDriver base id 461 + +instance rateGroup1Comp: Svc.ActiveRateGroup base id 21 + +instance rateGroup2Comp: Svc.ActiveRateGroup base id 161 + +instance rateGroup3Comp: Svc.ActiveRateGroup base id 241 + +instance sendBuffComp: Ref.SendBuff base id 81 + +instance recvBuffComp: Ref.RecvBuff base id 101 + +instance pingRcvr: Ref.PingReceiver base id 41 + +instance SG1: Ref.SignalGen base id 181 + +instance SG3: Ref.SignalGen base id 201 + +instance SG2: Ref.SignalGen base id 221 + +instance SG5: Ref.SignalGen base id 281 + +instance SG4: Ref.SignalGen base id 321 + +instance blockDrv: Drv.BlockDriver base id 481 + +topology Ref { + + instance cmdDisp + + instance chanTlm + + instance prmDb + + instance cmdSeq + + instance eventLogger + + instance $health + + instance fileUplink + + instance fileUplinkBufferManager + + instance fileDownlink + + instance fileManager + + instance textLogger + + instance fatalAdapter + + instance fatalHandler + + instance linuxTime + + instance staticMemory + + instance downlink + + instance uplink + + instance comm + + instance rateGroupDriverComp + + instance rateGroup1Comp + + instance rateGroup2Comp + + instance rateGroup3Comp + + instance sendBuffComp + + instance recvBuffComp + + instance pingRcvr + + instance SG1 + + instance SG3 + + instance SG2 + + instance SG5 + + instance SG4 + + instance blockDrv + + connections XML { + comm.allocate[0] -> staticMemory.bufferAllocate[0] + comm.$recv[0] -> uplink.framedIn[0] + uplink.framedDeallocate[0] -> staticMemory.bufferDeallocate[0] + uplink.bufferAllocate[0] -> fileUplinkBufferManager.bufferGetCallee[0] + uplink.comOut[0] -> cmdDisp.seqCmdBuff[0] + uplink.bufferOut[0] -> fileUplink.bufferSendIn[0] + uplink.bufferDeallocate[0] -> fileUplinkBufferManager.bufferSendIn[0] + fileUplink.bufferSendOut[0] -> fileUplinkBufferManager.bufferSendIn[0] + downlink.framedAllocate[0] -> staticMemory.bufferAllocate[1] + downlink.framedOut[0] -> comm.$send[0] + comm.deallocate[0] -> staticMemory.bufferDeallocate[1] + eventLogger.PktSend[0] -> downlink.comIn[0] + chanTlm.PktSend[0] -> downlink.comIn[0] + fileDownlink.bufferSendOut[0] -> downlink.bufferIn[0] + downlink.bufferDeallocate[0] -> fileDownlink.bufferReturn[0] + eventLogger.CmdReg[0] -> cmdDisp.compCmdReg[0] + cmdDisp.CmdReg[0] -> cmdDisp.compCmdReg[1] + $health.CmdReg[0] -> cmdDisp.compCmdReg[2] + prmDb.CmdReg[0] -> cmdDisp.compCmdReg[3] + cmdSeq.cmdRegOut[0] -> cmdDisp.compCmdReg[4] + fileDownlink.cmdRegOut[0] -> cmdDisp.compCmdReg[5] + sendBuffComp.CmdReg[0] -> cmdDisp.compCmdReg[6] + recvBuffComp.CmdReg[0] -> cmdDisp.compCmdReg[7] + SG1.cmdRegOut[0] -> cmdDisp.compCmdReg[8] + SG2.cmdRegOut[0] -> cmdDisp.compCmdReg[9] + SG3.cmdRegOut[0] -> cmdDisp.compCmdReg[10] + SG4.cmdRegOut[0] -> cmdDisp.compCmdReg[11] + SG5.cmdRegOut[0] -> cmdDisp.compCmdReg[12] + pingRcvr.CmdReg[0] -> cmdDisp.compCmdReg[13] + fileManager.cmdRegOut[0] -> cmdDisp.compCmdReg[14] + cmdDisp.compCmdSend[0] -> eventLogger.CmdDisp[0] + cmdDisp.compCmdSend[1] -> cmdDisp.CmdDisp[0] + cmdDisp.compCmdSend[2] -> $health.CmdDisp[0] + cmdDisp.compCmdSend[3] -> prmDb.CmdDisp[0] + cmdDisp.compCmdSend[4] -> cmdSeq.cmdIn[0] + cmdDisp.compCmdSend[5] -> fileDownlink.cmdIn[0] + cmdDisp.compCmdSend[6] -> sendBuffComp.CmdDisp[0] + cmdDisp.compCmdSend[7] -> recvBuffComp.CmdDisp[0] + cmdDisp.compCmdSend[8] -> SG1.cmdIn[0] + cmdDisp.compCmdSend[9] -> SG2.cmdIn[0] + cmdDisp.compCmdSend[10] -> SG3.cmdIn[0] + cmdDisp.compCmdSend[11] -> SG4.cmdIn[0] + cmdDisp.compCmdSend[12] -> SG5.cmdIn[0] + cmdDisp.compCmdSend[13] -> pingRcvr.CmdDisp[0] + cmdDisp.compCmdSend[14] -> fileManager.cmdIn[0] + eventLogger.CmdStatus[0] -> cmdDisp.compCmdStat[0] + cmdSeq.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] + prmDb.CmdStatus[0] -> cmdDisp.compCmdStat[0] + cmdDisp.CmdStatus[0] -> cmdDisp.compCmdStat[0] + $health.CmdStatus[0] -> cmdDisp.compCmdStat[0] + fileDownlink.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] + fileManager.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] + pingRcvr.CmdStatus[0] -> cmdDisp.compCmdStat[0] + recvBuffComp.CmdStatus[0] -> cmdDisp.compCmdStat[0] + sendBuffComp.CmdStatus[0] -> cmdDisp.compCmdStat[0] + SG1.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] + SG2.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] + SG3.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] + SG4.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] + SG5.cmdResponseOut[0] -> cmdDisp.compCmdStat[0] + cmdDisp.seqCmdStatus[1] -> cmdSeq.cmdResponseIn[0] + cmdSeq.comCmdOut[0] -> cmdDisp.seqCmdBuff[1] + prmDb.Log[0] -> eventLogger.LogRecv[0] + fileUplink.eventOut[0] -> eventLogger.LogRecv[0] + eventLogger.Log[0] -> eventLogger.LogRecv[0] + fileUplinkBufferManager.eventOut[0] -> eventLogger.LogRecv[0] + cmdDisp.Log[0] -> eventLogger.LogRecv[0] + cmdSeq.logOut[0] -> eventLogger.LogRecv[0] + fatalAdapter.Log[0] -> eventLogger.LogRecv[0] + $health.Log[0] -> eventLogger.LogRecv[0] + fileDownlink.eventOut[0] -> eventLogger.LogRecv[0] + fileManager.eventOut[0] -> eventLogger.LogRecv[0] + rateGroup1Comp.Log[0] -> eventLogger.LogRecv[0] + rateGroup2Comp.Log[0] -> eventLogger.LogRecv[0] + rateGroup3Comp.Log[0] -> eventLogger.LogRecv[0] + sendBuffComp.Log[0] -> eventLogger.LogRecv[0] + recvBuffComp.Log[0] -> eventLogger.LogRecv[0] + SG1.logOut[0] -> eventLogger.LogRecv[0] + SG2.logOut[0] -> eventLogger.LogRecv[0] + SG3.logOut[0] -> eventLogger.LogRecv[0] + SG4.logOut[0] -> eventLogger.LogRecv[0] + SG5.logOut[0] -> eventLogger.LogRecv[0] + pingRcvr.Log[0] -> eventLogger.LogRecv[0] + cmdSeq.LogText[0] -> textLogger.TextLogger[0] + eventLogger.LogText[0] -> textLogger.TextLogger[0] + $health.LogText[0] -> textLogger.TextLogger[0] + fatalAdapter.LogText[0] -> textLogger.TextLogger[0] + prmDb.LogText[0] -> textLogger.TextLogger[0] + cmdDisp.LogText[0] -> textLogger.TextLogger[0] + rateGroup1Comp.LogText[0] -> textLogger.TextLogger[0] + rateGroup2Comp.LogText[0] -> textLogger.TextLogger[0] + rateGroup3Comp.LogText[0] -> textLogger.TextLogger[0] + pingRcvr.LogText[0] -> textLogger.TextLogger[0] + SG1.logTextOut[0] -> textLogger.TextLogger[0] + SG2.logTextOut[0] -> textLogger.TextLogger[0] + SG3.logTextOut[0] -> textLogger.TextLogger[0] + SG4.logTextOut[0] -> textLogger.TextLogger[0] + SG5.logTextOut[0] -> textLogger.TextLogger[0] + sendBuffComp.LogText[0] -> textLogger.TextLogger[0] + recvBuffComp.LogText[0] -> textLogger.TextLogger[0] + fileDownlink.textEventOut[0] -> textLogger.TextLogger[0] + fileDownlink.tlmOut[0] -> chanTlm.TlmRecv[0] + fileUplinkBufferManager.tlmOut[0] -> chanTlm.TlmRecv[0] + fileUplink.tlmOut[0] -> chanTlm.TlmRecv[0] + fileManager.tlmOut[0] -> chanTlm.TlmRecv[0] + cmdSeq.tlmOut[0] -> chanTlm.TlmRecv[0] + cmdDisp.Tlm[0] -> chanTlm.TlmRecv[0] + rateGroup1Comp.Tlm[0] -> chanTlm.TlmRecv[0] + rateGroup2Comp.Tlm[0] -> chanTlm.TlmRecv[0] + rateGroup3Comp.Tlm[0] -> chanTlm.TlmRecv[0] + $health.Tlm[0] -> chanTlm.TlmRecv[0] + SG1.tlmOut[0] -> chanTlm.TlmRecv[0] + SG2.tlmOut[0] -> chanTlm.TlmRecv[0] + SG3.tlmOut[0] -> chanTlm.TlmRecv[0] + SG4.tlmOut[0] -> chanTlm.TlmRecv[0] + SG5.tlmOut[0] -> chanTlm.TlmRecv[0] + pingRcvr.Tlm[0] -> chanTlm.TlmRecv[0] + sendBuffComp.Tlm[0] -> chanTlm.TlmRecv[0] + recvBuffComp.Tlm[0] -> chanTlm.TlmRecv[0] + blockDrv.Tlm[0] -> chanTlm.TlmRecv[0] + recvBuffComp.ParamGet[0] -> prmDb.getPrm[0] + sendBuffComp.ParamGet[0] -> prmDb.getPrm[0] + recvBuffComp.ParamSet[0] -> prmDb.setPrm[0] + sendBuffComp.ParamSet[0] -> prmDb.setPrm[0] + prmDb.Time[0] -> linuxTime.timeGetPort[0] + eventLogger.Time[0] -> linuxTime.timeGetPort[0] + rateGroup1Comp.Time[0] -> linuxTime.timeGetPort[0] + rateGroup2Comp.Time[0] -> linuxTime.timeGetPort[0] + rateGroup3Comp.Time[0] -> linuxTime.timeGetPort[0] + cmdSeq.timeCaller[0] -> linuxTime.timeGetPort[0] + $health.Time[0] -> linuxTime.timeGetPort[0] + fileUplinkBufferManager.timeCaller[0] -> linuxTime.timeGetPort[0] + cmdDisp.Time[0] -> linuxTime.timeGetPort[0] + fileUplink.timeCaller[0] -> linuxTime.timeGetPort[0] + fileDownlink.timeCaller[0] -> linuxTime.timeGetPort[0] + fileManager.timeCaller[0] -> linuxTime.timeGetPort[0] + fatalAdapter.Time[0] -> linuxTime.timeGetPort[0] + recvBuffComp.Time[0] -> linuxTime.timeGetPort[0] + SG1.timeCaller[0] -> linuxTime.timeGetPort[0] + SG2.timeCaller[0] -> linuxTime.timeGetPort[0] + SG3.timeCaller[0] -> linuxTime.timeGetPort[0] + SG4.timeCaller[0] -> linuxTime.timeGetPort[0] + SG5.timeCaller[0] -> linuxTime.timeGetPort[0] + sendBuffComp.Time[0] -> linuxTime.timeGetPort[0] + pingRcvr.Time[0] -> linuxTime.timeGetPort[0] + blockDrv.Time[0] -> linuxTime.timeGetPort[0] + blockDrv.CycleOut[0] -> rateGroupDriverComp.CycleIn[0] + rateGroupDriverComp.CycleOut[0] -> rateGroup1Comp.CycleIn[0] + rateGroup1Comp.RateGroupMemberOut[0] -> SG1.schedIn[0] + rateGroup1Comp.RateGroupMemberOut[1] -> SG2.schedIn[0] + rateGroup1Comp.RateGroupMemberOut[2] -> chanTlm.Run[0] + rateGroup1Comp.RateGroupMemberOut[3] -> fileDownlink.Run[0] + rateGroupDriverComp.CycleOut[1] -> rateGroup2Comp.CycleIn[0] + rateGroup2Comp.RateGroupMemberOut[0] -> cmdSeq.schedIn[0] + rateGroup2Comp.RateGroupMemberOut[1] -> sendBuffComp.SchedIn[0] + rateGroup2Comp.RateGroupMemberOut[2] -> SG3.schedIn[0] + rateGroup2Comp.RateGroupMemberOut[3] -> SG4.schedIn[0] + rateGroupDriverComp.CycleOut[2] -> rateGroup3Comp.CycleIn[0] + rateGroup3Comp.RateGroupMemberOut[0] -> $health.Run[0] + rateGroup3Comp.RateGroupMemberOut[1] -> SG5.schedIn[0] + rateGroup3Comp.RateGroupMemberOut[2] -> blockDrv.Sched[0] + rateGroup3Comp.RateGroupMemberOut[3] -> fileUplinkBufferManager.schedIn[0] + rateGroup1Comp.PingOut[0] -> $health.PingReturn[0] + $health.PingSend[0] -> rateGroup1Comp.PingIn[0] + $health.PingSend[1] -> rateGroup2Comp.PingIn[0] + rateGroup2Comp.PingOut[0] -> $health.PingReturn[1] + $health.PingSend[2] -> rateGroup3Comp.PingIn[0] + rateGroup3Comp.PingOut[0] -> $health.PingReturn[2] + $health.PingSend[3] -> cmdDisp.pingIn[0] + cmdDisp.pingOut[0] -> $health.PingReturn[3] + $health.PingSend[4] -> eventLogger.pingIn[0] + eventLogger.pingOut[0] -> $health.PingReturn[4] + $health.PingSend[5] -> cmdSeq.pingIn[0] + cmdSeq.pingOut[0] -> $health.PingReturn[5] + $health.PingSend[6] -> chanTlm.pingIn[0] + chanTlm.pingOut[0] -> $health.PingReturn[6] + $health.PingSend[7] -> prmDb.pingIn[0] + prmDb.pingOut[0] -> $health.PingReturn[7] + $health.PingSend[8] -> fileUplink.pingIn[0] + fileUplink.pingOut[0] -> $health.PingReturn[8] + $health.PingSend[9] -> fileDownlink.pingIn[0] + fileDownlink.pingOut[0] -> $health.PingReturn[9] + $health.PingSend[10] -> pingRcvr.PingIn[0] + pingRcvr.PingOut[0] -> $health.PingReturn[10] + $health.PingSend[11] -> blockDrv.PingIn[0] + blockDrv.PingOut[0] -> $health.PingReturn[11] + $health.PingSend[12] -> fileManager.pingIn[0] + fileManager.pingOut[0] -> $health.PingReturn[12] + eventLogger.FatalAnnounce[0] -> fatalHandler.FatalReceive[0] + sendBuffComp.Data[0] -> blockDrv.BufferIn[0] + blockDrv.BufferOut[0] -> recvBuffComp.Data[0] + } + +} diff --git a/compiler/tools/fpp-from-xml/test/top/fprime_ref.xml b/compiler/tools/fpp-from-xml/test/top/fprime_ref.xml new file mode 100644 index 000000000..d1cf92f2e --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/top/fprime_ref.xml @@ -0,0 +1,927 @@ + + + + + + + Svc/FatalHandler/FatalHandlerComponentAi.xml + Svc/ActiveRateGroup/ActiveRateGroupComponentAi.xml + Ref/PingReceiver/PingReceiverComponentAi.xml + Svc/TlmChan/TlmChanComponentAi.xml + Ref/SendBuffApp/SendBuffComponentAi.xml + Ref/RecvBuffApp/RecvBuffComponentAi.xml + Svc/CmdDispatcher/CommandDispatcherComponentAi.xml + Svc/PrmDb/PrmDbComponentAi.xml + Svc/ActiveRateGroup/ActiveRateGroupComponentAi.xml + Svc/CmdSequencer/CmdSequencerComponentAi.xml + Ref/SignalGen/SignalGenComponentAi.xml + Ref/SignalGen/SignalGenComponentAi.xml + Ref/SignalGen/SignalGenComponentAi.xml + Svc/ActiveRateGroup/ActiveRateGroupComponentAi.xml + Svc/FileUplink/FileUplinkComponentAi.xml + Ref/SignalGen/SignalGenComponentAi.xml + Svc/BufferManager/BufferManagerComponentAi.xml + Ref/SignalGen/SignalGenComponentAi.xml + Svc/AssertFatalAdapter/AssertFatalAdapterComponentAi.xml + Svc/Health/HealthComponentAi.xml + Svc/BufferManager/BufferManagerComponentAi.xml + Svc/ActiveLogger/ActiveLoggerComponentAi.xml + Svc/Time/TimeComponentAi.xml + Svc/RateGroupDriver/RateGroupDriverComponentAi.xml + Drv/BlockDriver/BlockDriverComponentAi.xml + Svc/FileDownlink/FileDownlinkComponentAi.xml + Svc/FileManager/FileManagerComponentAi.xml + Svc/PassiveConsoleTextLogger/PassiveTextLoggerComponentAi.xml + Svc/LinuxTimer/LinuxTimerComponentAi.xml + Drv/ByteStreamDriverModel/ByteStreamDriverComponentAi.xml + Svc/StaticMemory/StaticMemoryComponentAi.xml + Svc/Framer/FramerComponentAi.xml + Svc/Deframer/DeframerComponentAi.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.fpp b/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.fpp new file mode 100644 index 000000000..7861d57ce --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.fpp @@ -0,0 +1,5 @@ +topology T { + + include "fprime_ref_packets.ref.txt" + +} diff --git a/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.ref.txt b/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.ref.txt new file mode 100644 index 000000000..86fa305e2 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.ref.txt @@ -0,0 +1,265 @@ +telemetry packets RefPackets { + + packet CDH id 1 group 1 { + Ref.cmdDisp.CommandsDispatched + Ref.rateGroup1Comp.RgMaxTime + Ref.rateGroup2Comp.RgMaxTime + Ref.rateGroup3Comp.RgMaxTime + Ref.cmdSeq.CS_LoadCommands + Ref.cmdSeq.CS_CancelCommands + Ref.cmdSeq.CS_CommandsExecuted + Ref.cmdSeq.CS_SequencesCompleted + Ref.fileUplink.FilesReceived + Ref.fileUplink.PacketsReceived + Ref.fileUplinkBufferManager.TotalBuffs + Ref.fileUplinkBufferManager.CurrBuffs + Ref.fileUplinkBufferManager.HiBuffs + Ref.fileDownlink.FilesSent + Ref.fileDownlink.PacketsSent + Ref.fileManager.CommandsExecuted + } + + packet CDHErrors id 2 group 1 { + Ref.rateGroup1Comp.RgCycleSlips + Ref.rateGroup2Comp.RgCycleSlips + Ref.rateGroup3Comp.RgCycleSlips + Ref.cmdSeq.CS_Errors + Ref.fileUplink.Warnings + Ref.fileDownlink.Warnings + Ref.$health.PingLateWarnings + Ref.fileManager.Errors + Ref.fileUplinkBufferManager.NoBuffs + Ref.fileUplinkBufferManager.EmptyBuffs + Ref.fileManager.Errors + } + + packet DriveTlm id 3 group 1 { + Ref.pingRcvr.PR_NumPings + Ref.sendBuffComp.PacketsSent + Ref.sendBuffComp.NumErrorsInjected + Ref.sendBuffComp.Parameter3 + Ref.sendBuffComp.Parameter4 + Ref.sendBuffComp.SendState + Ref.recvBuffComp.PktState + Ref.recvBuffComp.Sensor1 + Ref.recvBuffComp.Sensor2 + Ref.recvBuffComp.Parameter1 + Ref.recvBuffComp.Parameter2 + Ref.blockDrv.BD_Cycles + } + + packet SigGenSum id 4 group 1 { + Ref.SG1.Output + Ref.SG1.Type + Ref.SG2.Output + Ref.SG2.Type + Ref.SG3.Output + Ref.SG3.Type + Ref.SG4.Output + Ref.SG4.Type + Ref.SG5.Output + Ref.SG5.Type + } + + packet SystemRes1 id 5 group 2 { + Ref.systemResources.MEMORY_TOTAL + Ref.systemResources.MEMORY_USED + Ref.systemResources.NON_VOLATILE_TOTAL + Ref.systemResources.NON_VOLATILE_FREE + } + + packet SystemRes3 id 6 group 2 { + Ref.systemResources.CPU + Ref.systemResources.CPU_00 + Ref.systemResources.CPU_01 + Ref.systemResources.CPU_02 + Ref.systemResources.CPU_03 + Ref.systemResources.CPU_04 + Ref.systemResources.CPU_05 + Ref.systemResources.CPU_06 + Ref.systemResources.CPU_07 + Ref.systemResources.CPU_08 + Ref.systemResources.CPU_09 + Ref.systemResources.CPU_10 + Ref.systemResources.CPU_11 + Ref.systemResources.CPU_12 + Ref.systemResources.CPU_13 + Ref.systemResources.CPU_14 + Ref.systemResources.CPU_15 + } + + packet SigGen1Info id 10 group 2 { + Ref.SG1.Info + } + + packet SigGen2Info id 11 group 2 { + Ref.SG2.Info + } + + packet SigGen3Info id 12 group 2 { + Ref.SG3.Info + } + + packet SigGen4Info id 13 group 2 { + Ref.SG4.Info + } + + packet SigGen5Info id 14 group 2 { + Ref.SG5.Info + } + + packet SigGen1 id 15 group 3 { + Ref.SG1.PairOutput + Ref.SG1.History + Ref.SG1.PairHistory + Ref.SG1.DpBytes + Ref.SG1.DpRecords + } + + packet SigGen2 id 16 group 3 { + Ref.SG2.PairOutput + Ref.SG2.History + Ref.SG2.PairHistory + Ref.SG2.DpBytes + Ref.SG2.DpRecords + } + + packet SigGen3 id 17 group 3 { + Ref.SG3.PairOutput + Ref.SG3.History + Ref.SG3.PairHistory + Ref.SG3.DpBytes + Ref.SG3.DpRecords + } + + packet SigGen4 id 18 group 3 { + Ref.SG4.PairOutput + Ref.SG4.History + Ref.SG4.PairHistory + Ref.SG4.DpBytes + Ref.SG4.DpRecords + } + + packet SigGen5 id 19 group 3 { + Ref.SG5.PairOutput + Ref.SG5.History + Ref.SG5.PairHistory + Ref.SG5.DpBytes + Ref.SG5.DpRecords + } + + packet TypeDemo id 20 group 3 { + Ref.typeDemo.ChoiceCh + Ref.typeDemo.ChoicesCh + Ref.typeDemo.ExtraChoicesCh + Ref.typeDemo.ChoicePairCh + Ref.typeDemo.ChoiceSlurryCh + Ref.typeDemo.Float1Ch + Ref.typeDemo.Float2Ch + Ref.typeDemo.Float3Ch + Ref.typeDemo.FloatSet + Ref.typeDemo.ScalarStructCh + Ref.typeDemo.ScalarU8Ch + Ref.typeDemo.ScalarU16Ch + Ref.typeDemo.ScalarU32Ch + Ref.typeDemo.ScalarU64Ch + Ref.typeDemo.ScalarI8Ch + Ref.typeDemo.ScalarI16Ch + Ref.typeDemo.ScalarI32Ch + Ref.typeDemo.ScalarI64Ch + Ref.typeDemo.ScalarF32Ch + Ref.typeDemo.ScalarF64Ch + } + + packet DataProducts id 21 group 3 { + Ref.dpCat.CatalogDps + Ref.dpCat.DpsSent + Ref.dpMgr.NumSuccessfulAllocations + Ref.dpMgr.NumFailedAllocations + Ref.dpMgr.NumDataProducts + Ref.dpMgr.NumBytes + Ref.dpWriter.NumBuffersReceived + Ref.dpWriter.NumBytesWritten + Ref.dpWriter.NumSuccessfulWrites + Ref.dpWriter.NumFailedWrites + Ref.dpWriter.NumErrors + Ref.dpBufferManager.TotalBuffs + Ref.dpBufferManager.CurrBuffs + Ref.dpBufferManager.HiBuffs + Ref.dpBufferManager.NoBuffs + Ref.dpBufferManager.EmptyBuffs + } + + packet Version1 id 22 group 2 { + Ref.version.FrameworkVersion + Ref.version.ProjectVersion + } + + packet Version_Library1 id 23 group 2 { + Ref.version.LibraryVersion01 + Ref.version.LibraryVersion02 + } + + packet Version_Library2 id 24 group 2 { + Ref.version.LibraryVersion03 + Ref.version.LibraryVersion04 + } + + packet Version_Library3 id 25 group 2 { + Ref.version.LibraryVersion05 + Ref.version.LibraryVersion06 + } + + packet Version_Library4 id 26 group 2 { + Ref.version.LibraryVersion07 + Ref.version.LibraryVersion08 + } + + packet Version_Library5 id 27 group 2 { + Ref.version.LibraryVersion09 + Ref.version.LibraryVersion10 + } + + packet Version_Custom1 id 28 group 2 { + Ref.version.CustomVersion01 + } + + packet Version_Custom2 id 29 group 2 { + Ref.version.CustomVersion02 + } + + packet Version_Custom3 id 30 group 2 { + Ref.version.CustomVersion03 + } + + packet Version_Custom4 id 31 group 2 { + Ref.version.CustomVersion04 + } + + packet Version_Custom5 id 32 group 2 { + Ref.version.CustomVersion05 + } + + packet Version_Custom6 id 33 group 2 { + Ref.version.CustomVersion06 + } + + packet Version_Custom7 id 34 group 2 { + Ref.version.CustomVersion07 + } + + packet Version_Custom8 id 35 group 2 { + Ref.version.CustomVersion08 + } + + packet Version_Custom9 id 36 group 2 { + Ref.version.CustomVersion09 + } + + packet Version_Custom10 id 37 group 2 { + Ref.version.CustomVersion10 + } + +} omit { + Ref.cmdDisp.CommandErrors +} diff --git a/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.xml b/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.xml new file mode 100644 index 000000000..e52579424 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/top/fprime_ref_packets.xml @@ -0,0 +1,261 @@ + + + Ref/Top/RefTopologyAppAi.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/compiler/tools/fpp-from-xml/test/top/run b/compiler/tools/fpp-from-xml/test/top/run new file mode 100755 index 000000000..bf6f79f51 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/top/run @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/run.sh diff --git a/compiler/tools/fpp-from-xml/test/top/tests.sh b/compiler/tools/fpp-from-xml/test/top/tests.sh new file mode 100644 index 000000000..868139043 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/top/tests.sh @@ -0,0 +1,4 @@ +tests=" +fprime_ref +fprime_ref_packets +" diff --git a/compiler/tools/fpp-from-xml/test/top/update-ref b/compiler/tools/fpp-from-xml/test/top/update-ref new file mode 100755 index 000000000..c905604d4 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/top/update-ref @@ -0,0 +1,5 @@ +#!/bin/sh + +export COMPILER_ROOT=../../../.. + +sh ../scripts/update-ref.sh From 5a1dec5524ee72426ad0a0d4e454f504ef815eb9 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 13:22:58 -0700 Subject: [PATCH 007/110] Add back in gitignores --- .gitignore | 1 + compiler/tools/fpp-from-xml/test/.gitignore | 4 ++++ compiler/tools/fpp-from-xml/test/enum/.gitignore | 4 ++++ 3 files changed, 9 insertions(+) create mode 100644 compiler/tools/fpp-from-xml/test/.gitignore create mode 100644 compiler/tools/fpp-from-xml/test/enum/.gitignore diff --git a/.gitignore b/.gitignore index e9f182663..436b5be07 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ *.tasty *~ .* +!.gitignore !.gitattributes __SHADOW__ __pycache__ diff --git a/compiler/tools/fpp-from-xml/test/.gitignore b/compiler/tools/fpp-from-xml/test/.gitignore new file mode 100644 index 000000000..62a514fc5 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/.gitignore @@ -0,0 +1,4 @@ +*.out.txt +*.diff.txt +default-tests.sh +default-update-ref.sh diff --git a/compiler/tools/fpp-from-xml/test/enum/.gitignore b/compiler/tools/fpp-from-xml/test/enum/.gitignore new file mode 100644 index 000000000..eecee3c17 --- /dev/null +++ b/compiler/tools/fpp-from-xml/test/enum/.gitignore @@ -0,0 +1,4 @@ +*Ai.xml +*Ac.hpp +*Ac.cpp + From b85f2ac1e757a2e8af7cf96f3c93b69784b5052d Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 13:23:28 -0700 Subject: [PATCH 008/110] revert change --- compiler/tools/fpp-from-xml/test/enum/.gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/compiler/tools/fpp-from-xml/test/enum/.gitignore b/compiler/tools/fpp-from-xml/test/enum/.gitignore index eecee3c17..68e20f132 100644 --- a/compiler/tools/fpp-from-xml/test/enum/.gitignore +++ b/compiler/tools/fpp-from-xml/test/enum/.gitignore @@ -1,4 +1,3 @@ *Ai.xml *Ac.hpp *Ac.cpp - From 90945539becca6c5908dcbaf66dc4929cca5c106 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 14:09:15 -0700 Subject: [PATCH 009/110] Generate wrappers for native build --- .github/workflows/native-build.yml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index e68f23818..2eec7635e 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -150,9 +150,28 @@ jobs: path: ${{ inputs.trace-directory }} - name: "Build Native Images" run: | + get_tool_names() + { + prefix="fpp-" + dir=$1 + for file in $dir/$prefix* + do + base=`basename $file` + result="${base#$prefix}" + echo $result + done + } + export CLASSPATH="`cd ${{ inputs.trace-directory }}/../..; pwd`:${CLASSPATH}" cd ${{ inputs.working-directory }} - $NATIVE_IMAGE_TOOLS_PATH/native-images ${{ inputs.output-directory }} ${{ inputs.tools }} + $NATIVE_IMAGE_TOOLS_PATH/native-images ${{ inputs.output-directory }} + tool_names=`get_tool_names bin` + for tool in $tool_names + do + echo '#!/bin/sh + "`dirname $0`/fpp" '$tool' "$@"' > ${{ inputs.output-directory }}/fpp-$tool + chmod +x ${{ inputs.output-directory }}/fpp-$tool + done shell: bash - name: "Archive Native Images" uses: actions/upload-artifact@v4 From 2a8e61f9106af8af54e29047e74b2dffaba7f575 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 14:21:57 -0700 Subject: [PATCH 010/110] update actions --- .github/workflows/native-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index 2eec7635e..9e3179601 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -165,7 +165,7 @@ jobs: export CLASSPATH="`cd ${{ inputs.trace-directory }}/../..; pwd`:${CLASSPATH}" cd ${{ inputs.working-directory }} $NATIVE_IMAGE_TOOLS_PATH/native-images ${{ inputs.output-directory }} - tool_names=`get_tool_names bin` + tool_names=`get_tool_names ${{ inputs.output-directory }}` for tool in $tool_names do echo '#!/bin/sh From b7f3eece9d5fd244d6120fcf327df2cd551f29eb Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 14:46:18 -0700 Subject: [PATCH 011/110] Add diagnostics to actions --- .github/workflows/native-build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index 9e3179601..f161925b9 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -166,6 +166,9 @@ jobs: cd ${{ inputs.working-directory }} $NATIVE_IMAGE_TOOLS_PATH/native-images ${{ inputs.output-directory }} tool_names=`get_tool_names ${{ inputs.output-directory }}` + echo "$tool_names" + ls ${{ inputs.output-directory }} + ls ${{ inputs.working-directory }} for tool in $tool_names do echo '#!/bin/sh From 3138ee6c7eced3f6aaab80f59e97a417c6a18685 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 14:55:49 -0700 Subject: [PATCH 012/110] fix tool --- .github/workflows/native-build.yml | 35 +++++++++++++++--------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index f161925b9..857302ba1 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -150,27 +150,28 @@ jobs: path: ${{ inputs.trace-directory }} - name: "Build Native Images" run: | - get_tool_names() - { - prefix="fpp-" - dir=$1 - for file in $dir/$prefix* - do - base=`basename $file` - result="${base#$prefix}" - echo $result - done - } - export CLASSPATH="`cd ${{ inputs.trace-directory }}/../..; pwd`:${CLASSPATH}" cd ${{ inputs.working-directory }} - $NATIVE_IMAGE_TOOLS_PATH/native-images ${{ inputs.output-directory }} - tool_names=`get_tool_names ${{ inputs.output-directory }}` - echo "$tool_names" + $NATIVE_IMAGE_TOOLSPATH/native-images ${{ inputs.output-directory }} + tool_names=" + check + depend + filenames + format + from-xml + locate-defs + locate-uses + syntax + to-cpp + to-json + to-xml + to-dict + to-layout + " ls ${{ inputs.output-directory }} - ls ${{ inputs.working-directory }} - for tool in $tool_names + for tool in $tool_name do + echo "Generating wrapper for fpp-$tool in ${{ inputs.output-directory }}/fpp-$tool" echo '#!/bin/sh "`dirname $0`/fpp" '$tool' "$@"' > ${{ inputs.output-directory }}/fpp-$tool chmod +x ${{ inputs.output-directory }}/fpp-$tool From 5042d7d479df72dde34add4c0ebe6cb0de0801af Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 15:01:27 -0700 Subject: [PATCH 013/110] generate wrappers before compiling the native image --- .github/workflows/native-build.yml | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index 857302ba1..312e4d4b2 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -152,30 +152,17 @@ jobs: run: | export CLASSPATH="`cd ${{ inputs.trace-directory }}/../..; pwd`:${CLASSPATH}" cd ${{ inputs.working-directory }} - $NATIVE_IMAGE_TOOLSPATH/native-images ${{ inputs.output-directory }} - tool_names=" - check - depend - filenames - format - from-xml - locate-defs - locate-uses - syntax - to-cpp - to-json - to-xml - to-dict - to-layout - " + TOOL_NAMES="check depend filenames format from-xml locate-defs locate-uses syntax to-cpp to-json to-xml to-dict to-layout" ls ${{ inputs.output-directory }} - for tool in $tool_name + for tool in $TOOL_NAMES do echo "Generating wrapper for fpp-$tool in ${{ inputs.output-directory }}/fpp-$tool" echo '#!/bin/sh "`dirname $0`/fpp" '$tool' "$@"' > ${{ inputs.output-directory }}/fpp-$tool chmod +x ${{ inputs.output-directory }}/fpp-$tool done + + $NATIVE_IMAGE_TOOLSPATH/native-images ${{ inputs.output-directory }} shell: bash - name: "Archive Native Images" uses: actions/upload-artifact@v4 From e340e56a6a7682f1e3c47a9bb7356b4d240feb5a Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 15:03:21 -0700 Subject: [PATCH 014/110] Remove XML files from fpp-filenames output --- compiler/tools/fpp-filenames/test/include.ref.txt | 9 --------- compiler/tools/fpp-filenames/test/ok.ref.txt | 9 --------- 2 files changed, 18 deletions(-) diff --git a/compiler/tools/fpp-filenames/test/include.ref.txt b/compiler/tools/fpp-filenames/test/include.ref.txt index bdabcd91d..8f467ce80 100644 --- a/compiler/tools/fpp-filenames/test/include.ref.txt +++ b/compiler/tools/fpp-filenames/test/include.ref.txt @@ -1,35 +1,26 @@ AArrayAc.cpp AArrayAc.hpp -AArrayAi.xml CComponentAc.cpp CComponentAc.hpp -CComponentAi.xml C_AArrayAc.cpp C_AArrayAc.hpp -C_AArrayAi.xml C_EEnumAc.cpp C_EEnumAc.hpp -C_EEnumAi.xml C_SSerializableAc.cpp C_SSerializableAc.hpp -C_SSerializableAi.xml EEnumAc.cpp EEnumAc.hpp -EEnumAi.xml FppConstantsAc.cpp FppConstantsAc.hpp FwOpcodeTypeAliasAc.hpp PPortAc.cpp PPortAc.hpp -PPortAi.xml SM2StateMachineAc.cpp SM2StateMachineAc.hpp SSerializableAc.cpp SSerializableAc.hpp -SSerializableAi.xml TTopologyAc.cpp TTopologyAc.hpp -TTopologyAppAi.xml TTopologyDictionary.json T_PTlmPacketsAc.cpp T_PTlmPacketsAc.hpp diff --git a/compiler/tools/fpp-filenames/test/ok.ref.txt b/compiler/tools/fpp-filenames/test/ok.ref.txt index bdabcd91d..8f467ce80 100644 --- a/compiler/tools/fpp-filenames/test/ok.ref.txt +++ b/compiler/tools/fpp-filenames/test/ok.ref.txt @@ -1,35 +1,26 @@ AArrayAc.cpp AArrayAc.hpp -AArrayAi.xml CComponentAc.cpp CComponentAc.hpp -CComponentAi.xml C_AArrayAc.cpp C_AArrayAc.hpp -C_AArrayAi.xml C_EEnumAc.cpp C_EEnumAc.hpp -C_EEnumAi.xml C_SSerializableAc.cpp C_SSerializableAc.hpp -C_SSerializableAi.xml EEnumAc.cpp EEnumAc.hpp -EEnumAi.xml FppConstantsAc.cpp FppConstantsAc.hpp FwOpcodeTypeAliasAc.hpp PPortAc.cpp PPortAc.hpp -PPortAi.xml SM2StateMachineAc.cpp SM2StateMachineAc.hpp SSerializableAc.cpp SSerializableAc.hpp -SSerializableAi.xml TTopologyAc.cpp TTopologyAc.hpp -TTopologyAppAi.xml TTopologyDictionary.json T_PTlmPacketsAc.cpp T_PTlmPacketsAc.hpp From dfbe43bed501e29e473e097eaa035682bbc446ee Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 15:23:54 -0700 Subject: [PATCH 015/110] Update ref for fpp-depend --- .../test/filenames_auto_generated_output.ref.txt | 9 --------- .../fpp-depend/test/filenames_generated_output.ref.txt | 9 --------- .../test/filenames_include_auto_generated_output.ref.txt | 9 --------- .../test/filenames_include_generated_output.ref.txt | 9 --------- 4 files changed, 36 deletions(-) diff --git a/compiler/tools/fpp-depend/test/filenames_auto_generated_output.ref.txt b/compiler/tools/fpp-depend/test/filenames_auto_generated_output.ref.txt index bdabcd91d..8f467ce80 100644 --- a/compiler/tools/fpp-depend/test/filenames_auto_generated_output.ref.txt +++ b/compiler/tools/fpp-depend/test/filenames_auto_generated_output.ref.txt @@ -1,35 +1,26 @@ AArrayAc.cpp AArrayAc.hpp -AArrayAi.xml CComponentAc.cpp CComponentAc.hpp -CComponentAi.xml C_AArrayAc.cpp C_AArrayAc.hpp -C_AArrayAi.xml C_EEnumAc.cpp C_EEnumAc.hpp -C_EEnumAi.xml C_SSerializableAc.cpp C_SSerializableAc.hpp -C_SSerializableAi.xml EEnumAc.cpp EEnumAc.hpp -EEnumAi.xml FppConstantsAc.cpp FppConstantsAc.hpp FwOpcodeTypeAliasAc.hpp PPortAc.cpp PPortAc.hpp -PPortAi.xml SM2StateMachineAc.cpp SM2StateMachineAc.hpp SSerializableAc.cpp SSerializableAc.hpp -SSerializableAi.xml TTopologyAc.cpp TTopologyAc.hpp -TTopologyAppAi.xml TTopologyDictionary.json T_PTlmPacketsAc.cpp T_PTlmPacketsAc.hpp diff --git a/compiler/tools/fpp-depend/test/filenames_generated_output.ref.txt b/compiler/tools/fpp-depend/test/filenames_generated_output.ref.txt index bdabcd91d..8f467ce80 100644 --- a/compiler/tools/fpp-depend/test/filenames_generated_output.ref.txt +++ b/compiler/tools/fpp-depend/test/filenames_generated_output.ref.txt @@ -1,35 +1,26 @@ AArrayAc.cpp AArrayAc.hpp -AArrayAi.xml CComponentAc.cpp CComponentAc.hpp -CComponentAi.xml C_AArrayAc.cpp C_AArrayAc.hpp -C_AArrayAi.xml C_EEnumAc.cpp C_EEnumAc.hpp -C_EEnumAi.xml C_SSerializableAc.cpp C_SSerializableAc.hpp -C_SSerializableAi.xml EEnumAc.cpp EEnumAc.hpp -EEnumAi.xml FppConstantsAc.cpp FppConstantsAc.hpp FwOpcodeTypeAliasAc.hpp PPortAc.cpp PPortAc.hpp -PPortAi.xml SM2StateMachineAc.cpp SM2StateMachineAc.hpp SSerializableAc.cpp SSerializableAc.hpp -SSerializableAi.xml TTopologyAc.cpp TTopologyAc.hpp -TTopologyAppAi.xml TTopologyDictionary.json T_PTlmPacketsAc.cpp T_PTlmPacketsAc.hpp diff --git a/compiler/tools/fpp-depend/test/filenames_include_auto_generated_output.ref.txt b/compiler/tools/fpp-depend/test/filenames_include_auto_generated_output.ref.txt index bdabcd91d..8f467ce80 100644 --- a/compiler/tools/fpp-depend/test/filenames_include_auto_generated_output.ref.txt +++ b/compiler/tools/fpp-depend/test/filenames_include_auto_generated_output.ref.txt @@ -1,35 +1,26 @@ AArrayAc.cpp AArrayAc.hpp -AArrayAi.xml CComponentAc.cpp CComponentAc.hpp -CComponentAi.xml C_AArrayAc.cpp C_AArrayAc.hpp -C_AArrayAi.xml C_EEnumAc.cpp C_EEnumAc.hpp -C_EEnumAi.xml C_SSerializableAc.cpp C_SSerializableAc.hpp -C_SSerializableAi.xml EEnumAc.cpp EEnumAc.hpp -EEnumAi.xml FppConstantsAc.cpp FppConstantsAc.hpp FwOpcodeTypeAliasAc.hpp PPortAc.cpp PPortAc.hpp -PPortAi.xml SM2StateMachineAc.cpp SM2StateMachineAc.hpp SSerializableAc.cpp SSerializableAc.hpp -SSerializableAi.xml TTopologyAc.cpp TTopologyAc.hpp -TTopologyAppAi.xml TTopologyDictionary.json T_PTlmPacketsAc.cpp T_PTlmPacketsAc.hpp diff --git a/compiler/tools/fpp-depend/test/filenames_include_generated_output.ref.txt b/compiler/tools/fpp-depend/test/filenames_include_generated_output.ref.txt index bdabcd91d..8f467ce80 100644 --- a/compiler/tools/fpp-depend/test/filenames_include_generated_output.ref.txt +++ b/compiler/tools/fpp-depend/test/filenames_include_generated_output.ref.txt @@ -1,35 +1,26 @@ AArrayAc.cpp AArrayAc.hpp -AArrayAi.xml CComponentAc.cpp CComponentAc.hpp -CComponentAi.xml C_AArrayAc.cpp C_AArrayAc.hpp -C_AArrayAi.xml C_EEnumAc.cpp C_EEnumAc.hpp -C_EEnumAi.xml C_SSerializableAc.cpp C_SSerializableAc.hpp -C_SSerializableAi.xml EEnumAc.cpp EEnumAc.hpp -EEnumAi.xml FppConstantsAc.cpp FppConstantsAc.hpp FwOpcodeTypeAliasAc.hpp PPortAc.cpp PPortAc.hpp -PPortAi.xml SM2StateMachineAc.cpp SM2StateMachineAc.hpp SSerializableAc.cpp SSerializableAc.hpp -SSerializableAi.xml TTopologyAc.cpp TTopologyAc.hpp -TTopologyAppAi.xml TTopologyDictionary.json T_PTlmPacketsAc.cpp T_PTlmPacketsAc.hpp From 8bc272ff824271491535090307848830ffcf5ea6 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Thu, 4 Sep 2025 15:28:11 -0700 Subject: [PATCH 016/110] Fix env typo --- .github/workflows/native-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index 312e4d4b2..9752d0ebf 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -162,7 +162,7 @@ jobs: chmod +x ${{ inputs.output-directory }}/fpp-$tool done - $NATIVE_IMAGE_TOOLSPATH/native-images ${{ inputs.output-directory }} + $NATIVE_IMAGE_TOOLS_PATH/native-images ${{ inputs.output-directory }} shell: bash - name: "Archive Native Images" uses: actions/upload-artifact@v4 From 0e7c2d53ac974f0583bab0983030398aa5c90fdf Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Fri, 5 Sep 2025 08:24:43 -0700 Subject: [PATCH 017/110] echo some inputs --- .github/workflows/native-build.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index 9752d0ebf..34378539c 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -152,8 +152,10 @@ jobs: run: | export CLASSPATH="`cd ${{ inputs.trace-directory }}/../..; pwd`:${CLASSPATH}" cd ${{ inputs.working-directory }} - TOOL_NAMES="check depend filenames format from-xml locate-defs locate-uses syntax to-cpp to-json to-xml to-dict to-layout" - ls ${{ inputs.output-directory }} + echo "WD ${{ inputs.working-directory }}" + echo "OD ${{ inputs.output-directory }}" + echo "II ${{ inputs }}" + TOOL_NAMES="check depend filenames format from-xml locate-defs locate-uses syntax to-cpp to-json to-dict to-layout" for tool in $TOOL_NAMES do echo "Generating wrapper for fpp-$tool in ${{ inputs.output-directory }}/fpp-$tool" From ac3f02e969c562e81b170d225251ba4c3923b9b4 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Fri, 5 Sep 2025 09:45:22 -0700 Subject: [PATCH 018/110] Build tool wrappers into native output --- .github/workflows/native-build.yml | 49 ++++++++++++++++++++++++------ compiler/install | 15 +-------- compiler/tools.txt | 12 ++++++++ 3 files changed, 53 insertions(+), 23 deletions(-) create mode 100644 compiler/tools.txt diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index 34378539c..02990164b 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -150,21 +150,52 @@ jobs: path: ${{ inputs.trace-directory }} - name: "Build Native Images" run: | + # Print and evaluate + evalp() + { + echo "$@" + "$@" + } + export CLASSPATH="`cd ${{ inputs.trace-directory }}/../..; pwd`:${CLASSPATH}" cd ${{ inputs.working-directory }} - echo "WD ${{ inputs.working-directory }}" - echo "OD ${{ inputs.output-directory }}" - echo "II ${{ inputs }}" - TOOL_NAMES="check depend filenames format from-xml locate-defs locate-uses syntax to-cpp to-json to-dict to-layout" + + tool_dir="${{ inputs.output-directory }}" + native_dir="${tool_dir}-native" + native_final="${tool_dir}-final" + mkdir -p "${native_dir}" + mkdir -p "${native_final}" + # Remove $1 + shift; + tool_names="$@" + if [[ "${tool_names}" == "" ]] + then + tool_names="$(get_tool_names ${tool_dir})" + fi + + jar_file="$tool_dir/fpp.jar" + out_file="$native_dir/fpp" + echo "Building $out_file" + class_path="${CLASSPATH}" + evalp "$GRAALVM_JAVA_HOME/bin/native-image" -H:PageSize=65536 -cp "${class_path}" $FPP_NATIVE_IMAGE_FLAGS \ + --no-fallback --install-exit-handlers \ + -jar "$jar_file" "$out_file" + if [ $? -ne 0 ] + then + echo "[ERROR] Failed to build $out_file" + exit 1 + fi + sync; sync; sync; # Magic to fix filesystem woes + cp "${out_file}" "${native_final}" + + TOOL_NAMES=`cat ${{ inputs.working-directory }}/compiler/tools.txt` for tool in $TOOL_NAMES do - echo "Generating wrapper for fpp-$tool in ${{ inputs.output-directory }}/fpp-$tool" + echo "Generating wrapper for fpp-$tool in ${native_final}/fpp-$tool" echo '#!/bin/sh - "`dirname $0`/fpp" '$tool' "$@"' > ${{ inputs.output-directory }}/fpp-$tool - chmod +x ${{ inputs.output-directory }}/fpp-$tool + "`dirname $0`/fpp" '$tool' "$@"' > ${native_final}/fpp-$tool + chmod +x ${native_final}/fpp-$tool done - - $NATIVE_IMAGE_TOOLS_PATH/native-images ${{ inputs.output-directory }} shell: bash - name: "Archive Native Images" uses: actions/upload-artifact@v4 diff --git a/compiler/install b/compiler/install index 30b9937e0..1de5b22ec 100755 --- a/compiler/install +++ b/compiler/install @@ -51,20 +51,7 @@ dir=`cd $dir; pwd` base=`basename $dest` dest=$dir/$base -tools=" -check -depend -filenames -format -from-xml -locate-defs -locate-uses -syntax -to-cpp -to-json -to-dict -to-layout -" +tools=`cat ./tools.txt` if git describe --tags --always > /dev/null 2>&1 then diff --git a/compiler/tools.txt b/compiler/tools.txt new file mode 100644 index 000000000..4c23864e4 --- /dev/null +++ b/compiler/tools.txt @@ -0,0 +1,12 @@ +check +depend +filenames +format +from-xml +locate-defs +locate-uses +syntax +to-cpp +to-json +to-dict +to-layout From 7b19236546eccd40805a59f456af89adf77d9869 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Fri, 5 Sep 2025 09:50:56 -0700 Subject: [PATCH 019/110] Remove old get_tool_names --- .github/workflows/native-build.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index 02990164b..b33de7c52 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -165,13 +165,6 @@ jobs: native_final="${tool_dir}-final" mkdir -p "${native_dir}" mkdir -p "${native_final}" - # Remove $1 - shift; - tool_names="$@" - if [[ "${tool_names}" == "" ]] - then - tool_names="$(get_tool_names ${tool_dir})" - fi jar_file="$tool_dir/fpp.jar" out_file="$native_dir/fpp" From cbce45d18d54af23b44594cb8e1897761a7fb9f5 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Fri, 5 Sep 2025 10:07:28 -0700 Subject: [PATCH 020/110] actions changes --- .github/workflows/native-build.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index b33de7c52..65e3d3413 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -184,10 +184,11 @@ jobs: TOOL_NAMES=`cat ${{ inputs.working-directory }}/compiler/tools.txt` for tool in $TOOL_NAMES do - echo "Generating wrapper for fpp-$tool in ${native_final}/fpp-$tool" + echo "Generating wrapper for fpp-$tool in ${native_dir}/fpp-$tool" echo '#!/bin/sh - "`dirname $0`/fpp" '$tool' "$@"' > ${native_final}/fpp-$tool - chmod +x ${native_final}/fpp-$tool + "`dirname $0`/fpp" '$tool' "$@"' > ${native_dir}/fpp-$tool + chmod +x ${native_dir}/fpp-$tool + cp "${native_dir}/fpp-$tool" "${native_final}" done shell: bash - name: "Archive Native Images" From 68664e67f26ffbc482458e1f39d1105a4eb054d6 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Fri, 5 Sep 2025 10:26:01 -0700 Subject: [PATCH 021/110] Finish up build --- .github/workflows/native-build.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index 65e3d3413..984adfe1b 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -184,12 +184,14 @@ jobs: TOOL_NAMES=`cat ${{ inputs.working-directory }}/compiler/tools.txt` for tool in $TOOL_NAMES do - echo "Generating wrapper for fpp-$tool in ${native_dir}/fpp-$tool" + echo "Generating wrapper for fpp-$tool in ${native_final}/fpp-$tool" echo '#!/bin/sh - "`dirname $0`/fpp" '$tool' "$@"' > ${native_dir}/fpp-$tool - chmod +x ${native_dir}/fpp-$tool - cp "${native_dir}/fpp-$tool" "${native_final}" + "`dirname $0`/fpp" '$tool' "$@"' > ${native_final}/fpp-$tool + chmod +x ${native_final}/fpp-$tool done + + mv "$tool_dir" "$tool_dir.old" + mv "$native_final" "$tool_dir" shell: bash - name: "Archive Native Images" uses: actions/upload-artifact@v4 From cf4636c9a969ae3dfc291d2dd98ccf33e5e7abd1 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Mon, 8 Sep 2025 09:30:12 -0700 Subject: [PATCH 022/110] Make changes to native-image-actions --- .github/workflows/native-build.yml | 48 ++++-------------------------- 1 file changed, 5 insertions(+), 43 deletions(-) diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index 984adfe1b..e3d9471e8 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -57,7 +57,7 @@ jobs: with: submodules: recursive - name: "Setup Native Image Tools" - uses: fprime-community/native-images-action@main + uses: Kronos3/native-images-action@unified-tool - name: "Building JAR files" run: | cd ${{ inputs.working-directory }} @@ -136,7 +136,7 @@ jobs: with: submodules: recursive - name: "Setup Native Image Tools" - uses: fprime-community/native-images-action@main + uses: Kronos3/native-images-action@unified-tool - name: "Download JARs" uses: actions/download-artifact@v4 with: @@ -150,48 +150,10 @@ jobs: path: ${{ inputs.trace-directory }} - name: "Build Native Images" run: | - # Print and evaluate - evalp() - { - echo "$@" - "$@" - } - export CLASSPATH="`cd ${{ inputs.trace-directory }}/../..; pwd`:${CLASSPATH}" cd ${{ inputs.working-directory }} - - tool_dir="${{ inputs.output-directory }}" - native_dir="${tool_dir}-native" - native_final="${tool_dir}-final" - mkdir -p "${native_dir}" - mkdir -p "${native_final}" - - jar_file="$tool_dir/fpp.jar" - out_file="$native_dir/fpp" - echo "Building $out_file" - class_path="${CLASSPATH}" - evalp "$GRAALVM_JAVA_HOME/bin/native-image" -H:PageSize=65536 -cp "${class_path}" $FPP_NATIVE_IMAGE_FLAGS \ - --no-fallback --install-exit-handlers \ - -jar "$jar_file" "$out_file" - if [ $? -ne 0 ] - then - echo "[ERROR] Failed to build $out_file" - exit 1 - fi - sync; sync; sync; # Magic to fix filesystem woes - cp "${out_file}" "${native_final}" - - TOOL_NAMES=`cat ${{ inputs.working-directory }}/compiler/tools.txt` - for tool in $TOOL_NAMES - do - echo "Generating wrapper for fpp-$tool in ${native_final}/fpp-$tool" - echo '#!/bin/sh - "`dirname $0`/fpp" '$tool' "$@"' > ${native_final}/fpp-$tool - chmod +x ${native_final}/fpp-$tool - done - - mv "$tool_dir" "$tool_dir.old" - mv "$native_final" "$tool_dir" + tool_names=`cat ${{ inputs.working-directory }}/compiler/tools.txt` + $NATIVE_IMAGE_TOOLS_PATH/native-images ${{ inputs.output-directory }} ${tool_names} shell: bash - name: "Archive Native Images" uses: actions/upload-artifact@v4 @@ -250,7 +212,7 @@ jobs: runs-on: ${{ matrix.run.runner }} steps: - name: "Setup Native Image Tools" - uses: fprime-community/native-images-action@main + uses: Kronos3/native-images-action@unified-tool - name: "Download Native Wheels" uses: actions/download-artifact@v4 with: From d1dc49681747ed0a0786a619fb8339c7d645d191 Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Wed, 10 Sep 2025 09:15:20 -0700 Subject: [PATCH 023/110] Put wrapper builds in the FPP CI --- .github/workflows/native-build.yml | 17 +++++++++++++---- compiler/tools/fpp-format/test/component.fpp | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml index e3d9471e8..166b1c743 100644 --- a/.github/workflows/native-build.yml +++ b/.github/workflows/native-build.yml @@ -57,7 +57,7 @@ jobs: with: submodules: recursive - name: "Setup Native Image Tools" - uses: Kronos3/native-images-action@unified-tool + uses: fprime-community/native-images-action@unified-tool - name: "Building JAR files" run: | cd ${{ inputs.working-directory }} @@ -136,7 +136,7 @@ jobs: with: submodules: recursive - name: "Setup Native Image Tools" - uses: Kronos3/native-images-action@unified-tool + uses: fprime-community/native-images-action@unified-tool - name: "Download JARs" uses: actions/download-artifact@v4 with: @@ -152,8 +152,17 @@ jobs: run: | export CLASSPATH="`cd ${{ inputs.trace-directory }}/../..; pwd`:${CLASSPATH}" cd ${{ inputs.working-directory }} + $NATIVE_IMAGE_TOOLS_PATH/native-images ${{ inputs.output-directory }} + + # Generate wrappers for tools tool_names=`cat ${{ inputs.working-directory }}/compiler/tools.txt` - $NATIVE_IMAGE_TOOLS_PATH/native-images ${{ inputs.output-directory }} ${tool_names} + for tool in $tool_names + do + echo "Generating wrapper for fpp-$tool in ${native_final}/fpp-$tool" + echo '#!/bin/sh + "`dirname $0`/fpp" '$tool' "$@"' > ${native_final}/fpp-$tool + chmod +x ${native_final}/fpp-$tool + done shell: bash - name: "Archive Native Images" uses: actions/upload-artifact@v4 @@ -212,7 +221,7 @@ jobs: runs-on: ${{ matrix.run.runner }} steps: - name: "Setup Native Image Tools" - uses: Kronos3/native-images-action@unified-tool + uses: fprime-community/native-images-action@unified-tool - name: "Download Native Wheels" uses: actions/download-artifact@v4 with: diff --git a/compiler/tools/fpp-format/test/component.fpp b/compiler/tools/fpp-format/test/component.fpp index 216b1c59b..226cd2b0a 100644 --- a/compiler/tools/fpp-format/test/component.fpp +++ b/compiler/tools/fpp-format/test/component.fpp @@ -33,7 +33,7 @@ active component C { @< Telemetry channel specifier @ Event specifier - event E(a: U32, b: F32) severity activity low id 0x00 format "{} counts" throttle 10 + event E(a: U32, b: F32) severity activity low id 0x00 format "{} counts" throttle 10 every 40 seconds @< Event specifier @ Internal port specifier From 89fc6ed104dc594f0726e994800bbdf2f64a960c Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Wed, 10 Sep 2025 11:00:49 -0700 Subject: [PATCH 024/110] Time Limited Event Throttle Spec --- docs/fpp-spec.html | 98 ++++++++++++++++++---- docs/fpp-users-guide.html | 2 +- docs/index.html | 9 +- docs/spec/Lexical-Elements.adoc | 22 +++++ docs/spec/Specifiers/Event-Specifiers.adoc | 16 ++++ 5 files changed, 128 insertions(+), 19 deletions(-) diff --git a/docs/fpp-spec.html b/docs/fpp-spec.html index 15822980f..4a85f817e 100644 --- a/docs/fpp-spec.html +++ b/docs/fpp-spec.html @@ -448,12 +448,13 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
  • 3.1. Reserved Words
  • 3.2. Symbols
  • 3.3. Identifiers
  • -
  • 3.4. End-of-Line Tokens
  • -
  • 3.5. Comments
  • -
  • 3.6. Whitespace and Non-Printable Characters
  • -
  • 3.7. Explicit Line Continuations
  • -
  • 3.8. Automatic Suppression of Newlines
  • -
  • 3.9. Collapsing of Newlines
  • +
  • 3.4. Durations
  • +
  • 3.5. End-of-Line Tokens
  • +
  • 3.6. Comments
  • +
  • 3.7. Whitespace and Non-Printable Characters
  • +
  • 3.8. Explicit Line Continuations
  • +
  • 3.9. Automatic Suppression of Newlines
  • +
  • 3.10. Collapsing of Newlines
  • 4. Element Sequences
  • @@ -1112,6 +1113,9 @@ This process is called lexing.

    An identifier.

  • +

    A duration.

    +
  • +
  • An integer literal.

  • @@ -1328,7 +1332,56 @@ treated as an identifier and not as a reserved word.

    -

    3.4. End-of-Line Tokens

    +

    3.4. Durations

    +
    +

    Definition: A duration is a token consisting of a numerical element +and a duration unit suffix. Durations denote an length of time elapsed. +Time durations support the following unit suffixes:

    +
    +
    +
      +
    • +

      ps: Pico-seconds (1e-12 seconds)

      +
    • +
    • +

      ns: Nano-seconds (1e-9 seconds)

      +
    • +
    • +

      us: Micro-seconds (1e-6 seconds)

      +
    • +
    • +

      ms: Milli-seconds (1e-3 seconds)

      +
    • +
    • +

      s: Seconds

      +
    • +
    • +

      m: Minutes (60 seconds)

      +
    • +
    • +

      h: Hours (60 minutes, 3600 seconds)

      +
    • +
    +
    +
    +

    For example:

    +
    +
    +
      +
    • +

      10ps denotes 10 pico-seconds or 10e-11 seconds

      +
    • +
    • +

      20m denotes 20 minutes or 1200 seconds

      +
    • +
    • +

      1.5m denotes 1 and a half minutes or 90 seconds

      +
    • +
    +
    +
    +
    +

    3.5. End-of-Line Tokens

    An end-of-line token is a sequence of one or more newlines. A newline (or line break) is the NL character (ASCII code 0x0A), @@ -1338,7 +1391,7 @@ character (ASCII code 0x0D). End-of-line tokens separate the elements of

    -

    3.5. Comments

    +

    3.6. Comments

    The lexer ignores comments. Specifically:

    @@ -1357,7 +1410,7 @@ treated as no text.

    -

    3.6. Whitespace and Non-Printable Characters

    +

    3.7. Whitespace and Non-Printable Characters

    Apart from end-of-line tokens, the lexer treats whitespace as follows:

    @@ -1377,7 +1430,7 @@ in an FPP model outside of a string, comment, or annotation.

    -

    3.7. Explicit Line Continuations

    +

    3.8. Explicit Line Continuations

    The character \, when appearing before a newline, @@ -1417,7 +1470,7 @@ For example, the following is not syntactically correct:

    -

    3.8. Automatic Suppression of Newlines

    +

    3.9. Automatic Suppression of Newlines

    The following symbols consume sequences of newlines that follow them, without creating an @@ -1484,7 +1537,7 @@ is consumed by the + symbol:

    -

    3.9. Collapsing of Newlines

    +

    3.10. Collapsing of Newlines

    To simplify parsing, the lexer may collapse a sequence of one or more end-of-line tokens @@ -6010,6 +6063,7 @@ product container Container2 default priority 10 format string-literal [ throttle expression +[ every duration ] ]

    @@ -6082,6 +6136,10 @@ The type of e must be convertible to Integer and must evaluate to an integer in the range [0,231).

  • +
  • +

    The optional expression d following every specifies the maximum time period +to elapse before clearing the event throttle. d must be a valid time duration.

    +
  • @@ -6119,7 +6177,19 @@ event Event2( severity warning low \ id 0x02 \ format "Saw value {} for case {}" \ - throttle 10 + throttle 10 + +@ Event 3 +@ Sample output: "Saw value [ 0.001, 0.002, 0.003 ] for case A" +event Event3( + case: Case @< The case + value: F64x3 @< The value +) \ + severity warning low \ + id 0x02 \ + format "Saw value {} for case {}" \ + throttle 10 + every 20s @@ -11623,7 +11693,7 @@ equivalent.

    diff --git a/docs/fpp-users-guide.html b/docs/fpp-users-guide.html index 835b1e566..97ee1ae0e 100644 --- a/docs/fpp-users-guide.html +++ b/docs/fpp-users-guide.html @@ -15700,7 +15700,7 @@ serialized according to its diff --git a/docs/index.html b/docs/index.html index 11deeafad..949fcaa1f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -4,7 +4,7 @@ - + F Prime Prime (FPP)