+
    hj                        R t ^ RIHt ^ RIt^ RIt^ RIHt ^RIHt ^RI	H
t
 ^RIHt ^RIHt ^RIHt ^R	IHt R
 R ltRR R llt]R8X  d   ]! ]! 4       4      hR# )a  Command-line entry point: `mbc build script.mb -o script.hex`.

Wires the pipeline together. `build` will raise NotImplementedError today
(parser and codegen are unfinished) -- that's expected; this exists so the
plumbing and error reporting are in place as each stage gets built out.
)annotationsN)Path)__version__)generate_bytecode)write_intel_hex)tokenize)parse)expand_macrosc               $    V ^8  d   QhRRRRRR/# )   source_pathr   output_pathreturnNone )formats   "i\\thalassa.shore.mbari.org\ProjectLibrary\ESP\FIDO\PumpController\compiler\src\microbasic_compiler\cli.py__annotate__r      s!     6 6t 6$ 64 6    c                    V P                  4       p\        \        V4      4      p\        V4      p\	        V4      pVP                  \        V4      4       R # N)	read_textr	   r   r   r   
write_textr   )r   r   sourcetokensprogrambytecodes   &&    r   buildr      sE    ""$F8F+,FFmG )H?845r   c                    V ^8  d   QhRRRR/# )r   argvzlist[str] | Noner   intr   )r   s   "r   r   r      s       3 r   c                   \         P                  ! R RR7      pVP                  RRR\         2R7       VP	                  RRR	7      pVP                  R
RR7      pVP                  R\        RR7       VP                  RR\        RR7       VP                  V 4      pVP                  R
8X  dW   VP                  ;'       g    VP                  P                  R4      p \        VP                  V4       \        RT 24       ^ # ^#   \         d*   p\        RT 2\        P                   R7        Rp?^# Rp?i\"         d*   p\        RT 2\        P                   R7        Rp?^# Rp?ii ; i)mbczRoboteq MicroBasic compiler)progdescriptionz	--versionversionz	%(prog)s )actionr%   commandT)destrequiredr   z!Compile a .mb script to Intel HEX)helpr   zPath to .mb source file)typer*   z-oz--outputz,Output .hex path (default: alongside source)z.hexzerror: )fileNzwrote )argparseArgumentParseradd_argumentr   add_subparsers
add_parserr   
parse_argsr'   outputr   with_suffixr   NotImplementedErrorprintsysstderr	Exception)r   parsersubbuild_pargsr   excs   &      r   mainr?      s6   $$%=Z[F
I;-?XY


Y

>CnnW+NnOG3LMz;ijT"D||wkkDDT[[%<%<V%D	$++{+ 	{m$% # 	GC5/

3 	GC5/

3	s*   D E+D44E+E+E&&E+__main__r   )__doc__
__future__r   r-   r7   pathlibr    r   codegenr   hexfiler   lexerr   r:   r   preprocessorr	   r   r?   __name__
SystemExitr   r   r   <module>rK      sP    #  
   & $   '66 z
TV
 r   