Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / guide / src / FrontEnd.adoc
1 FrontEnd
2 ========
3
4 <:FrontEnd:> is a translation pass from source to the <:AST:>
5 <:IntermediateLanguage:>.
6
7 == Description ==
8
9 This pass performs lexing and parsing to produce an abstract syntax
10 tree.
11
12 == Implementation ==
13
14 * <!ViewGitFile(mlton,master,mlton/front-end/front-end.sig)>
15 * <!ViewGitFile(mlton,master,mlton/front-end/front-end.fun)>
16
17 == Details and Notes ==
18
19 The lexer is produced by <:MLLex:> from
20 <!ViewGitFile(mlton,master,mlton/front-end/ml.lex)>.
21
22 The parser is produced by <:MLYacc:> from
23 <!ViewGitFile(mlton,master,mlton/front-end/ml.grm)>.
24
25 The specifications for the lexer and parser were originally taken from
26 <:SMLNJ: SML/NJ> (version 109.32), but have been heavily modified
27 since then.