Menu

LexerException Decimal point ... no values

Help
typomaniac
2007-10-18
2013-05-28
  • typomaniac

    typomaniac - 2007-10-18

    Hi,
    I've been attempting to run the examples in the "overview" document - the "threads and getline" examples - and am encountering a message of the form:

    E:\javaWorkSpaces>java -jar jawk.1_01.jar ./aTest.awk
    Exception in thread "main" org.jawk.frontend.AwkParser$LexerException: Decimal point encountered with no values on either side. (line 0)
            at org.jawk.frontend.AwkParser.lexer(AwkParser.java:452)
            at org.jawk.frontend.AwkParser.parse(AwkParser.java:236)
            at org.jawk.Awk.invoke(Awk.java:114)
            at org.jawk.Awk.main(Awk.java:83)

    E:\javaWorkSpaces>type aTest.awk
    implements Runnable;
    BEGIN {
      new Thread(this,"test 0").start();
      new Thread(this,"test 1").start();
      new Thread(this,"test 2").start();
    }
    function run() {
      for(i=0;i<2;i++){
        print "hello world!";
          }
    }

    It doesn't seem to matter how I run this, DOS ( as per the above), cygwin, or eclipse, so I don't think it is an environment thing...

    At a guess it is getting lost on the "." in ".start();" but that doesn't get me far.

    Simple BEGIN {print "hello world"} and the example scripts such as the fibonacci script work fine.

    BTW, there appears to be no default RS value. Only when i use something like RS="[\r]*[\n]+" inside the AWK BEGIN{} block does default record splitting occur as I might expect it.

    Any how looking for clues and hints... this is potentially rather useful to me so a big "THANKS!"
    ..rrb

     
    • typomaniac

      typomaniac - 2007-10-18

      A correction on my previous message. I missed the "-f" and obtained the prior message output ( which is similar, and interesting for that reason), here is what I am actually doing:

      E:\javaWorkSpaces>java -jar jawk.1_01.jar -f ./aTest.awk
      Exception in thread "main" org.jawk.frontend.AwkParser$LexerException: Decimal point encountered with no values on either side. (line 2)
              at org.jawk.frontend.AwkParser.lexer(AwkParser.java:452)
              at org.jawk.frontend.AwkParser.lexer(AwkParser.java:292)
              at org.jawk.frontend.AwkParser.SYMBOL(AwkParser.java:1196)
              at org.jawk.frontend.AwkParser.FACTOR(AwkParser.java:1097)
              at org.jawk.frontend.AwkParser.FACTOR_FOR_INCDEC(AwkParser.java:1016)
              at org.jawk.frontend.AwkParser.FACTOR_FOR_IN(AwkParser.java:983)
              at org.jawk.frontend.AwkParser.FACTOR_FOR_GETLINE(AwkParser.java:967)
              at org.jawk.frontend.AwkParser.TERM(AwkParser.java:939)
              at org.jawk.frontend.AwkParser.EXPRESSION(AwkParser.java:871)
              at org.jawk.frontend.AwkParser.COMPARISON_EXPRESSION(AwkParser.java:853)
              at org.jawk.frontend.AwkParser.LE2_EXPRESSION(AwkParser.java:833)
              at org.jawk.frontend.AwkParser.LE1_EXPRESSION(AwkParser.java:816)
              at org.jawk.frontend.AwkParser.TERTIARY_EXPRESSION(AwkParser.java:802)
              at org.jawk.frontend.AwkParser.CONCAT_EXPRESSION(AwkParser.java:785)
              at org.jawk.frontend.AwkParser.CONCAT_EXPRESSION(AwkParser.java:788)
              at org.jawk.frontend.AwkParser.COMMA_EXPRESSION(AwkParser.java:768)
              at org.jawk.frontend.AwkParser.ASSIGNMENT_EXPRESSION(AwkParser.java:749)
              at org.jawk.frontend.AwkParser.EXPRESSION_STATEMENT(AwkParser.java:1272)
              at org.jawk.frontend.AwkParser.STATEMENT(AwkParser.java:1257)
              at org.jawk.frontend.AwkParser.STATEMENT_LIST(AwkParser.java:721)
              at org.jawk.frontend.AwkParser.RULE(AwkParser.java:694)
              at org.jawk.frontend.AwkParser.RULE_LIST(AwkParser.java:615)
              at org.jawk.frontend.AwkParser.RULE_LIST(AwkParser.java:622)
              at org.jawk.frontend.AwkParser.SCRIPT(AwkParser.java:599)
              at org.jawk.frontend.AwkParser.parse(AwkParser.java:237)
              at org.jawk.Awk.invoke(Awk.java:114)
              at org.jawk.Awk.main(Awk.java:83)

      and the code (as before):

      E:\javaWorkSpaces>type aTest.awk
      implements Runnable;
      BEGIN {
      new Thread(this,"test 0").start();
      new Thread(this,"test 1").start();
      new Thread(this,"test 2").start();
      }
      function run() {
      for(i=0;i<2;i++){
      print "hello world!";
      }
      }

       
    • ddaglas

      ddaglas - 2007-10-20

      Hi, and thanks for your interest in Jawk!

      Jawk versions prior to 1.00 support Java services (such as Thread, Socket, etc) while Jawk version 1.00 and later do not.  This is because Jawk 1.00 is a complete rewrite from its previous versions.  If you're interested, you'll find the rationale behind my decision to eliminate Java services on the Jawk homepage (http://www.jawk.org/).

      To execute the above script, download and run it with Jawk 0.14 (the last version of Jawk which supports Java services).  However, if you're looking for an efficient, clean AWK runtime environment, then download the latest version of Jawk.

      Dan

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.