| z, ? | toggle help (this) |
| space, → | next slide |
| shift-space, ← | previous slide |
| d | toggle debug mode |
| ## <ret> | go to slide # |
| c, t | table of contents (vi) |
| f | toggle footer |
| g | toggle follow |
| r | reload slides |
| n | toggle notes |
| p | run preshow |
| P | toggle pause |
| s | choose style |
You must validate with a computational mechanism
at least as strong as the language being validated
-- Meredith L. Patterson
Subset of Lucene query syntax:
<query> ::= [ <field> ':' ] <term>
<term> ::= <word> | '"' <phrase> '"'
Examples:
title:"regular grammar"
keyword:parser
rivierarb
"finite \"state\" automaton"
# <query> ::= [ <field> ':' ] <term>
# <term> ::= <word> | '"' <phrase> '"'
query = /^(\w+:)?(\w+|\"([^\"]|\[\"])*\")$/"aaaaaaaaaaaaaaaaaaaaaaaaaaaaab" =~ /^(a+)+$/
Today, regular expressions have also become a
shining example of how ignoring good theory
leads to bad programs.
-- Russ Cox
title:"regular grammar" AND
( keyword:parser OR rivierarb ) AND
"finite \"state\" automaton"
grammar Arithmetic
rule additive
multitive ( '+' multitive )*
end
rule multitive
primary ( '*' primary )*
end
rule primary
'(' additive ')' / number
end
rule number
'-'? [0-9]+
end
end