Skip to content

fpp to dict

Rob Bocchino edited this page Apr 26, 2024 · 3 revisions

This tool writes JSON dictionaries corresponding to F Prime topologies.

Options:

  1. -d dir: Set the output directory to dir. If this option is not present, then the output directory is the current directory.

  2. -i files: Import files. The definitions in these files are part of the FPP model, but they do not cause any code to be generated.

  3. -s string size: Specify the default string size. If this option is present, the argument must be a decimal integer value between 1 and 1024. If this option is not present, the default string size is 80.

  4. -f framework version: Specify the framework version.

  5. -p project version: Specify the project version.

  6. -l library versions: Specify the versions of libraries used in the project.

Input:

  1. A list fl_tr of files to translate: either the single file stdin or a list of files specified on the command line.

  2. A list fl_i of files to import, specified as arguments to the -i option.

Output:

  1. A set of .json files, written to the output directory.

Procedure:

  1. Parse each of the files in fl_tr, generating a list tul_tr of translation units. When parsing, recursively resolve include specifiers.

  2. Do the same for fl_i, generating a list tul_i.

  3. Perform semantic checking on the concatenation of tul_fl and tul_i.

  4. Check that no two definitions in tul_tr will generate a C++ file with the same name. If so, halt with an error message.

  5. For each topology definition T in tul_tr, do the following:

    1. Construct the dictionary D for T.

    2. Generate the JSON output for D.