sledorze / Parsex

Packrat Parser combinators for Haxe
21 stars 5 forks source link

haxe nightlies: import and using may not appear after a type declaration #4

Closed deltaluca closed 11 years ago

deltaluca commented 11 years ago

when compiling with -D haxe3 :: Parser.hx 59

when compiling without -D haxe3, i get an error from 'monax' about Context having no field currentPos (and working aruond that, that it has no field typeof... no idea where these errors are about).

Using caue's linux64 nightlies, latest

sledorze commented 11 years ago

commuting atm, will have a look this evening (gmt +0) On Nov 26, 2012 4:55 AM, "Luca Deltodesco" notifications@github.com wrote:

when compiling with -D haxe3 :: Parser.hx 59

when compiling without -D haxe3, i get an error from 'monax' about Context having no field currentPos (and working aruond that, that it has no field typeof... no idea where these errors are about).

Using caue's linux64 nightlies, latest

— Reply to this email directly or view it on GitHubhttps://github.com/sledorze/Parsex/issues/4.

sledorze commented 11 years ago

can you provide a minimal project? On Nov 26, 2012 4:55 AM, "Luca Deltodesco" notifications@github.com wrote:

when compiling with -D haxe3 :: Parser.hx 59

when compiling without -D haxe3, i get an error from 'monax' about Context having no field currentPos (and working aruond that, that it has no field typeof... no idea where these errors are about).

Using caue's linux64 nightlies, latest

— Reply to this email directly or view it on GitHubhttps://github.com/sledorze/Parsex/issues/4.

deltaluca commented 11 years ago

package; import com.mindrocks.text.ParserMonad; class Main { static function main() {} }

compile haxe -main Main -swf Main.swf -lib Parsex

/usr/lib/haxe/lib/monax/1,3/com/mindrocks/monads/Monad.hx:72: characters 44-62 : haxe.macro.#Context has no field currentPos /usr/lib/haxe/lib/monax/1,3/com/mindrocks/monads/Monad.hx:80: characters 30-44 : haxe.macro.#Context has no field typeof

compile haxe -main Main -swf Main.swf -lib Parsex -D haxe3

/usr/lib/haxe/lib/Parsex/1,3/com/mindrocks/text/Parser.hx:59: characters 0-32 : import and using may not appear after a type declaration /usr/lib/haxe/lib/Parsex/1,3/com/mindrocks/text/Parser.hx:41: lines 41-58 : Previous type declaration found here

Caue's linux64 r5587

sledorze commented 11 years ago

Sorry but no error at all with this example. I've Used this version: http://builds.haxer.be/haxe/linux64/haxe_r5587.tar.gz

Best, Stephane

On Mon, Nov 26, 2012 at 11:47 AM, Luca Deltodesco notifications@github.comwrote:

package; import com.mindrocks.text.ParserMonad; class Main { static function main() {} }

compile haxe -main Main -swf Main.swf -lib Parsex

/usr/lib/haxe/lib/monax/1,3/com/mindrocks/monads/Monad.hx:72: characters 44-62 : haxe.macro.#Context has no field currentPos /usr/lib/haxe/lib/monax/1,3/com/mindrocks/monads/Monad.hx:80: characters 30-44 : haxe.macro.#Context has no field typeof

compile haxe -main Main -swf Main.swf -lib Parsex -D haxe3

/usr/lib/haxe/lib/Parsex/1,3/com/mindrocks/text/Parser.hx:59: characters 0-32 : import and using may not appear after a type declaration /usr/lib/haxe/lib/Parsex/1,3/com/mindrocks/text/Parser.hx:41: lines 41-58 : Previous type declaration found here

— Reply to this email directly or view it on GitHubhttps://github.com/sledorze/Parsex/issues/4#issuecomment-10711207.

Stéphane Le Dorze

http://lambdabrella.blogspot.com/ http://www.linkedin.com/in/stephaneledorze http://twitter.com/stephaneledorzehttps://twitter.com/#!/stephaneledorze/status/74020060125077504

Tel: +33 (0) 6 08 76 70 15

deltaluca commented 11 years ago

There's a very good reason for that, bernards builds are currently somewhat broken... for instance --dead-code-eliminatino still works although it's long been removed and replaced by --dce full|std and in his builds you don't need @:isVar for properties to generate the hidden field which is also required by haxe svn, and seemingly the same thing with still permitting type declarations after an import/using etc.

Caue's builds are properly in sync with svn

(see http://code.google.com/p/haxe/source/detail?r=5491 for instance, after r5491 --dead-code-elimination can no longer be used... yet bernards builds even up to r5587 are still permitting it and giving error when using --dce)

sledorze commented 11 years ago

Oh..., Ah..., now I understand why sometimes features were not working as expected.. thanks. Will check it with new version this evening - busy @work all week days.

On Mon, Nov 26, 2012 at 11:19 PM, Luca Deltodesco notifications@github.comwrote:

There's a very good reason for that, bernards builds are currently somewhat broken... for instance --dead-code-eliminatino still works although it's long been removed and replaced by --dce full|std and in his builds you don't need @:isVar for properties to generate the hidden field which is also required by haxe svn.

Caue's builds are properly in sync with svn

— Reply to this email directly or view it on GitHubhttps://github.com/sledorze/Parsex/issues/4#issuecomment-10736712.

Stéphane Le Dorze

http://lambdabrella.blogspot.com/ http://www.linkedin.com/in/stephaneledorze http://twitter.com/stephaneledorzehttps://twitter.com/#!/stephaneledorze/status/74020060125077504

Tel: +33 (0) 6 08 76 70 15

deltaluca commented 11 years ago

Didn't realise you'd made the changes. I now get these errors instead:

/usr/lib/haxe/lib/monax/1,4/com/mindrocks/monads/Monad.hx:85: characters 50-66 : Identifier 'CType' is not part of enum haxe.macro.Constant /usr/lib/haxe/lib/monax/1,4/com/mindrocks/monads/Monad.hx:85: characters 50-66 : For function argument 'c'

CType is removed for haxe3, unified with CIdent.

Modifying the files locally, doing a find/replace from 'CType' to '#if haxe3 CIdent #else CType#end' fixes the problems with haxe nightly completely as far as I can tell, both with -D haxe3 and without.

sledorze commented 11 years ago

Ah.. ok,

Hummm.. I think you have those errors with another (bigger) example - sorry but my free time is so tight ATM I should have run tests for Parsex that force compiling all code base..

Don't hesitate to do a pull request with the fixes.

Also, I've just realized you're in London too :) Would be nice to meet one day.

Stephane

On Fri, Nov 30, 2012 at 12:44 PM, Luca Deltodesco notifications@github.comwrote:

Didn't realise you'd made the changes. I now get these errors instead:

/usr/lib/haxe/lib/monax/1,4/com/mindrocks/monads/Monad.hx:85: characters 50-66 : Identifier 'CType' is not part of enum haxe.macro.Constant /usr/lib/haxe/lib/monax/1,4/com/mindrocks/monads/Monad.hx:85: characters 50-66 : For function argument 'c'

CType is removed for haxe3, unified with CIdent.

Modifying the files locally, doing a find/replace from 'CType' '#if haxe3 CIdent #else CType#end' fixes the problems with haxe nightly completely as far as I can tell, both with -D haxe3 and without.

— Reply to this email directly or view it on GitHubhttps://github.com/sledorze/Parsex/issues/4#issuecomment-10887857.

Stéphane Le Dorze

http://lambdabrella.blogspot.com/ http://www.linkedin.com/in/stephaneledorze http://twitter.com/stephaneledorzehttps://twitter.com/#!/stephaneledorze/status/74020060125077504

Tel: +33 (0) 6 08 76 70 15

sledorze commented 11 years ago

Please reopen it if it still applies wit Monax 2.0