<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chrigu</id>
		<title>EiffelStudio: an EiffelSoftware project - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chrigu"/>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/Special:Contributions/Chrigu"/>
		<updated>2026-04-22T09:36:19Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=3651</id>
		<title>Talk:Syntax checking/Parser</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=3651"/>
				<updated>2006-06-20T20:46:24Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* error classes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==find more than one error==&lt;br /&gt;
As far as I've seen, the Parser throws an ERROR as soon as it doesn't like something in the source, which aborts parsing. The found error is in the SHARED_ERROR_HANDLER's error_list (I've never seen more than one error in there, why is it a list anyway?). Has anybody found a way to tell the parser to parse the whole file?&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 14:55, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hmmm... I don't know how to get all the errors with one call. But you haven't to parse the whole file, so you can parse piecewise and if an error occurs, you have to parse after the string that occurs the error. This is a way to get all errors, it's complicated, but it should work!?&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 17:19, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actually read http://www.gobosoft.com/eiffel/gobo/geyacc/error.html for more info on how modifying `eiffel.y' to recover from error and therefore detect more than one error at a time.&lt;br /&gt;
&lt;br /&gt;
--[[User:Manus|manus]] 18:10, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chrigu: How exactly do you parse piecewise? Though it wouldn't solve the problem because there can be several errors in one piece.&lt;br /&gt;
Manu: Thanks for the hint! Looks very promising!&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 22:55, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Maser: Couldn't we read several strings of the file and use parse_with_string instead of parse? I'm not sure...&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 15:52, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chrigu: A normal EIFFEL_PARSER accepts just classes, but you can use set_expression_parser (or some other `Parser type setting' feature) to create a parser that parses Eiffel expressions (I knew I had seen something like that before, but couldn't find it yesterday). But changing the eiffel.y file seems like a better solution. Maybe we should use expression and/or feature parsers while checking if a previously found error has been corrected by the user (I assume parsing just one expression is pretty fast).&lt;br /&gt;
&lt;br /&gt;
I've looked through the documentation of gayacc and I think it shouldn't be too difficult to change eiffel.y to our needs, the file's size will probably bethe biggest problem.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 16:31, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Everyone, I've sent Martin something that I worked on a couple a months ago. It's be no means finished or polished. It got put on the back burner because I need to work on other parts of EiffelEnvision. I also do not think it is the most recent version but I will need to check at home for the latest bits. &lt;br /&gt;
&lt;br /&gt;
Basically I sent him what I started implementing for a recoverable parser in the new EiffelEnvision editor. It supported recovering from errors (more complex cannot be support with ease because it's hard to find a recoverable token - Eiffel does not have mandatory end-of-statement tokens like C/C++/C#), precise error/warning reporting (a real message stating excatly what is wrong) and absolute error positions (if you notice EiffelStudio does not always give the exact error location.)&lt;br /&gt;
&lt;br /&gt;
One thing that I started doing, which you guys are going to need to address too, is error/warning spans. It would be nice if the error reporting indicated the start and end coordinates (x1, y1 - x2, y2) of the error, without draining performance. &lt;br /&gt;
&lt;br /&gt;
The parser is common to EiffelStudio/Compiler, EiffelEnvision and a number of internal tools, which is something you need to be aware of. That means do not add any references to anything related to the compiler or EiffelStudio. The parser itself is a stand-alone cluster.&lt;br /&gt;
&lt;br /&gt;
Creating a recoverable parser is hard and placement of those error token is a black art (that's what O'Reilly say and I agree)! Good luck :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Paulb|Paulb]] 17:59, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks a lot for the code, Paul!&lt;br /&gt;
&lt;br /&gt;
I quickly looked through it and I'll summarize how (I think) it works: eiffel.y is extended is modified like described on the page Manu mentioned (according to Paul it contains bugs because he didn't finish it, and it isn't up to date because eiffel.y was extended to support new language features), so that it reports multiple errors (and stores them in SHARED_ERROR_HANDLER.error_list). It's about a thousand lines longer than the version in the repository. Additionally, there are new ERROR classes that describe the found syntax errors and some helper classes. Paul also mentioned that he made changes to EIFFEL_PARSER_SKELETON, but he couldn't find them.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 20:15, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ERROR classes in Paul's code aren't compatible with the ones in the current version (mainly the versions of SYNTAX_ERROR and SYNTAX_MESSAGE are quite different). &lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 00:54, 19 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That's correct. The existing error classes did not support everything they needed to support, so I reworte them. If you actually look at the parser error/warning classes in the parser cluster (not EiffelStudio's error classes) you'll see that the warning class is not even implemented!&lt;br /&gt;
&lt;br /&gt;
As I said, the parser is a stand-alone library. The parser cluster was only moved under Src/Eiffel for ease to users to check out and compile Eiffel. In that respect you should just create an application that uses the parser library, as I did. I then sent a generated error string, from the error classes, to the the command-line shell.&lt;br /&gt;
&lt;br /&gt;
[[User:Paulb|Paulb]] 22:14, 20 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I'm not sure if I understand what you mean. Basically, I should be able to take just the parser cluster and write a program that parses Eiffel files? But that's not possible, because EIFFEL_PARSER_SKELETON inherits from SHARED_ERROR_HANDLER, which is in the compiler cluster. Also, the error/warning classes in the parser cluster aren't used in ES, only the ones in the compiler cluster. I'd really like to create an application that uses the parser library, but I don't understand how it's going to work without the compiler cluster.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 01:38, 21 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you take the configuration file parser.ecf in $EIFFEL_SRC/Eiffel/parser then it should include all you need.&lt;br /&gt;
&lt;br /&gt;
--[[User:Manus|manus]] 19:30, 21 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oh, you're right, everything's there, I just didn't see it. I could create a new project based on that file and it seems like there's really a lot to do in the ERROR classes.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 00:36, 22 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Interface to visualization group ==&lt;br /&gt;
&lt;br /&gt;
As the parser produces ERROR objects and they contain information about position and description of the error and stores them in SHARED_ERROR_HANDLER.error_list, I suggest we use this as interface to exchange the data between the parser and visualisation groups.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 16:43, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I didn't look into it too much, but the ERROR classes can do some stuff with TEXT_FORMATTERs (several elements of the GUI inherit from TEXT_FORMATTER) which could be useful to display information about the ERROR.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 02:22, 21 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== suggestion for implementation ==&lt;br /&gt;
&lt;br /&gt;
I've added a suggestion how to implement our changes. How bad is it? Comments? Improvements?&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 16:35, 19 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
It's not bad, it sounds good ;)&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 12:39, 21 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== acex for parser application ==&lt;br /&gt;
&lt;br /&gt;
I've uploaded a [http://n.ethz.ch/student/luderm/parser.acex parser.acex] (Edit: removed, there's information on this topic in [[Syntax checking/Parser]]). You can also use parser.ecf file in Eiffel/parser/ in the current trunk as Manu pointed out.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 17:01, 23 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== error classes ==&lt;br /&gt;
&lt;br /&gt;
I've studied Paul's error classes. They all inherit of syntax_error. And they can be called by the eiffel_parser_error_reporter. But where you decide, which class you should choose to represent the error?&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 13:18, 5 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It's decided in eiffel.y, as far as I know. There's a 'report_*' feature for each error class and in the eiffel.y the appropriate one is called with the right string from the EIFFEL_PARSER_ERRORS class.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 13:54, 5 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
I have some problems: In EIFFEL_PARSER (generated by eiffel.y) are a lot of identifiers that are not defined (leaf_list_as: LEAF_AS_LIST;recoverable_parser, single_parser_type, successful: BOOLEAN;end_recover is do end;if_part_tuple: ?????). Where are they from? Should I inherit a class to solve that problem?&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 22:46, 20 June 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=3176</id>
		<title>Talk:Syntax checking/Parser</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=3176"/>
				<updated>2006-06-05T11:18:17Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* acex for parser application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==find more than one error==&lt;br /&gt;
As far as I've seen, the Parser throws an ERROR as soon as it doesn't like something in the source, which aborts parsing. The found error is in the SHARED_ERROR_HANDLER's error_list (I've never seen more than one error in there, why is it a list anyway?). Has anybody found a way to tell the parser to parse the whole file?&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 14:55, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hmmm... I don't know how to get all the errors with one call. But you haven't to parse the whole file, so you can parse piecewise and if an error occurs, you have to parse after the string that occurs the error. This is a way to get all errors, it's complicated, but it should work!?&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 17:19, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actually read http://www.gobosoft.com/eiffel/gobo/geyacc/error.html for more info on how modifying `eiffel.y' to recover from error and therefore detect more than one error at a time.&lt;br /&gt;
&lt;br /&gt;
--[[User:Manus|manus]] 18:10, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chrigu: How exactly do you parse piecewise? Though it wouldn't solve the problem because there can be several errors in one piece.&lt;br /&gt;
Manu: Thanks for the hint! Looks very promising!&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 22:55, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Maser: Couldn't we read several strings of the file and use parse_with_string instead of parse? I'm not sure...&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 15:52, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chrigu: A normal EIFFEL_PARSER accepts just classes, but you can use set_expression_parser (or some other `Parser type setting' feature) to create a parser that parses Eiffel expressions (I knew I had seen something like that before, but couldn't find it yesterday). But changing the eiffel.y file seems like a better solution. Maybe we should use expression and/or feature parsers while checking if a previously found error has been corrected by the user (I assume parsing just one expression is pretty fast).&lt;br /&gt;
&lt;br /&gt;
I've looked through the documentation of gayacc and I think it shouldn't be too difficult to change eiffel.y to our needs, the file's size will probably bethe biggest problem.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 16:31, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Everyone, I've sent Martin something that I worked on a couple a months ago. It's be no means finished or polished. It got put on the back burner because I need to work on other parts of EiffelEnvision. I also do not think it is the most recent version but I will need to check at home for the latest bits. &lt;br /&gt;
&lt;br /&gt;
Basically I sent him what I started implementing for a recoverable parser in the new EiffelEnvision editor. It supported recovering from errors (more complex cannot be support with ease because it's hard to find a recoverable token - Eiffel does not have mandatory end-of-statement tokens like C/C++/C#), precise error/warning reporting (a real message stating excatly what is wrong) and absolute error positions (if you notice EiffelStudio does not always give the exact error location.)&lt;br /&gt;
&lt;br /&gt;
One thing that I started doing, which you guys are going to need to address too, is error/warning spans. It would be nice if the error reporting indicated the start and end coordinates (x1, y1 - x2, y2) of the error, without draining performance. &lt;br /&gt;
&lt;br /&gt;
The parser is common to EiffelStudio/Compiler, EiffelEnvision and a number of internal tools, which is something you need to be aware of. That means do not add any references to anything related to the compiler or EiffelStudio. The parser itself is a stand-alone cluster.&lt;br /&gt;
&lt;br /&gt;
Creating a recoverable parser is hard and placement of those error token is a black art (that's what O'Reilly say and I agree)! Good luck :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Paulb|Paulb]] 17:59, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks a lot for the code, Paul!&lt;br /&gt;
&lt;br /&gt;
I quickly looked through it and I'll summarize how (I think) it works: eiffel.y is extended is modified like described on the page Manu mentioned (according to Paul it contains bugs because he didn't finish it, and it isn't up to date because eiffel.y was extended to support new language features), so that it reports multiple errors (and stores them in SHARED_ERROR_HANDLER.error_list). It's about a thousand lines longer than the version in the repository. Additionally, there are new ERROR classes that describe the found syntax errors and some helper classes. Paul also mentioned that he made changes to EIFFEL_PARSER_SKELETON, but he couldn't find them.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 20:15, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ERROR classes in Paul's code aren't compatible with the ones in the current version (mainly the versions of SYNTAX_ERROR and SYNTAX_MESSAGE are quite different). &lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 00:54, 19 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That's correct. The existing error classes did not support everything they needed to support, so I reworte them. If you actually look at the parser error/warning classes in the parser cluster (not EiffelStudio's error classes) you'll see that the warning class is not even implemented!&lt;br /&gt;
&lt;br /&gt;
As I said, the parser is a stand-alone library. The parser cluster was only moved under Src/Eiffel for ease to users to check out and compile Eiffel. In that respect you should just create an application that uses the parser library, as I did. I then sent a generated error string, from the error classes, to the the command-line shell.&lt;br /&gt;
&lt;br /&gt;
[[User:Paulb|Paulb]] 22:14, 20 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I'm not sure if I understand what you mean. Basically, I should be able to take just the parser cluster and write a program that parses Eiffel files? But that's not possible, because EIFFEL_PARSER_SKELETON inherits from SHARED_ERROR_HANDLER, which is in the compiler cluster. Also, the error/warning classes in the parser cluster aren't used in ES, only the ones in the compiler cluster. I'd really like to create an application that uses the parser library, but I don't understand how it's going to work without the compiler cluster.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 01:38, 21 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you take the configuration file parser.ecf in $EIFFEL_SRC/Eiffel/parser then it should include all you need.&lt;br /&gt;
&lt;br /&gt;
--[[User:Manus|manus]] 19:30, 21 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oh, you're right, everything's there, I just didn't see it. I could create a new project based on that file and it seems like there's really a lot to do in the ERROR classes.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 00:36, 22 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Interface to visualization group ==&lt;br /&gt;
&lt;br /&gt;
As the parser produces ERROR objects and they contain information about position and description of the error and stores them in SHARED_ERROR_HANDLER.error_list, I suggest we use this as interface to exchange the data between the parser and visualisation groups.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 16:43, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I didn't look into it too much, but the ERROR classes can do some stuff with TEXT_FORMATTERs (several elements of the GUI inherit from TEXT_FORMATTER) which could be useful to display information about the ERROR.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 02:22, 21 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== suggestion for implementation ==&lt;br /&gt;
&lt;br /&gt;
I've added a suggestion how to implement our changes. How bad is it? Comments? Improvements?&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 16:35, 19 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
It's not bad, it sounds good ;)&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 12:39, 21 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== acex for parser application ==&lt;br /&gt;
&lt;br /&gt;
I've uploaded a [http://n.ethz.ch/student/luderm/parser.acex parser.acex] (why can't I upload it to the wiki?). You can also use parser.ecf file in Eiffel/parser/ in the current trunk as Manu pointed out.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 17:01, 23 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== error classes ==&lt;br /&gt;
&lt;br /&gt;
I've studied Paul's error classes. They all inherit of syntax_error. And they can be called by the eiffel_parser_error_reporter. But where you decide, which class you should choose to represent the error?&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 13:18, 5 June 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=2961</id>
		<title>Talk:Syntax checking/Parser</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=2961"/>
				<updated>2006-05-21T10:39:38Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* suggestion for implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==find more than one error==&lt;br /&gt;
As far as I've seen, the Parser throws an ERROR as soon as it doesn't like something in the source, which aborts parsing. The found error is in the SHARED_ERROR_HANDLER's error_list (I've never seen more than one error in there, why is it a list anyway?). Has anybody found a way to tell the parser to parse the whole file?&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 14:55, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hmmm... I don't know how to get all the errors with one call. But you haven't to parse the whole file, so you can parse piecewise and if an error occurs, you have to parse after the string that occurs the error. This is a way to get all errors, it's complicated, but it should work!?&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 17:19, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actually read http://www.gobosoft.com/eiffel/gobo/geyacc/error.html for more info on how modifying `eiffel.y' to recover from error and therefore detect more than one error at a time.&lt;br /&gt;
&lt;br /&gt;
--[[User:Manus|manus]] 18:10, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chrigu: How exactly do you parse piecewise? Though it wouldn't solve the problem because there can be several errors in one piece.&lt;br /&gt;
Manu: Thanks for the hint! Looks very promising!&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 22:55, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Maser: Couldn't we read several strings of the file and use parse_with_string instead of parse? I'm not sure...&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 15:52, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chrigu: A normal EIFFEL_PARSER accepts just classes, but you can use set_expression_parser (or some other `Parser type setting' feature) to create a parser that parses Eiffel expressions (I knew I had seen something like that before, but couldn't find it yesterday). But changing the eiffel.y file seems like a better solution. Maybe we should use expression and/or feature parsers while checking if a previously found error has been corrected by the user (I assume parsing just one expression is pretty fast).&lt;br /&gt;
&lt;br /&gt;
I've looked through the documentation of gayacc and I think it shouldn't be too difficult to change eiffel.y to our needs, the file's size will probably bethe biggest problem.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 16:31, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Everyone, I've sent Martin something that I worked on a couple a months ago. It's be no means finished or polished. It got put on the back burner because I need to work on other parts of EiffelEnvision. I also do not think it is the most recent version but I will need to check at home for the latest bits. &lt;br /&gt;
&lt;br /&gt;
Basically I sent him what I started implementing for a recoverable parser in the new EiffelEnvision editor. It supported recovering from errors (more complex cannot be support with ease because it's hard to find a recoverable token - Eiffel does not have mandatory end-of-statement tokens like C/C++/C#), precise error/warning reporting (a real message stating excatly what is wrong) and absolute error positions (if you notice EiffelStudio does not always give the exact error location.)&lt;br /&gt;
&lt;br /&gt;
One thing that I started doing, which you guys are going to need to address too, is error/warning spans. It would be nice if the error reporting indicated the start and end coordinates (x1, y1 - x2, y2) of the error, without draining performance. &lt;br /&gt;
&lt;br /&gt;
The parser is common to EiffelStudio/Compiler, EiffelEnvision and a number of internal tools, which is something you need to be aware of. That means do not add any references to anything related to the compiler or EiffelStudio. The parser itself is a stand-alone cluster.&lt;br /&gt;
&lt;br /&gt;
Creating a recoverable parser is hard and placement of those error token is a black art (that's what O'Reilly say and I agree)! Good luck :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Paulb|Paulb]] 17:59, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks a lot for the code, Paul!&lt;br /&gt;
&lt;br /&gt;
I quickly looked through it and I'll summarize how (I think) it works: eiffel.y is extended is modified like described on the page Manu mentioned (according to Paul it contains bugs because he didn't finish it, and it isn't up to date because eiffel.y was extended to support new language features), so that it reports multiple errors (and stores them in SHARED_ERROR_HANDLER.error_list). It's about a thousand lines longer than the version in the repository. Additionally, there are new ERROR classes that describe the found syntax errors and some helper classes. Paul also mentioned that he made changes to EIFFEL_PARSER_SKELETON, but he couldn't find them.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 20:15, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ERROR classes in Paul's code aren't compatible with the ones in the current version (mainly the versions of SYNTAX_ERROR and SYNTAX_MESSAGE are quite different). &lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 00:54, 19 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That's correct. The existing error classes did not support everything they needed to support, so I reworte them. If you actually look at the parser error/warning classes in the parser cluster (not EiffelStudio's error classes) you'll see that the warning class is not even implemented!&lt;br /&gt;
&lt;br /&gt;
As I said, the parser is a stand-alone library. The parser cluster was only moved under Src/Eiffel for ease to users to check out and compile Eiffel. In that respect you should just create an application that uses the parser library, as I did. I then sent a generated error string, from the error classes, to the the command-line shell.&lt;br /&gt;
&lt;br /&gt;
[[User:Paulb|Paulb]] 22:14, 20 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I'm not sure if I understand what you mean. Basically, I should be able to take just the parser cluster and write a program that parses Eiffel files? But that's not possible, because EIFFEL_PARSER_SKELETON inherits from SHARED_ERROR_HANDLER, which is in the compiler cluster. Also, the error/warning classes in the parser cluster aren't used in ES, only the ones in the compiler cluster. I'd really like to create an application that uses the parser library, but I don't understand how it's going to work without the compiler cluster.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 01:38, 21 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Interface to visualization group ==&lt;br /&gt;
&lt;br /&gt;
As the parser produces ERROR objects and they contain information about position and description of the error and stores them in SHARED_ERROR_HANDLER.error_list, I suggest we use this as interface to exchange the data between the parser and visualisation groups.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 16:43, 18 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I didn't look into it too much, but the ERROR classes can do some stuff with TEXT_FORMATTERs (several elements of the GUI inherit from TEXT_FORMATTER) which could be useful to display information about the ERROR.&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 02:22, 21 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== suggestion for implementation ==&lt;br /&gt;
&lt;br /&gt;
I've added a suggestion how to implement our changes. How bad is it? Comments? Improvements?&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 16:35, 19 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
It's not bad, it sounds good ;)&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 12:39, 21 May 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=2910</id>
		<title>Talk:Syntax checking/Parser</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=2910"/>
				<updated>2006-05-18T13:52:54Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* find more than one error */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==find more than one error==&lt;br /&gt;
As far as I've seen, the Parser throws an ERROR as soon as it doesn't like something in the source, which aborts parsing. The found error is in the SHARED_ERROR_HANDLER's error_list (I've never seen more than one error in there, why is it a list anyway?). Has anybody found a way to tell the parser to parse the whole file?&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 14:55, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hmmm... I don't know how to get all the errors with one call. But you haven't to parse the whole file, so you can parse piecewise and if an error occurs, you have to parse after the string that occurs the error. This is a way to get all errors, it's complicated, but it should work!?&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 17:19, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Actually read http://www.gobosoft.com/eiffel/gobo/geyacc/error.html for more info on how modifying `eiffel.y' to recover from error and therefore detect more than one error at a time.&lt;br /&gt;
&lt;br /&gt;
--[[User:Manus|manus]] 18:10, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Chrigu: How exactly do you parse piecewise? Though it wouldn't solve the problem because there can be several errors in one piece.&lt;br /&gt;
Manu: Thanks for the hint! Looks very promising!&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 22:55, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Maser: Couldn't we read several strings of the file and use parse_with_string instead of parse? I'm not sure...&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 15:52, 18 May 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=2909</id>
		<title>Talk:Syntax checking/Parser</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=2909"/>
				<updated>2006-05-18T13:52:41Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* find more than one error */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==find more than one error==&lt;br /&gt;
As far as I've seen, the Parser throws an ERROR as soon as it doesn't like something in the source, which aborts parsing. The found error is in the SHARED_ERROR_HANDLER's error_list (I've never seen more than one error in there, why is it a list anyway?). Has anybody found a way to tell the parser to parse the whole file?&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 14:55, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hmmm... I don't know how to get all the errors with one call. But you haven't to parse the whole file, so you can parse piecewise and if an error occurs, you have to parse after the string that occurs the error. This is a way to get all errors, it's complicated, but it should work!?&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 17:19, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Actually read http://www.gobosoft.com/eiffel/gobo/geyacc/error.html for more info on how modifying `eiffel.y' to recover from error and therefore detect more than one error at a time.&lt;br /&gt;
&lt;br /&gt;
--[[User:Manus|manus]] 18:10, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Chrigu: How exactly do you parse piecewise? Though it wouldn't solve the problem because there can be several errors in one piece.&lt;br /&gt;
Manu: Thanks for the hint! Looks very promising!&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 22:55, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Maser: Couldn't we read several strings of the file and use parse_with_string instead of parse? I'm not sure...&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=2894</id>
		<title>Talk:Syntax checking/Parser</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=2894"/>
				<updated>2006-05-17T15:19:56Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==find more than one error==&lt;br /&gt;
As far as I've seen, the Parser throws an ERROR as soon as it doesn't like something in the source, which aborts parsing. The found error is in the SHARED_ERROR_HANDLER's error_list (I've never seen more than one error in there, why is it a list anyway?). Has anybody found a way to tell the parser to parse the whole file?&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 14:55, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hmmm... I don't know how to get all the errors with one call. But you haven't to parse the whole file, so you can parse piecewise and if an error occurs, you have to parse after the string that occurs the error. This is a way to get all errors, it's complicated, but it should work!?&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 17:19, 17 May 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=2893</id>
		<title>Talk:Syntax checking/Parser</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Syntax_checking/Parser&amp;diff=2893"/>
				<updated>2006-05-17T15:19:25Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* find more than one error */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==find more than one error==&lt;br /&gt;
As far as I've seen, the Parser throws an ERROR as soon as it doesn't like something in the source, which aborts parsing. The found error is in the SHARED_ERROR_HANDLER's error_list (I've never seen more than one error in there, why is it a list anyway?). Has anybody found a way to tell the parser to parse the whole file?&lt;br /&gt;
&lt;br /&gt;
[[User:Maser|maser]] 14:55, 17 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hmmm... I don't know how to get all the errors with one call. But you haven't to parse the whole file, so you can parse piecewise and if an error occurs, you have to parse after the string that occurs the error. This is way to get all errors, it's complicated, but it should work!?&lt;br /&gt;
&lt;br /&gt;
[[User:Chrigu|Chrigu]] 17:19, 17 May 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Syntax_checking/Parser&amp;diff=2891</id>
		<title>Syntax checking/Parser</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Syntax_checking/Parser&amp;diff=2891"/>
				<updated>2006-05-17T12:35:25Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Syntax_checking|back to Syntax checking page]]&lt;br /&gt;
&lt;br /&gt;
==Important Classes==&lt;br /&gt;
&lt;br /&gt;
====EIFFEL_PARSER====&lt;br /&gt;
* inherits from EIFFEL_PARSER_SKELETON (where the features parse, parse_string, make_with_factory are implemented)&lt;br /&gt;
* make_with_factory (a_factory: AST_FACTORY): give argument of type AST_NULL_FACTORY (inherits from AST_FACTORY)&lt;br /&gt;
* parse (a_file: KL_BINARY_INPUT_FILE) and parse_from_string (a_string: STRING): Both save the results in match_list: LEAF_AS_LIST.&lt;br /&gt;
====CLASS_AS====&lt;br /&gt;
* AST of a class&lt;br /&gt;
====ERROR====&lt;br /&gt;
* deferred; superclass of all error types like EIFFEL_ERROR or SYNTAX_ERROR&lt;br /&gt;
* features line, column: INTEGER give location of error&lt;br /&gt;
====ERROR_HANDLER====&lt;br /&gt;
* feature error_list: ERROR is a list of errors found by the parser&lt;br /&gt;
====SHARED_ERROR_HANDLER====&lt;br /&gt;
* singleton used by all relevant classes&lt;br /&gt;
&lt;br /&gt;
====EIFFEL_CLASS_C====&lt;br /&gt;
* features build_ast and parse_ast show how the parser can be used.&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Syntax_checking&amp;diff=2890</id>
		<title>Syntax checking</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Syntax_checking&amp;diff=2890"/>
				<updated>2006-05-17T12:21:25Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Editor]]&lt;br /&gt;
=Overview=&lt;br /&gt;
The aim of this project is to provide adequate, but non intrusive feedback to user about syntax errors. This is done by checking syntax as you type and underlining syntax errors by the well knwon wavy red line. Furthermore, error descriptions and possible solutions should be provided.&lt;br /&gt;
&lt;br /&gt;
The Project is named '''SynChé''', which is a combination of syntax and checking.&lt;br /&gt;
The ''é'' at the end is important, as a cool name needs either a recursive acronym or a special character from a non English language.&lt;br /&gt;
&lt;br /&gt;
=Software Requirement Specification (SRS)=&lt;br /&gt;
You can find our SRS [[Syntax_checking/SRS|here]]&lt;br /&gt;
&lt;br /&gt;
=Groups=&lt;br /&gt;
&lt;br /&gt;
* [[Syntax_checking/Visualisation|Visualisation]]&lt;br /&gt;
* [[Syntax_checking/Parser|Parser]]&lt;br /&gt;
&lt;br /&gt;
=Milestones=&lt;br /&gt;
&lt;br /&gt;
==M1: April 25th==&lt;br /&gt;
* Get home-grown EiffelStudio up and running.&lt;br /&gt;
&lt;br /&gt;
==M2: May 2nd==&lt;br /&gt;
* '''Put your name in this Wiki!'''&lt;br /&gt;
* Analyse source code to certain degree, so discussion about interfaces between parser and visual is possible&lt;br /&gt;
&lt;br /&gt;
==M3: May 9th==&lt;br /&gt;
* SRS written&lt;br /&gt;
* Overview of relevant classes (BON diagram or more)&lt;br /&gt;
* Further Project Milestones specified, based on SRS and knowledge about code&lt;br /&gt;
&lt;br /&gt;
== May 12th == &lt;br /&gt;
'''Results of the Meeting:''' [[Syntax_checking/Visualisation| Visualisation]]&lt;br /&gt;
&lt;br /&gt;
==M4: May 23th==&lt;br /&gt;
*'''Parser Group''': Find out what results you get from the parser&lt;br /&gt;
*'''Visualisation Group''': Write a feature that draw the red underline&lt;br /&gt;
&lt;br /&gt;
== May 17th == &lt;br /&gt;
'''Results of Parser Group:''' [[Syntax_checking/Parser| Parser]]&lt;br /&gt;
&lt;br /&gt;
=Team=&lt;br /&gt;
Everyone intrested in this project is welcome to join our mailinglist [http://origo.ethz.ch/cgi-bin/mailman/listinfo/es-ui es-ui@origo.ethz.ch]. &lt;br /&gt;
At this point, the team is divided into two groups at this point, one responsible for the parser, the other one for visual feedback (like underlininig).&lt;br /&gt;
&lt;br /&gt;
== Visual Feedback ==&lt;br /&gt;
* [[User:jabernet| Janick Bernet]] (project leader)&lt;br /&gt;
* [[User:fdevries| Fabien de Vries]]&lt;br /&gt;
* [[User:indermum| Matthias Indermühle]]&lt;br /&gt;
* [[User:clerco| Olivier Clerc]]&lt;br /&gt;
&lt;br /&gt;
== Parser ==&lt;br /&gt;
* [[User:maser| Martin Luder]]&lt;br /&gt;
* [[User:Chrigu| Christoph Huber]]&lt;br /&gt;
* [[User:goalgettah| Ueli Etter]]&lt;br /&gt;
* [[User:Squeezie| Michael Schär]]&lt;br /&gt;
* [[User:MarkoR| Marko Ristin]]&lt;br /&gt;
&lt;br /&gt;
== Assistant ==&lt;br /&gt;
* [[User:classens| Stephan Classen]]&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Syntax_checking&amp;diff=2850</id>
		<title>Talk:Syntax checking</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Syntax_checking&amp;diff=2850"/>
				<updated>2006-05-16T06:17:09Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* Meeting 11.5.06 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wir sollten irgendwo noch den Namen &amp;quot;SynChé&amp;quot; erwähnen.&lt;br /&gt;
engl: we should mentions smowherer the name &amp;quot;SynChé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[User:FoB|FoB]] 12:52, 20 April 2006 (CEST)'''&lt;br /&gt;
&lt;br /&gt;
'''yes you should!!''' it is your task and duty to fill in more information into this page. you should have a SRS and an introductiory text, and you should also post updates and a TODO list and other interesting stuff here. remember, thsi is not just your project. this is an open source project and everybody can participate. but you only will get help from the comunity if you provide informations on what, why and how you do things.&lt;br /&gt;
&lt;br /&gt;
oh and by the way: '''stick to english'''&lt;br /&gt;
&lt;br /&gt;
== Meeting 11.5.06 ==&lt;br /&gt;
&lt;br /&gt;
Both of the Groups have a Meeting at 4 pm. in the bQm. There we plan our next steps and share informations&lt;br /&gt;
&lt;br /&gt;
'''Group Parser'''&lt;br /&gt;
No one of us could compile the Eiffel Studio yet. We will study the code and make a page in this Wiki, in which we describe each class that is useful for our project. And then, we should talking about the interface with the other group.&lt;br /&gt;
(Someone of our Group knew, where you can read the Eiffel Studio source code online. Please post the link here. That would be very useful.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Indermum|Indermum]] 13:38, 12 May 2006 (CEST)  '''Group Visualisation'''&lt;br /&gt;
&lt;br /&gt;
We still have problems to compile Eiffel Studio too. We made a little summary about the classes we need to use under [[Syntax_checking/Visualisation]]&lt;br /&gt;
&lt;br /&gt;
Ah and one other thing. could '''everybody''' pleas insert in his page his e-mail adress and his cell phone number for faster communication and if aviable the msn or icq adress. thx&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Syntax_checking&amp;diff=2849</id>
		<title>Talk:Syntax checking</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Syntax_checking&amp;diff=2849"/>
				<updated>2006-05-16T06:16:41Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* Meeting 11.5.06 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wir sollten irgendwo noch den Namen &amp;quot;SynChé&amp;quot; erwähnen.&lt;br /&gt;
engl: we should mentions smowherer the name &amp;quot;SynChé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[User:FoB|FoB]] 12:52, 20 April 2006 (CEST)'''&lt;br /&gt;
&lt;br /&gt;
'''yes you should!!''' it is your task and duty to fill in more information into this page. you should have a SRS and an introductiory text, and you should also post updates and a TODO list and other interesting stuff here. remember, thsi is not just your project. this is an open source project and everybody can participate. but you only will get help from the comunity if you provide informations on what, why and how you do things.&lt;br /&gt;
&lt;br /&gt;
oh and by the way: '''stick to english'''&lt;br /&gt;
&lt;br /&gt;
== Meeting 11.5.06 ==&lt;br /&gt;
&lt;br /&gt;
Both of the Groups have a Meeting at 4 pm. in the bQm. There we plan our next steps and share informations&lt;br /&gt;
&lt;br /&gt;
'''Group Parser'''&lt;br /&gt;
No one of us could compile the Eiffel Studio yet. We will study the code and make a page in this Wiki, in which we describe each class that is useful for our project. And then, we should talking about the interface with the other group.&lt;br /&gt;
(Someone of our Group knew, where you can read the Eiffel Studio source code online. Please post the link here.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Indermum|Indermum]] 13:38, 12 May 2006 (CEST)  '''Group Visualisation'''&lt;br /&gt;
&lt;br /&gt;
We still have problems to compile Eiffel Studio too. We made a little summary about the classes we need to use under [[Syntax_checking/Visualisation]]&lt;br /&gt;
&lt;br /&gt;
Ah and one other thing. could '''everybody''' pleas insert in his page his e-mail adress and his cell phone number for faster communication and if aviable the msn or icq adress. thx&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Syntax_checking&amp;diff=2838</id>
		<title>Talk:Syntax checking</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Syntax_checking&amp;diff=2838"/>
				<updated>2006-05-15T13:30:03Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* Meeting 11.5.06 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wir sollten irgendwo noch den Namen &amp;quot;SynChé&amp;quot; erwähnen.&lt;br /&gt;
engl: we should mentions smowherer the name &amp;quot;SynChé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[User:FoB|FoB]] 12:52, 20 April 2006 (CEST)'''&lt;br /&gt;
&lt;br /&gt;
'''yes you should!!''' it is your task and duty to fill in more information into this page. you should have a SRS and an introductiory text, and you should also post updates and a TODO list and other interesting stuff here. remember, thsi is not just your project. this is an open source project and everybody can participate. but you only will get help from the comunity if you provide informations on what, why and how you do things.&lt;br /&gt;
&lt;br /&gt;
oh and by the way: '''stick to english'''&lt;br /&gt;
&lt;br /&gt;
== Meeting 11.5.06 ==&lt;br /&gt;
&lt;br /&gt;
Both of the Groups have a Meeting at 4 pm. in the bQm. There we plan our next steps and share informations&lt;br /&gt;
&lt;br /&gt;
'''Group Parser'''&lt;br /&gt;
No one of us could compile the Eiffel Studio yet. We will study the code and make a page in this Wiki, in which we describe each class that is useful for our project. And then, we should talking about the interface with the other group.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Indermum|Indermum]] 13:38, 12 May 2006 (CEST)  '''Group Visualisation'''&lt;br /&gt;
&lt;br /&gt;
We still have problems to compile Eiffel Studio too. We made a little summary about the classes we need to use under [[Syntax_checking/Visualisation]]&lt;br /&gt;
&lt;br /&gt;
Ah and one other thing. could '''everybody''' pleas insert in his page his e-mail adress and his cell phone number for faster communication and if aviable the msn or icq adress. thx&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=User:Chrigu&amp;diff=2827</id>
		<title>User:Chrigu</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=User:Chrigu&amp;diff=2827"/>
				<updated>2006-05-14T11:02:26Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* E-Mail, phone number, Messenger */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== E-Mail, phone number, Messenger ==&lt;br /&gt;
chrhuber_at_student.ethz.ch&lt;br /&gt;
&lt;br /&gt;
079/598 83 62&lt;br /&gt;
&lt;br /&gt;
MSN (more in use): huber.c@freesurf.ch&lt;br /&gt;
&lt;br /&gt;
ICQ: 167-439-842&lt;br /&gt;
&lt;br /&gt;
== Work ==&lt;br /&gt;
[[Syntax_checking]]&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=User:Chrigu&amp;diff=2826</id>
		<title>User:Chrigu</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=User:Chrigu&amp;diff=2826"/>
				<updated>2006-05-14T11:02:03Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== E-Mail, phone number, Messenger ==&lt;br /&gt;
chrhuber_at_student.ethz.ch&lt;br /&gt;
079/598 83 62&lt;br /&gt;
MSN (more in use): huber.c@freesurf.ch&lt;br /&gt;
ICQ: 167-439-842&lt;br /&gt;
&lt;br /&gt;
== Work ==&lt;br /&gt;
[[Syntax_checking]]&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Syntax_checking&amp;diff=2761</id>
		<title>Talk:Syntax checking</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Syntax_checking&amp;diff=2761"/>
				<updated>2006-05-11T14:54:32Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wir sollten irgendwo noch den Namen &amp;quot;SynChé&amp;quot; erwähnen.&lt;br /&gt;
engl: we should mentions smowherer the name &amp;quot;SynChé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[User:FoB|FoB]] 12:52, 20 April 2006 (CEST)'''&lt;br /&gt;
&lt;br /&gt;
'''yes you should!!''' it is your task and duty to fill in more information into this page. you should have a SRS and an introductiory text, and you should also post updates and a TODO list and other interesting stuff here. remember, thsi is not just your project. this is an open source project and everybody can participate. but you only will get help from the comunity if you provide informations on what, why and how you do things.&lt;br /&gt;
&lt;br /&gt;
oh and by the way: '''stick to english'''&lt;br /&gt;
&lt;br /&gt;
== Meeting 11.5.06 ==&lt;br /&gt;
&lt;br /&gt;
Both of the Groups have a Meeting at 4 pm. in the bQm. There we plan our next steps and share informations&lt;br /&gt;
&lt;br /&gt;
'''Group Parser'''&lt;br /&gt;
No one of us could compile the Eiffel Studio yet. We will study the code and make a page in this Wiki, in which we describe each class that is useful for our project. And then, we should talking about the interface with the other group.&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Syntax_checking&amp;diff=2760</id>
		<title>Talk:Syntax checking</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Syntax_checking&amp;diff=2760"/>
				<updated>2006-05-11T14:54:07Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* Meeting 11.5.06 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wir sollten irgendwo noch den Namen &amp;quot;SynChé&amp;quot; erwähnen.&lt;br /&gt;
engl: we should mentions smowherer the name &amp;quot;SynChé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[User:FoB|FoB]] 12:52, 20 April 2006 (CEST)'''&lt;br /&gt;
&lt;br /&gt;
'''yes you should!!''' it is your task and duty to fill in more information into this page. you should have a SRS and an introductiory text, and you should also post updates and a TODO list and other interesting stuff here. remember, thsi is not just your project. this is an open source project and everybody can participate. but you only will get help from the comunity if you provide informations on what, why and how you do things.&lt;br /&gt;
&lt;br /&gt;
oh and by the way: '''stick to english'''&lt;br /&gt;
&lt;br /&gt;
== Meeting 11.5.06 ==&lt;br /&gt;
&lt;br /&gt;
Both of the Groups have a Meeting at 4 pm. in the bQm. There we plan our next steps and share informations&lt;br /&gt;
&lt;br /&gt;
[[Group Parser]]&lt;br /&gt;
No one of us could compile the Eiffel Studio yet. We will study the code and make a page in this Wiki, in which we describe each class that is useful for our project. And then, we should talking about the interface with the other group.&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Syntax_checking&amp;diff=2511</id>
		<title>Syntax checking</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Syntax_checking&amp;diff=2511"/>
				<updated>2006-05-02T18:25:28Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* Parser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Editor]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
The aim of this project is to provide adequate, but non intrusive feedback to user about syntax errors. This is done by checking syntax as you type and underlining syntax errors by the well knwon wavy red line. Furthermore, error descriptions and possible solutions should be provided.&lt;br /&gt;
&lt;br /&gt;
The Project is named '''SynChé''', which is a combination of syntax and checking.&lt;br /&gt;
The ''é'' at the end is important, as a cool name needs either a recursive acronym or a special character from a non English language.&lt;br /&gt;
&lt;br /&gt;
=Software Requirement Specification (SaRS)=&lt;br /&gt;
you can find our SaRS [[Syntax_checking/SRS|here]] (comming soon)&lt;br /&gt;
&lt;br /&gt;
=Milestones=&lt;br /&gt;
&lt;br /&gt;
==M1: April 25th==&lt;br /&gt;
* Get home-grown EiffelStudio up and running.&lt;br /&gt;
&lt;br /&gt;
==M2: May 2nd==&lt;br /&gt;
* '''Put your name in this Wiki!'''&lt;br /&gt;
* Analyse source code to certain degree, so discussion about interfaces between parser and visual is possible&lt;br /&gt;
&lt;br /&gt;
==M3: May 9th==&lt;br /&gt;
* SRS written&lt;br /&gt;
* Overview of relevant classes (BON diagram or more)&lt;br /&gt;
* Further Project Milestones specified, based on SRS and knowledge about code&lt;br /&gt;
&lt;br /&gt;
=Team=&lt;br /&gt;
Everyone intrested in this project is welcome to join our mailinglist [http://origo.ethz.ch/cgi-bin/mailman/listinfo/es-ui es-ui@origo.ethz.ch]. &lt;br /&gt;
At this point, the team is divided into two groups at this point, one responsible for the parser, the other one for visual feedback (like underlininig).&lt;br /&gt;
&lt;br /&gt;
== Visual Feedback ==&lt;br /&gt;
* [[User:jabernet| Janick Bernet]] (project leader)&lt;br /&gt;
* [[User:fdevries| Fabien de Vries]]&lt;br /&gt;
* [[User:indermum| Matthias Indermühle]]&lt;br /&gt;
* [[User:clerco| Olivier Clerc]]&lt;br /&gt;
&lt;br /&gt;
== Parser ==&lt;br /&gt;
* [[User:maser| Martin Luder]]&lt;br /&gt;
* [[User:Chrigu| Christoph Huber]]&lt;br /&gt;
* [[User:goalgettah| Ueli Etter]]&lt;br /&gt;
* [[User:Squeezie| Michael Schär]]&lt;br /&gt;
&lt;br /&gt;
== Assistant ==&lt;br /&gt;
* [[User:classens| Stephan Classen]]&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=User:Chrigu&amp;diff=2510</id>
		<title>User:Chrigu</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=User:Chrigu&amp;diff=2510"/>
				<updated>2006-05-02T18:24:28Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* Work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Work ==&lt;br /&gt;
[[Syntax_checking]]&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=User:Chrigu&amp;diff=2509</id>
		<title>User:Chrigu</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=User:Chrigu&amp;diff=2509"/>
				<updated>2006-05-02T18:24:10Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Work ==&lt;br /&gt;
[Syntax_checking]&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Syntax_checking&amp;diff=2189</id>
		<title>Syntax checking</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Syntax_checking&amp;diff=2189"/>
				<updated>2006-04-25T13:52:27Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* Team */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Editor]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
The aim of this project is to have a syntax checking done as you type.&lt;br /&gt;
Syntax errors should be highlited and eventualy also options for correcting the error should be propossed.&lt;br /&gt;
&lt;br /&gt;
=Milestones=&lt;br /&gt;
&lt;br /&gt;
==M1: April 25th==&lt;br /&gt;
* Get home-grown EiffelStudio up and running.&lt;br /&gt;
&lt;br /&gt;
==M2: May ??? ==&lt;br /&gt;
* To be completed by the team&lt;br /&gt;
&lt;br /&gt;
=Team=&lt;br /&gt;
Everyone intrested in this project is welcome to join our mailinglist [http://origo.ethz.ch/cgi-bin/mailman/listinfo/es-ui es-ui@origo.ethz.ch]&lt;br /&gt;
&lt;br /&gt;
* [[User:jabernet| Janick Bernet]] (big boss and scapegoat)&lt;br /&gt;
* [[User:fdevries| Fabien de Vries]]&lt;br /&gt;
* [[User:maser| Martin Luder]]&lt;br /&gt;
* [[User:clerco| Olivier Clerc]]&lt;br /&gt;
* [[User:indermum| Matthias Indermühle]]&lt;br /&gt;
* [[User:chrhuber| Christoph Huber]]&lt;br /&gt;
* [[User:classens| Stephan Classen]]&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Syntax_checking&amp;diff=2188</id>
		<title>Syntax checking</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Syntax_checking&amp;diff=2188"/>
				<updated>2006-04-25T13:51:41Z</updated>
		
		<summary type="html">&lt;p&gt;Chrigu: /* Team */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Editor]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
The aim of this project is to have a syntax checking done as you type.&lt;br /&gt;
Syntax errors should be highlited and eventualy also options for correcting the error should be propossed.&lt;br /&gt;
&lt;br /&gt;
=Milestones=&lt;br /&gt;
&lt;br /&gt;
==M1: April 25th==&lt;br /&gt;
* Get home-grown EiffelStudio up and running.&lt;br /&gt;
&lt;br /&gt;
==M2: May ??? ==&lt;br /&gt;
* To be completed by the team&lt;br /&gt;
&lt;br /&gt;
=Team=&lt;br /&gt;
Everyone intrested in this project is welcome to join our mailinglist [http://origo.ethz.ch/cgi-bin/mailman/listinfo/es-ui es-ui@origo.ethz.ch]&lt;br /&gt;
&lt;br /&gt;
* [[User:jabernet| Janick Bernet]] (big boss and scapegoat)&lt;br /&gt;
* [[User:fdevries| Fabien de Vries]]&lt;br /&gt;
* [[User:maser| Martin Luder]]&lt;br /&gt;
* [[User:clerco| Olivier Clerc]]&lt;br /&gt;
* [[User:indermum| Matthias Indermühle]]&lt;br /&gt;
* [[User:classens| Stephan Classen]]&lt;br /&gt;
* [[User:chrhuber| Christoph Huber]]&lt;/div&gt;</summary>
		<author><name>Chrigu</name></author>	</entry>

	</feed>