Skip to content

sspry/libsmallr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

To compile, run `make`.

Also, note that this is not a library as of yet. Mostly testing and development.
I haven't bothered to create a 'testing' directory or anything, as really,
nothing is even done yet. Testing only works on x64, as of now, due to me only
having an x64 computer. I will probably add x86 compatibility soon, all that
needs to be changed is that the arguments need to be moved from the stack and
into %edi, %esi, and %edx.

CALLING:

    The executable code should be cast to a pointer of type
    int(char *), which will return either 0 or 1. The only
    argument passed as of yet is the string to apply the regular
    expression to.

REGISTERS:
    %eax |
    %ebx |
    %ecx |
    %edx |
    %esi |
    %edi | string position pointer

VARIABLES:

    -4  |

PROLOGUE:

    pusha
    enter #

EPILOGUE:

    popa
    leave
    ret

CHECK IF CHARACTER MATCHES:

    cmp (%rdi), $c
    je $1;
    ret
    inc %rdi;

CHECK IF CHARACTER MATCHES DOT:

    If accepting line feeds, ignore first section. Otherwise
    include it.

    cmp (%rdi), $0xA
    jne $1;
    ret;

    cmp (%rdi), $0x00
    jne $1;
    ret;
    inc %rdi;

CHECK IF A STRING MATCHES (predefined num. of chars):
CHECK IF IN CLASS:
BRANCH:

About

Regex library with the intention of being small and fast.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages