Find Jobs
Hire Freelancers

C - v.simple Hash Table functions - init(), lookup(), and insert() ONLY...easy stuff.

$30-5000 USD

Terminado
Publicado hace más de 20 años

$30-5000 USD

Pagado a la entrega
I need 3 very basic hash table functions - written in C and compiled using gcc: [login to view URL]() - to create a hash table [login to view URL]() - lookup item in the table and return a pointer to it if it's there, or a flag representing it's absence [login to view URL]() - insert item into table This is to be part of a lexical analysis program - the hash table holding the symbol table. i.e. when I have an identifier in the program I am analysing it will search the hash table for it's presence and insert it if absent. I don't need move, delete... functions, as identifiers only require one entry in a symbol table. The symbol table is for a subset of C so the identifiers are between 1 and 9 characters (inclusive, i.e. they can be 1 character, or up to 9), and can only include alphanumeric characters. Apart from that the hash table does not have to hold anything else - just the identifier itself. EXACT SPECS: =========== st_initialise() -> constructs and initialises the hash table (symbol table) accessed by a global variable. Initially contains an entry for every keyword in the language subset (eg. "while", WHILE) as a pair. Only include the while example - I'll add the others myself. token_t st_lookup(char *textname) -> looks up character string textname in symbol table & inserts it if not there. Returns associated token type (eg. WHILE if the lookup type is keyword, or IDENTIFIER if the lookup type is not a keyword like "while", but instead an identifier like "fred"). It then places a pointer to the symbol table entry in a global variable (this is finally going to be tokenvalue.p, but you can do it however you want - I'll change it later). st_entry *st_insert_string(char *textname, token_t tokentype) -> inserts a pair (textname, tokentype) into the hash table, and returns pointer to this entry. Any questions please let me know. This should be very straightforward and quick for you to do. A fast turn around time would be fantastic (eg. by tomorrow if possible). Please let me know how long this should take you when you bid. Thanks for reading. Cheers. ## Deliverables 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement). ## Platform C language - to be compiled using gcc.
ID del proyecto: 3100958

Información sobre el proyecto

10 propuestas
Proyecto remoto
Activo hace 20 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
Adjudicado a:
Avatar del usuario
See private message.
$2 USD en 3 días
4,5 (10 comentarios)
4,1
4,1
10 freelancers están ofertando un promedio de $14 USD por este trabajo
Avatar del usuario
See private message.
$24,57 USD en 3 días
5,0 (160 comentarios)
6,0
6,0
Avatar del usuario
See private message.
$25,50 USD en 3 días
4,9 (62 comentarios)
5,4
5,4
Avatar del usuario
See private message.
$20,40 USD en 3 días
5,0 (52 comentarios)
4,9
4,9
Avatar del usuario
See private message.
$8,50 USD en 3 días
4,8 (21 comentarios)
4,3
4,3
Avatar del usuario
See private message.
$8,50 USD en 3 días
4,8 (32 comentarios)
3,7
3,7
Avatar del usuario
See private message.
$17 USD en 3 días
4,6 (46 comentarios)
3,7
3,7
Avatar del usuario
See private message.
$6,80 USD en 3 días
5,0 (3 comentarios)
1,3
1,3
Avatar del usuario
See private message.
$17 USD en 3 días
1,7 (3 comentarios)
1,8
1,8
Avatar del usuario
See private message.
$12,75 USD en 3 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de UNITED KINGDOM
United Kingdom
5,0
21
Miembro desde dic 11, 2002

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.