dbo:abstract |
Lemon is a parser generator, maintained as part of the SQLite project, that generates a look-ahead LR parser (LALR parser) in the programming language C from an input context-free grammar. The generator is quite simple, implemented in one C source file with another file used as a template for output. Lexical analysis is performed externally. Lemon is similar to the programs Bison and Yacc, but is incompatible with both. The grammar input format is different, to help prevent common coding errors. Other distinctive features include a reentrant, thread-safe output parser, and the concept of non-terminal destructors that try to make it easier to avoid memory leaks. SQLite uses Lemon with a hand-coded tokenizer to parse SQL strings. Lemon, together with re2c and a re2c wrapper named Perplex, are used in BRL-CAD as platform-agnostic and easily compilable alternatives to Flex and Bison. This combination is also used with STEPcode. OpenFOAM expression evaluation uses a combination of ragel and a version of lemon that has been minimally modified to ease C++ integration without affecting C integration. The parser grammars are augmented with m4 macros. (en) |
dbo:developer |
dbr:D._Richard_Hipp |
dbo:genre |
dbr:Parser_generator |
dbo:license |
dbr:Public_domain |
dbo:operatingSystem |
dbr:Cross-platform |
dbo:programmingLanguage |
dbr:C_(programming_language) |
dbo:wikiPageExternalLink |
http://souptonuts.sourceforge.net/readme_lemon_tutorial.html https://www.gnudeveloper.com/groups/lemon-parser/understanding-lemon-generated-parser.html https://www.hwaci.com/sw/lemon/ https://github.com/stepcode/baffledCitrus https://github.com/tajmone/lemon-grove https://www.sqlite.org/arch.html |
dbo:wikiPageID |
4401978 (xsd:integer) |
dbo:wikiPageLength |
4192 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID |
958026308 (xsd:integer) |
dbo:wikiPageWikiLink |
dbr:Memory_leak dbr:LALR_parser dbr:Lexical_analysis dbr:Thread_safety dbr:Context-free_grammar dbr:Cross-platform dbr:SQL dbr:SQLite dbr:GNU_Bison dbr:M4_(computer_language) dbr:Public_domain dbr:BRL-CAD dbc:Public-domain_software_with_source_code dbr:C_(programming_language) dbr:Yacc dbr:D._Richard_Hipp dbc:Parser_generators dbr:Ragel dbr:Re2c dbr:Reentrancy_(computing) dbr:Parser dbr:Parser_generator |
dbp:developer |
dbr:D._Richard_Hipp |
dbp:genre |
dbr:Parser_generator |
dbp:license |
dbr:Public_domain |
dbp:name |
Lemon (en) |
dbp:operatingSystem |
dbr:Cross-platform |
dbp:programmingLanguage |
dbr:C_(programming_language) |
dbp:wikiPageUsesTemplate |
dbt:Cite_web dbt:Infobox_software dbt:Official_URL dbt:Official_website dbt:Refimprove dbt:Reflist |
dct:subject |
dbc:Public-domain_software_with_source_code dbc:Parser_generators |
rdf:type |
owl:Thing dbo:Software schema:CreativeWork dbo:Work wikidata:Q386724 wikidata:Q7397 |
rdfs:comment |
Lemon is a parser generator, maintained as part of the SQLite project, that generates a look-ahead LR parser (LALR parser) in the programming language C from an input context-free grammar. The generator is quite simple, implemented in one C source file with another file used as a template for output. Lexical analysis is performed externally. SQLite uses Lemon with a hand-coded tokenizer to parse SQL strings. (en) |
rdfs:label |
Lemon (parser generator) (en) |
owl:sameAs |
wikidata:Lemon (parser generator) dbpedia-fa:Lemon (parser generator) https://global.dbpedia.org/id/4pwwP |
prov:wasDerivedFrom |
wikipedia-en:Lemon_(parser_generator)?oldid=958026308&ns=0 |
foaf:isPrimaryTopicOf |
wikipedia-en:Lemon_(parser_generator) |
foaf:name |
Lemon (en) |
is dbo:knownFor of |
dbr:D._Richard_Hipp |
is dbo:wikiPageRedirects of |
dbr:Lemon_Parser_Generator dbr:Lemon_Parser |
is dbo:wikiPageWikiLink of |
dbr:Parsing dbr:Comparison_of_parser_generators dbr:Compiler-compiler dbr:D._Richard_Hipp dbr:Re2c dbr:Lemon_Parser_Generator dbr:Lemon_Parser |
is dbp:knownFor of |
dbr:D._Richard_Hipp |
is foaf:primaryTopic of |
wikipedia-en:Lemon_(parser_generator) |