From: Colin A. <col...@gm...> - 2013-02-16 19:39:27
|
Having parsed an ECF file to flat degree 3, how can I find which note items are associated with a function? |
From: Eric B. <er...@go...> - 2013-02-17 13:26:46
|
On 2/16/2013 8:39 PM, Colin Adams wrote: > Having parsed an ECF file to flat degree 3, how can I find which note > items are associated with a function? It's available in ET_FEATURE.first_indexing. In order to make sure that it is populated by the parser, you have to make sure that it uses an instance of ET_DECORARED_AST_FACTORY, instead of a ET_AST_FACTORY: l_ast_factory: ET_DECORARED_AST_FACTORY ... create l_ast_factory.make l_system.set_ast_factory (l_ast_factory) -- Eric Bezault mailto:er...@go... http://www.gobosoft.com |
From: Colin A. <col...@gm...> - 2013-02-17 14:33:19
|
Thanks for that. In fact, I'm not getting as far as that, as after parsing the ECF, last_system.error_handler.has_eiffel_error returns True, as it finds errors in the ISE standard libraries. I'm using ES 7.2 (Linux 64-bit), and the Gobo libraries that it ships. Would I be better using git HEAD gobo? Or do I possibly just have incorrect settings on the parser? The errors that it finds are: 1 Syntax error: Syntax error: line 40 column 39 in /home/colin/Eiffel72/library/base/elks/kernel/utf_converter.e escape_character: CHARACTER_32 = '%/0xFFFD/' ^ -- Unicode replacement character to escape invalid UTF-8 or UTF-16 encoding. quite a lot of GVKBU-1 errors. E.g. [GVKBU-1] class REAL_64_REF (78,2): unknown built-in routine `positive_infinity' in class REAL_64_REF. and quite a lot of VEEN-8 errors. E.g. [VEEN-8] class ARRAYED_LIST (761,10): `l_count' appearing in feature `correct_mismatch' or one of its possibly nested inline agents, is an object-test local that is used outside of its scope. On 17 February 2013 12:48, Eric Bezault <er...@go...> wrote: > On 2/16/2013 8:39 PM, Colin Adams wrote: > >> Having parsed an ECF file to flat degree 3, how can I find which note >> items are associated with a function? >> > > It's available in ET_FEATURE.first_indexing. > In order to make sure that it is populated by the parser, > you have to make sure that it uses an instance of > ET_DECORARED_AST_FACTORY, instead of a ET_AST_FACTORY: > > l_ast_factory: ET_DECORARED_AST_FACTORY > ... > create l_ast_factory.make > l_system.set_ast_factory (l_ast_factory) > > -- > Eric Bezault > mailto:er...@go... > http://www.gobosoft.com > |
From: Colin A. <col...@gm...> - 2013-02-17 14:43:08
|
Additional codes I encounter include: VWEQ VUAR-2 On 17 February 2013 14:33, Colin Adams <col...@gm...> wrote: > Thanks for that. > In fact, I'm not getting as far as that, as after parsing the ECF, > last_system.error_handler.has_eiffel_error returns True, as it finds errors > in > the ISE standard libraries. > > I'm using ES 7.2 (Linux 64-bit), and the Gobo libraries that it ships. > Would I be better using git HEAD gobo? Or do I possibly just have incorrect > settings on the parser? > > The errors that it finds are: > > 1 Syntax error: > Syntax error: > line 40 column 39 in > /home/colin/Eiffel72/library/base/elks/kernel/utf_converter.e > > escape_character: CHARACTER_32 = '%/0xFFFD/' > ^ > -- Unicode replacement character to escape invalid > UTF-8 or UTF-16 encoding. > > > quite a lot of GVKBU-1 errors. E.g. > > > [GVKBU-1] class REAL_64_REF (78,2): unknown built-in routine > `positive_infinity' in class REAL_64_REF. > > and quite a lot of VEEN-8 errors. E.g. > > [VEEN-8] class ARRAYED_LIST (761,10): `l_count' appearing in feature > `correct_mismatch' or one of its possibly nested inline agents, is an > object-test local that is used outside of its scope. > > > On 17 February 2013 12:48, Eric Bezault <er...@go...> wrote: > >> On 2/16/2013 8:39 PM, Colin Adams wrote: >> >>> Having parsed an ECF file to flat degree 3, how can I find which note >>> items are associated with a function? >>> >> >> It's available in ET_FEATURE.first_indexing. >> In order to make sure that it is populated by the parser, >> you have to make sure that it uses an instance of >> ET_DECORARED_AST_FACTORY, instead of a ET_AST_FACTORY: >> >> l_ast_factory: ET_DECORARED_AST_FACTORY >> ... >> create l_ast_factory.make >> l_system.set_ast_factory (l_ast_factory) >> >> -- >> Eric Bezault >> mailto:er...@go... >> http://www.gobosoft.com >> > > |
From: Eric B. <er...@go...> - 2013-02-17 20:34:22
|
On 2/17/2013 3:33 PM, Colin Adams wrote: > The errors that it finds are: > > 1 Syntax error: > Syntax error: > line 40 column 39 in > /home/colin/Eiffel72/library/base/elks/kernel/utf_converter.e > > escape_character: CHARACTER_32 = '%/0xFFFD/' > ^ > -- Unicode replacement character to escape > invalid UTF-8 or UTF-16 encoding. I think that this one is fixed in the Git repository of Gobo. > quite a lot of GVKBU-1 errors. E.g. > > > [GVKBU-1] class REAL_64_REF (78,2): unknown built-in routine > `positive_infinity' in class REAL_64_REF. Are you using gec? If so you need to use the version of FreeELKS that is in the Git repository of Gobo. If you are using gelint, then it should make no difference which version of FreeELKS you are using. You're better of using the version of Gobo from git, especially if you want to benefit from bug fixes that occurred after the official releases of EiffelStudio. -- Eric Bezault mailto:er...@go... http://www.gobosoft.com |
From: Colin A. <col...@gm...> - 2013-02-17 18:15:22
|
I am using ISE 7.2, not gec. I've bootstrapped gobo from git, and re-compiled from scratch. But my program now suffers from an invariant violation when parsing the ECF. Stack trace follows: secondary_settings_not_void: INVARIANT_VIOLATION raised (INVARIANT_VIOLATION) ------------------------------------------------------------------------------- Class / Object Routine Nature of exception Effect ------------------------------------------------------------------------------- ET_ECF_SETTINGS _invariant secondary_settings_not_void: <00007F4B99A15D78> Class invariant violated. Fail ------------------------------------------------------------------------------- ET_ECF_SETTINGS _invariant <00007F4B99A15D78> Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_SETTINGS make @4 <00007F4B99A15D78> Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_TARGET make @5 <00007F4B99A15458> Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_AST_FACTORY new_target @2 <00007F4B99147738> Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_SYSTEM_PARSER new_target @10 <00007F4B991476D8> (From ET_ECF_PARSER_SKELETON) Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_SYSTEM_PARSER fill_system_config @19 <00007F4B991476D8> (From ET_ECF_PARSER_SKELETON) Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_SYSTEM_PARSER new_system @13 <00007F4B991476D8> (From ET_ECF_PARSER_SKELETON) Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_SYSTEM_PARSER build_system_config @5 <00007F4B991476D8> Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_SYSTEM_PARSER parse_file @15 <00007F4B991476D8> (From ET_ECF_PARSER) Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_SYSTEM_PARSER parse_file @4 <00007F4B991476D8> Routine failure. Fail ------------------------------------------------------------------------------- CQS_CHECKER parse_ecf_file @10 <00007F4B99145F88> Routine failure. Fail ------------------------------------------------------------------------------- CQS_CHECKER make @8 <00007F4B99145F88> Routine failure. Fail ------------------------------------------------------------------------------- CQS_CHECKER root's creation <00007F4B99145F88> Routine failure. Exit ------------------------------------------------------------------------------- On 17 February 2013 16:55, Eric Bezault <er...@go...> wrote: > On 2/17/2013 3:33 PM, Colin Adams wrote: > >> The errors that it finds are: >> >> 1 Syntax error: >> Syntax error: >> line 40 column 39 in >> /home/colin/Eiffel72/library/**base/elks/kernel/utf_**converter.e >> >> escape_character: CHARACTER_32 = '%/0xFFFD/' >> ^ >> -- Unicode replacement character to escape >> invalid UTF-8 or UTF-16 encoding. >> > > I think that this one is fixed in the Git repository of Gobo. > > > quite a lot of GVKBU-1 errors. E.g. >> >> >> [GVKBU-1] class REAL_64_REF (78,2): unknown built-in routine >> `positive_infinity' in class REAL_64_REF. >> > > Are you using gec? If so you need to use the version of FreeELKS > that is in the Git repository of Gobo. > If you are using gelint, then it should make no difference which > version of FreeELKS you are using. > > You're better of using the version of Gobo from git, especially if > you want to benefit from bug fixes that occurred after the official > releases of EiffelStudio. > > > -- > Eric Bezault > mailto:er...@go... > http://www.gobosoft.com > |
From: Eric B. <er...@go...> - 2013-02-20 07:31:40
|
On 2/17/2013 7:15 PM, Colin Adams wrote: > I've bootstrapped gobo from git, and re-compiled from scratch. But my > program now suffers from an invariant violation when parsing the ECF. > Stack trace follows: > > secondary_settings_not_void: INVARIANT_VIOLATION raised > (INVARIANT_VIOLATION) > ------------------------------------------------------------------------------- > Class / Object Routine Nature of exception > Effect > ------------------------------------------------------------------------------- > ET_ECF_SETTINGS _invariant secondary_settings_not_void: > <00007F4B99A15D78> Class invariant violated. > Fail > ------------------------------------------------------------------------------- Fixed. -- Eric Bezault mailto:er...@go... http://www.gobosoft.com |
From: Eric B. <er...@go...> - 2013-02-17 18:55:06
|
On 2/17/2013 7:15 PM, Colin Adams wrote: > I am using ISE 7.2, not gec. I was not referring about the compiler you used to compile your program, but rather on which code your application is based. Never mind. > I've bootstrapped gobo from git, and re-compiled from scratch. But my > program now suffers from an invariant violation when parsing the ECF. > Stack trace follows: I'll have a look at it. -- Eric Bezault mailto:er...@go... http://www.gobosoft.com |
From: Colin A. <col...@gm...> - 2013-02-18 17:21:56
|
On 17 February 2013 18:37, Eric Bezault <er...@go...> wrote: > On 2/17/2013 7:15 PM, Colin Adams wrote: > >> I've bootstrapped gobo from git, and re-compiled from scratch. But my > > program now suffers from an invariant violation when parsing the ECF. >> Stack trace follows: >> > > I'll have a look at it. > > Having temporarily switched off invariant checking for the et_tools cluster, I now get a precondition violation: The value of an_int is 74440, which way exceeds the platform maximum of 255. The last_literal concerned is 0xFFFD. an_int_small_enough: PRECONDITION_VIOLATION raised (PRECONDITION_VIOLATION) ------------------------------------------------------------------------------- Class / Object Routine Nature of exception Effect ------------------------------------------------------------------------------- KL_INTEGER_ROUTINES to_character @2 an_int_small_enough: <00007F97C57775B8> Precondition violated. Fail ------------------------------------------------------------------------------- ET_EIFFEL_PARSER last_c3_character_constant @8 <00007F97C5A877B8> (From ET_EIFFEL_SCANNER_SKELETON) Routine failure. Fail ------------------------------------------------------------------------------- ET_DECORATED_AST_FACTORY new_c3_character_constant @2 <00007F97C5DD4D78> Routine failure. Fail ------------------------------------------------------------------------------- ET_EIFFEL_PARSER process_break @6 <00007F97C5A877B8> (From ET_EIFFEL_SCANNER_SKELETON) Routine failure. Fail ------------------------------------------------------------------------------- ET_EIFFEL_PARSER yy_execute_action @1098 <00007F97C5A877B8> (From ET_EIFFEL_SCANNER) Routine failure. Fail ------------------------------------------------------------------------------- ET_EIFFEL_PARSER read_token @134 <00007F97C5A877B8> (From ET_EIFFEL_SCANNER) Routine failure. Fail ------------------------------------------------------------------------------- ET_EIFFEL_PARSER yyparse @45 <00007F97C5A877B8> Routine failure. Fail ------------------------------------------------------------------------------- ET_EIFFEL_PARSER parse_file @16 <00007F97C5A877B8> (From ET_EIFFEL_PARSER_SKELETON) Routine failure. Fail ------------------------------------------------------------------------------- ET_EIFFEL_PARSER process_class @23 <00007F97C5A877B8> (From ET_EIFFEL_PARSER_SKELETON) Routine failure. Fail ------------------------------------------------------------------------------- ET_CLASS process @2 <00007F97C5A5BD18> Routine failure. Fail ------------------------------------------------------------------------------- PROCEDURE fast_call <00007F97C5776F68> Routine failure. Fail ------------------------------------------------------------------------------- PROCEDURE call @5 <00007F97C5776F68> Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_LIBRARY classes_do_if @11 <00007F97C5A46AB8> (From ET_UNIVERSE) Routine failure. Fail ------------------------------------------------------------------------------- PROCEDURE fast_call <00007F97C5777228> Routine failure. Fail ------------------------------------------------------------------------------- PROCEDURE call @5 <00007F97C5777228> Routine failure. Fail ------------------------------------------------------------------------------- DS_HASH_SET do_all @5 <00007F97C57772E8> (From DS_SPARSE_CONTAINER) Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_SYSTEM universes_do_recursive @4 <00007F97C5A4FEE8> (From ET_UNIVERSE) Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_SYSTEM classes_do_if_recursive_until @4 <00007F97C5A4FEE8> (From ET_UNIVERSE) Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_SYSTEM parse_system @15 <00007F97C5A4FEE8> (From ET_SYSTEM) Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_SYSTEM compile_system @9 <00007F97C5A4FEE8> (From ET_SYSTEM) Routine failure. Fail ------------------------------------------------------------------------------- ET_ECF_SYSTEM compile @7 <00007F97C5A4FEE8> (From ET_SYSTEM) Routine failure. Fail ------------------------------------------------------------------------------- CQS_CHECKER process_system @15 <00007F97C5A5BF88> Routine failure. Fail ------------------------------------------------------------------------------- CQS_CHECKER make @12 <00007F97C5A5BF88> Routine failure. Fail ------------------------------------------------------------------------------- CQS_CHECKER root's creation <00007F97C5A5BF88> Routine failure. Exit ------------------------------------------------------------------------------- |
From: Colin A. <col...@gm...> - 2013-02-19 09:36:43
|
On 18 February 2013 17:21, Colin Adams <col...@gm...> wrote: > Having temporarily switched off invariant checking for the et_tools > cluster, I now get a precondition violation: > > The value of an_int is 74440, which way exceeds the platform maximum of > 255. > The last_literal concerned is 0xFFFD. > > an_int_small_enough: PRECONDITION_VIOLATION raised (PRECONDITION_VIOLATION) > > And if I bypass the precondition check, then the postcondition fails. |
From: Eric B. <er...@go...> - 2013-02-20 12:19:36
|
On 2/18/2013 6:21 PM, Colin Adams wrote: > Having temporarily switched off invariant checking for the et_tools > cluster, I now get a precondition violation: > > The value of an_int is 74440, which way exceeds the platform maximum of 255. > The last_literal concerned is 0xFFFD. > > an_int_small_enough: PRECONDITION_VIOLATION raised (PRECONDITION_VIOLATION) > ------------------------------------------------------------------------------- > Class / Object Routine Nature of exception > Effect > ------------------------------------------------------------------------------- > KL_INTEGER_ROUTINES to_character @2 an_int_small_enough: > <00007F97C57775B8> Precondition violated. > Fail > ------------------------------------------------------------------------------- > ET_EIFFEL_PARSER last_c3_character_constant @8 > <00007F97C5A877B8> (From ET_EIFFEL_SCANNER_SKELETON) > Routine failure. > Fail > ------------------------------------------------------------------------------- Fixed. -- Eric Bezault mailto:er...@go... http://www.gobosoft.com |