SPDX is an international standard for documenting software license
requirements. Remove the existing headers and replace with a brief
SPDX preamble.
See: https://spdx.dev/use/specifications/
The script used to convert the files is added to "tools", and the
file header templates in headers/ are updated.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
The parser state does not just necessarily include the position of the
buffer, but make it possible to maintain additional state.
Furthermore, add an explicit ability to push back a token.
All of this might make it easier at some point in the future to keep
track of horizontal position, although that will require lots of
changes to the preprocessor.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Make the source code easier to understand and keep track of by
organizing it into subdirectories depending on the function.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>