Skip to content

Instruction Implementation Completion #3

@p32blo

Description

@p32blo

Many instructions remain unimplemented for the time being. While there is nothing technically preventing the implementation of further instruction, implementing them without being able to check their correctness can bring some problems. Therefore, there was some restrain in implementing instructions without at least a single usage in an existing set of working examples.

The First Set

The first set of .vm files were provided by this repository. It generates .vm files from a simple C like language with Lex/Yacc and it also includes a java GUI implementation of the VM. It does a great job at showcasing the usage of compiler generator, but for our purposes it only generates instructions for its intended scope which limits the generated instructions to:

  • Integer operations (no floating point)
  • Array operations
  • Standard input / output
  • Jump / Labels
  • Procedure call / return

Future work...

In order to advance the implementation there should always be a set example .vm files to prove its correct. This means that at any point if a set is found containing more unimplemented instructions or if there is willingness to create / generate a set independently the implementation can be continued.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions