Mercurial Hosting > luan
comparison src/luan/interp/LuaParser.java @ 15:bb59d7ea223b
minor
git-svn-id: https://luan-java.googlecode.com/svn/trunk@16 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Thu, 29 Nov 2012 07:59:17 +0000 |
parents | 2ddf85634d20 |
children | 2a30281ef47c |
comparison
equal
deleted
inserted
replaced
14:2ddf85634d20 | 15:bb59d7ea223b |
---|---|
667 Rule Comment() { | 667 Rule Comment() { |
668 Var<Integer> n = new Var<Integer>(); | 668 Var<Integer> n = new Var<Integer>(); |
669 return Sequence( | 669 return Sequence( |
670 "--[", | 670 "--[", |
671 ZeroOrMore('='), | 671 ZeroOrMore('='), |
672 setN(n), | 672 n.set(matchLength()), |
673 '[', | 673 '[', |
674 ZeroOrMore( | 674 ZeroOrMore( |
675 TestNot(CommentEnd(n)), | 675 TestNot(CommentEnd(n)), |
676 ANY | 676 ANY |
677 ), | 677 ), |
678 CommentEnd(n) | 678 CommentEnd(n) |
679 ); | 679 ); |
680 } | 680 } |
681 | 681 |
682 Rule CommentEnd(Var<Integer> n) { | 682 Rule CommentEnd(Var<Integer> n) { |
683 return Sequence( ']', ZeroOrMore('='), eqN(n), ']' ); | 683 return Sequence( ']', ZeroOrMore('='), n.get()==matchLength(), ']' ); |
684 } | |
685 | |
686 boolean setN(Var<Integer> n) { | |
687 return n.set(matchLength()); | |
688 } | |
689 | |
690 boolean eqN(Var<Integer> n) { | |
691 return n.get()==matchLength(); | |
692 } | 684 } |
693 | 685 |
694 // for debugging | 686 // for debugging |
695 boolean print(Object o) { | 687 boolean print(Object o) { |
696 System.out.println(o); | 688 System.out.println(o); |