aa
AA.java
Go to the documentation of this file.
1 package com.cliffc.aa;
2 
3 import com.cliffc.aa.node.Node;
4 
8 @SuppressWarnings("unchecked")
9 public abstract class AA {
10  public static RuntimeException unimpl() { return unimpl("unimplemented"); }
11  public static RuntimeException unimpl(String msg) { throw new RuntimeException(msg); }
12  // Indices common between Nodes & Types & TVars.
13  public static final int CTL_IDX=0; // Often 0 is just used directly
14  public static final int MEM_IDX=1; // Memory index
15  public static final int DSP_IDX=2; // Display index to calls
16  public static final int REZ_IDX=2; // Result from returns, same as DSP_IDX
17  public static final int ARG_IDX=3; // Start of user-visible args
18 
19  private static final AbstractBuildVersion ABV;
20  static {
21  AbstractBuildVersion abv = null;
22  try {
23  Class klass = Class.forName("com.cliffc.aa.BuildVersion");
24  java.lang.reflect.Constructor constructor = klass.getConstructor();
25  abv = (AbstractBuildVersion) constructor.newInstance();
26  } catch (Exception ignore) { }
27  ABV = abv;
28  }
29  public static void main( String[] args ) {
30  System.out.println(ABV.toString());
31  if( args.length > 0 ) System.out.println(Exec.go(Env.file_scope(Env.top_scope()),"args",String.join(" ",args))._t.toString());
32  else REPL.go();
33  }
34  public static boolean DEBUG = true;
35  public static <T> T p(T x, String s) {
36  if( !AA.DEBUG ) return x;
37  System.err.println(s);
38  return x;
39  }
40  public static String p () { return Env.START.dumprpo(false,false); } // Debugging hook
41  public static String plive() { return Env.START.dumprpo(false,true ); } // Debugging hook
42  public static Node f(int uid) { return Env.START.find(uid); } // Debugging hook
43  public static int UID=-1;
44 }
com.cliffc.aa.Exec
an implementation of language AA
Definition: Exec.java:6
com.cliffc.aa.AbstractBuildVersion
Definition: AbstractBuildVersion.java:5
com.cliffc.aa.AA.f
static Node f(int uid)
Definition: AA.java:42
com.cliffc.aa.REPL.go
static String go()
Definition: REPL.java:13
com.cliffc
com.cliffc.aa.Env.top_scope
static Env top_scope()
Definition: Env.java:72
com.cliffc.aa.type.Type.toString
final String toString()
Definition: Type.java:127
com.cliffc.aa.node.Node
Definition: Node.java:16
com.cliffc.aa.AA.p
static< T > T p(T x, String s)
Definition: AA.java:35
com.cliffc.aa.AA.unimpl
static RuntimeException unimpl(String msg)
Definition: AA.java:11
com.cliffc.aa.AA.p
static String p()
Definition: AA.java:40
com.cliffc.aa.AA.unimpl
static RuntimeException unimpl()
Definition: AA.java:10
com.cliffc.aa.Env.START
static StartNode START
Definition: Env.java:14
com.cliffc.aa.REPL
an implementation of language AA
Definition: REPL.java:11
com.cliffc.aa.AbstractBuildVersion.toString
String toString()
Definition: AbstractBuildVersion.java:12
com.cliffc.aa.TypeEnv._t
final Type _t
Definition: TypeEnv.java:10
com.cliffc.aa.AA.plive
static String plive()
Definition: AA.java:41
com.cliffc.aa.Env.file_scope
static Env file_scope(Env top_scope)
Definition: Env.java:116
com.cliffc.aa.AA.main
static void main(String[] args)
Definition: AA.java:29
com.cliffc.aa.AA.DEBUG
static boolean DEBUG
Definition: AA.java:34
com.cliffc.aa.AA
an implementation of language AA
Definition: AA.java:9
com.cliffc.aa
Definition: AA.java:1
com.cliffc.aa.Exec.go
static TypeEnv go(Env top, String src, String str)
Definition: Exec.java:8
com.cliffc.aa.AA.ABV
static final AbstractBuildVersion ABV
Definition: AA.java:19
com
com.cliffc.aa.Env
Definition: Env.java:12
com.cliffc.aa.node
Definition: AssertNode.java:1