public static keyword make_keyword( byte[] name ) { lock( table ) { int hash_number = foreign.get_hash_power_number( name, 12 ); keybucket _keybucket = table[hash_number]; if (_keybucket == null) { keyword symbol = new keyword( nil._nil, name ); table[hash_number] = new keybucket( symbol, null ); return symbol; } for (keybucket run = _keybucket ; (run != null) ; run = run.next) if (foreign.bigloo_strcmp( run.symb.pname, name )) return run.symb; keyword result = new keyword( nil._nil, name ); table[hash_number] = new keybucket( result, _keybucket ); return result; } }
public keybucket( keyword symb, keybucket next ) { this.symb = symb; this.next = next; }