A.2. Análisis léxico de ejemplo

En estos momentos ya tenemos el analizador léxico disponible, el cual podremos invocar como se muestra a continuación:

[fyr@todoscsi]$ ./a.out archivo.xml

La ejecución del programa nos devolverá las etiquetas según las vaya encontrando, una por línea. Así, una salida del programa, para el siguiente archivo:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
                  "file:///usr/share/sgml/docbook/dtd/xml/4.1.2/docbookx.dtd">
<article id="article">
	<articleinfo>
		<title>Unit Test: article.001.xml</title>
		<releaseinfo role="CVS">$Id: reduccion_dtd_docbook.xml,v
			 1.1 2002/09/09 20:57:14 sergio Exp $</releaseinfo>
		<authorgroup>
			<author><firstname>Norman</firstname><surname>Walsh</surname>
				<affiliation><address><email>[email protected]</email></address></affiliation>
			</author>
			<author><firstname>Jane</firstname><surname>Doe</surname></author>
		</authorgroup>
		<abstract>
			<para>This is the abstract.</para>
			<para>It has several paras.</para>
			<para>It has several paras.</para>
		</abstract>
	</articleinfo>

	<para>This is an article tests.</para>

	<ackno>I'd like to thank all the tests that came before me.</ackno>

</article>

Sería:

[fyr@todoscsi]$ ./a.out archivo.xml

article
articleinfo
title
releaseinfo
authorgroup
author
firstname
surname
affiliation
address
email
author
firstname
surname
abstract
para
para
para
para
ackno

[fyr@todoscsi]$