Sclp with optional passes enabled


$ ./sclp --help
Usage: sclp [OPTION...] [FILE]
Sclp - A language processor for C-like language

      --sa-scan              Stop after scanning
      --sa-parse             Stop after parsing
      --sa-ast               Stop after constructing Abstract Syntax Tree
                             (AST)
      --sa-tac               Stop after constructing Three Address Code (TAC)
      --sa-cfg               Stop after constructing Control Flow Graph (CFG)
                             representation
      --sa-lv                Stop after performing live variables analysis
      --sa-av                Stop after performing available variables analysis
                           
      --sa-analysis          Stop after performing dataflow analysis
      --sa-rtl               Stop after constructing Register Transfer Language
                             (RTL) code
      --show-tokens          Show the tokens in FILE.toks (or out.toks)
      --show-ast             Show abstract syntax trees in FILE.ast (or
                             out.ast)
      --show-tac             Show the Three Address Code in FILE.tac (or
                             out.tac)
      --show-cfg             Show Control Flow Graph in FILE.cfg (or out.cfg)
      --show-lv              Show the result of live variables analysis in
                             FILE.lv (or out.lv)
      --show-av              Show the result of available variables analysis in
                             FILE.av (or out.av)
      --show-vasco-lv        Show the result of interprocedural live variable
                             analysis
      --show-rtl             Show the Register Transfer Language code in
                             FILE.rtl (or out.rtl)
      --show-symtab          Show the symbol table after RTL construction (when
                             offsets are allocated) in FILE.sym, (or out.sym)
      --show-asm             Generate the assembly program in FILE.spim (or
                             out.spim). This is the default action and is
                             suppressed only if a valid `sa-...' option is
                             given to stop the compilation after some earlier
                             phase.
      --show-json-ast        Show the Abstract Syntax Tree in JSON format
      --show-json-tac        Show the Three Address Code in JSON format
      --show-json-rtl        Show the Register Transfer Language code in JSON
                             format
      --draw-cfg             Show graphical representation of CFG in
                             FILE.cfg.dot
      --draw-super           Show the super graph in FILE.super.dot
      --read-json-ast        Use the input file (in JSON format) to generate
                             the AST and skip all the phases from scanning to
                             parsing
      --read-json-tac        Use the input file (in JSON format) to generate
                             the TAC and skip all the phases from scanning to
                             TAC generation
      --read-json-rtl        Use the input file (in JSON format) to generate
                             the RTL code and skip all the phases from scanning
                             to RTL generation
  -d, --demo                 Demo version. Use stdout for the output instead of
                             files
      --gen-temp-symb-table  Populate Symbol Table For Temporaries
  -e, --single-stmt-bb       Flag to construct single statement basic blocks
  -?, --help                 Give this help list
      --usage                Give a short usage message
  -V, --version              Print program version