./devel/lemon, Simple LALR(1) parser generator

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.0.3.30.1, Package name: lemon-1.0.3.30.1, Maintainer: airhead

The Lemon program is an LALR(1) parser generator. It takes a context
free grammar and converts it into a subroutine that will parse a file
using that grammar.

Lemon is similar to the much more famous programs "YACC" and "BISON".
But lemon is not compatible with either yacc or bison.

There are several important differences:
* Lemon using a different grammar syntax which is less prone to programming
errors.
* The parser generated by Lemon is both re-entrant and thread-safe.
* Lemon includes the concept of a non-terminal destructor, which makes it
much easier to write a parser that does not leak memory.


Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 3dec734206fab0cdceb421021964ff7e3fedf3b0
RMD160: 911a567cc17df55e37c23fa91545bffb699bcf08
Filesize: 12351.721 KB

Version history: (Expand)


CVS history: (Expand)


   2019-10-11 17:37:10 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
sqlite3: updated to 3.30.1

SQLite Release 3.30.1:
Fix a bug in the query flattener that might cause a segfault for nested queries \ 
that use the new FILTER clause on aggregate functions.
Cherrypick fixes for other obscure problems found since the 3.30.0 release.
   2019-10-05 10:03:56 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
sqlite3: updated to 3.30.0

SQLite Release 3.30.0

Add support for the FILTER clause on aggregate functions.
Add support for the NULLS FIRST and NULLS LAST syntax in ORDER BY clauses.
The index_info and index_xinfo pragmas are enhanced to provide information about \ 
the on-disk representation of WITHOUT ROWID tables.
Add the sqlite3_drop_modules() interface, allowing applications to disable \ 
automatically loaded virtual tables that they do not need.
Improvements to the .recover dot-command in the CLI so that it recovers more \ 
content from corrupt database files.
Enhance the RBU extension to support indexes on expressions.
Change the schema parser so that it will error out if any of the type, name, and \ 
tbl_name columns of the sqlite_master table have been corrupted and the database \ 
connection is not in writable_schema mode.
The PRAGMA function_list, PRAGMA module_list, and PRAGMA pragma_list commands \ 
are now enabled in all builds by default. Disable them using \ 
-DSQLITE_OMIT_INTROSPECTION_PRAGMAS.
Add the SQLITE_DBCONFIG_ENABLE_VIEW option for sqlite3_db_config().
Added the TCL Interface config method in order to be able to disable \ 
SQLITE_DBCONFIG_ENABLE_VIEW as well as control other sqlite3_db_config() options \ 
from TCL.
Added the SQLITE_DIRECTONLY flag for application-defined SQL functions to \ 
prevent those functions from being used inside triggers and views.
The legacy SQLITE_ENABLE_STAT3 compile-time option is now a no-op.
   2019-07-12 12:04:27 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
sqlite3: updated to 3.29.0

SQLite Release 3.29.0:
Added the SQLITE_DBCONFIG_DQS_DML and SQLITE_DBCONFIG_DQS_DDL actions to \ 
sqlite3_db_config() for activating and deactivating the double-quoted string \ 
literal misfeature. Both default to "on" for legacy compatibility, but \ 
developers are encouraged to turn them "off", perhaps using the \ 
-DSQLITE_DQS=0 compile-time option.
-DSQLITE_DQS=0 is now a recommended compile-time option.

Improvements to the query planner:
Improved optimization of AND and OR operators when one or the other operand is a \ 
constant.
Enhancements to the LIKE optimization for cases when the left-hand side column \ 
has numeric affinity.
Added the "sqlite_dbdata" virtual table for extracting raw low-level \ 
content from an SQLite database, even a database that is corrupt.

Enhancements to the CLI:
Add the ".recover" command which tries to recover as much content as \ 
possible from a corrupt database file.
Add the ".filectrl" command useful for testing.
Add the long-standing ".testctrl" command to the ".help" menu.
Added the ".dbconfig" command
   2019-04-18 12:10:03 by Adam Ciarcinski | Files touched by this commit (8) | Package updated
Log message:
sqlite3: updated to 3.28.0

SQLite Release 3.28.0:

Enhanced window functions:
Add support the EXCLUDE clause.
Add support for window chaining.
Add support for GROUPS frames.
Add support for "<expr> PRECEDING" and "<expr> \ 
FOLLOWING" boundaries in RANGE frames.
Added the new sqlite3_stmt_isexplain(S) interface for determining whether or not \ 
a prepared statement is an EXPLAIN.
Enhanced VACUUM INTO so that it works for read-only databases.
New query optimizations:
Enable the LIKE optimization for cases when the ESCAPE keyword is present and \ 
PRAGMA case_sensitive_like is on.
In queries that are driven by a partial index, avoid unnecessary tests of the \ 
constraint named in the WHERE clause of the partial index, since we know that \ 
constraint must always be true.
Enhancements to the TCL Interface:
Added the -returntype option to the function method.
Added the new bind_fallback method.
Enhancements to the CLI:
Added support for bound parameters and the .parameter command.
Fix the readfile() function so that it returns an empty BLOB rather than \ 
throwing an out-of-memory error when reading an empty file.
Fix the writefile() function so that when it creates new directories along the \ 
path of a new file, it gives them umask permissions rather than the same \ 
permissions as the file.
Change --update option in the .archive command so that it skips files that are \ 
already in the archive and are unchanged. Add the new --insert option that works \ 
like --update used to work.
Added the fossildelta.c extension that can create, apply, and deconstruct the \ 
Fossil DVCS file delta format that is used by the RBU extension.
Added the SQLITE_DBCONFIG_WRITABLE_SCHEMA verb for the sqlite3_db_config() \ 
interface, that does the same work as PRAGMA writable_schema without using the \ 
SQL parser.
Added the sqlite3_value_frombind() API for determining if the argument to an SQL \ 
function is from a bound parameter.
Security and compatibilities enhancements to fts3_tokenizer():
The fts3_tokenizer() function always returns NULL unless either the legacy \ 
application-defined FTS3 tokenizers interface are enabled using the \ 
sqlite3_db_config(SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER) setting, or unless the \ 
first argument to fts3_tokenizer() is a bound parameter.
The two-argument version of fts3_tokenizer() accepts a pointer to the tokenizer \ 
method object even without the \ 
sqlite3_db_config(SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER) setting if the second \ 
argument is a bound parameter
Improved robustness against corrupt database files.
Miscellaneous performance enhancements
   2019-02-25 19:04:30 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
sqlite3: updated to 3.27.2

SQLite Release 3.27.2:
Fix a bug in the IN operator that was introduced by an attempted optimization in \ 
version 3.27.0.
Fix a bug causing a crash when a window function is misused.
Fix various documentation typos
   2019-02-11 11:45:21 by Adam Ciarcinski | Files touched by this commit (8) | Package updated
Log message:
sqlite3: updated to 3.27.1

SQLite Release 3.27.1:
Fix a bug in the query optimizer: an adverse interaction between the OR \ 
optimization and the optimization that tries to use values read directly from an \ 
expression index instead of recomputing the expression.
Hashes:

Changes carried forward from version 3.27.0:
Added the VACUUM INTO command
Issue an SQLITE_WARNING message on the error log if a double-quoted string \ 
literal is used.
The sqlite3_normalized_sql() interface works on any prepared statement created \ 
using sqlite3_prepare_v2() or sqlite3_prepare_v3(). It is no longer necessary to \ 
use sqlite3_prepare_v3() with SQLITE_PREPARE_NORMALIZE in order to use \ 
sqlite3_normalized_sql().
Added the remove_diacritics=2 option to FTS3 and FTS5.
Added the SQLITE_PREPARE_NO_VTAB option to sqlite3_prepare_v3(). Use that option \ 
to prevent circular references to shadow tables from causing resource leaks.
Enhancements to the sqlite3_deserialize() interface:
Add the SQLITE_FCNTL_SIZE_LIMIT file-control for setting an upper bound on the \ 
size of the in-memory database created by sqlite3_deserialize. The default upper \ 
bound is 1GiB, or whatever alternative value is specified by \ 
sqlite3_config(SQLITE_CONFIG_MEMDB_MAXSIZE) and/or SQLITE_MEMDB_DEFAULT_MAXSIZE.
Honor the SQLITE_DESERIALIZE_READONLY flag, which was previously described in \ 
the documentation, but was previously a no-op.
Enhance the "deserialize" command of the TCL Interface to give it new \ 
"--maxsize N" and "--readonly BOOLEAN" options.
Enhancements to the CLI, mostly to support testing and debugging of the SQLite \ 
library itself:
Add support for ".open --hexdb". The "dbtotxt" utility \ 
program used to generate the text for the "hexdb" is added to the \ 
source tree.
Add support for the "--maxsize N" option on ".open \ 
--deserialize".
Add the "--memtrace" command-line option, to show all memory \ 
allocations and deallocations.
Add the ".eqp trace" option on builds with SQLITE_DEBUG, to enable \ 
bytecode program listing with indentation and PRAGMA vdbe_trace all in one step.
Add the ".progress" command for accessing the \ 
sqlite3_progress_handler() interface.
Add the "--async" option to the ".backup" command.
Add options "--expanded", "--normalized", \ 
"--plain", "--profile", "--row", \ 
"--stmt", and "--close" to the ".trace" command.
Increased robustness against malicious SQL that is run against a maliciously \ 
corrupted database.

Bug fixes:
Do not use a partial index to do a table scan on an IN operator.
Fix the query flattener so that it works on queries that contain subqueries that \ 
use window functions.
Ensure that ALTER TABLE modifies table and column names embedded in WITH clauses \ 
that are part of views and triggers.
Fix a parser bug that prevented the use of parentheses around table-valued functions.
Fix a problem with the OR optimization on indexes on expressions.
Fix a problem with the LEFT JOIN strength reduction optimization in which the \ 
optimization was being applied inappropriately due to an IS NOT NULL operator.
Fix the REPLACE command so that it is no longer able to sneak a NULL value into \ 
a NOT NULL column even if the NOT NULL column has a default value of NULL.
Fix a problem with the use of window functions used within correlated subqueries.
Fix the ALTER TABLE RENAME COLUMN command so that it works for tables that have \ 
redundant UNIQUE constraints.
Fix a bug that caused zeroblob values to be truncated when inserted into a table \ 
that uses an expression index.
   2018-12-04 13:03:53 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
sqlite3: updated to 3.26.0

SQLite Release 3.26.0:

Optimization: When doing an UPDATE on a table with indexes on expressions, do \ 
not update the expression indexes if they do not refer to any of the columns of \ 
the table being updated.
Allow the xBestIndex() method of virtual table implementations to return \ 
SQLITE_CONSTRAINT to indicate that the proposed query plan is unusable and \ 
should not be given further consideration.
Added the SQLITE_DBCONFIG_DEFENSIVE option which disables the ability to create \ 
corrupt database files using ordinary SQL.
Added support for read-only shadow tables when the SQLITE_DBCONFIG_DEFENSIVE \ 
option is enabled.
Added the PRAGMA legacy_alter_table command, which if enabled causes the ALTER \ 
TABLE command to behave like older version of SQLite (prior to version 3.25.0) \ 
for compatibility.
Added PRAGMA table_xinfo that works just like PRAGMA table_info except that it \ 
also shows hidden columns in virtual tables.
Added the explain virtual table as a run-time loadable extension.
Add a limit counter to the query planner to prevent excessive sqlite3_prepare() \ 
times for certain pathological SQL inputs.
Added support for the sqlite3_normalized_sql() interface, when compiling with \ 
SQLITE_ENABLE_NORMALIZE.
Enhanced triggers so that they can use table-valued functions that exist in \ 
schemas other than the schema where the trigger is defined.
Enhancements to the CLI:
- Improvements to the ".help" command.
- The SQLITE_HISTORY environment variable, if it exists, specifies the name of \ 
the command-line editing history file
- The --deserialize option associated with opening a new database cause the \ 
database file to be read into memory and accessed using the \ 
sqlite3_deserialize() API. This simplifies running tests on a database without \ 
modifying the file on disk.
Enhancements to the geopoly extension:
- Aways stores polygons using the binary format, which is faster and uses less space.
- Added the geopoly_regular() function.
- Added the geopoly_ccw() function.
Enhancements to the session extension:
- Added the SQLITE_CHANGESETAPPLY_INVERT flag
- Added the sqlite3changeset_start_v2() interface and the \ 
SQLITE_CHANGESETSTART_INVERT flag.
- Added the changesetfuzz.c test-case generator utility.
   2018-11-07 12:51:25 by Adam Ciarcinski | Files touched by this commit (5) | Package updated
Log message:
sqlite3: updated to 3.25.3

SQLite Release 3.25.3:
Disallow the use of window functions in the recursive part of a CTE.
Fix the behavior of typeof() and length() on virtual tables.
Strengthen defenses against deliberately corrupted database files.
Fix a problem in the query planner that results when a row-value expression is \ 
used with a PRIMARY KEY with redundant columns.
Fix the query planner so that it works correctly for IS NOT NULL operators in \ 
the ON clause of a LEFT JOIN with the SQLITE_ENABLE_STAT4 compile-time option.