Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 333740 - Errata in EpsilonBook.pdf, 29-Nov-2010 (mostly typos)
Summary: Errata in EpsilonBook.pdf, 29-Nov-2010 (mostly typos)
Status: CLOSED FIXED
Alias: None
Product: Epsilon
Classification: Modeling
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Antonio Garcia-Dominguez CLA
QA Contact:
URL:
Whiteboard: interim
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-07 08:16 EST by Konrad Schwarz CLA
Modified: 2012-11-08 16:21 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Konrad Schwarz CLA 2011-01-07 08:16:41 EST
24, Figure 3.1: personally, I find EBNF much easier to read than class diagrams. (Not an erratum.)

p 25.
It is not immediately clear that the context-type of an operation is specified after the keyword operation and the return type is specified after the final colon (Listing 3.1 uses Integer for both the context and the return type).

The self special variable should be explained.

p 25., 2nd para:
s/Therefore, in line 3/Therefore, in line 1/

p 27., Listing 3.4
I find this ambiguous: do the parenthesis belong to the concrete sytax or do they group the regular expression? @ should be bold to clarify that this is a terminal symbol (as should $ in Listing 3.5).

p 38.
after definition of "excluding(item : Any)":
s/hline/\\hline/

p 39.
s/Also, EOL collection support/Also, EOL collections support/

p 60., Table 3.15, chooseMany
s/to select one/to select one or more/

p 78, Listing 4.8
I could not find a definition of the typeOf keyword.

p 96.
s/In line 4/In line 5/

p 144.
s/displayed in Figurer/displayed in Figure/

p 147.
s/The Nodes merge rule In line/The \\emph{MergeNodes} rule in line/

p 152.
s/explicit variables (matching CT, matchingAT/explicit variables (matchingCT, matchingAC/
Comment 1 Konrad Schwarz CLA 2011-01-07 09:29:07 EST
The syntax for collection literals (e.g., Sequence { 1, 2, 3, 4, 5 } isn't formally defined.

The syntax for other literals (e.g. strings, including escape sequences, etc.) isn't defined either.

The form of comments aren't defined.gT
Comment 2 Dimitris Kolovos CLA 2011-01-10 05:12:13 EST
Many thanks for pointing out these issues.
Comment 3 Konrad Schwarz CLA 2011-01-11 04:23:02 EST
p 74,, 3rd para:
s/ivnariants/invariants/
Comment 4 Konrad Schwarz CLA 2011-01-11 04:31:34 EST
The EVL chapter does not show the concrete syntax of pre and post blocks.  If the syntax is the same as in ETL, you could reference Listing 5.2.
Comment 5 Konrad Schwarz CLA 2011-01-11 05:26:08 EST
Listing 4.4, 4.5, 4.6: Braces, colons, and at signs need to be emboldened, since they are part of the concrete syntax.
Comment 6 Konrad Schwarz CLA 2011-01-11 11:02:21 EST
The concrete syntax of critique levels is not shown.
Comment 7 Konrad Schwarz CLA 2011-01-11 11:06:54 EST
(In reply to comment #5)
> Listing 4.4, 4.5, 4.6: Braces, colons, and at signs need to be emboldened,
> since they are part of the concrete syntax.

You are probably using a listing package that emboldens keywords.  Perhaps you could mark up "templates" (akin to EBNF productions) differently, to make the distinction between terminals and non-terminal clear.
Comment 8 Konrad Schwarz CLA 2011-01-12 06:01:42 EST
(In reply to comment #5)
> Listing 4.4, 4.5, 4.6: Braces, colons, and at signs need to be emboldened,
> since they are part of the concrete syntax.

You are probably using a listing package that emboldens keywords.  Perhaps you could mark up "templates" (akin to EBNF productions) differently, to make the distinction between terminals and non-terminal clear.
Comment 9 Konrad Schwarz CLA 2011-01-19 03:33:12 EST
Listing 4.4 omits guards from contexts.  Listing 4.6 falsely allows guards in fixes.

However, I find guarded fixes useful: a fix might not always be applicable.
Comment 10 Konrad Schwarz CLA 2011-01-19 03:34:38 EST
Real numbers do not support exponents.  This should be documented or fixed in the implementation.
Comment 11 Antonio Garcia-Dominguez CLA 2011-05-19 07:33:38 EDT
I have resolved most of the minor issues which didn't affect the implementation. There are still a few things to do, though:

- I'm afraid that using an EBNF for the EOL abstract syntax may confuse readers into thinking that is the actual concrete syntax.

- I have looked at the code and I didn't find the actual typeOf keyword. Do we really support it?

- We still need to write the section on literals, but I'd like to integrate the patch in #340669 before doing that.

- I still need to check if the syntax for pre/post blocks is the same for ETL and EVL. I think they are the same, as I believe it is defined in a common ancestor, ERL.

- I also have to inspect the code handling the EVL critique levels to write that part.

- We have a bug for fix guards: #286148

- I'll have a look at the real number handling code.
Comment 12 Antonio Garcia-Dominguez CLA 2011-05-20 07:18:56 EDT
I have improved EOL's support for real literals, as shown in bug #346641: https://bugs.eclipse.org/bugs/show_bug.cgi?id=346641

I will shortly add a section on literals to the Epsilon book.
Comment 13 Antonio Garcia-Dominguez CLA 2011-06-16 03:55:06 EDT
I have added a section to the EOL book on literals. I'll work a bit more on the other issues during the next week.
Comment 14 Antonio Garcia-Dominguez CLA 2011-08-31 05:31:52 EDT
Conferences and other things got the better of me. I've looked at some of the pending issues:

(In reply to comment #11)
> - I have looked at the code and I didn't find the actual typeOf keyword. Do we
> really support it?

I still can't find any reference to typeOf except in the EvlEditor class, which highlights it as a keyword. Should we simply remove this keyword from the editor and the documentation?

> - I still need to check if the syntax for pre/post blocks is the same for ETL
> and EVL. I think they are the same, as I believe it is defined in a common
> ancestor, ERL.

They are the same. I have copied the pre/post concrete syntax from ETL over to EML and ECL.

> - I also have to inspect the code handling the EVL critique levels to write
> that part.

Just like typeOf, it is mentioned in the book, but it is not implemented. Is it worth implementing? Should I remove it from the documentation?

> - We have a bug for fix guards: #286148

I'll work on it a bit now, seeing as we have a recent comment on it (August 23rd).
Comment 15 Antonio Garcia-Dominguez CLA 2011-08-31 10:53:07 EDT
I have implemented fix guards in EVL, so there's only typeOf and the critique levels left. Should we implement them, or should we remove them from the Epsilon book?
Comment 16 Dimitris Kolovos CLA 2011-09-14 05:50:43 EDT
I'm happy with removing them from the book (limiting the range of types can always be done in the guard)
Comment 17 Antonio Garcia-Dominguez CLA 2011-09-26 12:24:38 EDT
I've removed all mentions of typeOf and critique levels in the book. I think we can close this bug now.
Comment 18 Dimitris Kolovos CLA 2012-11-08 16:21:11 EST
Fixed in 1.0