BadScript 2
Loading...
Searching...
No Matches
BadLogicAssignOrExpressionCompiler.cs
Go to the documentation of this file.
1
using
BadScript2.Parser.Expressions.Binary.Logic.Assign
;
2
3
namespace
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.Binary.Logic.Assign
;
4
8
public
class
BadLogicAssignOrExpressionCompiler
:
BadBinaryExpressionCompiler
<BadLogicAssignOrExpression>
9
{
11
protected
override
bool
EmitLeft
=>
false
;
12
14
protected
override
bool
EmitRight
=>
false
;
15
17
public
override
void
CompileBinary
(
BadExpressionCompileContext
context,
BadLogicAssignOrExpression
expression)
18
{
19
context.
Compile
(expression.
Left
);
20
context.
Emit
(
BadOpCode
.Dup, expression.
Position
);
21
int
jumpPos = context.
EmitEmpty
();
22
context.
Compile
(expression.
Right
);
23
context.
Emit
(
BadOpCode
.Assign, expression.
Position
);
24
context.
ResolveEmpty
(jumpPos,
BadOpCode
.JumpRelativeIfTrue, expression.
Position
, context.
InstructionCount
- jumpPos - 1);
25
}
26
}
BadScript2.Parser.Expressions.BadExpression.Position
BadSourcePosition Position
The source Position of the Expression.
Definition
BadExpression.cs:165
BadScript2.Parser.Expressions.Binary.BadBinaryExpression.Right
BadExpression Right
Right side of the Expression.
Definition
BadBinaryExpression.cs:34
BadScript2.Parser.Expressions.Binary.BadBinaryExpression.Left
BadExpression Left
Left side of the Expression.
Definition
BadBinaryExpression.cs:29
BadScript2.Parser.Expressions.Binary.Logic.Assign.BadLogicAssignOrExpression
Implements the Assign Logic Or Expression.
Definition
BadLogicAssignOrExpression.cs:13
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.Binary.Logic.Assign.BadLogicAssignOrExpressionCompiler
Compiles the BadLogicAssignOrExpression.
Definition
BadLogicAssignOrExpressionCompiler.cs:9
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.Binary.Logic.Assign.BadLogicAssignOrExpressionCompiler.CompileBinary
override void CompileBinary(BadExpressionCompileContext context, BadLogicAssignOrExpression expression)
Definition
BadLogicAssignOrExpressionCompiler.cs:17
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.Binary.Logic.Assign.BadLogicAssignOrExpressionCompiler.EmitRight
override bool EmitRight
Definition
BadLogicAssignOrExpressionCompiler.cs:14
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.Binary.Logic.Assign.BadLogicAssignOrExpressionCompiler.EmitLeft
override bool EmitLeft
Definition
BadLogicAssignOrExpressionCompiler.cs:11
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.Binary.BadBinaryExpressionCompiler
Defines a Compiler for a specific BadBinaryExpression.
Definition
BadBinaryExpressionCompiler.cs:11
BadScript2.Parser.Expressions.Binary.Logic.Assign
Contains the Self-Assigning Logic Expressions for the BadScript2 Language.
Definition
BadLogicAssignAndExpression.cs:10
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.Binary.Logic.Assign
Contains Binary Self-Assignung Logic Expression Compilers.
Definition
BadLogicAssignAndExpressionCompiler.cs:6
BadScript2.Runtime.VirtualMachine.BadOpCode
BadOpCode
Defines the Operations that the BadVirtualMachine can execute.
Definition
BadOpCode.cs:7
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.BadExpressionCompileContext
Definition
IBadExpressionCompiler.cs:7
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.BadExpressionCompileContext.ResolveEmpty
void ResolveEmpty(int index, BadOpCode code, BadSourcePosition position, params object[] args)
Definition
IBadExpressionCompiler.cs:43
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.BadExpressionCompileContext.Emit
void Emit(BadInstruction instruction)
Definition
IBadExpressionCompiler.cs:31
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.BadExpressionCompileContext.EmitEmpty
int EmitEmpty()
Definition
IBadExpressionCompiler.cs:35
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.BadExpressionCompileContext.Compile
void Compile(BadExpression expr)
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.BadExpressionCompileContext.InstructionCount
int InstructionCount
Definition
IBadExpressionCompiler.cs:12
src
BadScript2
Runtime
VirtualMachine
Compiler
ExpressionCompilers
Binary
Logic
Assign
BadLogicAssignOrExpressionCompiler.cs
Generated by
1.9.8