I am interested in sharing knowledge for the interest of the public. Here we learn how to contribute to a Wiki formatted content.

To link a page to another page both of which contain the efinition of a phrase in different languages:
Add [[en:Polyhedron]] at the end. en, fa, ... are the name of languages and Polyhedron is the name of the phrase you are interested in in the target language.
OR vice versa [[fa:چندوجهی]]

براي افزودن يك نام ديگر يك صفحه در ويكي (يك صفحه در ويكي وجود دارد و شما مي خواهيد جستجو براي يك نام ديگر آن صفحه خواننده را به همان صفحه ايي كه هست بكشاند بأيد يك تغيير مسير إيجاد كنيد: يك صفحه جديد با نام ديگر صفحه فعلي بسازيد و در آن صفحه تنها بگذاريد: 
#تغييرمسير ]]دكتر حشمت اله[[
#تغییرمسیر [[اسم صفحهٔ ۲]]

External Link

in line with text put [kba-corpus] right in the middle. in the uttom of the document put [kba-corpus]: "kba-corpus"

== '''A title that will be added to the contents menu in the beginning of the document definition.''' ==
* bullet
** sub-bullet
<pre> is a box to write code in
:        indent
'''bold word'''
<code> make </code>

Example Code:
== '''Error Messages:''' ==

* Error: syntax is undefined for code template:
** Happens when calling a non-terminal that is not defined in the code or is defined after it has been accessed in tags.
* Error: undefined symbol:
* syntax error, unexpected LBR, expecting ENDTAG
** on: PRINT inputCodeAST[Stmts];
* Invalid assignment from returnType to "int"
** on:
<xform lookupVariable pars=(arrayId) output=(returnType)>
    PRINT ("IN lookupVariable"arrayId);
    for(i = blockIndex; i >= 0; i = i- 1){

== '''To add the syntax highlighting of POET to vim''' ==

*In home directory   
::$ mkdir .vim
::$ cd !$
::$ mkdir syntax
::$ cd !$
::$ wget    //put your syntax file here
::$ vim ~/.vimrc                 //append /syntax to your ~/.vimrc

== '''To remove an element from MAP''' ==
:Assign empty string to the desired key.

Make sure that when initialising variables through something like a switch-case statement, it is not already defined or initialised.
<xform traverseDeclaratorIdAssignmentList pars=(type, content, symbolTable)>
case CODE.DeclaratorIdAssignmentList1#(arrayId, declaratorIdAssignmentList) :
    symbolTable[arrayId] = type;
        case CODE.DeclaratorIdAssignmentList#('''content1''') :
            traverseDeclaratorIdAssignmentList(type, content1, symbolTable);

here, if you were to use '''content''' as the name of the variable to be filled in the inner switch, it will not fill out.


== '''AST - Rebuild Example''' ==

* First the caller <code>.pt</code> code (e.g. named <code></code> file):

<parameter inputFile type=STRING />
<parameter syntaxFile type=STRING />
<input to=inputAST from=inputFile syntax=syntaxFile />

    PRINT inputAST;

* Second the <code>.code</code> file which includes the CFG of your language (e.g. <code>c.code</code> file)


include utils.incl

<xform BuildExpr />

<code Stmts/>
<code Stmt/>
<code Expr/>
<code Add_/>
<code Add/>
<code Add1/>


<code Bop pars=(op : STRING, opd1: Expr, opd2: Expr)>
(opd1 op opd2)

<xform F pars=(inh, content)>
switch (content){
case CODE.Add1#(term, add_): F(Bop#("+", inh, term), add_)
case "" : inh
case CODE.Add_#(v1): F(inh, v1)


<code Term pars=(content : INT) rebuild=(content)>

<code Add1 pars=(term : Term, add_ : Add_ ) >
+ @term@ @add_@

<code Add_ pars=(content : Add1 | "")>

<code Add pars=(term: Term, add_ : Add_ ) rebuild=(XFORM.F(term, add_))>
@term@ @add_@

<code Expr pars=(add:Add) >


<code ExprStmt pars=(content : CODE.Expr) rebuild=(content)>

<code Stmt pars=(content :  ExprStmt ) rebuild=(content)>

<code Stmts parse=LIST(Stmt, "\n") />

<code Start pars=(content : CODE.Stmts) rebuild=(content)>

<define PARSE Start />


To run the program it is advisable to include the input and output file names in a file and make that file executable and call that. Here we made a file:  <code>Makefile</code> make it executable and call it by just calling <code> make </code> in linux.


    $(PCG) $(DEBUG) \
      -pinputFile=$(INPUT) \
      -psyntaxFile=$(GRAMMAR) \

For a test file  (e.g. <code>test.c</code>) as below:


The output would be

will look like this: