<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.1" xml:lang="en-US">
  <compounddef id="basic__tokenizer_8h" kind="file" language="C++">
    <compoundname>basic_tokenizer.h</compoundname>
    <includes refid="kernel_8h" local="no">kernel.h</includes>
    <includedby refid="kernel_8h" local="yes">kernel.h</includedby>
    <incdepgraph>
      <node id="26">
        <label>ata.h</label>
        <link refid="ata_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="4">
        <label>stdbool.h</label>
      </node>
      <node id="39">
        <label>basic.h</label>
        <link refid="basic_8h"/>
      </node>
      <node id="29">
        <label>ramdisk.h</label>
        <link refid="ramdisk_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="41">
        <label>acpi.h</label>
        <link refid="acpi_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="45">
        <label>arp.h</label>
        <link refid="arp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="52">
        <label>dns.h</label>
        <link refid="dns_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="32">
        <label>fat32.h</label>
        <link refid="fat32_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="50">
        <label>udp.h</label>
        <link refid="udp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="30">
        <label>iso9660.h</label>
        <link refid="iso9660_8h"/>
      </node>
      <node id="9">
        <label>spinlock.h</label>
        <link refid="spinlock_8h"/>
      </node>
      <node id="48">
        <label>tcp.h</label>
        <link refid="tcp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="23">
        <label>devicename.h</label>
        <link refid="devicename_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="8">
        <label>idt.h</label>
        <link refid="idt_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="3">
        <label>stdint.h</label>
      </node>
      <node id="53">
        <label>drawing.h</label>
        <link refid="drawing_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="1">
        <label>basic_tokenizer.h</label>
        <link refid="basic__tokenizer_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="43">
        <label>rtl8139.h</label>
        <link refid="rtl8139_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="18">
        <label>ioapic.h</label>
        <link refid="ioapic_8h"/>
      </node>
      <node id="5">
        <label>stddef.h</label>
      </node>
      <node id="6">
        <label>limits.h</label>
      </node>
      <node id="35">
        <label>keyboard.h</label>
        <link refid="keyboard_8h"/>
      </node>
      <node id="15">
        <label>io.h</label>
        <link refid="io_8h"/>
      </node>
      <node id="10">
        <label>printf.h</label>
        <link refid="printf_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="44">
        <label>e1000.h</label>
        <link refid="e1000_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="38">
        <label>lapic_timer.h</label>
        <link refid="lapic__timer_8h"/>
      </node>
      <node id="7">
        <label>limine.h</label>
      </node>
      <node id="36">
        <label>input.h</label>
        <link refid="input_8h"/>
      </node>
      <node id="54">
        <label>fpu.h</label>
        <link refid="fpu_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="13">
        <label>video.h</label>
        <link refid="video_8h"/>
      </node>
      <node id="49">
        <label>icmp.h</label>
        <link refid="icmp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="46">
        <label>ip.h</label>
        <link refid="ip_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="27">
        <label>filesystem.h</label>
        <link refid="filesystem_8h"/>
      </node>
      <node id="22">
        <label>maths.h</label>
        <link refid="maths_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="31">
        <label>devfs.h</label>
        <link refid="devfs_8h"/>
      </node>
      <node id="34">
        <label>errorhandler.h</label>
        <link refid="errorhandler_8h"/>
      </node>
      <node id="47">
        <label>ethernet.h</label>
        <link refid="ethernet_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>kernel.h</label>
        <link refid="kernel_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="14" relation="include">
        </childnode>
        <childnode refid="15" relation="include">
        </childnode>
        <childnode refid="16" relation="include">
        </childnode>
        <childnode refid="17" relation="include">
        </childnode>
        <childnode refid="18" relation="include">
        </childnode>
        <childnode refid="19" relation="include">
        </childnode>
        <childnode refid="20" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="23" relation="include">
        </childnode>
        <childnode refid="24" relation="include">
        </childnode>
        <childnode refid="25" relation="include">
        </childnode>
        <childnode refid="26" relation="include">
        </childnode>
        <childnode refid="27" relation="include">
        </childnode>
        <childnode refid="28" relation="include">
        </childnode>
        <childnode refid="29" relation="include">
        </childnode>
        <childnode refid="30" relation="include">
        </childnode>
        <childnode refid="31" relation="include">
        </childnode>
        <childnode refid="32" relation="include">
        </childnode>
        <childnode refid="33" relation="include">
        </childnode>
        <childnode refid="34" relation="include">
        </childnode>
        <childnode refid="35" relation="include">
        </childnode>
        <childnode refid="36" relation="include">
        </childnode>
        <childnode refid="37" relation="include">
        </childnode>
        <childnode refid="38" relation="include">
        </childnode>
        <childnode refid="39" relation="include">
        </childnode>
        <childnode refid="1" relation="include">
        </childnode>
        <childnode refid="40" relation="include">
        </childnode>
        <childnode refid="41" relation="include">
        </childnode>
        <childnode refid="42" relation="include">
        </childnode>
        <childnode refid="43" relation="include">
        </childnode>
        <childnode refid="44" relation="include">
        </childnode>
        <childnode refid="45" relation="include">
        </childnode>
        <childnode refid="46" relation="include">
        </childnode>
        <childnode refid="47" relation="include">
        </childnode>
        <childnode refid="48" relation="include">
        </childnode>
        <childnode refid="49" relation="include">
        </childnode>
        <childnode refid="50" relation="include">
        </childnode>
        <childnode refid="51" relation="include">
        </childnode>
        <childnode refid="52" relation="include">
        </childnode>
        <childnode refid="53" relation="include">
        </childnode>
        <childnode refid="54" relation="include">
        </childnode>
      </node>
      <node id="16">
        <label>memcpy.h</label>
        <link refid="memcpy_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="28">
        <label>partition.h</label>
        <link refid="partition_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="12">
        <label>random.h</label>
        <link refid="random_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="40">
        <label>taskswitch.h</label>
        <link refid="taskswitch_8h"/>
      </node>
      <node id="11">
        <label>hashmap.h</label>
        <link refid="hashmap_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="42">
        <label>net.h</label>
        <link refid="net_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="19">
        <label>timer.h</label>
        <link refid="timer_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="33">
        <label>debugger.h</label>
        <link refid="debugger_8h"/>
      </node>
      <node id="24">
        <label>interrupt.h</label>
        <link refid="interrupt_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="20">
        <label>kmalloc.h</label>
        <link refid="kmalloc_8h"/>
        <childnode refid="5" relation="include">
        </childnode>
      </node>
      <node id="21">
        <label>pci.h</label>
        <link refid="pci_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="17">
        <label>apic.h</label>
        <link refid="apic_8h"/>
      </node>
      <node id="14">
        <label>string.h</label>
        <link refid="string_8h"/>
      </node>
      <node id="25">
        <label>ahci.h</label>
        <link refid="ahci_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="51">
        <label>dhcp.h</label>
        <link refid="dhcp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="37">
        <label>clock.h</label>
        <link refid="clock_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="27">
        <label>ramdisk.h</label>
        <link refid="ramdisk_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="3">
        <label>acpi.h</label>
        <link refid="acpi_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="5">
        <label>arp.h</label>
        <link refid="arp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="9">
        <label>dns.h</label>
        <link refid="dns_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="13">
        <label>fat32.h</label>
        <link refid="fat32_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="31">
        <label>udp.h</label>
        <link refid="udp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="30">
        <label>tcp.h</label>
        <link refid="tcp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="7">
        <label>devicename.h</label>
        <link refid="devicename_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="17">
        <label>idt.h</label>
        <link refid="idt_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="10">
        <label>drawing.h</label>
        <link refid="drawing_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="1">
        <label>basic_tokenizer.h</label>
        <link refid="basic__tokenizer_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="29">
        <label>rtl8139.h</label>
        <link refid="rtl8139_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="26">
        <label>printf.h</label>
        <link refid="printf_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="11">
        <label>e1000.h</label>
        <link refid="e1000_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="18">
        <label>initialisation-functions.h</label>
        <link refid="initialisation-functions_8h"/>
      </node>
      <node id="14">
        <label>fpu.h</label>
        <link refid="fpu_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="16">
        <label>icmp.h</label>
        <link refid="icmp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="20">
        <label>ip.h</label>
        <link refid="ip_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="21">
        <label>maths.h</label>
        <link refid="maths_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="12">
        <label>ethernet.h</label>
        <link refid="ethernet_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>kernel.h</label>
        <link refid="kernel_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="1" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="14" relation="include">
        </childnode>
        <childnode refid="15" relation="include">
        </childnode>
        <childnode refid="16" relation="include">
        </childnode>
        <childnode refid="17" relation="include">
        </childnode>
        <childnode refid="18" relation="include">
        </childnode>
        <childnode refid="19" relation="include">
        </childnode>
        <childnode refid="20" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="23" relation="include">
        </childnode>
        <childnode refid="24" relation="include">
        </childnode>
        <childnode refid="25" relation="include">
        </childnode>
        <childnode refid="26" relation="include">
        </childnode>
        <childnode refid="27" relation="include">
        </childnode>
        <childnode refid="28" relation="include">
        </childnode>
        <childnode refid="29" relation="include">
        </childnode>
        <childnode refid="30" relation="include">
        </childnode>
        <childnode refid="31" relation="include">
        </childnode>
      </node>
      <node id="22">
        <label>memcpy.h</label>
        <link refid="memcpy_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="24">
        <label>partition.h</label>
        <link refid="partition_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="28">
        <label>random.h</label>
        <link refid="random_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="15">
        <label>hashmap.h</label>
        <link refid="hashmap_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="23">
        <label>net.h</label>
        <link refid="net_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="19">
        <label>interrupt.h</label>
        <link refid="interrupt_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="25">
        <label>pci.h</label>
        <link refid="pci_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="4">
        <label>ahci.h</label>
        <link refid="ahci_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="8">
        <label>dhcp.h</label>
        <link refid="dhcp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="6">
        <label>clock.h</label>
        <link refid="clock_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
    </invincdepgraph>
      <sectiondef kind="define">
      <memberdef kind="define" id="basic__tokenizer_8h_1ad004bd52426bd91bc9d41b6efb6ea35d" prot="public" static="no">
        <name>MAX_VARNAME</name>
        <initializer>50</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="23" column="9" bodyfile="include/basic_tokenizer.h" bodystart="23" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="basic__tokenizer_8h_1aed8760364c7992625d06c93d12b2496d" prot="public" static="no">
        <name>GENERATE_ENUM</name>
        <param><defname>ENUM</defname></param>
        <initializer>ENUM,</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>These macros generate both an enum and an array of strings, these are used as part of the tokenizer to parse the names of the keywords out of the BASIC program without having to remember to match up a string and its token enum value in two places. It is also used for error reporting. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="32" column="9" bodyfile="include/basic_tokenizer.h" bodystart="32" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="basic__tokenizer_8h_1adf58d994c35f18ec84b628d8321f52e5" prot="public" static="no">
        <name>GENERATE_STRING</name>
        <param><defname>STRING</defname></param>
        <initializer>#<ref refid="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaee847e634a4297b274316de8a8ca9921" kindref="member">STRING</ref>,</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="33" column="9" bodyfile="include/basic_tokenizer.h" bodystart="33" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="basic__tokenizer_8h_1a5550a757a3d33ed38ce7298c1d190ba7" prot="public" static="no">
        <name>GENERATE_ENUM_LIST</name>
        <param><defname>MACRO</defname></param>
        <param><defname>NAME</defname></param>
        <initializer>enum NAME { MACRO(<ref refid="basic__tokenizer_8h_1aed8760364c7992625d06c93d12b2496d" kindref="member">GENERATE_ENUM</ref>) };</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="34" column="9" bodyfile="include/basic_tokenizer.h" bodystart="34" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="basic__tokenizer_8h_1a9ed1b1ec376180d8103a22b86dde3ad8" prot="public" static="no">
        <name>GENERATE_ENUM_STRING_NAMES</name>
        <param><defname>MACRO</defname></param>
        <param><defname>NAME</defname></param>
        <initializer>const char* NAME [] = { MACRO(<ref refid="basic__tokenizer_8h_1adf58d994c35f18ec84b628d8321f52e5" kindref="member">GENERATE_STRING</ref>) };</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="35" column="9" bodyfile="include/basic_tokenizer.h" bodystart="35" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="basic__tokenizer_8h_1ae61303e288a41f0e25ff8cd0c6296957" prot="public" static="no">
        <name>TOKEN</name>
        <param><defname>T</defname></param>
        <briefdescription>
<para>All tokens recognised by the interpreter. Note that built in function names are NOT tokens, they are parsed like user functions, just with a hard coded handler instead of redirecting into the user program. </para>
        </briefdescription>
        <detaileddescription>
<para>The #define below builds an enum, and can also build an array of strings of the names in the enum, which is built and used within basic.c for tokenization. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="45" column="9" bodyfile="include/basic_tokenizer.h" bodystart="45" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="enum">
      <memberdef kind="enum" id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfe" prot="public" static="no" strong="no">
        <type></type>
        <name>token_t</name>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea2fd6f336d08340583bd620a7f5694c90" prot="public">
          <name>ERROR</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeac1134699adacb9ef38af73c816283ec8" prot="public">
          <name>ENDOFINPUT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea12a90dfe20486bbe3e075afcd19ef2d0" prot="public">
          <name>NUMBER</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeab41295c7909ca312a97caf0738fb98bb" prot="public">
          <name>HEXNUMBER</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaee847e634a4297b274316de8a8ca9921" prot="public">
          <name>STRING</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea39031ce5df6f91d3778590d6d644b9ea" prot="public">
          <name>VARIABLE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeafb72619a5a922e816967c4aa49301754" prot="public">
          <name>LET</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeab107229d44d042caa8ab8df4c8acaa1f" prot="public">
          <name>PRINT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea252802eda493fb6b4a279c4452acb547" prot="public">
          <name>IF</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeabb40477a291c07277e13d096645f4305" prot="public">
          <name>THEN</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea90d649d830ea440c8b8a56c7ef23c426" prot="public">
          <name>ELSE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea84abcfd92dfa0c7274f800080bbbd035" prot="public">
          <name>CHAIN</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaa809654855caa62449850d9122fd77a8" prot="public">
          <name>FOR</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeac0ba526afb7f54207517b48a892961c2" prot="public">
          <name>STEP</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea7a745bf8e4299d36823f18d0c317cee8" prot="public">
          <name>TO</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeab13b96bf99a409e019f70dc1602532fd" prot="public">
          <name>NEXT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea63cd5d9b665699b0b17c898a414c63d5" prot="public">
          <name>CURSOR</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeadf1256e4198172eedfbf12c770d11589" prot="public">
          <name>GOTO</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea8612419d5828ef882ea333f8684fcb94" prot="public">
          <name>GOSUB</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea520e09ffec033636dba711f3441cc600" prot="public">
          <name>RETURN</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeabd0ebc08c262bab82a1882256d2d66e8" prot="public">
          <name>CALL</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeae310c909d76b003d016bef8bdf16936a" prot="public">
          <name>INPUT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeae9f7feee75ca2c376b044b67bc693d9f" prot="public">
          <name>COLOUR</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea7a5ecb5193db2d5f258ae1abd33714b9" prot="public">
          <name>COLOR</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaa44b734476c2f3d073ee7aca08660a0e" prot="public">
          <name>BACKGROUND</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea60ad4e9e08d2f606cd6a3f233c7c3777" prot="public">
          <name>EVAL</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeadaafc8212c6fd7e0adeaa5e0f3fdd178" prot="public">
          <name>OPENIN</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeacb9be765f361bb7efb9073730aac92c6" prot="public">
          <name>READ</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea685f73194ad125cbc784c3210cdb3449" prot="public">
          <name>CLOSE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaea6ac6f7e89234d17d6cd8d3bc10dd7b" prot="public">
          <name>EOF</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea4ec32ebb3d661f27da6aff17d460ac94" prot="public">
          <name>DEF</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea616db68dab196835059ff976d67fac33" prot="public">
          <name>PROC</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeac61a0be39db3e2f70423b02985bd4b63" prot="public">
          <name>RETPROC</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea2b3998cd87e8262d24320d944567c991" prot="public">
          <name>FN</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeadc6f24fd6915a3f2786a1b7045406924" prot="public">
          <name>END</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea6fa560d597fa4329bfbfecaa750f9d51" prot="public">
          <name>REM</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaf81277bcd86412fe04bb68718ea09392" prot="public">
          <name>COMMA</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea55eebe3c7e08b49cd5969442f4f8c4ce" prot="public">
          <name>SEMICOLON</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea87fe59ef12c3d13dc2a4d14c9b16c1f9" prot="public">
          <name>PLUS</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaf613d73b4e7b570ffd967df4a13c4225" prot="public">
          <name>MINUS</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea865555c9f2e0458a7078486aa1b3254f" prot="public">
          <name>AND</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea96727447c0ad447987df1c6415aef074" prot="public">
          <name>OR</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea0378ebc895849163b249d0b330257dd6" prot="public">
          <name>NOT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea4730d67b92a52e0e6ef813e8805c1623" prot="public">
          <name>EOR</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea7a48eb0b5d5a758daa1bfac07896eccb" prot="public">
          <name>ASTERISK</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaaabdfe7000ca535236502bb0c87ad944" prot="public">
          <name>SLASH</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea140fcc89db148e5975f1486e794675ba" prot="public">
          <name>MOD</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeafe809946a48c76d7ccda8e5bd1e389b7" prot="public">
          <name>OPENBRACKET</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea48b044f523c3b1a98190b9cd3dfeff10" prot="public">
          <name>CLOSEBRACKET</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea8ce9b27601f653ddc597894a1018c55d" prot="public">
          <name>LESSTHAN</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea484f1aeccc501366d064c353cf4b3c05" prot="public">
          <name>GREATERTHAN</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea949310f9cb536c15919e133f7e7316f3" prot="public">
          <name>EQUALS</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea59d02b47a666732cc6577f158272b099" prot="public">
          <name>NEWLINE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea95e91c94e7307b0b02d6278061a3aaa8" prot="public">
          <name>AMPERSAND</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfead66592048e633b05bcb00ea408b39a47" prot="public">
          <name>TILDE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeafde1bb5ef04b28059e61df449501f1c0" prot="public">
          <name>GLOBAL</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea6a4e1ff15bc0daed40ab38b3ebdc923f" prot="public">
          <name>SOCKREAD</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaaf9d42232a00c13fdacd612e4dfcb812" prot="public">
          <name>SOCKWRITE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea20391dd2915a0e64343d24c2f2e40b95" prot="public">
          <name>CONNECT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea0f06a4daf1c339047d49e224733000ec" prot="public">
          <name>SOCKCLOSE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaa5e0d06ffc1b0ee32eda539e6528a3e6" prot="public">
          <name>CLS</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaeada68b9f24186e84531a9ea174a6d54" prot="public">
          <name>GCOL</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeab023460c84f774a219d46ccf4665994c" prot="public">
          <name>LINE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea2fd33892864d1c342d3bead2f2d9ad56" prot="public">
          <name>TRIANGLE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeae552ab0a96c0384a6e918e726b7f6102" prot="public">
          <name>RECTANGLE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaa79c827759ea48f0735386c4b1188911" prot="public">
          <name>CIRCLE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea15108ccafa3232b9067f889b6156f565" prot="public">
          <name>POINT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea4129fbc9099a38a45236ef001ac88f7b" prot="public">
          <name>OPENOUT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea5d40d07a11694bcaa920c76927d4518c" prot="public">
          <name>OPENUP</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea61aa7ff70b76bff0fda378cf61d6afbc" prot="public">
          <name>WRITE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaa38c102cd5f16bce8688265f3fcd0898" prot="public">
          <name>MKDIR</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaca55b35eb23ace758d275b9201760016" prot="public">
          <name>RMDIR</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea9d61e82a9a12752f10aece1b22183913" prot="public">
          <name>DELETE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea972f3df9d279a3d3acc88bcbe4452d51" prot="public">
          <name>REPEAT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeaa4f38f5001aff1b45ecf511715d587d4" prot="public">
          <name>UNTIL</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea6c8e5f290be4be86fd5e7048654b4a50" prot="public">
          <name>DIM</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea1afe969dfc59ae506f1b734e08bf6e96" prot="public">
          <name>REDIM</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfead263caec619c4d99e4684ba0fabd9493" prot="public">
          <name>PUSH</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea061dcf4785583d8653942f2d252174fa" prot="public">
          <name>POP</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfead0ef00e708ed18ba004480dceb79ecfb" prot="public">
          <name>LOCAL</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea2b6ce73e76e23d54b62e59fba07b6616" prot="public">
          <name>CHDIR</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea72285f0e2e8529642eb0a6025b12e1e0" prot="public">
          <name>LIBRARY</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfea094487780ed8c40e1a40978135ada67e" prot="public">
          <name>YIELD</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="basic__tokenizer_8h_1a4ebc26c81c029670805b51af165f9cfeabe8c81f9db8320b327f4fe513a1a873b" prot="public">
          <name>MOUNT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="134" column="1" bodyfile="include/basic_tokenizer.h" bodystart="134" bodyend="134"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="basic__tokenizer_8h_1a67447b73d4ebd22e263ae4d8d7494a9b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>*brief Initialise tokenizer **param program program text *param ctx context *void</type>
        <definition>* brief Initialise tokenizer* * param program program text* param ctx context* void tokenizer_init</definition>
        <argsstring>(const char *program, struct basic_ctx *ctx)</argsstring>
        <name>tokenizer_init</name>
        <param>
          <type>const char *</type>
          <declname>program</declname>
        </param>
        <param>
          <type>struct <ref refid="structbasic__ctx" kindref="compound">basic_ctx</ref> *</type>
          <declname>ctx</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="140" column="6" declfile="include/basic_tokenizer.h" declline="140" declcolumn="6"/>
      </memberdef>
      <memberdef kind="function" id="basic__tokenizer_8h_1a00dbb52d768c7b1dc31776d51a4b0c6b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void tokenizer_next</definition>
        <argsstring>(struct basic_ctx *ctx)</argsstring>
        <name>tokenizer_next</name>
        <param>
          <type>struct <ref refid="structbasic__ctx" kindref="compound">basic_ctx</ref> *</type>
          <declname>ctx</declname>
        </param>
        <briefdescription>
<para>advance to next token </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctx</parametername>
</parameternamelist>
<parameterdescription>
<para>context </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="147" column="6" declfile="include/basic_tokenizer.h" declline="147" declcolumn="6"/>
      </memberdef>
      <memberdef kind="function" id="basic__tokenizer_8h_1ad1bbf905fff7e37e6244ceb8ac31656b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int tokenizer_token</definition>
        <argsstring>(struct basic_ctx *ctx)</argsstring>
        <name>tokenizer_token</name>
        <param>
          <type>struct <ref refid="structbasic__ctx" kindref="compound">basic_ctx</ref> *</type>
          <declname>ctx</declname>
        </param>
        <briefdescription>
<para>peek to next token </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctx</parametername>
</parameternamelist>
<parameterdescription>
<para>context </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>int token </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="155" column="5" declfile="include/basic_tokenizer.h" declline="155" declcolumn="5"/>
      </memberdef>
      <memberdef kind="function" id="basic__tokenizer_8h_1ad40ac0288be0a9ef70c9cd31b66663de" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int64_t</type>
        <definition>int64_t tokenizer_num</definition>
        <argsstring>(struct basic_ctx *ctx, int token)</argsstring>
        <name>tokenizer_num</name>
        <param>
          <type>struct <ref refid="structbasic__ctx" kindref="compound">basic_ctx</ref> *</type>
          <declname>ctx</declname>
        </param>
        <param>
          <type>int</type>
          <declname>token</declname>
        </param>
        <briefdescription>
<para>Get integer number as next token (do not advance the pointer) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctx</parametername>
</parameternamelist>
<parameterdescription>
<para>context </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>token</parametername>
</parameternamelist>
<parameterdescription>
<para>token (NUMBER or HEXNUMBER) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>int64_t number read from program </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="165" column="9" declfile="include/basic_tokenizer.h" declline="165" declcolumn="9"/>
      </memberdef>
      <memberdef kind="function" id="basic__tokenizer_8h_1a9a48b9685f151008f71e4346eb1cf68c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void tokenizer_fnum</definition>
        <argsstring>(struct basic_ctx *ctx, int token, double *f)</argsstring>
        <name>tokenizer_fnum</name>
        <param>
          <type>struct <ref refid="structbasic__ctx" kindref="compound">basic_ctx</ref> *</type>
          <declname>ctx</declname>
        </param>
        <param>
          <type>int</type>
          <declname>token</declname>
        </param>
        <param>
          <type>double *</type>
          <declname>f</declname>
        </param>
        <briefdescription>
<para>Get real number as next token (do not advance the pointer) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctx</parametername>
</parameternamelist>
<parameterdescription>
<para>context </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>token</parametername>
</parameternamelist>
<parameterdescription>
<para>token (NUMBER) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>f</parametername>
</parameternamelist>
<parameterdescription>
<para>number read from program </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="175" column="6" declfile="include/basic_tokenizer.h" declline="175" declcolumn="6"/>
      </memberdef>
      <memberdef kind="function" id="basic__tokenizer_8h_1aec506ea7f004aaa4d5cb3a9e4ed1e61e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* tokenizer_variable_name</definition>
        <argsstring>(struct basic_ctx *ctx)</argsstring>
        <name>tokenizer_variable_name</name>
        <param>
          <type>struct <ref refid="structbasic__ctx" kindref="compound">basic_ctx</ref> *</type>
          <declname>ctx</declname>
        </param>
        <briefdescription>
<para>Get a variable name as next token (do not advance the pointer) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctx</parametername>
</parameternamelist>
<parameterdescription>
<para>context </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>const char* variable name </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="184" column="12" declfile="include/basic_tokenizer.h" declline="184" declcolumn="12"/>
      </memberdef>
      <memberdef kind="function" id="basic__tokenizer_8h_1a749f588540db6d7cec847d658a9e6a8d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool</type>
        <definition>bool tokenizer_string</definition>
        <argsstring>(char *dest, int len, struct basic_ctx *ctx)</argsstring>
        <name>tokenizer_string</name>
        <param>
          <type>char *</type>
          <declname>dest</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <param>
          <type>struct <ref refid="structbasic__ctx" kindref="compound">basic_ctx</ref> *</type>
          <declname>ctx</declname>
        </param>
        <briefdescription>
<para>Get a string constant as the next token (do not advance the pointer) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>dest</parametername>
</parameternamelist>
<parameterdescription>
<para>destination string buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>length of destination buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ctx</parametername>
</parameternamelist>
<parameterdescription>
<para>context </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>true if succesfully found a string constant </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="195" column="6" declfile="include/basic_tokenizer.h" declline="195" declcolumn="6"/>
      </memberdef>
      <memberdef kind="function" id="basic__tokenizer_8h_1a7dd37ac7fb189bdb8e99de3ddff44444" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int tokenizer_finished</definition>
        <argsstring>(struct basic_ctx *ctx)</argsstring>
        <name>tokenizer_finished</name>
        <param>
          <type>struct <ref refid="structbasic__ctx" kindref="compound">basic_ctx</ref> *</type>
          <declname>ctx</declname>
        </param>
        <briefdescription>
<para>Returns true if the program is finished (does not advance the pointer) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctx</parametername>
</parameternamelist>
<parameterdescription>
<para>context </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>int true if the program has finished </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="204" column="5" declfile="include/basic_tokenizer.h" declline="204" declcolumn="5"/>
      </memberdef>
      <memberdef kind="function" id="basic__tokenizer_8h_1a6bb8f288ca3badb019539980d26250fc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void tokenizer_error_print</definition>
        <argsstring>(struct basic_ctx *ctx, const char *error)</argsstring>
        <name>tokenizer_error_print</name>
        <param>
          <type>struct <ref refid="structbasic__ctx" kindref="compound">basic_ctx</ref> *</type>
          <declname>ctx</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>error</declname>
        </param>
        <briefdescription>
<para>display an error to the terminal and end the program </para>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="note"><para>If the program is running an EVAL, the error is printed but the program is not ended, instead ERROR$ and ERROR are set.</para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctx</parametername>
</parameternamelist>
<parameterdescription>
<para>context </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>error</parametername>
</parameternamelist>
<parameterdescription>
<para>error message </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="214" column="6" declfile="include/basic_tokenizer.h" declline="214" declcolumn="6"/>
      </memberdef>
      <memberdef kind="function" id="basic__tokenizer_8h_1a10c211d14b4b64ef5063a54ac3628cf9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int get_next_token</definition>
        <argsstring>(struct basic_ctx *ctx)</argsstring>
        <name>get_next_token</name>
        <param>
          <type>struct <ref refid="structbasic__ctx" kindref="compound">basic_ctx</ref> *</type>
          <declname>ctx</declname>
        </param>
        <briefdescription>
<para>Get the next token (advances the pointer past the end of the token) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctx</parametername>
</parameternamelist>
<parameterdescription>
<para>context </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>int token found </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="223" column="5" declfile="include/basic_tokenizer.h" declline="223" declcolumn="5"/>
      </memberdef>
      <memberdef kind="function" id="basic__tokenizer_8h_1ab40661a3dcab47340e3f60f66a0ac328" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool</type>
        <definition>bool tokenizer_decimal_number</definition>
        <argsstring>(struct basic_ctx *ctx)</argsstring>
        <name>tokenizer_decimal_number</name>
        <param>
          <type>struct <ref refid="structbasic__ctx" kindref="compound">basic_ctx</ref> *</type>
          <declname>ctx</declname>
        </param>
        <briefdescription>
<para>Check if a decimal number is at the current program pointer. (does not advance the pointer) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctx</parametername>
</parameternamelist>
<parameterdescription>
<para>context </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>true if pointer points at a decimal number </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/basic_tokenizer.h" line="233" column="6" declfile="include/basic_tokenizer.h" declline="233" declcolumn="6"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="include/basic_tokenizer.h"/>
  </compounddef>
</doxygen>
