issues
search
rapodaca
/
dialect
Documenting a subset of the SMILES language.
MIT License
13
stars
0
forks
source link
Reading Section
#12
Closed
rapodaca
closed
2 years ago
rapodaca
commented
3 years ago
overview
transform string into data structures
current character and next direct state transitions
parent atom
attached through bond to child atom
branches and cuts mean that this connection may not be immediate
high-level state to be managed
the current atom
the current bond
the current branch
open cuts
the order of attachment of bonds (especially with cuts)
parsing
top-down manual
also manage current and next character
Scanner
parser generator
code from grammar
EBNF grammar in SI
tradeoffs
errors (the place to enumerate all possible reading errors?)
assume all input invalid or even malicious
syntax
unexpected character
unexpected end-of-line
semantic
unbalanced cut
mismatched bonds in cut
no DS perfect matching
disallowed PPB
reporting
zero-based start/end index of error
error kind/description
non-errors
physically impossible isotopes, valences, or charges
parse, don't validate