81 lines
2.6 KiB
HTML
81 lines
2.6 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
|
|
<TITLE>Lex and YACC primer/HOWTO</TITLE>
|
|
<LINK HREF="Lex-YACC-HOWTO-1.html" REL=next>
|
|
|
|
|
|
</HEAD>
|
|
<BODY>
|
|
<A HREF="Lex-YACC-HOWTO-1.html">Next</A>
|
|
Previous
|
|
Contents
|
|
<HR>
|
|
<H1>Lex and YACC primer/HOWTO</H1>
|
|
|
|
<H2>PowerDNS BV (bert hubert <bert@powerdns.com>)<BR></H2>v0.8 $Date: 2002/04/20 19:46:46 $
|
|
<P><HR>
|
|
<EM>This document tries to help you get started using Lex and YACC</EM>
|
|
<HR>
|
|
<P>
|
|
<H2><A NAME="toc1">1.</A> <A HREF="Lex-YACC-HOWTO-1.html">Introduction</A></H2>
|
|
|
|
<UL>
|
|
<LI><A HREF="Lex-YACC-HOWTO-1.html#ss1.1">1.1 What this document is NOT</A>
|
|
<LI><A HREF="Lex-YACC-HOWTO-1.html#ss1.2">1.2 Downloading stuff </A>
|
|
<LI><A HREF="Lex-YACC-HOWTO-1.html#ss1.3">1.3 License</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc2">2.</A> <A HREF="Lex-YACC-HOWTO-2.html">What Lex & YACC can do for you</A></H2>
|
|
|
|
<UL>
|
|
<LI><A HREF="Lex-YACC-HOWTO-2.html#ss2.1">2.1 What each program does on its own</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc3">3.</A> <A HREF="Lex-YACC-HOWTO-3.html">Lex</A></H2>
|
|
|
|
<UL>
|
|
<LI><A HREF="Lex-YACC-HOWTO-3.html#ss3.1">3.1 Regular expressions in matches</A>
|
|
<LI><A HREF="Lex-YACC-HOWTO-3.html#ss3.2">3.2 A more complicated example for a C like syntax</A>
|
|
<LI><A HREF="Lex-YACC-HOWTO-3.html#ss3.3">3.3 What we've seen</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc4">4.</A> <A HREF="Lex-YACC-HOWTO-4.html">YACC</A></H2>
|
|
|
|
<UL>
|
|
<LI><A HREF="Lex-YACC-HOWTO-4.html#ss4.1">4.1 A simple thermostat controller</A>
|
|
<LI><A HREF="Lex-YACC-HOWTO-4.html#ss4.2">4.2 Expanding the thermostat to handle parameters</A>
|
|
<LI><A HREF="Lex-YACC-HOWTO-4.html#ss4.3">4.3 Parsing a configuration file</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc5">5.</A> <A HREF="Lex-YACC-HOWTO-5.html">Making a Parser in C++</A></H2>
|
|
|
|
<P>
|
|
<H2><A NAME="toc6">6.</A> <A HREF="Lex-YACC-HOWTO-6.html">How do Lex and YACC work internally</A></H2>
|
|
|
|
<UL>
|
|
<LI><A HREF="Lex-YACC-HOWTO-6.html#ss6.1">6.1 Token values</A>
|
|
<LI><A HREF="Lex-YACC-HOWTO-6.html#ss6.2">6.2 Recursion: 'right is wrong'</A>
|
|
<LI><A HREF="Lex-YACC-HOWTO-6.html#ss6.3">6.3 Advanced yylval: %union</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc7">7.</A> <A HREF="Lex-YACC-HOWTO-7.html">Debugging</A></H2>
|
|
|
|
<UL>
|
|
<LI><A HREF="Lex-YACC-HOWTO-7.html#ss7.1">7.1 The state machine</A>
|
|
<LI><A HREF="Lex-YACC-HOWTO-7.html#ss7.2">7.2 Conflicts: 'shift/reduce', 'reduce/reduce' </A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc8">8.</A> <A HREF="Lex-YACC-HOWTO-8.html">Further reading</A></H2>
|
|
|
|
<P>
|
|
<H2><A NAME="toc9">9.</A> <A HREF="Lex-YACC-HOWTO-9.html">Acknowledgements & Thanks</A></H2>
|
|
|
|
<HR>
|
|
<A HREF="Lex-YACC-HOWTO-1.html">Next</A>
|
|
Previous
|
|
Contents
|
|
</BODY>
|
|
</HTML>
|