Added JNI example, this is what usage hsould look like soon.

This commit is contained in:
aegis 2013-04-23 17:53:26 +02:00
parent f817211446
commit 1529c0641e
2 changed files with 89 additions and 41 deletions

View file

@ -16,51 +16,50 @@ public class Hammer
TT_SEQUENCE(16),
TT_ERR(32),
TT_USER(64),
TT_MAX(128);
private int value;
public int getValue() { return this.value; }
private HTokenType(int value) { this.value = value; }
}
public static native HParseResult hParse(HParser parser, byte[] input, int length);
public static native HParser hToken(byte[] str, int length);
public static native HParser hCh(byte c);
public static native HParser hChRange(byte from, byte to);
public static native HParser hIntRange(HParser p, int lower, int upper);
public static native HParser hBits(int len, boolean sign);
public static native HParser hInt64();
public static native HParser hInt32();
public static native HParser hInt16();
public static native HParser hInt8();
public static native HParser hUInt64();
public static native HParser hUInt32();
public static native HParser hUInt16();
public static native HParser hUInt8();
public static native HParser hWhitespace(HParser p);
public static native HParser hLeft(HParser p, HParser q);
public static native HParser hRight(HParser p, HParser q);
public static native HParser hMiddle(HParser p, HParser x, HParser q);
public static native HParser hAction(HParser p, HAction a);
public static native HParser hIn(byte[] charset, int length);
public static native HParser hEndP();
public static native HParser hNothingP();
public static native HParser hSequence(HParser[] parsers);
public static native HParser hChoice(HParser[] parsers);
public static native HParser hButNot(HParser p1, HParser p2);
public static native HParser hDifference(HParser p1, HParser p2);
public static native HParser hXor(HParser p1, HParser p2);
public static native HParser hMany(HParser p);
public static native HParser hMany1(HParser p);
public static native HParser hRepeatN(HParser p, int n);
public static native HParser hOptional(HParser p);
public static native HParser hIgnore(HParser p);
public static native HParser hSepBy(HParser p, HParser sep);
public static native HParser hSepBy1(HParser p, HParser sep);
public static native HParser hEpsilonP();
public static native HParser hLengthValue(HParser length, HParser value);
public static native HParser hAttrBool(HParser p, HPredicate pred);
public static native HParser hAnd(HParser p);
public static native HParser hNot(HParser p);
public static native HParser hIndirect();
public static native HParseResult parse(HParser parser, byte[] input, int length);
public static native HParser token(byte[] str, int length);
public static native HParser ch(byte c);
public static native HParser chRange(byte from, byte to);
public static native HParser intRange(HParser p, int lower, int upper);
public static native HParser bits(int len, boolean sign);
public static native HParser int64();
public static native HParser int32();
public static native HParser int16();
public static native HParser int8();
public static native HParser uInt64();
public static native HParser uInt32();
public static native HParser uInt16();
public static native HParser uInt8();
public static native HParser whitespace(HParser p);
public static native HParser left(HParser p, HParser q);
public static native HParser right(HParser p, HParser q);
public static native HParser middle(HParser p, HParser x, HParser q);
public static native HParser action(HParser p, HAction a);
public static native HParser in(byte[] charset, int length);
public static native HParser endP();
public static native HParser nothingP();
public static native HParser sequence(HParser[] parsers);
public static native HParser choice(HParser[] parsers);
public static native HParser butNot(HParser p1, HParser p2);
public static native HParser difference(HParser p1, HParser p2);
public static native HParser xor(HParser p1, HParser p2);
public static native HParser many(HParser p);
public static native HParser many1(HParser p);
public static native HParser repeatN(HParser p, int n);
public static native HParser optional(HParser p);
public static native HParser ignore(HParser p);
public static native HParser sepBy(HParser p, HParser sep);
public static native HParser sepBy1(HParser p, HParser sep);
public static native HParser epsilonP();
public static native HParser lengthValue(HParser length, HParser value);
public static native HParser attrBool(HParser p, HPredicate pred);
public static native HParser and(HParser p);
public static native HParser not(HParser p);
public static native HParser indirect();
}