mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Merge branch 'master' into 1132-local
Conflicts: lib/linguist/samples.json
This commit is contained in:
@@ -157,6 +157,7 @@ Assembly:
|
|||||||
- nasm
|
- nasm
|
||||||
extensions:
|
extensions:
|
||||||
- .asm
|
- .asm
|
||||||
|
- .inc
|
||||||
|
|
||||||
Augeas:
|
Augeas:
|
||||||
type: programming
|
type: programming
|
||||||
@@ -998,6 +999,13 @@ Ioke:
|
|||||||
extensions:
|
extensions:
|
||||||
- .ik
|
- .ik
|
||||||
|
|
||||||
|
Isabelle:
|
||||||
|
type: programming
|
||||||
|
lexer: Text only
|
||||||
|
color: "#fdcd00"
|
||||||
|
extensions:
|
||||||
|
- .thy
|
||||||
|
|
||||||
J:
|
J:
|
||||||
type: programming
|
type: programming
|
||||||
lexer: Text only
|
lexer: Text only
|
||||||
@@ -2288,6 +2296,7 @@ XML:
|
|||||||
- .launch
|
- .launch
|
||||||
- .mxml
|
- .mxml
|
||||||
- .nproj
|
- .nproj
|
||||||
|
- .nuspec
|
||||||
- .osm
|
- .osm
|
||||||
- .plist
|
- .plist
|
||||||
- .pluginspec
|
- .pluginspec
|
||||||
@@ -2359,6 +2368,17 @@ XSLT:
|
|||||||
- .xslt
|
- .xslt
|
||||||
- .xsl
|
- .xsl
|
||||||
|
|
||||||
|
Xojo:
|
||||||
|
type: programming
|
||||||
|
lexer: VB.net
|
||||||
|
extensions:
|
||||||
|
- .xojo_code
|
||||||
|
- .xojo_menu
|
||||||
|
- .xojo_report
|
||||||
|
- .xojo_script
|
||||||
|
- .xojo_toolbar
|
||||||
|
- .xojo_window
|
||||||
|
|
||||||
Xtend:
|
Xtend:
|
||||||
type: programming
|
type: programming
|
||||||
extensions:
|
extensions:
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -204,3 +204,7 @@
|
|||||||
- ^vignettes/
|
- ^vignettes/
|
||||||
- ^inst/extdata/
|
- ^inst/extdata/
|
||||||
|
|
||||||
|
# Octicons
|
||||||
|
- octicons.css
|
||||||
|
- octicons.min.css
|
||||||
|
- sprockets-octicons.scss
|
||||||
|
|||||||
2048
samples/Assembly/ASSEMBLE.inc
Normal file
2048
samples/Assembly/ASSEMBLE.inc
Normal file
File diff suppressed because it is too large
Load Diff
350
samples/Assembly/FASM.asm
Normal file
350
samples/Assembly/FASM.asm
Normal file
@@ -0,0 +1,350 @@
|
|||||||
|
|
||||||
|
; flat assembler interface for Win32
|
||||||
|
; Copyright (c) 1999-2014, Tomasz Grysztar.
|
||||||
|
; All rights reserved.
|
||||||
|
|
||||||
|
format PE console
|
||||||
|
|
||||||
|
section '.text' code readable executable
|
||||||
|
|
||||||
|
start:
|
||||||
|
|
||||||
|
mov [con_handle],STD_OUTPUT_HANDLE
|
||||||
|
mov esi,_logo
|
||||||
|
call display_string
|
||||||
|
|
||||||
|
call get_params
|
||||||
|
jc information
|
||||||
|
|
||||||
|
call init_memory
|
||||||
|
|
||||||
|
mov esi,_memory_prefix
|
||||||
|
call display_string
|
||||||
|
mov eax,[memory_end]
|
||||||
|
sub eax,[memory_start]
|
||||||
|
add eax,[additional_memory_end]
|
||||||
|
sub eax,[additional_memory]
|
||||||
|
shr eax,10
|
||||||
|
call display_number
|
||||||
|
mov esi,_memory_suffix
|
||||||
|
call display_string
|
||||||
|
|
||||||
|
call [GetTickCount]
|
||||||
|
mov [start_time],eax
|
||||||
|
|
||||||
|
call preprocessor
|
||||||
|
call parser
|
||||||
|
call assembler
|
||||||
|
call formatter
|
||||||
|
|
||||||
|
call display_user_messages
|
||||||
|
movzx eax,[current_pass]
|
||||||
|
inc eax
|
||||||
|
call display_number
|
||||||
|
mov esi,_passes_suffix
|
||||||
|
call display_string
|
||||||
|
call [GetTickCount]
|
||||||
|
sub eax,[start_time]
|
||||||
|
xor edx,edx
|
||||||
|
mov ebx,100
|
||||||
|
div ebx
|
||||||
|
or eax,eax
|
||||||
|
jz display_bytes_count
|
||||||
|
xor edx,edx
|
||||||
|
mov ebx,10
|
||||||
|
div ebx
|
||||||
|
push edx
|
||||||
|
call display_number
|
||||||
|
mov dl,'.'
|
||||||
|
call display_character
|
||||||
|
pop eax
|
||||||
|
call display_number
|
||||||
|
mov esi,_seconds_suffix
|
||||||
|
call display_string
|
||||||
|
display_bytes_count:
|
||||||
|
mov eax,[written_size]
|
||||||
|
call display_number
|
||||||
|
mov esi,_bytes_suffix
|
||||||
|
call display_string
|
||||||
|
xor al,al
|
||||||
|
jmp exit_program
|
||||||
|
|
||||||
|
information:
|
||||||
|
mov esi,_usage
|
||||||
|
call display_string
|
||||||
|
mov al,1
|
||||||
|
jmp exit_program
|
||||||
|
|
||||||
|
get_params:
|
||||||
|
mov [input_file],0
|
||||||
|
mov [output_file],0
|
||||||
|
mov [symbols_file],0
|
||||||
|
mov [memory_setting],0
|
||||||
|
mov [passes_limit],100
|
||||||
|
call [GetCommandLine]
|
||||||
|
mov esi,eax
|
||||||
|
mov edi,params
|
||||||
|
find_command_start:
|
||||||
|
lodsb
|
||||||
|
cmp al,20h
|
||||||
|
je find_command_start
|
||||||
|
cmp al,22h
|
||||||
|
je skip_quoted_name
|
||||||
|
skip_name:
|
||||||
|
lodsb
|
||||||
|
cmp al,20h
|
||||||
|
je find_param
|
||||||
|
or al,al
|
||||||
|
jz all_params
|
||||||
|
jmp skip_name
|
||||||
|
skip_quoted_name:
|
||||||
|
lodsb
|
||||||
|
cmp al,22h
|
||||||
|
je find_param
|
||||||
|
or al,al
|
||||||
|
jz all_params
|
||||||
|
jmp skip_quoted_name
|
||||||
|
find_param:
|
||||||
|
lodsb
|
||||||
|
cmp al,20h
|
||||||
|
je find_param
|
||||||
|
cmp al,'-'
|
||||||
|
je option_param
|
||||||
|
cmp al,0Dh
|
||||||
|
je all_params
|
||||||
|
or al,al
|
||||||
|
jz all_params
|
||||||
|
cmp [input_file],0
|
||||||
|
jne get_output_file
|
||||||
|
mov [input_file],edi
|
||||||
|
jmp process_param
|
||||||
|
get_output_file:
|
||||||
|
cmp [output_file],0
|
||||||
|
jne bad_params
|
||||||
|
mov [output_file],edi
|
||||||
|
process_param:
|
||||||
|
cmp al,22h
|
||||||
|
je string_param
|
||||||
|
copy_param:
|
||||||
|
stosb
|
||||||
|
lodsb
|
||||||
|
cmp al,20h
|
||||||
|
je param_end
|
||||||
|
cmp al,0Dh
|
||||||
|
je param_end
|
||||||
|
or al,al
|
||||||
|
jz param_end
|
||||||
|
jmp copy_param
|
||||||
|
string_param:
|
||||||
|
lodsb
|
||||||
|
cmp al,22h
|
||||||
|
je string_param_end
|
||||||
|
cmp al,0Dh
|
||||||
|
je param_end
|
||||||
|
or al,al
|
||||||
|
jz param_end
|
||||||
|
stosb
|
||||||
|
jmp string_param
|
||||||
|
option_param:
|
||||||
|
lodsb
|
||||||
|
cmp al,'m'
|
||||||
|
je memory_option
|
||||||
|
cmp al,'M'
|
||||||
|
je memory_option
|
||||||
|
cmp al,'p'
|
||||||
|
je passes_option
|
||||||
|
cmp al,'P'
|
||||||
|
je passes_option
|
||||||
|
cmp al,'s'
|
||||||
|
je symbols_option
|
||||||
|
cmp al,'S'
|
||||||
|
je symbols_option
|
||||||
|
bad_params:
|
||||||
|
stc
|
||||||
|
ret
|
||||||
|
get_option_value:
|
||||||
|
xor eax,eax
|
||||||
|
mov edx,eax
|
||||||
|
get_option_digit:
|
||||||
|
lodsb
|
||||||
|
cmp al,20h
|
||||||
|
je option_value_ok
|
||||||
|
cmp al,0Dh
|
||||||
|
je option_value_ok
|
||||||
|
or al,al
|
||||||
|
jz option_value_ok
|
||||||
|
sub al,30h
|
||||||
|
jc invalid_option_value
|
||||||
|
cmp al,9
|
||||||
|
ja invalid_option_value
|
||||||
|
imul edx,10
|
||||||
|
jo invalid_option_value
|
||||||
|
add edx,eax
|
||||||
|
jc invalid_option_value
|
||||||
|
jmp get_option_digit
|
||||||
|
option_value_ok:
|
||||||
|
dec esi
|
||||||
|
clc
|
||||||
|
ret
|
||||||
|
invalid_option_value:
|
||||||
|
stc
|
||||||
|
ret
|
||||||
|
memory_option:
|
||||||
|
lodsb
|
||||||
|
cmp al,20h
|
||||||
|
je memory_option
|
||||||
|
cmp al,0Dh
|
||||||
|
je bad_params
|
||||||
|
or al,al
|
||||||
|
jz bad_params
|
||||||
|
dec esi
|
||||||
|
call get_option_value
|
||||||
|
or edx,edx
|
||||||
|
jz bad_params
|
||||||
|
cmp edx,1 shl (32-10)
|
||||||
|
jae bad_params
|
||||||
|
mov [memory_setting],edx
|
||||||
|
jmp find_param
|
||||||
|
passes_option:
|
||||||
|
lodsb
|
||||||
|
cmp al,20h
|
||||||
|
je passes_option
|
||||||
|
cmp al,0Dh
|
||||||
|
je bad_params
|
||||||
|
or al,al
|
||||||
|
jz bad_params
|
||||||
|
dec esi
|
||||||
|
call get_option_value
|
||||||
|
or edx,edx
|
||||||
|
jz bad_params
|
||||||
|
cmp edx,10000h
|
||||||
|
ja bad_params
|
||||||
|
mov [passes_limit],dx
|
||||||
|
jmp find_param
|
||||||
|
symbols_option:
|
||||||
|
mov [symbols_file],edi
|
||||||
|
find_symbols_file_name:
|
||||||
|
lodsb
|
||||||
|
cmp al,20h
|
||||||
|
jne process_param
|
||||||
|
jmp find_symbols_file_name
|
||||||
|
param_end:
|
||||||
|
dec esi
|
||||||
|
string_param_end:
|
||||||
|
xor al,al
|
||||||
|
stosb
|
||||||
|
jmp find_param
|
||||||
|
all_params:
|
||||||
|
cmp [input_file],0
|
||||||
|
je bad_params
|
||||||
|
clc
|
||||||
|
ret
|
||||||
|
|
||||||
|
include 'system.inc'
|
||||||
|
|
||||||
|
include '..\errors.inc'
|
||||||
|
include '..\symbdump.inc'
|
||||||
|
include '..\preproce.inc'
|
||||||
|
include '..\parser.inc'
|
||||||
|
include '..\exprpars.inc'
|
||||||
|
include '..\assemble.inc'
|
||||||
|
include '..\exprcalc.inc'
|
||||||
|
include '..\formats.inc'
|
||||||
|
include '..\x86_64.inc'
|
||||||
|
include '..\avx.inc'
|
||||||
|
|
||||||
|
include '..\tables.inc'
|
||||||
|
include '..\messages.inc'
|
||||||
|
|
||||||
|
section '.data' data readable writeable
|
||||||
|
|
||||||
|
include '..\version.inc'
|
||||||
|
|
||||||
|
_copyright db 'Copyright (c) 1999-2014, Tomasz Grysztar',0Dh,0Ah,0
|
||||||
|
|
||||||
|
_logo db 'flat assembler version ',VERSION_STRING,0
|
||||||
|
_usage db 0Dh,0Ah
|
||||||
|
db 'usage: fasm <source> [output]',0Dh,0Ah
|
||||||
|
db 'optional settings:',0Dh,0Ah
|
||||||
|
db ' -m <limit> set the limit in kilobytes for the available memory',0Dh,0Ah
|
||||||
|
db ' -p <limit> set the maximum allowed number of passes',0Dh,0Ah
|
||||||
|
db ' -s <file> dump symbolic information for debugging',0Dh,0Ah
|
||||||
|
db 0
|
||||||
|
_memory_prefix db ' (',0
|
||||||
|
_memory_suffix db ' kilobytes memory)',0Dh,0Ah,0
|
||||||
|
_passes_suffix db ' passes, ',0
|
||||||
|
_seconds_suffix db ' seconds, ',0
|
||||||
|
_bytes_suffix db ' bytes.',0Dh,0Ah,0
|
||||||
|
|
||||||
|
align 4
|
||||||
|
|
||||||
|
include '..\variable.inc'
|
||||||
|
|
||||||
|
con_handle dd ?
|
||||||
|
memory_setting dd ?
|
||||||
|
start_time dd ?
|
||||||
|
bytes_count dd ?
|
||||||
|
displayed_count dd ?
|
||||||
|
character db ?
|
||||||
|
last_displayed rb 2
|
||||||
|
|
||||||
|
params rb 1000h
|
||||||
|
options rb 1000h
|
||||||
|
buffer rb 4000h
|
||||||
|
|
||||||
|
stack 10000h
|
||||||
|
|
||||||
|
section '.idata' import data readable writeable
|
||||||
|
|
||||||
|
dd 0,0,0,rva kernel_name,rva kernel_table
|
||||||
|
dd 0,0,0,0,0
|
||||||
|
|
||||||
|
kernel_table:
|
||||||
|
ExitProcess dd rva _ExitProcess
|
||||||
|
CreateFile dd rva _CreateFileA
|
||||||
|
ReadFile dd rva _ReadFile
|
||||||
|
WriteFile dd rva _WriteFile
|
||||||
|
CloseHandle dd rva _CloseHandle
|
||||||
|
SetFilePointer dd rva _SetFilePointer
|
||||||
|
GetCommandLine dd rva _GetCommandLineA
|
||||||
|
GetEnvironmentVariable dd rva _GetEnvironmentVariable
|
||||||
|
GetStdHandle dd rva _GetStdHandle
|
||||||
|
VirtualAlloc dd rva _VirtualAlloc
|
||||||
|
VirtualFree dd rva _VirtualFree
|
||||||
|
GetTickCount dd rva _GetTickCount
|
||||||
|
GetSystemTime dd rva _GetSystemTime
|
||||||
|
GlobalMemoryStatus dd rva _GlobalMemoryStatus
|
||||||
|
dd 0
|
||||||
|
|
||||||
|
kernel_name db 'KERNEL32.DLL',0
|
||||||
|
|
||||||
|
_ExitProcess dw 0
|
||||||
|
db 'ExitProcess',0
|
||||||
|
_CreateFileA dw 0
|
||||||
|
db 'CreateFileA',0
|
||||||
|
_ReadFile dw 0
|
||||||
|
db 'ReadFile',0
|
||||||
|
_WriteFile dw 0
|
||||||
|
db 'WriteFile',0
|
||||||
|
_CloseHandle dw 0
|
||||||
|
db 'CloseHandle',0
|
||||||
|
_SetFilePointer dw 0
|
||||||
|
db 'SetFilePointer',0
|
||||||
|
_GetCommandLineA dw 0
|
||||||
|
db 'GetCommandLineA',0
|
||||||
|
_GetEnvironmentVariable dw 0
|
||||||
|
db 'GetEnvironmentVariableA',0
|
||||||
|
_GetStdHandle dw 0
|
||||||
|
db 'GetStdHandle',0
|
||||||
|
_VirtualAlloc dw 0
|
||||||
|
db 'VirtualAlloc',0
|
||||||
|
_VirtualFree dw 0
|
||||||
|
db 'VirtualFree',0
|
||||||
|
_GetTickCount dw 0
|
||||||
|
db 'GetTickCount',0
|
||||||
|
_GetSystemTime dw 0
|
||||||
|
db 'GetSystemTime',0
|
||||||
|
_GlobalMemoryStatus dw 0
|
||||||
|
db 'GlobalMemoryStatus',0
|
||||||
|
|
||||||
|
section '.reloc' fixups data readable discardable
|
||||||
503
samples/Assembly/SYSTEM.inc
Normal file
503
samples/Assembly/SYSTEM.inc
Normal file
@@ -0,0 +1,503 @@
|
|||||||
|
|
||||||
|
; flat assembler interface for Win32
|
||||||
|
; Copyright (c) 1999-2014, Tomasz Grysztar.
|
||||||
|
; All rights reserved.
|
||||||
|
|
||||||
|
CREATE_NEW = 1
|
||||||
|
CREATE_ALWAYS = 2
|
||||||
|
OPEN_EXISTING = 3
|
||||||
|
OPEN_ALWAYS = 4
|
||||||
|
TRUNCATE_EXISTING = 5
|
||||||
|
|
||||||
|
FILE_SHARE_READ = 1
|
||||||
|
FILE_SHARE_WRITE = 2
|
||||||
|
FILE_SHARE_DELETE = 4
|
||||||
|
|
||||||
|
GENERIC_READ = 80000000h
|
||||||
|
GENERIC_WRITE = 40000000h
|
||||||
|
|
||||||
|
STD_INPUT_HANDLE = 0FFFFFFF6h
|
||||||
|
STD_OUTPUT_HANDLE = 0FFFFFFF5h
|
||||||
|
STD_ERROR_HANDLE = 0FFFFFFF4h
|
||||||
|
|
||||||
|
MEM_COMMIT = 1000h
|
||||||
|
MEM_RESERVE = 2000h
|
||||||
|
MEM_DECOMMIT = 4000h
|
||||||
|
MEM_RELEASE = 8000h
|
||||||
|
MEM_FREE = 10000h
|
||||||
|
MEM_PRIVATE = 20000h
|
||||||
|
MEM_MAPPED = 40000h
|
||||||
|
MEM_RESET = 80000h
|
||||||
|
MEM_TOP_DOWN = 100000h
|
||||||
|
|
||||||
|
PAGE_NOACCESS = 1
|
||||||
|
PAGE_READONLY = 2
|
||||||
|
PAGE_READWRITE = 4
|
||||||
|
PAGE_WRITECOPY = 8
|
||||||
|
PAGE_EXECUTE = 10h
|
||||||
|
PAGE_EXECUTE_READ = 20h
|
||||||
|
PAGE_EXECUTE_READWRITE = 40h
|
||||||
|
PAGE_EXECUTE_WRITECOPY = 80h
|
||||||
|
PAGE_GUARD = 100h
|
||||||
|
PAGE_NOCACHE = 200h
|
||||||
|
|
||||||
|
init_memory:
|
||||||
|
xor eax,eax
|
||||||
|
mov [memory_start],eax
|
||||||
|
mov eax,esp
|
||||||
|
and eax,not 0FFFh
|
||||||
|
add eax,1000h-10000h
|
||||||
|
mov [stack_limit],eax
|
||||||
|
mov eax,[memory_setting]
|
||||||
|
shl eax,10
|
||||||
|
jnz allocate_memory
|
||||||
|
push buffer
|
||||||
|
call [GlobalMemoryStatus]
|
||||||
|
mov eax,dword [buffer+20]
|
||||||
|
mov edx,dword [buffer+12]
|
||||||
|
cmp eax,0
|
||||||
|
jl large_memory
|
||||||
|
cmp edx,0
|
||||||
|
jl large_memory
|
||||||
|
shr eax,2
|
||||||
|
add eax,edx
|
||||||
|
jmp allocate_memory
|
||||||
|
large_memory:
|
||||||
|
mov eax,80000000h
|
||||||
|
allocate_memory:
|
||||||
|
mov edx,eax
|
||||||
|
shr edx,2
|
||||||
|
mov ecx,eax
|
||||||
|
sub ecx,edx
|
||||||
|
mov [memory_end],ecx
|
||||||
|
mov [additional_memory_end],edx
|
||||||
|
push PAGE_READWRITE
|
||||||
|
push MEM_COMMIT
|
||||||
|
push eax
|
||||||
|
push 0
|
||||||
|
call [VirtualAlloc]
|
||||||
|
or eax,eax
|
||||||
|
jz not_enough_memory
|
||||||
|
mov [memory_start],eax
|
||||||
|
add eax,[memory_end]
|
||||||
|
mov [memory_end],eax
|
||||||
|
mov [additional_memory],eax
|
||||||
|
add [additional_memory_end],eax
|
||||||
|
ret
|
||||||
|
not_enough_memory:
|
||||||
|
mov eax,[additional_memory_end]
|
||||||
|
shl eax,1
|
||||||
|
cmp eax,4000h
|
||||||
|
jb out_of_memory
|
||||||
|
jmp allocate_memory
|
||||||
|
|
||||||
|
exit_program:
|
||||||
|
movzx eax,al
|
||||||
|
push eax
|
||||||
|
mov eax,[memory_start]
|
||||||
|
test eax,eax
|
||||||
|
jz do_exit
|
||||||
|
push MEM_RELEASE
|
||||||
|
push 0
|
||||||
|
push eax
|
||||||
|
call [VirtualFree]
|
||||||
|
do_exit:
|
||||||
|
call [ExitProcess]
|
||||||
|
|
||||||
|
get_environment_variable:
|
||||||
|
mov ecx,[memory_end]
|
||||||
|
sub ecx,edi
|
||||||
|
cmp ecx,4000h
|
||||||
|
jbe buffer_for_variable_ok
|
||||||
|
mov ecx,4000h
|
||||||
|
buffer_for_variable_ok:
|
||||||
|
push ecx
|
||||||
|
push edi
|
||||||
|
push esi
|
||||||
|
call [GetEnvironmentVariable]
|
||||||
|
add edi,eax
|
||||||
|
cmp edi,[memory_end]
|
||||||
|
jae out_of_memory
|
||||||
|
ret
|
||||||
|
|
||||||
|
open:
|
||||||
|
push 0
|
||||||
|
push 0
|
||||||
|
push OPEN_EXISTING
|
||||||
|
push 0
|
||||||
|
push FILE_SHARE_READ
|
||||||
|
push GENERIC_READ
|
||||||
|
push edx
|
||||||
|
call [CreateFile]
|
||||||
|
cmp eax,-1
|
||||||
|
je file_error
|
||||||
|
mov ebx,eax
|
||||||
|
clc
|
||||||
|
ret
|
||||||
|
file_error:
|
||||||
|
stc
|
||||||
|
ret
|
||||||
|
create:
|
||||||
|
push 0
|
||||||
|
push 0
|
||||||
|
push CREATE_ALWAYS
|
||||||
|
push 0
|
||||||
|
push FILE_SHARE_READ
|
||||||
|
push GENERIC_WRITE
|
||||||
|
push edx
|
||||||
|
call [CreateFile]
|
||||||
|
cmp eax,-1
|
||||||
|
je file_error
|
||||||
|
mov ebx,eax
|
||||||
|
clc
|
||||||
|
ret
|
||||||
|
write:
|
||||||
|
push 0
|
||||||
|
push bytes_count
|
||||||
|
push ecx
|
||||||
|
push edx
|
||||||
|
push ebx
|
||||||
|
call [WriteFile]
|
||||||
|
or eax,eax
|
||||||
|
jz file_error
|
||||||
|
clc
|
||||||
|
ret
|
||||||
|
read:
|
||||||
|
mov ebp,ecx
|
||||||
|
push 0
|
||||||
|
push bytes_count
|
||||||
|
push ecx
|
||||||
|
push edx
|
||||||
|
push ebx
|
||||||
|
call [ReadFile]
|
||||||
|
or eax,eax
|
||||||
|
jz file_error
|
||||||
|
cmp ebp,[bytes_count]
|
||||||
|
jne file_error
|
||||||
|
clc
|
||||||
|
ret
|
||||||
|
close:
|
||||||
|
push ebx
|
||||||
|
call [CloseHandle]
|
||||||
|
ret
|
||||||
|
lseek:
|
||||||
|
movzx eax,al
|
||||||
|
push eax
|
||||||
|
push 0
|
||||||
|
push edx
|
||||||
|
push ebx
|
||||||
|
call [SetFilePointer]
|
||||||
|
ret
|
||||||
|
|
||||||
|
display_string:
|
||||||
|
push [con_handle]
|
||||||
|
call [GetStdHandle]
|
||||||
|
mov ebp,eax
|
||||||
|
mov edi,esi
|
||||||
|
or ecx,-1
|
||||||
|
xor al,al
|
||||||
|
repne scasb
|
||||||
|
neg ecx
|
||||||
|
sub ecx,2
|
||||||
|
push 0
|
||||||
|
push bytes_count
|
||||||
|
push ecx
|
||||||
|
push esi
|
||||||
|
push ebp
|
||||||
|
call [WriteFile]
|
||||||
|
ret
|
||||||
|
display_character:
|
||||||
|
push ebx
|
||||||
|
mov [character],dl
|
||||||
|
push [con_handle]
|
||||||
|
call [GetStdHandle]
|
||||||
|
mov ebx,eax
|
||||||
|
push 0
|
||||||
|
push bytes_count
|
||||||
|
push 1
|
||||||
|
push character
|
||||||
|
push ebx
|
||||||
|
call [WriteFile]
|
||||||
|
pop ebx
|
||||||
|
ret
|
||||||
|
display_number:
|
||||||
|
push ebx
|
||||||
|
mov ecx,1000000000
|
||||||
|
xor edx,edx
|
||||||
|
xor bl,bl
|
||||||
|
display_loop:
|
||||||
|
div ecx
|
||||||
|
push edx
|
||||||
|
cmp ecx,1
|
||||||
|
je display_digit
|
||||||
|
or bl,bl
|
||||||
|
jnz display_digit
|
||||||
|
or al,al
|
||||||
|
jz digit_ok
|
||||||
|
not bl
|
||||||
|
display_digit:
|
||||||
|
mov dl,al
|
||||||
|
add dl,30h
|
||||||
|
push ecx
|
||||||
|
call display_character
|
||||||
|
pop ecx
|
||||||
|
digit_ok:
|
||||||
|
mov eax,ecx
|
||||||
|
xor edx,edx
|
||||||
|
mov ecx,10
|
||||||
|
div ecx
|
||||||
|
mov ecx,eax
|
||||||
|
pop eax
|
||||||
|
or ecx,ecx
|
||||||
|
jnz display_loop
|
||||||
|
pop ebx
|
||||||
|
ret
|
||||||
|
|
||||||
|
display_user_messages:
|
||||||
|
mov [displayed_count],0
|
||||||
|
call show_display_buffer
|
||||||
|
cmp [displayed_count],1
|
||||||
|
jb line_break_ok
|
||||||
|
je make_line_break
|
||||||
|
mov ax,word [last_displayed]
|
||||||
|
cmp ax,0A0Dh
|
||||||
|
je line_break_ok
|
||||||
|
cmp ax,0D0Ah
|
||||||
|
je line_break_ok
|
||||||
|
make_line_break:
|
||||||
|
mov word [buffer],0A0Dh
|
||||||
|
push [con_handle]
|
||||||
|
call [GetStdHandle]
|
||||||
|
push 0
|
||||||
|
push bytes_count
|
||||||
|
push 2
|
||||||
|
push buffer
|
||||||
|
push eax
|
||||||
|
call [WriteFile]
|
||||||
|
line_break_ok:
|
||||||
|
ret
|
||||||
|
display_block:
|
||||||
|
add [displayed_count],ecx
|
||||||
|
cmp ecx,1
|
||||||
|
ja take_last_two_characters
|
||||||
|
jb block_displayed
|
||||||
|
mov al,[last_displayed+1]
|
||||||
|
mov ah,[esi]
|
||||||
|
mov word [last_displayed],ax
|
||||||
|
jmp block_ok
|
||||||
|
take_last_two_characters:
|
||||||
|
mov ax,[esi+ecx-2]
|
||||||
|
mov word [last_displayed],ax
|
||||||
|
block_ok:
|
||||||
|
push ecx
|
||||||
|
push [con_handle]
|
||||||
|
call [GetStdHandle]
|
||||||
|
pop ecx
|
||||||
|
push 0
|
||||||
|
push bytes_count
|
||||||
|
push ecx
|
||||||
|
push esi
|
||||||
|
push eax
|
||||||
|
call [WriteFile]
|
||||||
|
block_displayed:
|
||||||
|
ret
|
||||||
|
|
||||||
|
fatal_error:
|
||||||
|
mov [con_handle],STD_ERROR_HANDLE
|
||||||
|
mov esi,error_prefix
|
||||||
|
call display_string
|
||||||
|
pop esi
|
||||||
|
call display_string
|
||||||
|
mov esi,error_suffix
|
||||||
|
call display_string
|
||||||
|
mov al,0FFh
|
||||||
|
jmp exit_program
|
||||||
|
assembler_error:
|
||||||
|
mov [con_handle],STD_ERROR_HANDLE
|
||||||
|
call display_user_messages
|
||||||
|
push dword 0
|
||||||
|
mov ebx,[current_line]
|
||||||
|
get_error_lines:
|
||||||
|
mov eax,[ebx]
|
||||||
|
cmp byte [eax],0
|
||||||
|
je get_next_error_line
|
||||||
|
push ebx
|
||||||
|
test byte [ebx+7],80h
|
||||||
|
jz display_error_line
|
||||||
|
mov edx,ebx
|
||||||
|
find_definition_origin:
|
||||||
|
mov edx,[edx+12]
|
||||||
|
test byte [edx+7],80h
|
||||||
|
jnz find_definition_origin
|
||||||
|
push edx
|
||||||
|
get_next_error_line:
|
||||||
|
mov ebx,[ebx+8]
|
||||||
|
jmp get_error_lines
|
||||||
|
display_error_line:
|
||||||
|
mov esi,[ebx]
|
||||||
|
call display_string
|
||||||
|
mov esi,line_number_start
|
||||||
|
call display_string
|
||||||
|
mov eax,[ebx+4]
|
||||||
|
and eax,7FFFFFFFh
|
||||||
|
call display_number
|
||||||
|
mov dl,']'
|
||||||
|
call display_character
|
||||||
|
pop esi
|
||||||
|
cmp ebx,esi
|
||||||
|
je line_number_ok
|
||||||
|
mov dl,20h
|
||||||
|
call display_character
|
||||||
|
push esi
|
||||||
|
mov esi,[esi]
|
||||||
|
movzx ecx,byte [esi]
|
||||||
|
inc esi
|
||||||
|
call display_block
|
||||||
|
mov esi,line_number_start
|
||||||
|
call display_string
|
||||||
|
pop esi
|
||||||
|
mov eax,[esi+4]
|
||||||
|
and eax,7FFFFFFFh
|
||||||
|
call display_number
|
||||||
|
mov dl,']'
|
||||||
|
call display_character
|
||||||
|
line_number_ok:
|
||||||
|
mov esi,line_data_start
|
||||||
|
call display_string
|
||||||
|
mov esi,ebx
|
||||||
|
mov edx,[esi]
|
||||||
|
call open
|
||||||
|
mov al,2
|
||||||
|
xor edx,edx
|
||||||
|
call lseek
|
||||||
|
mov edx,[esi+8]
|
||||||
|
sub eax,edx
|
||||||
|
jz line_data_displayed
|
||||||
|
push eax
|
||||||
|
xor al,al
|
||||||
|
call lseek
|
||||||
|
mov ecx,[esp]
|
||||||
|
mov edx,[additional_memory]
|
||||||
|
lea eax,[edx+ecx]
|
||||||
|
cmp eax,[additional_memory_end]
|
||||||
|
ja out_of_memory
|
||||||
|
call read
|
||||||
|
call close
|
||||||
|
pop ecx
|
||||||
|
mov esi,[additional_memory]
|
||||||
|
get_line_data:
|
||||||
|
mov al,[esi]
|
||||||
|
cmp al,0Ah
|
||||||
|
je display_line_data
|
||||||
|
cmp al,0Dh
|
||||||
|
je display_line_data
|
||||||
|
cmp al,1Ah
|
||||||
|
je display_line_data
|
||||||
|
or al,al
|
||||||
|
jz display_line_data
|
||||||
|
inc esi
|
||||||
|
loop get_line_data
|
||||||
|
display_line_data:
|
||||||
|
mov ecx,esi
|
||||||
|
mov esi,[additional_memory]
|
||||||
|
sub ecx,esi
|
||||||
|
call display_block
|
||||||
|
line_data_displayed:
|
||||||
|
mov esi,cr_lf
|
||||||
|
call display_string
|
||||||
|
pop ebx
|
||||||
|
or ebx,ebx
|
||||||
|
jnz display_error_line
|
||||||
|
mov esi,error_prefix
|
||||||
|
call display_string
|
||||||
|
pop esi
|
||||||
|
call display_string
|
||||||
|
mov esi,error_suffix
|
||||||
|
call display_string
|
||||||
|
mov al,2
|
||||||
|
jmp exit_program
|
||||||
|
|
||||||
|
make_timestamp:
|
||||||
|
push buffer
|
||||||
|
call [GetSystemTime]
|
||||||
|
movzx ecx,word [buffer]
|
||||||
|
mov eax,ecx
|
||||||
|
sub eax,1970
|
||||||
|
mov ebx,365
|
||||||
|
mul ebx
|
||||||
|
mov ebp,eax
|
||||||
|
mov eax,ecx
|
||||||
|
sub eax,1969
|
||||||
|
shr eax,2
|
||||||
|
add ebp,eax
|
||||||
|
mov eax,ecx
|
||||||
|
sub eax,1901
|
||||||
|
mov ebx,100
|
||||||
|
div ebx
|
||||||
|
sub ebp,eax
|
||||||
|
mov eax,ecx
|
||||||
|
xor edx,edx
|
||||||
|
sub eax,1601
|
||||||
|
mov ebx,400
|
||||||
|
div ebx
|
||||||
|
add ebp,eax
|
||||||
|
movzx ecx,word [buffer+2]
|
||||||
|
mov eax,ecx
|
||||||
|
dec eax
|
||||||
|
mov ebx,30
|
||||||
|
mul ebx
|
||||||
|
add ebp,eax
|
||||||
|
cmp ecx,8
|
||||||
|
jbe months_correction
|
||||||
|
mov eax,ecx
|
||||||
|
sub eax,7
|
||||||
|
shr eax,1
|
||||||
|
add ebp,eax
|
||||||
|
mov ecx,8
|
||||||
|
months_correction:
|
||||||
|
mov eax,ecx
|
||||||
|
shr eax,1
|
||||||
|
add ebp,eax
|
||||||
|
cmp ecx,2
|
||||||
|
jbe day_correction_ok
|
||||||
|
sub ebp,2
|
||||||
|
movzx ecx,word [buffer]
|
||||||
|
test ecx,11b
|
||||||
|
jnz day_correction_ok
|
||||||
|
xor edx,edx
|
||||||
|
mov eax,ecx
|
||||||
|
mov ebx,100
|
||||||
|
div ebx
|
||||||
|
or edx,edx
|
||||||
|
jnz day_correction
|
||||||
|
mov eax,ecx
|
||||||
|
mov ebx,400
|
||||||
|
div ebx
|
||||||
|
or edx,edx
|
||||||
|
jnz day_correction_ok
|
||||||
|
day_correction:
|
||||||
|
inc ebp
|
||||||
|
day_correction_ok:
|
||||||
|
movzx eax,word [buffer+6]
|
||||||
|
dec eax
|
||||||
|
add eax,ebp
|
||||||
|
mov ebx,24
|
||||||
|
mul ebx
|
||||||
|
movzx ecx,word [buffer+8]
|
||||||
|
add eax,ecx
|
||||||
|
mov ebx,60
|
||||||
|
mul ebx
|
||||||
|
movzx ecx,word [buffer+10]
|
||||||
|
add eax,ecx
|
||||||
|
mov ebx,60
|
||||||
|
mul ebx
|
||||||
|
movzx ecx,word [buffer+12]
|
||||||
|
add eax,ecx
|
||||||
|
adc edx,0
|
||||||
|
ret
|
||||||
|
|
||||||
|
error_prefix db 'error: ',0
|
||||||
|
error_suffix db '.'
|
||||||
|
cr_lf db 0Dh,0Ah,0
|
||||||
|
line_number_start db ' [',0
|
||||||
|
line_data_start db ':',0Dh,0Ah,0
|
||||||
7060
samples/Assembly/X86_64.inc
Normal file
7060
samples/Assembly/X86_64.inc
Normal file
File diff suppressed because it is too large
Load Diff
46
samples/Isabelle/HelloWorld.thy
Normal file
46
samples/Isabelle/HelloWorld.thy
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
theory HelloWorld
|
||||||
|
imports Main
|
||||||
|
begin
|
||||||
|
|
||||||
|
section{*Playing around with Isabelle*}
|
||||||
|
|
||||||
|
text{* creating a lemma with the name hello_world*}
|
||||||
|
lemma hello_world: "True" by simp
|
||||||
|
|
||||||
|
(*inspecting it*)
|
||||||
|
thm hello_world
|
||||||
|
|
||||||
|
text{* defining a string constant HelloWorld *}
|
||||||
|
|
||||||
|
definition HelloWorld :: "string" where
|
||||||
|
"HelloWorld \<equiv> ''Hello World!''"
|
||||||
|
|
||||||
|
(*reversing HelloWorld twice yilds HelloWorld again*)
|
||||||
|
theorem "rev (rev HelloWorld) = HelloWorld"
|
||||||
|
by (fact List.rev_rev_ident)
|
||||||
|
|
||||||
|
text{*now we delete the already proven List.rev_rev_ident lema and show it by hand*}
|
||||||
|
declare List.rev_rev_ident[simp del]
|
||||||
|
hide_fact List.rev_rev_ident
|
||||||
|
|
||||||
|
(*It's trivial since we can just 'execute' it*)
|
||||||
|
corollary "rev (rev HelloWorld) = HelloWorld"
|
||||||
|
apply(simp add: HelloWorld_def)
|
||||||
|
done
|
||||||
|
|
||||||
|
text{*does it hold in general?*}
|
||||||
|
theorem rev_rev_ident:"rev (rev l) = l"
|
||||||
|
proof(induction l)
|
||||||
|
case Nil thus ?case by simp
|
||||||
|
next
|
||||||
|
case (Cons l ls)
|
||||||
|
assume IH: "rev (rev ls) = ls"
|
||||||
|
have "rev (l#ls) = (rev ls) @ [l]" by simp
|
||||||
|
hence "rev (rev (l#ls)) = rev ((rev ls) @ [l])" by simp
|
||||||
|
also have "\<dots> = [l] @ rev (rev ls)" by simp
|
||||||
|
finally show "rev (rev (l#ls)) = l#ls" using IH by simp
|
||||||
|
qed
|
||||||
|
|
||||||
|
corollary "\<forall>(l::string). rev (rev l) = l" by(fastforce intro: rev_rev_ident)
|
||||||
|
|
||||||
|
end
|
||||||
21
samples/XML/sample.nuspec
Normal file
21
samples/XML/sample.nuspec
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||||
|
<metadata>
|
||||||
|
<id>Sample</id>
|
||||||
|
<title>Sample</title>
|
||||||
|
<version>0.101.0</version>
|
||||||
|
<authors>Hugh Bot</authors>
|
||||||
|
<owners>Hugh Bot</owners>
|
||||||
|
<summary>A package of nuget</summary>
|
||||||
|
<description>
|
||||||
|
It just works
|
||||||
|
</description>
|
||||||
|
<projectUrl>http://hubot.github.com</projectUrl>
|
||||||
|
<copyright/>
|
||||||
|
<licenseUrl>https://github.com/github/hubot/LICENSEmd</licenseUrl>
|
||||||
|
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||||
|
</metadata>
|
||||||
|
<files>
|
||||||
|
<file src="tools\**" target="tools"/>
|
||||||
|
</files>
|
||||||
|
</package>
|
||||||
22
samples/Xojo/App.xojo_code
Normal file
22
samples/Xojo/App.xojo_code
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#tag Class
|
||||||
|
Protected Class App
|
||||||
|
Inherits Application
|
||||||
|
#tag Constant, Name = kEditClear, Type = String, Dynamic = False, Default = \"&Delete", Scope = Public
|
||||||
|
#Tag Instance, Platform = Windows, Language = Default, Definition = \"&Delete"
|
||||||
|
#Tag Instance, Platform = Linux, Language = Default, Definition = \"&Delete"
|
||||||
|
#tag EndConstant
|
||||||
|
|
||||||
|
#tag Constant, Name = kFileQuit, Type = String, Dynamic = False, Default = \"&Quit", Scope = Public
|
||||||
|
#Tag Instance, Platform = Windows, Language = Default, Definition = \"E&xit"
|
||||||
|
#tag EndConstant
|
||||||
|
|
||||||
|
#tag Constant, Name = kFileQuitShortcut, Type = String, Dynamic = False, Default = \"", Scope = Public
|
||||||
|
#Tag Instance, Platform = Mac OS, Language = Default, Definition = \"Cmd+Q"
|
||||||
|
#Tag Instance, Platform = Linux, Language = Default, Definition = \"Ctrl+Q"
|
||||||
|
#tag EndConstant
|
||||||
|
|
||||||
|
|
||||||
|
#tag ViewBehavior
|
||||||
|
#tag EndViewBehavior
|
||||||
|
End Class
|
||||||
|
#tag EndClass
|
||||||
23
samples/Xojo/BillingReport.xojo_report
Normal file
23
samples/Xojo/BillingReport.xojo_report
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
#tag Report
|
||||||
|
Begin Report BillingReport
|
||||||
|
Compatibility = ""
|
||||||
|
Units = 0
|
||||||
|
Width = 8.5
|
||||||
|
Begin PageHeader
|
||||||
|
Type = 1
|
||||||
|
Height = 1.0
|
||||||
|
End
|
||||||
|
Begin Body
|
||||||
|
Type = 3
|
||||||
|
Height = 2.0
|
||||||
|
End
|
||||||
|
Begin PageFooter
|
||||||
|
Type = 5
|
||||||
|
Height = 1.0
|
||||||
|
End
|
||||||
|
End
|
||||||
|
#tag EndReport
|
||||||
|
|
||||||
|
#tag ReportCode
|
||||||
|
#tag EndReportCode
|
||||||
|
|
||||||
112
samples/Xojo/MainMenuBar.xojo_menu
Normal file
112
samples/Xojo/MainMenuBar.xojo_menu
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
#tag Menu
|
||||||
|
Begin Menu MainMenuBar
|
||||||
|
Begin MenuItem FileMenu
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "&File"
|
||||||
|
Index = -2147483648
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
Begin QuitMenuItem FileQuit
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "#App.kFileQuit"
|
||||||
|
Index = -2147483648
|
||||||
|
ShortcutKey = "#App.kFileQuitShortcut"
|
||||||
|
Shortcut = "#App.kFileQuitShortcut"
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
End
|
||||||
|
End
|
||||||
|
Begin MenuItem EditMenu
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "&Edit"
|
||||||
|
Index = -2147483648
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
Begin MenuItem EditUndo
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "&Undo"
|
||||||
|
Index = -2147483648
|
||||||
|
ShortcutKey = "Z"
|
||||||
|
Shortcut = "Cmd+Z"
|
||||||
|
MenuModifier = True
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
End
|
||||||
|
Begin MenuItem EditSeparator1
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "-"
|
||||||
|
Index = -2147483648
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
End
|
||||||
|
Begin MenuItem EditCut
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "Cu&t"
|
||||||
|
Index = -2147483648
|
||||||
|
ShortcutKey = "X"
|
||||||
|
Shortcut = "Cmd+X"
|
||||||
|
MenuModifier = True
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
End
|
||||||
|
Begin MenuItem EditCopy
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "&Copy"
|
||||||
|
Index = -2147483648
|
||||||
|
ShortcutKey = "C"
|
||||||
|
Shortcut = "Cmd+C"
|
||||||
|
MenuModifier = True
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
End
|
||||||
|
Begin MenuItem EditPaste
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "&Paste"
|
||||||
|
Index = -2147483648
|
||||||
|
ShortcutKey = "V"
|
||||||
|
Shortcut = "Cmd+V"
|
||||||
|
MenuModifier = True
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
End
|
||||||
|
Begin MenuItem EditClear
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "#App.kEditClear"
|
||||||
|
Index = -2147483648
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
End
|
||||||
|
Begin MenuItem EditSeparator2
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "-"
|
||||||
|
Index = -2147483648
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
End
|
||||||
|
Begin MenuItem EditSelectAll
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "Select &All"
|
||||||
|
Index = -2147483648
|
||||||
|
ShortcutKey = "A"
|
||||||
|
Shortcut = "Cmd+A"
|
||||||
|
MenuModifier = True
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
End
|
||||||
|
Begin MenuItem UntitledSeparator
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "-"
|
||||||
|
Index = -2147483648
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
End
|
||||||
|
Begin AppleMenuItem AboutItem
|
||||||
|
SpecialMenu = 0
|
||||||
|
Text = "About This App..."
|
||||||
|
Index = -2147483648
|
||||||
|
AutoEnable = True
|
||||||
|
Visible = True
|
||||||
|
End
|
||||||
|
End
|
||||||
|
End
|
||||||
|
#tag EndMenu
|
||||||
14
samples/Xojo/MyToolbar.xojo_toolbar
Normal file
14
samples/Xojo/MyToolbar.xojo_toolbar
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#tag Toolbar
|
||||||
|
Begin Toolbar MyToolbar
|
||||||
|
Begin ToolButton FirstItem
|
||||||
|
Caption = "First Item"
|
||||||
|
HelpTag = ""
|
||||||
|
Style = 0
|
||||||
|
End
|
||||||
|
Begin ToolButton SecondItem
|
||||||
|
Caption = "Second Item"
|
||||||
|
HelpTag = ""
|
||||||
|
Style = 0
|
||||||
|
End
|
||||||
|
End
|
||||||
|
#tag EndToolbar
|
||||||
304
samples/Xojo/Window1.xojo_window
Normal file
304
samples/Xojo/Window1.xojo_window
Normal file
@@ -0,0 +1,304 @@
|
|||||||
|
#tag Window
|
||||||
|
Begin Window Window1
|
||||||
|
BackColor = &cFFFFFF00
|
||||||
|
Backdrop = 0
|
||||||
|
CloseButton = True
|
||||||
|
Compatibility = ""
|
||||||
|
Composite = False
|
||||||
|
Frame = 0
|
||||||
|
FullScreen = False
|
||||||
|
FullScreenButton= False
|
||||||
|
HasBackColor = False
|
||||||
|
Height = 400
|
||||||
|
ImplicitInstance= True
|
||||||
|
LiveResize = True
|
||||||
|
MacProcID = 0
|
||||||
|
MaxHeight = 32000
|
||||||
|
MaximizeButton = True
|
||||||
|
MaxWidth = 32000
|
||||||
|
MenuBar = 1153981589
|
||||||
|
MenuBarVisible = True
|
||||||
|
MinHeight = 64
|
||||||
|
MinimizeButton = True
|
||||||
|
MinWidth = 64
|
||||||
|
Placement = 0
|
||||||
|
Resizeable = True
|
||||||
|
Title = "Sample App"
|
||||||
|
Visible = True
|
||||||
|
Width = 600
|
||||||
|
Begin PushButton HelloWorldButton
|
||||||
|
AutoDeactivate = True
|
||||||
|
Bold = False
|
||||||
|
ButtonStyle = "0"
|
||||||
|
Cancel = False
|
||||||
|
Caption = "Push Me"
|
||||||
|
Default = True
|
||||||
|
Enabled = True
|
||||||
|
Height = 20
|
||||||
|
HelpTag = ""
|
||||||
|
Index = -2147483648
|
||||||
|
InitialParent = ""
|
||||||
|
Italic = False
|
||||||
|
Left = 260
|
||||||
|
LockBottom = False
|
||||||
|
LockedInPosition= False
|
||||||
|
LockLeft = True
|
||||||
|
LockRight = False
|
||||||
|
LockTop = True
|
||||||
|
Scope = 0
|
||||||
|
TabIndex = 0
|
||||||
|
TabPanelIndex = 0
|
||||||
|
TabStop = True
|
||||||
|
TextFont = "System"
|
||||||
|
TextSize = 0.0
|
||||||
|
TextUnit = 0
|
||||||
|
Top = 32
|
||||||
|
Underline = False
|
||||||
|
Visible = True
|
||||||
|
Width = 80
|
||||||
|
End
|
||||||
|
End
|
||||||
|
#tag EndWindow
|
||||||
|
|
||||||
|
#tag WindowCode
|
||||||
|
#tag EndWindowCode
|
||||||
|
|
||||||
|
#tag Events HelloWorldButton
|
||||||
|
#tag Event
|
||||||
|
Sub Action()
|
||||||
|
Dim total As Integer
|
||||||
|
|
||||||
|
For i As Integer = 0 To 10
|
||||||
|
total = total + i
|
||||||
|
Next
|
||||||
|
|
||||||
|
MsgBox "Hello World! " + Str(total)
|
||||||
|
End Sub
|
||||||
|
#tag EndEvent
|
||||||
|
#tag EndEvents
|
||||||
|
#tag ViewBehavior
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="BackColor"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="&hFFFFFF"
|
||||||
|
Type="Color"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="Backdrop"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
Type="Picture"
|
||||||
|
EditorType="Picture"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="CloseButton"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="True"
|
||||||
|
Type="Boolean"
|
||||||
|
EditorType="Boolean"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="Composite"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="False"
|
||||||
|
Type="Boolean"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="Frame"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="0"
|
||||||
|
Type="Integer"
|
||||||
|
EditorType="Enum"
|
||||||
|
#tag EnumValues
|
||||||
|
"0 - Document"
|
||||||
|
"1 - Movable Modal"
|
||||||
|
"2 - Modal Dialog"
|
||||||
|
"3 - Floating Window"
|
||||||
|
"4 - Plain Box"
|
||||||
|
"5 - Shadowed Box"
|
||||||
|
"6 - Rounded Window"
|
||||||
|
"7 - Global Floating Window"
|
||||||
|
"8 - Sheet Window"
|
||||||
|
"9 - Metal Window"
|
||||||
|
"10 - Drawer Window"
|
||||||
|
"11 - Modeless Dialog"
|
||||||
|
#tag EndEnumValues
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="FullScreen"
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="False"
|
||||||
|
Type="Boolean"
|
||||||
|
EditorType="Boolean"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="FullScreenButton"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="False"
|
||||||
|
Type="Boolean"
|
||||||
|
EditorType="Boolean"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="HasBackColor"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="False"
|
||||||
|
Type="Boolean"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="Height"
|
||||||
|
Visible=true
|
||||||
|
Group="Position"
|
||||||
|
InitialValue="400"
|
||||||
|
Type="Integer"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="ImplicitInstance"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="True"
|
||||||
|
Type="Boolean"
|
||||||
|
EditorType="Boolean"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="Interfaces"
|
||||||
|
Visible=true
|
||||||
|
Group="ID"
|
||||||
|
Type="String"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="LiveResize"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="True"
|
||||||
|
Type="Boolean"
|
||||||
|
EditorType="Boolean"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="MacProcID"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="0"
|
||||||
|
Type="Integer"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="MaxHeight"
|
||||||
|
Visible=true
|
||||||
|
Group="Position"
|
||||||
|
InitialValue="32000"
|
||||||
|
Type="Integer"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="MaximizeButton"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="True"
|
||||||
|
Type="Boolean"
|
||||||
|
EditorType="Boolean"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="MaxWidth"
|
||||||
|
Visible=true
|
||||||
|
Group="Position"
|
||||||
|
InitialValue="32000"
|
||||||
|
Type="Integer"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="MenuBar"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
Type="MenuBar"
|
||||||
|
EditorType="MenuBar"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="MenuBarVisible"
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="True"
|
||||||
|
Type="Boolean"
|
||||||
|
EditorType="Boolean"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="MinHeight"
|
||||||
|
Visible=true
|
||||||
|
Group="Position"
|
||||||
|
InitialValue="64"
|
||||||
|
Type="Integer"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="MinimizeButton"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="True"
|
||||||
|
Type="Boolean"
|
||||||
|
EditorType="Boolean"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="MinWidth"
|
||||||
|
Visible=true
|
||||||
|
Group="Position"
|
||||||
|
InitialValue="64"
|
||||||
|
Type="Integer"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="Name"
|
||||||
|
Visible=true
|
||||||
|
Group="ID"
|
||||||
|
Type="String"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="Placement"
|
||||||
|
Visible=true
|
||||||
|
Group="Position"
|
||||||
|
InitialValue="0"
|
||||||
|
Type="Integer"
|
||||||
|
EditorType="Enum"
|
||||||
|
#tag EnumValues
|
||||||
|
"0 - Default"
|
||||||
|
"1 - Parent Window"
|
||||||
|
"2 - Main Screen"
|
||||||
|
"3 - Parent Window Screen"
|
||||||
|
"4 - Stagger"
|
||||||
|
#tag EndEnumValues
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="Resizeable"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="True"
|
||||||
|
Type="Boolean"
|
||||||
|
EditorType="Boolean"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="Super"
|
||||||
|
Visible=true
|
||||||
|
Group="ID"
|
||||||
|
Type="String"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="Title"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="Untitled"
|
||||||
|
Type="String"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="Visible"
|
||||||
|
Visible=true
|
||||||
|
Group="Appearance"
|
||||||
|
InitialValue="True"
|
||||||
|
Type="Boolean"
|
||||||
|
EditorType="Boolean"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag ViewProperty
|
||||||
|
Name="Width"
|
||||||
|
Visible=true
|
||||||
|
Group="Position"
|
||||||
|
InitialValue="600"
|
||||||
|
Type="Integer"
|
||||||
|
#tag EndViewProperty
|
||||||
|
#tag EndViewBehavior
|
||||||
17
samples/Xojo/database.xojo_script
Normal file
17
samples/Xojo/database.xojo_script
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
Dim dbFile As FolderItem
|
||||||
|
Dim db As New SQLiteDatabase
|
||||||
|
dbFile = GetFolderItem("Employees.sqlite")
|
||||||
|
db.DatabaseFile = dbFile
|
||||||
|
If db.Connect Then
|
||||||
|
db.SQLExecute("BEGIN TRANSACTION")
|
||||||
|
db.SQLExecute ("INSERT INTO Employees (Name,Job,YearJoined) VALUES "_
|
||||||
|
+"('Dr.Strangelove','Advisor',1962)")
|
||||||
|
If db.Error then
|
||||||
|
MsgBox("Error: " + db.ErrorMessage)
|
||||||
|
db.Rollback
|
||||||
|
Else
|
||||||
|
db.Commit
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
MsgBox("The database couldn't be opened. Error: " + db.ErrorMessage)
|
||||||
|
End If
|
||||||
@@ -381,7 +381,7 @@ class TestBlob < Test::Unit::TestCase
|
|||||||
|
|
||||||
# NuGet Packages
|
# NuGet Packages
|
||||||
assert blob("packages/Modernizr.2.0.6/Content/Scripts/modernizr-2.0.6-development-only.js").vendored?
|
assert blob("packages/Modernizr.2.0.6/Content/Scripts/modernizr-2.0.6-development-only.js").vendored?
|
||||||
|
|
||||||
# Html5shiv
|
# Html5shiv
|
||||||
assert blob("Scripts/html5shiv.js").vendored?
|
assert blob("Scripts/html5shiv.js").vendored?
|
||||||
assert blob("Scripts/html5shiv.min.js").vendored?
|
assert blob("Scripts/html5shiv.min.js").vendored?
|
||||||
@@ -406,6 +406,11 @@ class TestBlob < Test::Unit::TestCase
|
|||||||
assert blob("subproject/gradlew").vendored?
|
assert blob("subproject/gradlew").vendored?
|
||||||
assert blob("subproject/gradlew.bat").vendored?
|
assert blob("subproject/gradlew.bat").vendored?
|
||||||
assert blob("subproject/gradle/wrapper/gradle-wrapper.properties").vendored?
|
assert blob("subproject/gradle/wrapper/gradle-wrapper.properties").vendored?
|
||||||
|
|
||||||
|
# Octicons
|
||||||
|
assert blob("octicons.css").vendored?
|
||||||
|
assert blob("public/octicons.min.css").vendored?
|
||||||
|
assert blob("public/octicons/sprockets-octicons.scss").vendored?
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_language
|
def test_language
|
||||||
|
|||||||
Reference in New Issue
Block a user