aa
com.cliffc.aa.REPL Class Referenceabstract

an implementation of language AA More...

Collaboration diagram for com.cliffc.aa.REPL:
[legend]

Static Public Member Functions

static String go ()
 

Static Public Attributes

static final String prompt ="> "
 

Static Package Functions

static String go_one (String prog, String line)
 
static void init ()
 

Detailed Description

an implementation of language AA

Definition at line 11 of file REPL.java.

Member Function Documentation

◆ go()

static String com.cliffc.aa.REPL.go ( )
static

Definition at line 13 of file REPL.java.

13  {
14  String prog = "";
15  init();
16  Scanner stdin = new Scanner(System.in);
17  while( stdin.hasNextLine() )
18  prog = go_one(prog,stdin.nextLine());
19  return prog;
20  }

References com.cliffc.aa.REPL.go_one(), and com.cliffc.aa.REPL.init().

Referenced by com.cliffc.aa.AA.main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ go_one()

static String com.cliffc.aa.REPL.go_one ( String  prog,
String  line 
)
staticpackage

Definition at line 27 of file REPL.java.

27  {
28  String prog2 = prog+line+";"+System.lineSeparator();
29  TypeEnv te = Exec.go(Env.file_scope(Env.top_scope()),"stdin",prog2);
30  if( te._errs == null ) {
31  Type t = te._t;
32  if( t instanceof TypeMemPtr )
33  t = te._tmem.ld((TypeMemPtr)t); // Peek thru pointer
34  SB sb = t.str(new SB(),new VBitSet(),te._tmem,false); // Print what we see, with memory
35  System.out.println( sb.toString() );
36  prog = prog2;
37  } else
38  System.out.print( te._errs.get(0) );
39  System.out.print(prompt);
40  System.out.flush();
41  return prog;
42  }

References com.cliffc.aa.TypeEnv._errs, com.cliffc.aa.TypeEnv._t, com.cliffc.aa.TypeEnv._tmem, com.cliffc.aa.Env.file_scope(), com.cliffc.aa.Exec.go(), com.cliffc.aa.type.TypeMem.ld(), com.cliffc.aa.REPL.prompt, com.cliffc.aa.type.TypeMemPtr.str(), com.cliffc.aa.Env.top_scope(), and com.cliffc.aa.util.SB.toString().

Referenced by com.cliffc.aa.REPL.go(), com.cliffc.aa.TestREPL.test(), and com.cliffc.aa.TestREPL.testerr().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init()

static void com.cliffc.aa.REPL.init ( )
staticpackage

Definition at line 22 of file REPL.java.

22  {
23  System.out.print(prompt);
24  System.out.flush();
25  }

References com.cliffc.aa.REPL.prompt.

Referenced by com.cliffc.aa.REPL.go(), and com.cliffc.aa.TestREPL.open_repl().

Here is the caller graph for this function:

Member Data Documentation

◆ prompt

final String com.cliffc.aa.REPL.prompt ="> "
static

The documentation for this class was generated from the following file:
com.cliffc.aa.Env.top_scope
static Env top_scope()
Definition: Env.java:72
com.cliffc.aa.type.TypeMemPtr.str
SB str(SB sb, VBitSet dups, TypeMem mem, boolean debug)
Definition: TypeMemPtr.java:52
com.cliffc.aa.type.Type
an implementation of language AA
Definition: Type.java:94
com.cliffc.aa.REPL.prompt
static final String prompt
Definition: REPL.java:12
com.cliffc.aa.REPL.go_one
static String go_one(String prog, String line)
Definition: REPL.java:27
com.cliffc.aa.Env.file_scope
static Env file_scope(Env top_scope)
Definition: Env.java:116
com.cliffc.aa.util.VBitSet
Definition: VBitSet.java:5
com.cliffc.aa.util.SB
Tight/tiny StringBuilder wrapper.
Definition: SB.java:8
com.cliffc.aa.Env
Definition: Env.java:12
com.cliffc.aa.REPL.init
static void init()
Definition: REPL.java:22
com.cliffc.aa.util.SB.toString
String toString()
Definition: SB.java:62
com.cliffc.aa.type.TypeMemPtr
Definition: TypeMemPtr.java:14