Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Added a syntax diagram for numeric literals, especially floating point literals. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
598ff451ef46aef8e1d612c58c5a5661 |
User & Date: | drh 2010-09-30 16:15:20.000 |
Context
2010-09-30
| ||
16:31 | Add missing image: numeric-literal.gif. (check-in: d1c65c4e95 user: drh tags: trunk) | |
16:15 | Added a syntax diagram for numeric literals, especially floating point literals. (check-in: 598ff451ef user: drh tags: trunk) | |
2010-09-29
| ||
18:22 | Fix a problem with the definition of the DEFAULT clause on lang_conflict.html. (check-in: 73b4c1e498 user: dan tags: trunk) | |
Changes
Changes to art/syntax/bubble-generator-data.tcl.
︙ | ︙ | |||
124 125 126 127 128 129 130 | } } {line COLLATE /collation-name} {line foreign-key-clause} } } signed-number { | < | < | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | } } {line COLLATE /collation-name} {line foreign-key-clause} } } signed-number { line {or nil + -} /numeric-literal } table-constraint { stack {optx CONSTRAINT /name} {or {line {or {line PRIMARY KEY} UNIQUE} ( {loop indexed-column ,} ) conflict-clause} |
︙ | ︙ | |||
264 265 266 267 268 269 270 | line RAISE ( {or IGNORE {line {or ROLLBACK ABORT FAIL} , /error-message } } ) } literal-value { or | | < > > > > > > > | 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | line RAISE ( {or IGNORE {line {or ROLLBACK ABORT FAIL} , /error-message } } ) } literal-value { or {line /numeric-literal} {line /string-literal} {line /blob-literal} {line NULL} {line CURRENT_TIME} {line CURRENT_DATE} {line CURRENT_TIMESTAMP} } numeric-literal { line {or {line {loop /digit nil} {opt /decimal-point {loop nil /digit}}} {line /decimal-point {loop /digit nil}} } {opt E {or nil + -} {loop /digit nil}} } insert-stmt { stack {line {or {line INSERT {opt OR {or ROLLBACK ABORT REPLACE FAIL IGNORE}}} REPLACE } |
︙ | ︙ |
Changes to art/syntax/literal-value.gif.
cannot compute difference between binary files
Changes to art/syntax/signed-number.gif.
cannot compute difference between binary files
Changes to art/syntax/syntax_linkage.tcl.
︙ | ︙ | |||
24 25 26 27 28 29 30 31 32 33 34 35 36 37 | set syntax_linkage(foreign-key-clause) {{} {column-constraint table-constraint}} set syntax_linkage(indexed-column) {{} {create-index-stmt table-constraint}} set syntax_linkage(insert-stmt) {{expr select-stmt} {create-trigger-stmt sql-stmt}} set syntax_linkage(join-constraint) {expr join-source} set syntax_linkage(join-op) {{} join-source} set syntax_linkage(join-source) {{join-constraint join-op single-source} {select-core single-source}} set syntax_linkage(literal-value) {{} {column-constraint expr}} set syntax_linkage(ordering-term) {expr {delete-stmt-limited select-core select-stmt update-stmt-limited}} set syntax_linkage(pragma-stmt) {pragma-value sql-stmt} set syntax_linkage(pragma-value) {signed-number pragma-stmt} set syntax_linkage(qualified-table-name) {{} {delete-stmt delete-stmt-limited update-stmt update-stmt-limited}} set syntax_linkage(raise-function) {{} expr} set syntax_linkage(reindex-stmt) {{} sql-stmt} set syntax_linkage(release-stmt) {{} sql-stmt} | > | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | set syntax_linkage(foreign-key-clause) {{} {column-constraint table-constraint}} set syntax_linkage(indexed-column) {{} {create-index-stmt table-constraint}} set syntax_linkage(insert-stmt) {{expr select-stmt} {create-trigger-stmt sql-stmt}} set syntax_linkage(join-constraint) {expr join-source} set syntax_linkage(join-op) {{} join-source} set syntax_linkage(join-source) {{join-constraint join-op single-source} {select-core single-source}} set syntax_linkage(literal-value) {{} {column-constraint expr}} set syntax_linkage(numeric-literal) {{} {}} set syntax_linkage(ordering-term) {expr {delete-stmt-limited select-core select-stmt update-stmt-limited}} set syntax_linkage(pragma-stmt) {pragma-value sql-stmt} set syntax_linkage(pragma-value) {signed-number pragma-stmt} set syntax_linkage(qualified-table-name) {{} {delete-stmt delete-stmt-limited update-stmt update-stmt-limited}} set syntax_linkage(raise-function) {{} expr} set syntax_linkage(reindex-stmt) {{} sql-stmt} set syntax_linkage(release-stmt) {{} sql-stmt} |
︙ | ︙ | |||
45 46 47 48 49 50 51 | set syntax_linkage(sql-stmt) {{alter-table-stmt analyze-stmt attach-stmt begin-stmt commit-stmt create-index-stmt create-table-stmt create-trigger-stmt create-view-stmt create-virtual-table-stmt delete-stmt delete-stmt-limited detach-stmt drop-index-stmt drop-table-stmt drop-trigger-stmt drop-view-stmt insert-stmt pragma-stmt reindex-stmt release-stmt rollback-stmt savepoint-stmt select-stmt update-stmt update-stmt-limited vacuum-stmt} sql-stmt-list} set syntax_linkage(sql-stmt-list) {sql-stmt {}} set syntax_linkage(table-constraint) {{conflict-clause expr foreign-key-clause indexed-column} create-table-stmt} set syntax_linkage(type-name) {signed-number {column-def expr}} set syntax_linkage(update-stmt) {{expr qualified-table-name} {create-trigger-stmt sql-stmt}} set syntax_linkage(update-stmt-limited) {{expr ordering-term qualified-table-name} sql-stmt} set syntax_linkage(vacuum-stmt) {{} sql-stmt} | | | 46 47 48 49 50 51 52 53 | set syntax_linkage(sql-stmt) {{alter-table-stmt analyze-stmt attach-stmt begin-stmt commit-stmt create-index-stmt create-table-stmt create-trigger-stmt create-view-stmt create-virtual-table-stmt delete-stmt delete-stmt-limited detach-stmt drop-index-stmt drop-table-stmt drop-trigger-stmt drop-view-stmt insert-stmt pragma-stmt reindex-stmt release-stmt rollback-stmt savepoint-stmt select-stmt update-stmt update-stmt-limited vacuum-stmt} sql-stmt-list} set syntax_linkage(sql-stmt-list) {sql-stmt {}} set syntax_linkage(table-constraint) {{conflict-clause expr foreign-key-clause indexed-column} create-table-stmt} set syntax_linkage(type-name) {signed-number {column-def expr}} set syntax_linkage(update-stmt) {{expr qualified-table-name} {create-trigger-stmt sql-stmt}} set syntax_linkage(update-stmt-limited) {{expr ordering-term qualified-table-name} sql-stmt} set syntax_linkage(vacuum-stmt) {{} sql-stmt} set syntax_order {sql-stmt-list sql-stmt alter-table-stmt analyze-stmt attach-stmt begin-stmt commit-stmt rollback-stmt savepoint-stmt release-stmt create-index-stmt indexed-column create-table-stmt column-def type-name column-constraint signed-number table-constraint foreign-key-clause conflict-clause create-trigger-stmt create-view-stmt create-virtual-table-stmt delete-stmt delete-stmt-limited detach-stmt drop-index-stmt drop-table-stmt drop-trigger-stmt drop-view-stmt expr raise-function literal-value numeric-literal insert-stmt pragma-stmt pragma-value reindex-stmt select-stmt select-core result-column join-source single-source join-op join-constraint ordering-term compound-operator update-stmt update-stmt-limited qualified-table-name vacuum-stmt comment-syntax} |
Changes to pages/lang.in.
︙ | ︙ | |||
1447 1448 1449 1450 1451 1452 1453 | precedence as [Operator =]." <tcl>hd_fragment litvalue {literal value}</tcl> <h3>Literal Values</h3> <p> ^A literal value is a constant of some kind. ^Literal values may be integers, floating point numbers, strings, | | | > > > > > > > > > > > > | | 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 | precedence as [Operator =]." <tcl>hd_fragment litvalue {literal value}</tcl> <h3>Literal Values</h3> <p> ^A literal value is a constant of some kind. ^Literal values may be integers, floating point numbers, strings, BLOBs, or NULLs.</p> <p>The syntax for integer and floating point literals (collectively "numeric literals") is shown by the following diagram:</p> <tcl>BubbleDiagram numeric-literal</tcl> <p> ^(If a numeric literal has a decimal point or an exponentiation clause, then it is a floating point literal. Otherwise is it is an integer literal.)^ ^The "E" character that begins the exponentiation clause of a floating point literal can be either upper or lower case. ^(The "." character is always used as the decimal point even if the locale setting specifies "," for this role - the use of "," for the decimal point would result in syntactic ambiguity.)^</p> <p> ^A string constant is formed by enclosing the string in single quotes ('). ^A single quote within the string can be encoded by putting two single quotes in a row - as in Pascal. C-style escapes using the backslash character are not supported because they are not standard SQL. ^BLOB literals are string literals containing hexadecimal data and preceded by a single "x" or "X" character. ^(For example:</p> |
︙ | ︙ |