MXVM 1.8.1
Virtual Machine, Compiler, and Pascal Frontend
Loading...
Searching...
No Matches
valid.hpp File Reference

Validator for MXVM programs — checks variable/label usage and instruction operand specifications. More...

#include "mxvm/instruct.hpp"
#include "scanner/scanner.hpp"
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
Include dependency graph for valid.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mxvm::ParsedOp
 A parsed operand with its kind, text, and source location. More...
struct  mxvm::UseVar
 Records a variable usage site for validation. More...
struct  mxvm::UseLabel
 Records a label usage site for validation. More...
struct  mxvm::OpSpec
 Specification of valid operand patterns for an instruction. More...
class  mxvm::Validator
 Validates MXVM source for correct variable/label usage and instruction operands. More...
struct  mxvm::Validator::VarNamePair
 A variable name paired with its declaration token. More...

Namespaces

namespace  mxvm

Enumerations

enum class  mxvm::OpKind {
  mxvm::Num , mxvm::Hex , mxvm::Str , mxvm::Id ,
  mxvm::Member , mxvm::Label , mxvm::Any
}
 Classification of operand kinds for validation. More...
enum class  mxvm::VArity { mxvm::None , mxvm::AnyTail , mxvm::ArgsTail }
 Variadic arity policy for instruction operand specs. More...

Detailed Description

Validator for MXVM programs — checks variable/label usage and instruction operand specifications.

Author
Jared Bruni

Definition in file valid.hpp.