summaryrefslogtreecommitdiff
path: root/test/ragel.d/genrep3.rl
diff options
context:
space:
mode:
Diffstat (limited to 'test/ragel.d/genrep3.rl')
-rw-r--r--test/ragel.d/genrep3.rl623
1 files changed, 0 insertions, 623 deletions
diff --git a/test/ragel.d/genrep3.rl b/test/ragel.d/genrep3.rl
deleted file mode 100644
index c3940e1e..00000000
--- a/test/ragel.d/genrep3.rl
+++ /dev/null
@@ -1,623 +0,0 @@
-#
-# @LANG: asm
-#
-
-%%{
-
- machine gen_rep;
-
- action eol {
- # p+1 == eof
-
- # Not the most efficient
- movq $0, %rax
- movq %r12, %rcx
- addq $1, %rcx
- movq -8(%rbp), %rdx
- cmpq %rcx, %rdx
- jne 1f
- movq $1, %rax
- 1:
- }
-
- eol = '' %when eol;
-
-
- action ini {
- # ini
- movl $0, c(%rip)
- movq $1, %rax
- }
-
- action stay {
- # stay
- movq $1, %rax
- }
-
- action repeat {
- # repeat
-
- movl c(%rip), %eax
- addl $1, %eax
- movl %eax, c(%rip)
-
- cmpl $3, %eax
- setl %al
- movzbl %al, %eax
- }
-
- action exit {
- # exit
-
- movl c(%rip), %eax
- addl $1, %eax
- movl %eax, c(%rip)
-
- cmpl $2, %eax
- setge %al
- movzbl %al, %eax
- }
-
- action psh
- {
- # PUSH
- movq nfa_s@GOTPCREL(%rip), %rax
- movq -88(%rbp), %rcx
- sal $3, %rcx
- movl c(%rip), %edx
- movq %rdx, 0(%rax,%rcx,)
-
- # movl $.L_push, %edi
- # call puts
- }
-
- action pop
- {
- # POP
- movq nfa_s@GOTPCREL(%rip), %rax
- movq -88(%rbp), %rcx
- sal $3, %rcx
- movq 0(%rax,%rcx,), %rdx
- movl %edx, c(%rip)
- movq $1, %rax
-
- # movl $.L_pop, %edi
- # call puts
- }
-
- action char
- {
- # movl $.L_char, %edi
- # movq c(%rip), %rsi
- # movl $0, %eax
- # call printf
- }
-
- action marker1
- {
- movl $.L_marker, %edi
- call puts
- movl m1(%rip), %eax
- }
-
- action marker2
- {
- movl m2(%rip), %eax
- }
-
-
- main :=
- (
- ( ( '' %when marker1 | '' %when marker2 )
- :nfa( ( 'a' @char ) ,
- psh, pop, ini, stay, repeat, exit ): ' ' ) {2}
- eol
- )
- :>
- any
- @{
- # printf("----- MATCH\n");
- movl $.L_match, %edi
- call puts
- }
- ;
-
-}%%
- .file "tmp.c"
- .comm neg,4,4
- .comm val,8,8
- .comm cs,4,4
- .comm c,4,4
- .comm m1,4,4
- .comm m2,4,4
- .section .rodata
-
-%% write data;
-
-.L_fmt_si_nl:
- .string "set top: %ld\n"
-.L_fmt_ci_nl:
- .string "check top: %ld\n"
-.L_fmt_s_nl:
- .string "restart: %d\n"
-.L_marker:
- .string " marker"
-.L_match:
- .string "----- MATCH"
-
-.L_break:
- .string "============"
-
-.L_push:
- .string "push"
-.L_pop:
- .string "pop"
-.L_char:
- .string "char %d\n"
-.L_ini:
- .string "ini"
-.L_min:
- .string "min %d\n"
-.L_max:
- .string "max"
-
- .text
- .globl init
- .type init, @function
-init:
-.LFB0:
- .cfi_startproc
- pushq %rbp
- .cfi_def_cfa_offset 16
- .cfi_offset 6, -16
- movq %rsp, %rbp
- .cfi_def_cfa_register 6
- movq $0, val(%rip)
- movl $0, neg(%rip)
-
-%% write init;
-
- movq %r11, cs(%rip)
-
- popq %rbp
- .cfi_def_cfa 7, 8
- ret
- .cfi_endproc
-.LFE0:
- .size init, .-init
- .section .rodata
-.LC0:
- .string "%i"
- .text
- .globl exec
- .type exec, @function
-exec:
-.LFB1:
- .cfi_startproc
- pushq %rbp
- .cfi_def_cfa_offset 16
- .cfi_offset 6, -16
- movq %rsp, %rbp
- .cfi_def_cfa_register 6
- subq $96, %rsp
-
- pushq %r12
- pushq %r13
-
- movq nfa_bp@GOTPCREL(%rip), %rax
- movq %rax, -80(%rbp)
- movq $0, -88(%rbp)
-
- movq cs(%rip), %r11
- movq %rdi, %r12
- movq %rsi, %r13
-
- movq %r13, -8(%rbp)
-
-%% write exec;
-
- movq %r11, cs(%rip)
-
- popq %r13
- popq %r12
-
-.LRET:
- leave
- .cfi_def_cfa 7, 8
- ret
- .cfi_endproc
-.LFE1:
- .size exec, .-exec
-
- .text
- .globl finish
- .type finish, @function
-finish:
-.LFB2:
- .cfi_startproc
- pushq %rbp
- .cfi_def_cfa_offset 16
- .cfi_offset 6, -16
- movq %rsp, %rbp
- .cfi_def_cfa_register 6
-
- popq %rbp
- .cfi_def_cfa 7, 8
- ret
- .cfi_endproc
-.LFE2:
- .size finish, .-finish
- .globl inp
-
- .section .rodata
-.LC10:
- .string "a "
-.LC11:
- .string "aa "
-.LC12:
- .string "aaa "
-.LC13:
- .string "aaaa "
-.LC14:
- .string "a a "
-.LC15:
- .string "aa aa "
-.LC16:
- .string "aaa aaa "
-.LC17:
- .string "aaaa aaaa "
-.LC18:
- .string "a a a "
-.LC19:
- .string "aa aa aa "
-.LC20:
- .string "aaa aaa aaa "
-.LC21:
- .string "aaaa aaaa aaaa "
-.LC22:
- .string "aa a "
-.LC23:
- .string "aa aaa "
-.LC24:
- .string "aa aaaa "
-.LC25:
- .string "aaa a "
-.LC26:
- .string "aaa aa "
-.LC27:
- .string "aaa aaaa "
-
- .data
- .align 32
- .type inp, @object
- .size inp, 72
-inp:
- .quad .LC10
- .quad .LC11
- .quad .LC12
- .quad .LC13
- .quad .LC14
- .quad .LC15
- .quad .LC16
- .quad .LC17
- .quad .LC18
- .quad .LC19
- .quad .LC20
- .quad .LC21
- .quad .LC22
- .quad .LC23
- .quad .LC24
- .quad .LC25
- .quad .LC26
- .quad .LC27
- .globl inplen
- .align 4
- .type inplen, @object
- .size inplen, 4
-inplen:
- .long 18
- .text
-
- .globl test_run
- .type test_run, @function
-test_run:
-.LFB3:
- .cfi_startproc
- pushq %rbp
- .cfi_def_cfa_offset 16
- .cfi_offset 6, -16
- movq %rsp, %rbp
- .cfi_def_cfa_register 6
- subq $16, %rsp
- movl $0, -4(%rbp)
-
- movl $.L_break, %edi
- call puts
-
- jmp .L39
-.L40:
- movl $0, %eax
- call init
-
- movl -4(%rbp), %eax
- cltq
- movq inp(,%rax,8), %rax
- movq %rax, %rdi
- call puts
-
- movl -4(%rbp), %eax
- cltq
- movq inp(,%rax,8), %rax
- movq %rax, %rdi
- call strlen
- movl %eax, %edx
- addl $1, %edx
- movl -4(%rbp), %eax
- cltq
- movq inp(,%rax,8), %rax
- movslq %edx, %rsi
- addq %rax, %rsi
- movq %rax, %rdi
- call exec
- movl $0, %eax
- call finish
- addl $1, -4(%rbp)
-.L39:
- movl inplen(%rip), %eax
- cmpl %eax, -4(%rbp)
- jl .L40
- movl $0, %eax
- leave
- .cfi_def_cfa 7, 8
- ret
- .cfi_endproc
-.LFE3:
- .size test_run, .-test_run
-
-
- .globl main
- .type main, @function
-main:
-.LFB4:
- .cfi_startproc
- pushq %rbp
- .cfi_def_cfa_offset 16
- .cfi_offset 6, -16
- movq %rsp, %rbp
- .cfi_def_cfa_register 6
- subq $16, %rsp
- movl $0, -4(%rbp)
-
- movl $0, m1(%rip)
- movl $0, m2(%rip)
- call test_run
-
- movl $1, m1(%rip)
- movl $0, m2(%rip)
- call test_run
-
- movl $0, m1(%rip)
- movl $1, m2(%rip)
- call test_run
-
- movl $1, m1(%rip)
- movl $1, m2(%rip)
- call test_run
-
- movl $0, %eax
- leave
- .cfi_def_cfa 7, 8
- ret
- .cfi_endproc
-.LFE4:
- .size main, .-main
-
- .bss
- .align 16
- .type nfa_len, @object
- .size nfa_len, 8
-nfa_len:
- .zero 8
- .comm nfa_bp,16384,32
- .comm nfa_s,16384,32
-
- .ident "GCC: (Ubuntu 4.8.2-19ubuntu1) 4.8.2"
- .section .note.GNU-stack,"",@progbits
-
-##### OUTPUT #####
-============
-a
- marker
-aa
- marker
-aaa
- marker
-aaaa
- marker
-a a
- marker
-aa aa
- marker
-aaa aaa
- marker
-aaaa aaaa
- marker
-a a a
- marker
-aa aa aa
- marker
-aaa aaa aaa
- marker
-aaaa aaaa aaaa
- marker
-aa a
- marker
-aa aaa
- marker
-aa aaaa
- marker
-aaa a
- marker
-aaa aa
- marker
-aaa aaaa
- marker
-============
-a
- marker
-aa
- marker
- marker
-aaa
- marker
- marker
-aaaa
- marker
-a a
- marker
-aa aa
- marker
- marker
------ MATCH
-aaa aaa
- marker
- marker
------ MATCH
-aaaa aaaa
- marker
-a a a
- marker
-aa aa aa
- marker
- marker
-aaa aaa aaa
- marker
- marker
-aaaa aaaa aaaa
- marker
-aa a
- marker
- marker
-aa aaa
- marker
- marker
------ MATCH
-aa aaaa
- marker
- marker
-aaa a
- marker
- marker
-aaa aa
- marker
- marker
------ MATCH
-aaa aaaa
- marker
- marker
-============
-a
- marker
-aa
- marker
- marker
-aaa
- marker
- marker
-aaaa
- marker
-a a
- marker
-aa aa
- marker
- marker
------ MATCH
-aaa aaa
- marker
- marker
------ MATCH
-aaaa aaaa
- marker
-a a a
- marker
-aa aa aa
- marker
- marker
-aaa aaa aaa
- marker
- marker
-aaaa aaaa aaaa
- marker
-aa a
- marker
- marker
-aa aaa
- marker
- marker
------ MATCH
-aa aaaa
- marker
- marker
-aaa a
- marker
- marker
-aaa aa
- marker
- marker
------ MATCH
-aaa aaaa
- marker
- marker
-============
-a
- marker
-aa
- marker
- marker
-aaa
- marker
- marker
-aaaa
- marker
-a a
- marker
-aa aa
- marker
- marker
------ MATCH
-aaa aaa
- marker
- marker
------ MATCH
-aaaa aaaa
- marker
-a a a
- marker
-aa aa aa
- marker
- marker
-aaa aaa aaa
- marker
- marker
-aaaa aaaa aaaa
- marker
-aa a
- marker
- marker
-aa aaa
- marker
- marker
------ MATCH
-aa aaaa
- marker
- marker
-aaa a
- marker
- marker
-aaa aa
- marker
- marker
------ MATCH
-aaa aaaa
- marker
- marker