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