gitgnu / gnu_gperf Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
This is GNU gperf. It is a program that generates perfect hash functions for sets of key words. A perfect hash function is: A hash function and a data structure that allows recognition of a key word in a set of words using exactly 1 probe into the data structure. The doc/gperf.html file explains how the program works, the form of the input, what options are available, and hints on choosing the best options for particular key words set. See the file NEWS for a list of major changes in the current release. See the file INSTALL for compilation and installation instructions. Output from the GPERF program is used to recognize reserved words in the GNU C, GNU C++, and GNU Pascal compilers, as well as with the GNU indent program. For general documentation on the coding and usage standards this distribution follows, see the GNU standards document https://www.gnu.org/prep/standards/standards.html, especially the sections 'Makefile Conventions', 'How Configuration Should Work', and 'Standards for Interfaces Generally'. Mail suggestions and bug reports to <[email protected]>. When reporting bugs, please include in the subject line the package name and version (output of 'gperf --version') for which you found a problem.
I've got a question regarding the style in which this software is written. On one hand it's C++, on the other hand it uses mostly C style code, and implements its own lists. Why don't you use std::list available in C++ or std:forward_list available in C++11? Similarly, why fopen, instead of fstream?
x86_64-pc-linux-gnu-g++ -march=native -mtune=native -Os -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -flto -fuse-linker-plugin -pipe -I. -I./../lib -c ./input.cc
distcc[107] ERROR: compile (null) on localhost failed
In file included from ./keyword-list.h:78,
from ./input.h:28,
from ./input.cc:22:
./keyword-list.icc: In member function 'KeywordExt_List*& KeywordExt_List::rest()':
./keyword-list.icc:50:11: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
50 | return reinterpret_cast<KeywordExt_List*>(&_cdr);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: some warnings being treated as errors
make[1]: *** [Makefile:109: input.o] Error 1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.