diff --git a/test.js b/test.js index a360582..201c329 100755 --- a/test.js +++ b/test.js @@ -9,6 +9,7 @@ var errors = require("./errors.js"); var tokens = require("./tokenize.js"); var tools = require("./tools.js"); var typecheck = require("./typecheck.js"); +var representation = require("./representation.js"); var _ = require("underscore"); var qc = require("quickcheck"); @@ -16,6 +17,26 @@ var assert = require("assert"); /* my own generators */ + +function arbIdentifier(construct) { + var result = qc.arbString(); + if (_.size(result) > 0 && + tokens.isIdentifier(result[0])) { + return new construct(result); + } + else { + return arbIdentifier(); + } +} + +function arbName() { + return arbIdentifier(representation.Name); +} + +function arbTypeOp() { + return arbIdentifier(representation.TypeOp); +} + function arbArray(gen) { return qc.arbArray(gen); } @@ -108,4 +129,5 @@ function toolsTests() { } -toolsTests(); +//toolsTests(); +console.log(arbTypeOp()); diff --git a/tokenize.js b/tokenize.js index 23e226f..744d71f 100755 --- a/tokenize.js +++ b/tokenize.js @@ -423,6 +423,5 @@ function tokenizeFull(input) { return tokenizeHelp(input, matchop, true); } - module.exports = {tokenize : tokenizeFull, isIdentifier : isIdentifier};