================================================================================
= Inputted Code
= - Input of: org.vcssl.nano.compiler.Preprocessor
================================================================================
int foo;
int bar = 123;
foo = bar + 456;
output(foo);
================================================================================
= Preprocessed Code
= - Output of: org.vcssl.nano.compiler.Preprocessor
= - Input of: org.vcssl.nano.compiler.LexicalAnalyzer
================================================================================
int foo;
int bar = 123;
foo = bar + 456;
output(foo);
================================================================================
= Tokens
= - Output of: org.vcssl.nano.compiler.LexicalAnalyzer
= - Input of: org.vcssl.nano.compiler.Parser
================================================================================
[Token word="int", lineNumber=1, fileName="CompilerExampleFull.vnano", type=DATA_TYPE, priority=0]
[Token word="foo", lineNumber=1, fileName="CompilerExampleFull.vnano", type=LEAF, priority=0, LEAF_TYPE="variableIdentifier"]
[Token word=";", lineNumber=1, fileName="CompilerExampleFull.vnano", type=END_OF_STATEMENT, priority=0]
[Token word="int", lineNumber=2, fileName="CompilerExampleFull.vnano", type=DATA_TYPE, priority=0]
[Token word="bar", lineNumber=2, fileName="CompilerExampleFull.vnano", type=LEAF, priority=0, LEAF_TYPE="variableIdentifier"]
[Token word="=", lineNumber=2, fileName="CompilerExampleFull.vnano", type=OPERATOR, priority=6000, OPERATOR_EXECUTOR="assignment", OPERATOR_SYNTAX="binary", OPERATOR_ASSOCIATIVITY="right"]
[Token word="123", lineNumber=2, fileName="CompilerExampleFull.vnano", type=LEAF, priority=0, LEAF_TYPE="literal", DATA_TYPE="int", RANK="0"]
[Token word=";", lineNumber=2, fileName="CompilerExampleFull.vnano", type=END_OF_STATEMENT, priority=0]
[Token word="foo", lineNumber=3, fileName="CompilerExampleFull.vnano", type=LEAF, priority=0, LEAF_TYPE="variableIdentifier"]
[Token word="=", lineNumber=3, fileName="CompilerExampleFull.vnano", type=OPERATOR, priority=6000, OPERATOR_EXECUTOR="assignment", OPERATOR_SYNTAX="binary", OPERATOR_ASSOCIATIVITY="right"]
[Token word="bar", lineNumber=3, fileName="CompilerExampleFull.vnano", type=LEAF, priority=0, LEAF_TYPE="variableIdentifier"]
[Token word="+", lineNumber=3, fileName="CompilerExampleFull.vnano", type=OPERATOR, priority=3100, OPERATOR_EXECUTOR="arithmetic", OPERATOR_SYNTAX="binary", OPERATOR_ASSOCIATIVITY="left"]
[Token word="456", lineNumber=3, fileName="CompilerExampleFull.vnano", type=LEAF, priority=0, LEAF_TYPE="literal", DATA_TYPE="int", RANK="0"]
[Token word=";", lineNumber=3, fileName="CompilerExampleFull.vnano", type=END_OF_STATEMENT, priority=0]
[Token word="output", lineNumber=4, fileName="CompilerExampleFull.vnano", type=LEAF, priority=0, LEAF_TYPE="functionIdentifier"]
[Token word="(", lineNumber=4, fileName="CompilerExampleFull.vnano", type=OPERATOR, priority=1000, OPERATOR_EXECUTOR="call", OPERATOR_SYNTAX="multiary", OPERATOR_ASSOCIATIVITY="left"]
[Token word="foo", lineNumber=4, fileName="CompilerExampleFull.vnano", type=LEAF, priority=0, LEAF_TYPE="variableIdentifier"]
[Token word=")", lineNumber=4, fileName="CompilerExampleFull.vnano", type=OPERATOR, priority=10000000, OPERATOR_EXECUTOR="call", OPERATOR_SYNTAX="multialyEnd", OPERATOR_ASSOCIATIVITY="left"]
[Token word=";", lineNumber=4, fileName="CompilerExampleFull.vnano", type=END_OF_STATEMENT, priority=0]
================================================================================
= Parsed AST
= - Output of: org.vcssl.nano.compiler.Parser
= - Input of: org.vcssl.nano.compiler.SemanticAnalyzer
================================================================================
<ROOT>
<VARIABLE DATA_TYPE="int" IDENTIFIER_VALUE="foo" RANK="0" />
<VARIABLE DATA_TYPE="int" IDENTIFIER_VALUE="bar" RANK="0">
<EXPRESSION>
<OPERATOR OPERATOR_ASSOCIATIVITY="right" OPERATOR_SYNTAX="binary" OPERATOR_EXECUTOR="assignment" OPERATOR_SYMBOL="=" OPERATOR_PRIORITY="6000">
<LEAF LEAF_TYPE="variableIdentifier" IDENTIFIER_VALUE="bar" />
<LEAF LEAF_TYPE="literal" LITERAL_VALUE="123" DATA_TYPE="int" />
</OPERATOR>
</EXPRESSION>
</VARIABLE>
<EXPRESSION>
<OPERATOR OPERATOR_ASSOCIATIVITY="right" OPERATOR_SYNTAX="binary" OPERATOR_EXECUTOR="assignment" OPERATOR_SYMBOL="=" OPERATOR_PRIORITY="6000">
<LEAF LEAF_TYPE="variableIdentifier" IDENTIFIER_VALUE="foo" />
<OPERATOR OPERATOR_ASSOCIATIVITY="left" OPERATOR_SYNTAX="binary" OPERATOR_EXECUTOR="arithmetic" OPERATOR_SYMBOL="+" OPERATOR_PRIORITY="3100">
<LEAF LEAF_TYPE="variableIdentifier" IDENTIFIER_VALUE="bar" />
<LEAF LEAF_TYPE="literal" LITERAL_VALUE="456" DATA_TYPE="int" />
</OPERATOR>
</OPERATOR>
</EXPRESSION>
<EXPRESSION>
<OPERATOR OPERATOR_ASSOCIATIVITY="left" OPERATOR_SYNTAX="multiary" OPERATOR_EXECUTOR="call" OPERATOR_SYMBOL="(" OPERATOR_PRIORITY="1000">
<LEAF LEAF_TYPE="functionIdentifier" IDENTIFIER_VALUE="output" />
<LEAF LEAF_TYPE="variableIdentifier" IDENTIFIER_VALUE="foo" />
</OPERATOR>
</EXPRESSION>
</ROOT>
================================================================================
= Analyzed AST
= - Output of: org.vcssl.nano.compiler.SemanticAnalyzer
= - Input of: org.vcssl.nano.compiler.CodeGenerator
================================================================================
<ROOT>
<VARIABLE DATA_TYPE="int" IDENTIFIER_VALUE="foo" RANK="0" SCOPE="local" IDENTIFIER_SERIAL_NUMBER="0" />
<VARIABLE DATA_TYPE="int" IDENTIFIER_VALUE="bar" RANK="0" SCOPE="local" IDENTIFIER_SERIAL_NUMBER="1">
<EXPRESSION DATA_TYPE="int" RANK="0">
<OPERATOR OPERATOR_ASSOCIATIVITY="right" OPERATOR_SYNTAX="binary" OPERATOR_EXECUTOR="assignment" OPERATOR_SYMBOL="=" OPERATOR_PRIORITY="6000" DATA_TYPE="int" OPERATOR_EXECUTION_DATA_TYPE="int" RANK="0">
<LEAF LEAF_TYPE="variableIdentifier" IDENTIFIER_VALUE="bar" IDENTIFIER_SERIAL_NUMBER="1" SCOPE="local" RANK="0" DATA_TYPE="int" />
<LEAF LEAF_TYPE="literal" LITERAL_VALUE="123" DATA_TYPE="int" RANK="0" />
</OPERATOR>
</EXPRESSION>
</VARIABLE>
<EXPRESSION DATA_TYPE="int" RANK="0">
<OPERATOR OPERATOR_ASSOCIATIVITY="right" OPERATOR_SYNTAX="binary" OPERATOR_EXECUTOR="assignment" OPERATOR_SYMBOL="=" OPERATOR_PRIORITY="6000" DATA_TYPE="int" OPERATOR_EXECUTION_DATA_TYPE="int" RANK="0">
<LEAF LEAF_TYPE="variableIdentifier" IDENTIFIER_VALUE="foo" IDENTIFIER_SERIAL_NUMBER="0" SCOPE="local" RANK="0" DATA_TYPE="int" />
<OPERATOR OPERATOR_ASSOCIATIVITY="left" OPERATOR_SYNTAX="binary" OPERATOR_EXECUTOR="arithmetic" OPERATOR_SYMBOL="+" OPERATOR_PRIORITY="3100" DATA_TYPE="int" OPERATOR_EXECUTION_DATA_TYPE="int" RANK="0">
<LEAF LEAF_TYPE="variableIdentifier" IDENTIFIER_VALUE="bar" IDENTIFIER_SERIAL_NUMBER="1" SCOPE="local" RANK="0" DATA_TYPE="int" />
<LEAF LEAF_TYPE="literal" LITERAL_VALUE="456" DATA_TYPE="int" RANK="0" />
</OPERATOR>
</OPERATOR>
</EXPRESSION>
<EXPRESSION DATA_TYPE="void" RANK="0">
<OPERATOR OPERATOR_ASSOCIATIVITY="left" OPERATOR_SYNTAX="multiary" OPERATOR_EXECUTOR="call" OPERATOR_SYMBOL="(" OPERATOR_PRIORITY="1000" SCOPE="global" DATA_TYPE="void" OPERATOR_EXECUTION_DATA_TYPE="void" RANK="0">
<LEAF LEAF_TYPE="functionIdentifier" IDENTIFIER_VALUE="output" />
<LEAF LEAF_TYPE="variableIdentifier" IDENTIFIER_VALUE="foo" IDENTIFIER_SERIAL_NUMBER="0" SCOPE="local" RANK="0" DATA_TYPE="int" />
</OPERATOR>
</EXPRESSION>
</ROOT>
================================================================================
= Assembly Code (VRIL Code)
= - Output of: org.vcssl.nano.compiler.CodeGenerator
= - Input of: org.vcssl.nano.vm.assembler.Assembler
================================================================================
#ASSEMBLY_LANGUAGE_IDENTIFIER "Vector Register Intermediate Language (VRIL)";
#ASSEMBLY_LANGUAGE_VERSION "0.0.1";
#SCRIPT_LANGUAGE_IDENTIFIER "Vnano";
#SCRIPT_LANGUAGE_VERSION "0.1.4";
#GLOBAL_FUNCTION _output(int);
#LOCAL_VARIABLE _foo@0;
#LOCAL_VARIABLE _bar@1;
#META "line=1, file=CompilerExampleFull.vnano";
ALLOC int _foo@0;
#META "line=2, file=CompilerExampleFull.vnano";
ALLOC int _bar@1;
MOV int _bar@1 ~int:123;
#META "line=3, file=CompilerExampleFull.vnano";
ALLOC int R0;
ADD int R0 _bar@1 ~int:456;
MOV int _foo@0 R0;
#META "line=4, file=CompilerExampleFull.vnano";
CALLX void - _output(int) _foo@0;
END void -;
================================================================================
= VM Object Code
= - Output of: org.vcssl.nano.vm.assembler.Assembler
= - Input of: org.vcssl.nano.vm.processor.Processor
= - or: org.vcssl.nano.vm.accelerator.Accelerator
================================================================================
#INSTRUCTION
0 ALLOC INT64 L0 C0
1 ALLOC INT64 L1 C1
2 MOV INT64 L1 C2 C1
3 ALLOC INT64 R0 C3
4 ADD INT64 R0 L1 C4 C3
5 MOV INT64 L0 R0 C3
6 CALLX VOID N0 C6 L0 C5
7 END VOID N0 C5
#LABEL
#FUNCTION
0 _output(int)
#GLOBAL_DATA
#LOCAL_DATA
L0 _foo@0
L1 _bar@1
#CONSTANT_DATA
C0 ~string:"line=1, file=CompilerExampleFull.vnano"
C1 ~string:"line=2, file=CompilerExampleFull.vnano"
C2 ~int:123
C3 ~string:"line=3, file=CompilerExampleFull.vnano"
C4 ~int:456
C5 ~string:"line=4, file=CompilerExampleFull.vnano"
C6 ~int:0
#REGISTER
R0
================================================================================
= Accelerator Code
= - Output of: org.vcssl.nano.vm.accelerator.AcceleratorSchedulingUnit
= - Input of: org.vcssl.nano.vm.accelerator.AcceleratorDispatchUnit
================================================================================
[0] <- [0] [ ALLOC INT64 L0 C0 BYPASS ]
[1] <- [1] [ ALLOC INT64 L1 C1 BYPASS ]
[2] <- [3] [ ALLOC INT64 R0 C3 BYPASS ]
[3] <- [2] [ MOV INT64 L1 C2 C1 I64CS_TRANSFER ]
[4] <- [4] [ ADD INT64 L0 L1 C4 C3 I64CS_ARITHMETIC ]
[5] <- [6] [ CALLX VOID N0 C6 L0 C5 BYPASS ]
[6] <- [7] [ END VOID N0 C5 BYPASS ]
================================================================================
= Accelerator State (Execution Unit Dispatchment)
= - Output of: org.vcssl.nano.vm.accelerator.AcceleratorDispatchUnit
================================================================================
[0] org.vcssl.nano.vm.accelerator.BypassUnit$ProcessorCallNode@77afea7d
[1] org.vcssl.nano.vm.accelerator.BypassUnit$ProcessorCallNode@161cd475
[2] org.vcssl.nano.vm.accelerator.BypassUnit$ProcessorCallNode@532760d8
[3] org.vcssl.nano.vm.accelerator.Int64CachedScalarTransferUnit$Int64CachedScalarMovNode@57fa26b7
[4] org.vcssl.nano.vm.accelerator.Int64CachedScalarArithmeticUnit$Int64CachedScalarAddUnit@5f8ed237
[5] org.vcssl.nano.vm.accelerator.BypassUnit$ProcessorCallNode@2f410acf
[6] org.vcssl.nano.vm.accelerator.BypassUnit$ProcessorCallNode@47089e5f
================================================================================
= Run
================================================================================
579