# Special codes of sronCmd()

* Special codes help you to know and manipulate the SRON's interpreter.
* They are passed to `sronCmd()` function as arguments.
* They helps you to tune the inner working of SRON's interpreter.
* Below given are the following codes which SRON provides:

1. **SRON\_CMD\_OBUFFER\_CLEAR:**

It clears all the content in OBUFFER without flushing them on the terminal/command line.

```javascript
{
    name : Main 

    OBUFFER += "Hello there! Sron"

    sronCmd(SRON_CMD_OBUFFER_CLEAR)

    console : ( '>' , OBUFFER , '<')  @ Output:  ><
}
```

***

2. **SRON\_CMD\_IS\_OBUFFER\_EMPTY:**

It clears all the content in OBUFFER without flushing them on the terminal/command line.

```javascript
{
    name : Main

    Bool is_obuffer_empty = sronCmd( SRON_CMD_IS_OBUFFER_EMPTY )

    println( is_obuffer_empty )  @ Output: true

    OBUFFER += 27062003

    is_obuffer_empty = sronCmd( SRON_CMD_IS_OBUFFER_EMPTY )

    println( is_obuffer_empty )   @ Output: false
}
```

***

3. **SRON\_CMD\_SIZEOF\_OBUFFER:**

It returns the number of characters OBUFFER contains. In other words, it returns the length of content of OBUFFER.

```javascript
{
    name : Main

    OBUFFER += 2003      @ four characters only

    Int len = sronCmd( SRON_CMD_SIZEOF_OBUFFER )

    println( len )   @ Output: 4
}
```

***

4. **SRON\_CMD\_IS\_FILE\_AVAILABLE:**

It searches for the file in the current directory and if the file is found, returns true otherwise false.

```javascript
{
    name : Main 

    Bool is_file_available = sronCmd( SRON_CMD_IS_FILE_AVAILABLE , "hello.txt" )

    println( is_file_available )  @Output: false
}
```

***

5. **SRON\_CMD\_GC\_STACK\_LEN:**

It returns the length of stack of Garbage Collector.

```javascript
{
    name : Fnc1

    Int len_of_gc_stack = sronCmd( SRON_CMD_GC_STACK_LEN )

    println(len_of_gc_stack)  @ Output: 3
}

{
    name : Fnc2

    Fnc1()
}

{
    name : Main

    Fnc2()
}
```

***

6. **SRON\_CMD\_IS\_BYTECODE\_CACHED:**

It returns true if the bytecode is cached otherwise returns false. If a function is called before, then it automatically cached by the SRON's interpreter.

```javascript
{
    name : Fnc

    println("> Fnc called")
}
{
    name : Main

    Bool is_bytecode_cached = sronCmd( SRON_CMD_IS_BYTECODE_CACHED , "Fnc.srb") 

    println( is_bytecode_cached )

    Fnc()

    is_bytecode_cached = sronCmd( SRON_CMD_IS_BYTECODE_CACHED , "Fnc.srb")

    println( is_bytecode_cached )
}
```

***

7. **SRON\_CMD\_NO\_OF\_BYTECODE\_CACHED:**

It returns the number of all the cached bytecode files.

```javascript
{
    name : Fnc 

    println("\n > Fnc Called")
}

{
    name : Main  @ Main function never get cached

    Int no_of_bytecode_cached = sronCmd(SRON_CMD_NO_OF_BYTECODE_CACHED)

    Fnc()
    Fnc()     @ a function is cached only once

    no_of_bytecode_cached = sronCmd(SRON_CMD_NO_OF_BYTECODE_CACHED)

    println(" Total cached bytecodes= ", no_of_bytecode_cached)  @ Output: 1
}
```

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sron.gitbook.io/docs/special-codes-of-sron_cmd.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
