* Whitespace token modernization - ambient lexer * Whitespace token modernization - ampl lexer * Whitespace token modernization - apdlexer lexer * Whitespace token modernization - apl lexer * Whitespace token modernization - adl lexer * Whitespace token modernization - arrow lexer * Whitespace token modernization - asm lexer
148 lines
3.7 KiB
Text
Generated
148 lines
3.7 KiB
Text
Generated
'; Demonstration of how to write an entire .EXE format program as a .OBJ' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'; file to be linked. Tested with the VAL free linker.' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'; To build:' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'; nasm -fobj objexe.asm' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'; val objexe.obj,objexe.exe;' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'; To test:' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'; objexe' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
"; (should print `hello, world')" Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'segment' Keyword
|
|
' ' Text.Whitespace
|
|
'code' Name.Variable
|
|
'\n\n' Text.Whitespace
|
|
|
|
'..start:' Name.Label
|
|
' ' Text.Whitespace
|
|
'mov' Name.Function
|
|
' ' Text.Whitespace
|
|
'ax' Name.Builtin
|
|
',' Punctuation
|
|
'data' Name.Variable
|
|
'\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'mov' Name.Function
|
|
' ' Text.Whitespace
|
|
'ds' Name.Builtin
|
|
',' Punctuation
|
|
'ax' Name.Builtin
|
|
'\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'mov' Name.Function
|
|
' ' Text.Whitespace
|
|
'ax' Name.Builtin
|
|
',' Punctuation
|
|
'stack' Name.Variable
|
|
'\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'mov' Name.Function
|
|
' ' Text.Whitespace
|
|
'ss' Name.Builtin
|
|
',' Punctuation
|
|
'ax' Name.Builtin
|
|
'\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'mov' Name.Function
|
|
' ' Text.Whitespace
|
|
'sp' Name.Builtin
|
|
',' Punctuation
|
|
'stacktop' Name.Variable
|
|
'\n\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'mov' Name.Function
|
|
' ' Text.Whitespace
|
|
'dx' Name.Builtin
|
|
',' Punctuation
|
|
'hello' Name.Variable
|
|
'\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'mov' Name.Function
|
|
' ' Text.Whitespace
|
|
'ah' Name.Builtin
|
|
',' Punctuation
|
|
'9' Literal.Number.Integer
|
|
'\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'int' Name.Function
|
|
' ' Text.Whitespace
|
|
'0x21' Literal.Number.Hex
|
|
'\n\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'mov' Name.Function
|
|
' ' Text.Whitespace
|
|
'ax' Name.Builtin
|
|
',' Punctuation
|
|
'0x4c00' Literal.Number.Hex
|
|
'\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'int' Name.Function
|
|
' ' Text.Whitespace
|
|
'0x21' Literal.Number.Hex
|
|
'\n\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'segment' Keyword
|
|
' ' Text.Whitespace
|
|
'data' Name.Variable
|
|
'\n' Text.Whitespace
|
|
|
|
'hello:' Name.Label
|
|
'\t ' Text.Whitespace
|
|
'db' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
"'hello, world'" Literal.String
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'13' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'10' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
"'$'" Literal.String
|
|
'\n\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'segment' Keyword
|
|
' ' Text.Whitespace
|
|
'stack' Name.Variable
|
|
' ' Text.Whitespace
|
|
'stack' Name.Variable
|
|
'\n' Text.Whitespace
|
|
|
|
'\t ' Text.Whitespace
|
|
'resb' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'64' Literal.Number.Integer
|
|
'\n' Text.Whitespace
|
|
|
|
'stacktop:' Name.Label
|
|
'\n' Text.Whitespace
|