isa: removed the perltex and replaced ...
authorMartin Perner <martin@perner.cc>
Wed, 20 Oct 2010 19:34:21 +0000 (21:34 +0200)
committerMartin Perner <martin@perner.cc>
Wed, 20 Oct 2010 19:34:21 +0000 (21:34 +0200)
... with a very small shell^W perl script

isasty/Makefile
isasty/gentex.pl [new file with mode: 0755]
isasty/isa.tex
isasty/isa_file.tex [deleted file]
isasty/isa_gen.tex [deleted file]
isasty/perltex.sty [deleted file]
isasty/sample.ptex [new file with mode: 0755]

index 387fed0556e9c22974cc5d20cf53b8a01448af73..b63c26b98412bfabb9a420eb18dae14d2e782844 100644 (file)
@@ -2,19 +2,22 @@ SHELL := bash
 
 LATEX := pdflatex
 
-all: noperltex.sty
-       $(LATEX) isa.tex
+FILES = isa.tex
+TARGET = isa.pdf
 
-noperltex.sty: isa_file.tex
-       @if $(SHELL) -c 'perltex --help' > /dev/null 2>&1; then \
-               perltex --makesty --latex=pdflatex isa_gen.tex; \
-               rm -f isa_gen.pdf isa_gen.log isa_gen.aux isa_gen.dfpl isa_gen.frpl isa_gen.lgpl isa_gen.topl isa_gen.pipe; \
-       else \
-               echo "no perltex installed! i hope you have the builded files";\
-       fi
+ISA_FILES = sample.ptex
 
-clean:
-       @rm -f isa.aux isa.log isa.pdf
+ISA_BUILD = $(ISA_FILES:.ptex=.tex)
+
+all: $(TARGET)
+
+$(TARGET) : $(FILES) $(ISA_BUILD)
+       $(LATEX) $(@:.pdf=.tex)
 
-cleanall: clean
-       @rm -f noperltex.sty noperltex-*.tex
+%.tex : %.ptex
+       ./gentex.pl $^
+
+.PHONY: clean
+
+clean:
+               rm -rf *.aux *.log *.dvi *.pdf *.toc *.out $(ISA_BUILD)
diff --git a/isasty/gentex.pl b/isasty/gentex.pl
new file mode 100755 (executable)
index 0000000..a36281a
--- /dev/null
@@ -0,0 +1,149 @@
+#!/usr/bin/perl
+
+sub ins {
+       my $bits = $_[0];
+       my $bline;
+       #bit value line
+       my $vline;
+       my $nline;
+       #print bit value line
+       my $pvline;
+       my @bitlist;
+       my $tabular;
+
+
+       $count = 0;
+       @fields = split(/\|/, $_[3]);
+       foreach my $field (@fields) {
+               #remove heading and trailing spaces
+               $field =~ s/^\s+//;
+               $field =~ s/\s+$//;
+
+               $count += $field;
+               #$tabular .= $field." \\\\";
+       }
+
+       if($count != $bits) {
+               return "Num of Fields not equal to Bits!";
+       }
+       $count = 0;
+       @fieldnames = split(/\|/, $_[4]);
+
+       if(scalar(@fields) != scalar(@fieldnames)) {
+               return "Num of Fields != Num of Names";
+       }
+
+       $pvline = 0;
+       foreach my $fieldn (@fieldnames) {
+               #remove heading and trailing spaces
+               $fieldn =~ s/^\s+//;
+               $fieldn =~ s/\s+$//;
+
+               if($fieldn =~ m/^[^\(.]*\(\s*([0-1]+)\s*\).*$/) {
+                       if(length($1) == $fields[$count]) {
+                               push(@bitlist,$1);
+                               $fieldn =~  s/\s?\(\s*[0-1]+\s*\)//;
+                               $pvline = 1;
+                       }
+                       else {
+                               $x = '';
+                               for($i = 1; $i <= $fields[$count]; $i++) {
+                                       $x .= 'X';
+                               }
+                       push(@bitlist,$x);
+                       }
+               }
+               else {
+                       $x = '';
+                       for($i = 1; $i <= $fields[$count]; $i++) {
+                               $x .= 'X';
+                       }
+                       push(@bitlist,$x);
+               }
+               #$tabular .= $fieldn.": ". $bits." \\\\";
+               $count++;
+       }
+       $bitlist = join("",@bitlist);
+
+       #$tabular .= "\\textbf{names:} @fieldnames \n";
+       #$tabular .= "\\textbf{bitlist:} $bitlist \n";
+
+       $count = $bits-1;
+
+       $tabular = "\\begin{center} \n \\resizebox{\\textwidth}{!}{\n";
+       $tabular .= "\\begin{tabular}{|l|";
+       for($i = $bits-1; $i >= 0; $i--) {
+               #build table
+               $tabular .= "c|";
+
+               #build bitcount
+               $bline .= $i;
+               if($i != 0) {
+                       $bline .= " & ";
+               }
+               else {
+                       $bline .= "\\\\ \\hline \n";
+               }
+
+               #build bitvalue
+               $vline .= substr($bitlist,($bits-1)-$i,1);
+               if($i != 0) {
+                       $vline .= " & ";
+               }
+               else {
+                       $vline .= "\\\\ \\hline \n";
+               }
+
+               #build nameline
+               #because of multicolumn we need to limit execution
+               if($i == $count) {
+                       $nline .= "\\multicolumn{@fields[0]}{>{\\columncolor{names}}c|}{@fieldnames[0]}";
+
+                       #update count
+                       $count -= @fields[0];
+
+                       if($count <= 0) {
+                               $nline .= "\\\\ \\hline \n";
+                       }
+                       else {
+                               $nline .= " & ";
+                       }
+
+                       shift(@fieldnames);
+                       shift(@fields);
+               }
+       }
+       $tabular .= "} \\hline \n";
+       $tabular .= "\\multicolumn{".($bits+1)."}{|>{\\columncolor{title}}c|}{\\textbf{".$_[1]."} (".$_[2].")} \\\\ \\hline \n";
+       $tabular .= "\\rowcolor{bit} \\cellcolor{title} &". $bline;
+       if($pvline == 1) {
+               $tabular .= "\\rowcolor{bitval} \\cellcolor{title}Values &". $vline;
+       }
+       $tabular .= "\\cellcolor{title}Field &". $nline;
+       $tabular .= "\\end{tabular}\n}\n \\end{center}\n";
+
+
+       return $tabular;
+}
+
+if($#ARGV != 0) {
+       die "Usage: gentex.pl <file.ptex>";
+}
+
+open(DATA, "<".$ARGV[0]) || die "Couldn't open file $ARGV[0] for read!";
+
+$output = $ARGV[0];
+
+$output =~ s/\.[^.]*$//;
+$output .= ".tex";
+
+open(OUTPUT, ">".$output) || die "Couldn't open file $output for output!";
+
+while(<DATA>)
+{
+       $res = eval "$_";
+       print OUTPUT $res;
+}
+
+close(DATA);
+close(OUTPUT);
index 9a6289dfa171a091093dbe165fb36bd0a8b79d62..7953cc715a047ac6123797cc07eed0d3d9802151 100644 (file)
@@ -1,7 +1,5 @@
 \documentclass[a4paper,12pt]{scrartcl}
 
-\usepackage{noperltex}
-
 \usepackage{graphicx}
 
 \usepackage{colortbl}
 
 \begin{document}
 
-\perlnewcommand{\ins}[5]
-{
-       my $bits = $_[0];
-       my $bline;
-       #bit value line
-       my $vline;
-       my $nline;
-       #print bit value line
-       my $pvline;
-       my @bitlist;
-       my $tabular;
-
-
-       $count = 0;
-       @fields = split(/\|/, $_[3]);
-       foreach my $field (@fields) {
-               #remove heading and trailing spaces
-               $field =~ s/^\s+//;
-               $field =~ s/\s+$//;
-
-               $count += $field;
-               #$tabular .= $field." \\\\";
-       }
-
-       if($count != $bits) {
-               return "Num of Fields not equal to Bits!";
-       }
-       $count = 0;
-       @fieldnames = split(/\|/, $_[4]);
-
-       if(scalar(@fields) != scalar(@fieldnames)) {
-               return "Num of Fields != Num of Names";
-       }
-
-       $pvline = 0;
-       foreach my $fieldn (@fieldnames) {
-               #remove heading and trailing spaces
-               $fieldn =~ s/^\s+//;
-               $fieldn =~ s/\s+$//;
-
-               if($fieldn =~ m/^[^\(.]*\(\s*([0-1]+)\s*\).*$/) {
-                       if(length($1) == $fields[$count]) {
-                               push(@bitlist,$1);
-                               $fieldn =~  s/\s?\(\s*[0-1]+\s*\)//;
-                               $pvline = 1;
-                       }
-                       else {
-                               $x = '';
-                               for($i = 1; $i <= $fields[$count]; $i++) {
-                                       $x .= 'X';
-                               }
-                               push(@bitlist,$x);
-                       }
-               }
-               else {
-                       $x = '';
-                       for($i = 1; $i <= $fields[$count]; $i++) {
-                               $x .= 'X';
-                       }
-                       push(@bitlist,$x);
-               }
-               #$tabular .= $fieldn.": ". $bits." \\\\";
-               $count++;
-       }
-       $bitlist = join("",@bitlist);
-
-       #$tabular .= "\\textbf{names:} @fieldnames \n";
-       #$tabular .= "\\textbf{bitlist:} $bitlist \n";
-
-       $count = $bits-1;
-
-       $tabular = "\\begin{center} \n \\resizebox{\\textwidth}{!}{\n";
-       $tabular .= "\\begin{tabular}{|l|";
-       for($i = $bits-1; $i >= 0; $i--) {
-               #build table
-               $tabular .= "c|";
-
-               #build bitcount
-               $bline .= $i;
-               if($i != 0) {
-                       $bline .= " & ";
-               }
-               else {
-                       $bline .= "\\\\ \\hline \n";
-               }
-
-               #build bitvalue
-               $vline .= substr($bitlist,($bits-1)-$i,1);
-               if($i != 0) {
-                       $vline .= " & ";
-               }
-               else {
-                       $vline .= "\\\\ \\hline \n";
-               }
-
-               #build nameline
-               #because of multicolumn we need to limit execution
-               if($i == $count) {
-                       $nline .= "\\multicolumn{@fields[0]}{>{\\columncolor{names}}c|}{@fieldnames[0]}";
-
-                       #update count
-                       $count -= @fields[0];
-
-                       if($count <= 0) {
-                               $nline .= "\\\\ \\hline \n";
-                       }
-                       else {
-                               $nline .= " & ";
-                       }
-
-                       shift(@fieldnames);
-                       shift(@fields);
-               }
-       }
-       $tabular .= "} \\hline \n";
-       $tabular .= "\\multicolumn{".($bits+1)."}{|>{\\columncolor{title}}c|}{\\textbf{".$_[1]."} (".$_[2].")} \\\\ \\hline \n";
-       $tabular .= "\\rowcolor{bit} \\cellcolor{title} &". $bline;
-       if($pvline == 1) {
-               $tabular .= "\\rowcolor{bitval} \\cellcolor{title}Values &". $vline;
-       }
-       $tabular .= "\\cellcolor{title}Field &". $nline;
-       $tabular .= "\\end{tabular}\n}\n \\end{center}\n";
-
-
-       return $tabular;
-}
-
-\input{isa_file}
+\input{sample.tex}
 
 \end{document}
 
diff --git a/isasty/isa_file.tex b/isasty/isa_file.tex
deleted file mode 100644 (file)
index 2acfc52..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-\section{meine demo}
-
-\ins{32}{lfm}{load from memory}{5| 3| 13| 11}{opcode (10010) | lol \texttt{bla} (1011) | w00t $4+4 = \frac{16}{2}$ | m00}
-
-\section{from wiki}
-
-\ins{16}{lfm}{load from memory}{3 |1   |1   |5    |6}{  |FOO |BAR |QUUX |LEETNESS }
-
-\ins{32}{lfm}{load from memory}{ 3 | 13 | 16}{ lol |w00t | m00}
-
-\ins{32}{addi}{Add Immediate}{6 | 5 | 5 | 16 }{OpCode | rD | rA | SIMM }
-
-\ins{32}{addi}{Add Immediate}{6 | 5 | 5 | 16}{OpCode (001110) | Register Destination|Register A (Source1)| SIMM (16-bit signed integer)}
-
-
diff --git a/isasty/isa_gen.tex b/isasty/isa_gen.tex
deleted file mode 100644 (file)
index da04030..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-\documentclass[a4paper,12pt]{scrartcl}
-
-\usepackage{perltex}
-
-\usepackage{graphicx}
-
-\usepackage{colortbl}
-
-\definecolor{title}{rgb}{0.86,0.86,0.86}
-\definecolor{bit}{rgb}{0.8,0.86,0.8}
-\definecolor{bitval}{rgb}{0.8,0.8,0.8}
-\definecolor{names}{rgb}{0.86,0.93,0.86}
-
-\arrayrulecolor{black}
-
-\begin{document}
-
-\perlnewcommand{\ins}[5]
-{
-       my $bits = $_[0];
-       my $bline;
-       #bit value line
-       my $vline;
-       my $nline;
-       #print bit value line
-       my $pvline;
-       my @bitlist;
-       my $tabular;
-
-
-       $count = 0;
-       @fields = split(/\|/, $_[3]);
-       foreach my $field (@fields) {
-               #remove heading and trailing spaces
-               $field =~ s/^\s+//;
-               $field =~ s/\s+$//;
-
-               $count += $field;
-               #$tabular .= $field." \\\\";
-       }
-
-       if($count != $bits) {
-               return "Num of Fields not equal to Bits!";
-       }
-       $count = 0;
-       @fieldnames = split(/\|/, $_[4]);
-
-       if(scalar(@fields) != scalar(@fieldnames)) {
-               return "Num of Fields != Num of Names";
-       }
-
-       $pvline = 0;
-       foreach my $fieldn (@fieldnames) {
-               #remove heading and trailing spaces
-               $fieldn =~ s/^\s+//;
-               $fieldn =~ s/\s+$//;
-
-               if($fieldn =~ m/^[^\(.]*\(\s*([0-1]+)\s*\).*$/) {
-                       if(length($1) == $fields[$count]) {
-                               push(@bitlist,$1);
-                               $fieldn =~  s/\s?\(\s*[0-1]+\s*\)//;
-                               $pvline = 1;
-                       }
-                       else {
-                               $x = '';
-                               for($i = 1; $i <= $fields[$count]; $i++) {
-                                       $x .= 'X';
-                               }
-                               push(@bitlist,$x);
-                       }
-               }
-               else {
-                       $x = '';
-                       for($i = 1; $i <= $fields[$count]; $i++) {
-                               $x .= 'X';
-                       }
-                       push(@bitlist,$x);
-               }
-               #$tabular .= $fieldn.": ". $bits." \\\\";
-               $count++;
-       }
-       $bitlist = join("",@bitlist);
-
-       #$tabular .= "\\textbf{names:} @fieldnames \n";
-       #$tabular .= "\\textbf{bitlist:} $bitlist \n";
-
-       $count = $bits-1;
-
-       $tabular = "\\begin{center} \n \\resizebox{\\textwidth}{!}{\n";
-       $tabular .= "\\begin{tabular}{|l|";
-       for($i = $bits-1; $i >= 0; $i--) {
-               #build table
-               $tabular .= "c|";
-
-               #build bitcount
-               $bline .= $i;
-               if($i != 0) {
-                       $bline .= " & ";
-               }
-               else {
-                       $bline .= "\\\\ \\hline \n";
-               }
-
-               #build bitvalue
-               $vline .= substr($bitlist,($bits-1)-$i,1);
-               if($i != 0) {
-                       $vline .= " & ";
-               }
-               else {
-                       $vline .= "\\\\ \\hline \n";
-               }
-
-               #build nameline
-               #because of multicolumn we need to limit execution
-               if($i == $count) {
-                       $nline .= "\\multicolumn{@fields[0]}{>{\\columncolor{names}}c|}{@fieldnames[0]}";
-
-                       #update count
-                       $count -= @fields[0];
-
-                       if($count <= 0) {
-                               $nline .= "\\\\ \\hline \n";
-                       }
-                       else {
-                               $nline .= " & ";
-                       }
-
-                       shift(@fieldnames);
-                       shift(@fields);
-               }
-       }
-       $tabular .= "} \\hline \n";
-       $tabular .= "\\multicolumn{".($bits+1)."}{|>{\\columncolor{title}}c|}{\\textbf{".$_[1]."} (".$_[2].")} \\\\ \\hline \n";
-       $tabular .= "\\rowcolor{bit} \\cellcolor{title} &". $bline;
-       if($pvline == 1) {
-               $tabular .= "\\rowcolor{bitval} \\cellcolor{title}Values &". $vline;
-       }
-       $tabular .= "\\cellcolor{title}Field &". $nline;
-       $tabular .= "\\end{tabular}\n}\n \\end{center}\n";
-
-
-       return $tabular;
-}
-
-\input{isa_file}
-
-\end{document}
-
diff --git a/isasty/perltex.sty b/isasty/perltex.sty
deleted file mode 100644 (file)
index 1aff9fc..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-%%
-%% This is file `perltex.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% perltex.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Copyright (C) 2010 Scott Pakin <scott+pt@pakin.org>
-%% 
-%% This file may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License, either version 1.3c of this license
-%% or (at your option) any later version.  The latest version of this
-%% license is in:
-%% 
-%%    http://www.latex-project.org/lppl.txt
-%% 
-%% and version 1.3c or later is part of all distributions of LaTeX version
-%% 2006/05/20 or later.
-%% 
-\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{perltex}
-    [2010/07/10 v2.1 LaTeX macros for use with PerlTeX]
-\newif\ifplmac@required \plmac@requiredtrue
-\DeclareOption{optional}{\plmac@requiredfalse} \ProcessOptions\relax
-\newif\ifperl
-\perltrue
-\@ifundefined{plmac@tag}{\perlfalse}{}
-\@ifundefined{plmac@tofile}{\perlfalse}{}
-\@ifundefined{plmac@fromfile}{\perlfalse}{}
-\@ifundefined{plmac@toflag}{\perlfalse}{}
-\@ifundefined{plmac@fromflag}{\perlfalse}{}
-\@ifundefined{plmac@doneflag}{\perlfalse}{}
-\@ifundefined{plmac@pipe}{\perlfalse}{}
-\ifperl
-\else
-  \ifplmac@required
-    \PackageError{perltex}{Document must be compiled using perltex}
-      {Instead of compiling your document directly with latex, you need
-       to\MessageBreak use the perltex script.  \space perltex sets up
-       a variety of macros needed by\MessageBreak the perltex
-       package as well as a listener process needed for\MessageBreak
-       communication between LaTeX and Perl.}
-    \else
-      \bgroup
-        \obeyspaces
-        \typeout{perltex: Document was compiled without using the perltex script;}
-        \typeout{         it may not print as desired.}
-      \egroup
-  \fi
-\fi
-\def\perlnewcommand{%
-  \let\plmac@command=\newcommand
-  \let\plmac@next=\relax
-  \@ifnextchar*{\plmac@newcommand@i}{\plmac@newcommand@i!}%
-}
-\def\perlrenewcommand{%
-  \let\plmac@next=\relax
-  \let\plmac@command=\renewcommand
-  \@ifnextchar*{\plmac@newcommand@i}{\plmac@newcommand@i!}%
-}
-\def\plmac@newcommand@i#1#2{%
-  \ifx#1*%
-    \def\plmac@starchar{*}%
-  \else
-    \def\plmac@starchar{}%
-  \fi
-  \def\plmac@macname{#2}%
-  \let\plmac@oldbody=#2\relax
-  \expandafter\def\expandafter\plmac@cleaned@macname\expandafter{%
-    \expandafter\string\plmac@macname}%
-  \@ifnextchar[{\plmac@newcommand@ii}{\plmac@newcommand@ii[0]}%]
-}
-\def\plmac@newcommand@ii[#1]{%
-  \def\plmac@numargs{#1}%
-  \@ifnextchar[{\plmac@newcommand@iii@opt}
-               {\plmac@newcommand@iii@no@opt}%]
-}
-\def\plmac@newcommand@iii@opt[#1]{%
-  \def\plmac@defarg{#1}%
-  \plmac@haveargs
-}
-\def\plmac@newcommand@iii@no@opt{%
-  \let\plmac@defarg=\relax
-  \plmac@haveargs
-}
-\newtoks\plmac@perlcode
-\def\plmac@haveargs{%
-  \begingroup
-    \let\do\@makeother\dospecials
-    \catcode`\^^M=\active
-    \newlinechar`\^^M
-    \endlinechar=`\^^M
-    \catcode`\{=1
-    \catcode`\}=2
-    \afterassignment\plmac@havecode
-    \global\plmac@perlcode
-}
-{\catcode`\^^M=11\gdef\plmac@sep{^^M}}
-\newcount\plmac@argnum
-\def\plmac@havecode{%
-  \endgroup
-  \edef\plmac@define@sub{%
-    \noexpand\plmac@write@perl{DEF\plmac@sep
-      \plmac@tag\plmac@sep
-      \plmac@cleaned@macname\plmac@sep
-      \plmac@tag\plmac@sep
-      \the\plmac@perlcode
-    }%
-  }%
-  \plmac@define@sub
-  \edef\plmac@body{%
-    USE\plmac@sep
-    \plmac@tag\plmac@sep
-    \plmac@cleaned@macname
-  }%
-  \let\plmac@hash=\relax
-  \plmac@argnum=\@ne
-  \loop
-    \ifnum\plmac@numargs<\plmac@argnum
-    \else
-      \edef\plmac@body{%
-        \plmac@body\plmac@sep\plmac@tag\plmac@sep
-        \plmac@hash\plmac@hash\number\plmac@argnum}%
-      \advance\plmac@argnum by \@ne
-  \repeat
-  \let\plmac@hash=##%
-  \expandafter\let\plmac@macname=\relax
-  \ifx\plmac@defarg\relax
-    \edef\plmac@define@command{%
-      \noexpand\plmac@command\plmac@starchar{\plmac@macname}%
-      [\plmac@numargs]{%
-        \noexpand\plmac@write@perl{\plmac@body}%
-      }%
-  }%
-  \else
-    \edef\plmac@define@command{%
-      \noexpand\plmac@command\plmac@starchar{\plmac@macname}%
-      [\plmac@numargs][\plmac@defarg]{%
-        \noexpand\plmac@write@perl{\plmac@body}%
-      }%
-  }%
-  \fi
-  \expandafter\let\plmac@macname=\plmac@oldbody
-  \plmac@define@command
-  \plmac@next
-}
-\def\perlnewenvironment{%
-  \let\plmac@command=\newcommand
-  \let\plmac@next=\plmac@end@environment
-  \@ifnextchar*{\plmac@newenvironment@i}{\plmac@newenvironment@i!}%
-}
-\def\perlrenewenvironment{%
-  \let\plmac@command=\renewcommand
-  \let\plmac@next=\plmac@end@environment
-  \@ifnextchar*{\plmac@newenvironment@i}{\plmac@newenvironment@i!}%
-}
-\def\plmac@newenvironment@i#1#2{%
-  \ifx#1*%
-    \def\plmac@starchar{*}%
-  \else
-    \def\plmac@starchar{}%
-  \fi
-  \def\plmac@envname{#2}%
-  \expandafter\def\expandafter\plmac@macname\expandafter{\csname#2\endcsname}%
-  \expandafter\let\expandafter\plmac@oldbody\plmac@macname\relax
-  \expandafter\def\expandafter\plmac@cleaned@macname\expandafter{%
-    \expandafter\string\plmac@macname}%
-  \@ifnextchar[{\plmac@newcommand@ii}{\plmac@newcommand@ii[0]}%]
-}
-\def\plmac@end@environment{%
-  \expandafter\def\expandafter\plmac@next\expandafter{\expandafter
-    \let\csname end\plmac@envname\endcsname=\plmac@end@macro
-    \let\plmac@next=\relax
-  }%
-  \def\plmac@macname{\plmac@end@macro}%
-  \expandafter\let\expandafter\plmac@oldbody\csname end\plmac@envname\endcsname
-  \expandafter\def\expandafter\plmac@cleaned@macname\expandafter{%
-    \expandafter\string\plmac@macname}%
-  \@ifnextchar[{\plmac@newcommand@ii}{\plmac@newcommand@ii[0]}%]
-}
-\def\perldo{%
-  \begingroup
-    \let\do\@makeother\dospecials
-    \catcode`\^^M=\active
-    \newlinechar`\^^M
-    \endlinechar=`\^^M
-    \catcode`\{=1
-    \catcode`\}=2
-    \afterassignment\plmac@have@run@code
-    \global\plmac@perlcode
-}
-\def\plmac@have@run@code{%
-  \endgroup
-  \edef\plmac@run@code{%
-    \noexpand\plmac@write@perl{RUN\plmac@sep
-      \plmac@tag\plmac@sep
-      N/A\plmac@sep
-      \plmac@tag\plmac@sep
-      \the\plmac@perlcode
-    }%
-  }%
-  \plmac@run@code
-}
-\newif\ifplmac@file@exists
-\newcommand{\plmac@await@existence}[1]{%
-  \begin{lrbox}{\@tempboxa}%
-    \input\plmac@pipe
-  \end{lrbox}%
-  \loop
-    \IfFileExists{#1}%
-                 {\plmac@file@existstrue}%
-                 {\plmac@file@existsfalse}%
-    \ifplmac@file@exists
-    \else
-  \repeat
-}
-\newwrite\plmac@outfile
-\newcommand{\plmac@write@perl}{%
-  \begingroup
-    \let\do\@makeother\dospecials
-    \catcode`\^^M=\active
-    \newlinechar`\^^M
-    \endlinechar=`\^^M
-    \catcode`\{=1
-    \catcode`\}=2
-    \plmac@write@perl@i
-}
-\ifperl
-  \newcommand{\plmac@write@perl@i}[1]{%
-      \immediate\openout\plmac@outfile=\plmac@tofile\relax
-      \let\protect=\noexpand
-      \def\begin{\noexpand\begin}%
-      \def\end{\noexpand\end}%
-      \immediate\write\plmac@outfile{#1}%
-      \immediate\closeout\plmac@outfile
-    \endgroup
-    \immediate\openout\plmac@outfile=\plmac@toflag\relax
-    \immediate\closeout\plmac@outfile
-    \plmac@await@existence\plmac@fromflag
-    \immediate\openout\plmac@outfile=\plmac@tofile\relax
-    \immediate\closeout\plmac@outfile
-    \plmac@await@existence\plmac@doneflag
-    \input\plmac@fromfile\relax
-  }
-\else
-  \newcommand{\plmac@write@perl@i}[1]{\endgroup}
-  \gdef\plmac@show@placeholder#1#2\@empty{%
-    \ifx#1D\relax
-      \endgroup
-    \else
-      \endgroup
-      \fbox{Perl\TeX}%
-    \fi
-  }%
-  \AtBeginDocument{%
-    \renewcommand{\plmac@write@perl@i}[1]{%
-      \plmac@show@placeholder#1\@empty
-    }%
-  }
-\fi
-\endinput
-%%
-%% End of file `perltex.sty'.
diff --git a/isasty/sample.ptex b/isasty/sample.ptex
new file mode 100755 (executable)
index 0000000..8e99dbb
--- /dev/null
@@ -0,0 +1,12 @@
+return "\\section{my demo}\n ";
+ins ('32', 'lfm', 'load from memory', '5| 3| 13| 11', 'opcode (10010) | lol \\texttt  {bla} (1011) | w00t $4+4 = {\\begingroup 16\\endgroup \\over 2}$ | m00');
+
+return "\\section{from wiki}\n ";
+ins ('16', 'lfm', 'load from memory', '3 |1 |1 |5 |6', ' |FOO |BAR |QUUX |LEETNESS ');
+
+ins ('32', 'lfm', 'load from memory', ' 3 | 13 | 16', ' lol |w00t | m00');
+
+ins ('32', 'addi', 'Add Immediate', '6 | 5 | 5 | 16 ', 'OpCode | rD | rA | SIMM ');
+
+ins ('32', 'addi', 'Add Immediate', '6 | 5 | 5 | 16', 'OpCode (001110) | Register Destination|Register A (Source1)| SIMM (16-bit signed integer)');
+