Added asterix project
git-svn-id: https://asterixdb.googlecode.com/svn/trunk/asterix@12 eaa15691-b419-025a-1212-ee371bd00084
diff --git a/asterix-runtime/src/main/javacc/AdmLexer.jj b/asterix-runtime/src/main/javacc/AdmLexer.jj
new file mode 100644
index 0000000..fbab62f
--- /dev/null
+++ b/asterix-runtime/src/main/javacc/AdmLexer.jj
@@ -0,0 +1,150 @@
+options {
+
+
+ STATIC = false;
+
+}
+
+PARSER_BEGIN(AdmLexer)
+
+package edu.uci.ics.asterix.adm.parser;
+
+import java.io.*;
+
+public class AdmLexer {
+
+ public static void main(String args[]) throws ParseException, TokenMgrError, IOException, FileNotFoundException {
+ File file = new File(args[0]);
+ Reader freader = new BufferedReader(new InputStreamReader
+ (new FileInputStream(file), "UTF-8"));
+ AdmLexer flexer = new AdmLexer(freader);
+ Token t = null;
+ do {
+ t = flexer.next();
+ System.out.println(AdmLexerConstants.tokenImage[t.kind]);
+ } while (t.kind != EOF);
+ freader.close();
+ }
+
+ public Token next() throws ParseException {
+ return getNextToken();
+ }
+
+ public String tokenKindToString(int tokenKind) {
+ return AdmLexerConstants.tokenImage[tokenKind];
+ }
+}
+
+PARSER_END(AdmLexer)
+
+<DEFAULT>
+TOKEN :
+{
+ <NULL_LITERAL : "null">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <TRUE_LITERAL : "true">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <FALSE_LITERAL : "false">
+}
+
+
+<DEFAULT>
+TOKEN :
+{
+ <INTEGER_LITERAL : ("-")? (<DIGIT>)+ >
+}
+
+
+<DEFAULT>
+TOKEN :
+{
+ <#DIGIT : ["0" - "9"]>
+}
+
+
+TOKEN:
+{
+ < DOUBLE_LITERAL:
+ ("-")? <INTEGER> ( "." <INTEGER> )? (<EXPONENT>)?
+ | ("-")? "." <INTEGER>
+ >
+ | < #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ >
+ | <INTEGER : (<DIGIT>)+ >
+ | <FLOAT_LITERAL: <DOUBLE_LITERAL>("f"|"F")>
+ }
+
+<DEFAULT>
+TOKEN :
+{
+ <STRING_LITERAL : ("\"" (<EscapeQuot> | ~["\""])* "\"") >
+ |
+ < #EscapeQuot: "\\\"" >
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <START_RECORD : "{">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <END_RECORD : "}">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <COMMA : ",">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <COLON : ":">
+}
+
+
+<DEFAULT>
+TOKEN :
+{
+ <START_ORDERED_LIST : "[">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <END_ORDERED_LIST : "]">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <START_UNORDERED_LIST : "{{">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <END_UNORDERED_LIST : "}}">
+}
+
+
+
+
+SKIP:
+{
+ " "
+| "\t"
+| "\r"
+| "\n"
+}
diff --git a/asterix-runtime/src/main/javacc/nontagged/AdmLexer.jj b/asterix-runtime/src/main/javacc/nontagged/AdmLexer.jj
new file mode 100644
index 0000000..f556d54
--- /dev/null
+++ b/asterix-runtime/src/main/javacc/nontagged/AdmLexer.jj
@@ -0,0 +1,362 @@
+options {
+
+
+ STATIC = false;
+
+}
+
+PARSER_BEGIN(AdmLexer)
+
+package edu.uci.ics.asterix.adm.parser.nontagged;
+
+import java.io.*;
+
+public class AdmLexer {
+
+ public static void main(String args[]) throws ParseException, TokenMgrError, IOException, FileNotFoundException {
+ File file = new File(args[0]);
+ Reader freader = new BufferedReader(new InputStreamReader
+ (new FileInputStream(file), "UTF-8"));
+ AdmLexer flexer = new AdmLexer(freader);
+ Token t = null;
+ do {
+ t = flexer.next();
+ System.out.println(AdmLexerConstants.tokenImage[t.kind]);
+ } while (t.kind != EOF);
+ freader.close();
+ }
+
+ public Token next() throws ParseException {
+ return getNextToken();
+ }
+
+ public String tokenKindToString(int tokenKind) {
+ return AdmLexerConstants.tokenImage[tokenKind];
+ }
+}
+
+PARSER_END(AdmLexer)
+
+<DEFAULT>
+TOKEN :
+{
+ <NULL_LITERAL : "null">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <TRUE_LITERAL : "true">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <FALSE_LITERAL : "false">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <BOOLEAN_CONS : ("boolean") >
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <CONSTRUCTOR_OPEN : ("(")>
+}
+
+
+<DEFAULT>
+TOKEN :
+{
+ <CONSTRUCTOR_CLOSE : (")")>
+}
+
+<DEFAULT>
+TOKEN:
+{
+ <INT8_LITERAL : ("-" | "+")? (<DIGIT>)+ ("i8")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <INT8_CONS : ("int8") >
+}
+
+<DEFAULT>
+TOKEN:
+{
+ <INT16_LITERAL : ("-" | "+")? (<DIGIT>)+ ("i16")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <INT16_CONS : ("int16") >
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <INT32_LITERAL : ("-" | "+")? (<DIGIT>)+ ("i32")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <INT32_CONS : ("int32")>
+}
+
+<DEFAULT>
+TOKEN:
+{
+ <INT64_LITERAL : ("-" | "+")? (<DIGIT>)+ ("i64")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <INT64_CONS : ("int64") >
+}
+
+<DEFAULT>
+TOKEN:
+{
+ <INT_LITERAL : ("-" | "+")? (<DIGIT>)+>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <CIRCLE_LITERAL : "P"<DOUBLE_LITERAL>(",") <DOUBLE_LITERAL> ("R") <DOUBLE_LITERAL> >
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <CIRCLE_CONS : ("circle") >
+}
+
+
+<DEFAULT>
+TOKEN :
+{
+ <TIMEZONE_LITERAL : (("+"|"-")<INTEGER>(":")<INTEGER>) | ("Z") >
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <DATE_LITERAL : ("-")?<INTEGER>("-")<INTEGER>("-")<INTEGER> (<TIMEZONE_LITERAL>)? >
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <DATE_CONS : ("date")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <TIME_LITERAL : <INTEGER>(":")<INTEGER>(":")<INTEGER> ( (":")<INTEGER>)? (<TIMEZONE_LITERAL>)? >
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <TIME_CONS : ("time")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <DATETIME_LITERAL : ("-")? <INTEGER>("-")<INTEGER>("-")<INTEGER>("T")<INTEGER>(":")<INTEGER>(":")<INTEGER> ( (":")<INTEGER>)? (<TIMEZONE_LITERAL>)?>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <DATETIME_CONS : ("datetime")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <DURATION_LITERAL : ("-")? ("D")(<INTEGER>("Y"))?(<INTEGER>("M"))?(<INTEGER>("D"))?(("T")(<INTEGER>("H"))?(<INTEGER>("M"))?(<INTEGER>("S"))?)?>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <DURATION_CONS : ("duration")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <#DIGIT : ["0" - "9"]>
+}
+
+TOKEN:
+{
+ < DOUBLE_LITERAL:
+ ("-" | "+")? <INTEGER> ( "." <INTEGER> )? (<EXPONENT>)?
+ | ("-" | "+")? "." <INTEGER>
+ >
+ | < #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ >
+ | <INTEGER : (<DIGIT>)+ >
+ | <FLOAT_LITERAL: <DOUBLE_LITERAL>("f"|"F")>
+ }
+
+
+<DEFAULT>
+TOKEN :
+{
+ <FLOAT_CONS : ("float")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <DOUBLE_CONS : ("double")>
+}
+
+
+<DEFAULT>
+TOKEN :
+{
+ <STRING_LITERAL : ("\"" (<EscapeQuot> | ~["\""])* "\"") >
+ |
+ < #EscapeQuot: "\\\"" >
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <STRING_CONS : ("string")>
+}
+
+
+<DEFAULT>
+TOKEN :
+{
+ <POINT_LITERAL : "P"<DOUBLE_LITERAL>(",")<DOUBLE_LITERAL>>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <POINT_CONS : ("point")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <POINT3D_LITERAL : "P" <DOUBLE_LITERAL>(",") <DOUBLE_LITERAL> (",") <DOUBLE_LITERAL>>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <POINT3D_CONS : ("point3d")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <LINE_LITERAL : "P"<DOUBLE_LITERAL>(",") <DOUBLE_LITERAL> ("P") <DOUBLE_LITERAL> (",") <DOUBLE_LITERAL>>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <LINE_CONS : ("line")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <POLYGON_LITERAL : "P"<DOUBLE_LITERAL>(",") <DOUBLE_LITERAL> ("P") <DOUBLE_LITERAL> (",") <DOUBLE_LITERAL> (("P") <DOUBLE_LITERAL> (",") <DOUBLE_LITERAL>)+>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <POLYGON_CONS : ("polygon")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <RECTANGLE_CONS : ("rectangle")>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <RECTANGLE_LITERAL : "P"<DOUBLE_LITERAL>(",") <DOUBLE_LITERAL> ("P") <DOUBLE_LITERAL> (",") <DOUBLE_LITERAL>>
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <START_RECORD : "{">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <END_RECORD : "}">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <COMMA : ",">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <COLON : ":">
+}
+
+
+<DEFAULT>
+TOKEN :
+{
+ <START_ORDERED_LIST : "[">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <END_ORDERED_LIST : "]">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <START_UNORDERED_LIST : "{{">
+}
+
+<DEFAULT>
+TOKEN :
+{
+ <END_UNORDERED_LIST : "}}">
+}
+
+
+
+
+SKIP:
+{
+ " "
+| "\t"
+| "\r"
+| "\n"
+}