Groonga 3.0.9 Source Code Document
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
codegen.c File Reference
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include "mruby.h"
#include "mruby/compile.h"
#include "mruby/irep.h"
#include "mruby/numeric.h"
#include "mruby/debug.h"
#include "node.h"
#include "opcode.h"
#include "re.h"
Include dependency graph for codegen.c:

Go to the source code of this file.

Data Structures

struct  loopinfo
struct  scope

Macros

#define NOVAL   0
#define VAL   1
#define nregs_update   do {if (s->sp > s->nregs) s->nregs = s->sp;} while (0)
#define push()   push_(s)
#define pop_(s)   ((s)->sp--)
#define pop()   pop_(s)
#define pop_n(n)   (s->sp-=(n))
#define cursp()   (s->sp)
#define sym(x)   ((mrb_sym)(intptr_t)(x))
#define lv_name(lv)   sym((lv)->car)
#define CALL_MAXARGS   127

Typedefs

typedef mrb_ast_node node
typedef struct mrb_parser_state parser_state
typedef struct scope codegen_scope

Enumerations

enum  looptype {
  LOOP_NORMAL, LOOP_BLOCK, LOOP_FOR, LOOP_BEGIN,
  LOOP_RESCUE
}

Functions

void * codegen_malloc (codegen_scope *s, size_t len)
void * codegen_realloc (codegen_scope *s, void *p, size_t len)
void codedump_all (mrb_state *mrb, int start)
int mrb_generate_code (mrb_state *mrb, parser_state *p)

Variables

enum looptype type

Macro Definition Documentation

#define CALL_MAXARGS   127

Definition at line 729 of file codegen.c.

#define cursp ( )    (s->sp)

Definition at line 395 of file codegen.c.

#define lv_name (   lv)    sym((lv)->car)

Definition at line 484 of file codegen.c.

#define NOVAL   0

Definition at line 160 of file codegen.c.

#define nregs_update   do {if (s->sp > s->nregs) s->nregs = s->sp;} while (0)

Definition at line 380 of file codegen.c.

#define pop ( )    pop_(s)

Definition at line 393 of file codegen.c.

#define pop_ (   s)    ((s)->sp--)

Definition at line 392 of file codegen.c.

#define pop_n (   n)    (s->sp-=(n))

Definition at line 394 of file codegen.c.

#define push ( )    push_(s)

Definition at line 391 of file codegen.c.

#define sym (   x)    ((mrb_sym)(intptr_t)(x))

Definition at line 483 of file codegen.c.

#define VAL   1

Definition at line 161 of file codegen.c.

Typedef Documentation

typedef struct scope codegen_scope
typedef mrb_ast_node node

Definition at line 20 of file codegen.c.

Definition at line 21 of file codegen.c.

Enumeration Type Documentation

enum looptype
Enumerator:
LOOP_NORMAL 
LOOP_BLOCK 
LOOP_FOR 
LOOP_BEGIN 
LOOP_RESCUE 

Definition at line 23 of file codegen.c.

Function Documentation

void codedump_all ( mrb_state mrb,
int  start 
)

Definition at line 2823 of file codegen.c.

void* codegen_malloc ( codegen_scope s,
size_t  len 
)

Definition at line 118 of file codegen.c.

Here is the call graph for this function:

void* codegen_realloc ( codegen_scope s,
void *  p,
size_t  len 
)

Definition at line 127 of file codegen.c.

Here is the call graph for this function:

int mrb_generate_code ( mrb_state mrb,
parser_state p 
)

Definition at line 2855 of file codegen.c.

Here is the caller graph for this function:

Variable Documentation

enum looptype type