Author:halw

Date:2008-09-23T14:51:54.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@35 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
halw
2008-09-23 14:51:54 +00:00
parent 574536712d
commit b0a9287f39
29 changed files with 74 additions and 131 deletions

View File

@@ -0,0 +1,5 @@
[[Property:title|EiffelParse Class Reference]]
[[Property:weight|1]]
[[Property:uuid|6b37fcc9-198c-a846-2ff2-32fc30c0d029]]
==View the [[ref:libraries/parse/reference/index|EiffelParse Class Reference]]==

View File

@@ -1,5 +1,4 @@
[[Property:title|Parsing: The Parse Library]]
[[Property:link_title|EiffelParse Tutorial]]
[[Property:title|EiffelParse Tutorial]]
[[Property:weight|0]]
[[Property:uuid|b5861080-e5fd-dbb8-bf89-452915b3483e]]
==OVERVIEW==
@@ -54,7 +53,7 @@ Parsing is seldom an end in itself; rather, it serves as an intermediate step fo
Parsing takes care of one of the basic tasks of a document processor: reconstructing the logical organization of a document, which must conform to a certain '''syntax''' (or structure), defined by a '''grammar'''.
{{note| '''Note''': the more complete name '''syntactic grammar''' avoids any confusion with the ''lexical'' grammars discussed in the [[Lexical analysis: the Lex library|previous chapter]] . By default, "grammar" with no further qualification will always denote a syntactic grammar. A syntactic grammar normally relies on a lexical grammar, which gives the form of the most elementary components - the tokens - appearing in the syntactic structure. }}
{{note| '''Note''': the more complete name '''syntactic grammar''' avoids any confusion with the ''lexical'' grammars discussed in the [[EiffelLex Tutorial]]. By default, "grammar" with no further qualification will always denote a syntactic grammar. A syntactic grammar normally relies on a lexical grammar, which gives the form of the most elementary components - the tokens - appearing in the syntactic structure. }}
Once parsing has reconstructed the structure of a document, the document processor will perform various operations on the basis of that structure. For example a compiler will generate target code corresponding to the original text; a command language interpreter will execute the operations requested in the commands; and a documentation tool such as the short and flat-short commands for Eiffel will produce some information on the parsed document. Such operations are called '''semantic actions'''. One of the principal requirements on a good parsing mechanism is that it should make it easy to graft semantics onto syntax, by adding semantic actions of many possible kinds to the grammar.
@@ -585,6 +584,8 @@ where ''s'' is a specimen of <eiffel>SUM</eiffel>, is written as
The commit after the recognition of the keyword "(" is there to use the following piece of higher-level knowledge:
<code>No choice production of the grammar that has NESTED
as one of its alternatives has another alternative construct whose
specimens could begin with an opening parenthesis "(".</code>

View File

@@ -1,17 +1,11 @@
[[Property:title|EiffelParse Library]]
[[Property:link_title|EiffelParse]]
[[Property:title|EiffelParse]]
[[Property:weight|5]]
[[Property:uuid|0984d15a-6ee9-3bd4-71d6-31df2987af3a]]
==EiffelParse Library==
Type: Library <br/>
Platform: Any <br/>
See:
* [[Parsing: The Parse Library|Content]]
* [[Parse Sample|Samples]]
* [[ref:libraries/parse/reference/index|Reference]]
Eiffel classes for building parsers.