Merge from branch 2.7

This commit is contained in:
Michael RICOIS 2014-08-18 17:04:24 +00:00
commit 5bd9b061cf
333 changed files with 18485 additions and 2714 deletions

View File

@ -62,7 +62,7 @@ class FichierController extends Zend_Controller_Action
$file = $this->getRequest()->getParam('fichier');
$content_type = 'application/csv-tab-delimited-table';
$c = Zend_Registry::get('config');
$path = APPLICATION_PATH . '/../data/files/';
$path = $c->profil->path->files . '/';
//Envoi du fichier sur la sortie standard
if ( file_exists($path.$file) ) {
header('Content-Transfer-Encoding: none');
@ -82,7 +82,7 @@ class FichierController extends Zend_Controller_Action
$file = $this->getRequest()->getParam('fichier');
$content_type = 'application/csv-tab-delimited-table';
$c = Zend_Registry::get('config');
$path = APPLICATION_PATH . '/../data/files/';
$path = $c->profil->path->files . '/';
//Envoi du fichier sur la sortie standard
if ( file_exists($path.$file) ) {
header('Content-Transfer-Encoding: none');
@ -122,7 +122,7 @@ class FichierController extends Zend_Controller_Action
$file = $this->getRequest()->getParam('fichier');
$content_type = 'application/pdf';
$c = Zend_Registry::get('config');
$path = APPLICATION_PATH . '/../data/files/associations/';
$path = $c->profil->path->files . '/';
//Envoi du fichier sur la sortie standard
if ( file_exists($path.$file) ) {
header('Content-Transfer-Encoding: none');
@ -142,7 +142,7 @@ class FichierController extends Zend_Controller_Action
$file = $this->getRequest()->getParam('fichier');
$content_type = 'application/pdf';
$c = Zend_Registry::get('config');
$path = APPLICATION_PATH . '/../data/files/greffes/';
$path = $c->profil->path->files . '/';
//Envoi du fichier sur la sortie standard
if ( file_exists($path.$file) ) {
header('Content-Transfer-Encoding: none');

View File

@ -72,6 +72,70 @@ class UserController extends Zend_Controller_Action
$this->view->login = $login;
$this->view->authorizationHeader = base64_encode($login.':'.$pass);
$userM = new Application_Model_Sdv1Utilisateurs();
$sql = $userM->select()->where('id=?', $identity->id);
$user = $userM->fetchRow($sql);
$this->view->IdFullName = $user->civilite . ' ' . $user->nom . ' ' . $user->prenom;
$this->view->IdEmail = $user->email;
//Liste des droits
$listdroit = explode(' ', $user->droits);
//Association méthodes - droits
$assoc = array(
'getAnnoncesAsso' => array('ANNONCES'),
'getAnnoncesBalo' => array('ANNONCES'),
'getAnnoncesBoamp' => array('ANNONCES'),
'getAnnoncesLegales' => array('ANNONCES'),
'getAnnoncesNum' => array('ANNONCES'),
'getAvisRncs' => array('AVISRNCS'),
'getBanques' => array('BANQUES'),
'getBilan' => array('LIASSE'),
'getDirigeants' => array('DIRIGEANTS'),
'getIdentite' => array('IDENTITE'),
'getIdentiteProcol' => array('IDPROCOL'),
'getIndiScore' => array('INDISCORE1', 'INDISCORE2', 'INDISCORE3'),
'getInfosBourse' => array('BOURSE'),
'getInfosReg' => array('INFOSREG'),
'getLiasseInfos' => array(),
'getLienRef' => array('LIENS'),
'getLiens' => array('LIENS'),
'getLiensById' => array('LIENS'),
'getListeBilans' => array('LIASSE'),
'getListeCompetences' => array('COMPETENCES'),
'getListeEtablissements' => array('ETABLISSEMENTS'),
'getListeEvenements' => array('EVENINSEE'),
'getRapport' => array('INDISCORE3'),
'getRatios' => array('RATIOS'),
'getSubventionDetail' => array(''),
'getSubventionList' => array(''),
'getTVA' => array(''),
'getValo' => array('VALORISATION'),
'isSirenExistant' => array(''),
'searchAutreId' => array('SEARCHENT'),
'searchDir' => array('SEARCHDIR'),
'searchEntreprise' => array('SEARCHENT'),
'searchNomAdr' => array('SEARCHENT'),
'searchRefClient' => array(),
'searchSiren' => array('SEARCHENT'),
'searchTelFax' => array('SEARCHENT'),
);
$display = array();
foreach ( $listdroit as $droit ) {
foreach ( $assoc as $l => $d ) {
if ( in_array(strtoupper($droit), $d) ) {
$display[] = array(
'label' => $l,
'droit' => $droit,
);
}
}
}
$this->view->display = $display;
}
}

View File

@ -1,9 +1,11 @@
<div class="page-header"><h1>Identifiant</h1></div>
<h2>Identité</h2>
Rappel de l'identité + changement de mot de passe
<address>
<p>Login : <?=$this->login?></p>
<strong><?=$this->IdFullName?></strong><br>
<a href="mailto:#"><?=$this->IdEmail?></a>
</address>
<h2>Authorization Header</h2>
<div class="bs-callout bs-callout-warning">
@ -14,4 +16,21 @@ Base64("<?=$this->login?>:*****") = "<?=$this->authorizationHeader;?>"
</div>
<div class="page-header"><h1>Paramètres</h1></div>
Liste des droits
<table class="table">
<thead>
<tr>
<th>Méthode</th>
<th>Droit</th>
</tr>
</thead>
<tbody>
<?php if ( count($this->display)>0 ) {?>
<?php foreach ( $this->display as $d ) {?>
<tr>
<td><?=$d['label']?></td>
<td><?=$d['droit']?></td>
</tr>
<?php }?>
<?php }?>
</tbody>
</table>

View File

@ -0,0 +1,6 @@
<?php
class Application_Model_InseeDepartements extends Zend_Db_Table_Abstract
{
protected $_name = 'departements';
protected $_schema = 'insee';
}

View File

@ -18,6 +18,7 @@ return array(
'Application_Model_ExtractionCommandes' => dirname(__FILE__) . '/Model/ExtractionCommandes.php',
'Application_Model_FedasoBilans' => dirname(__FILE__) . '/Model/FedasoBilans.php',
'Application_Model_HistoriquesBilans' => dirname(__FILE__) . '/Model/HistoriquesBilans.php',
'Application_Model_InseeDepartements' => dirname(__FILE__) . '/Model/InseeDepartements.php',
'Application_Model_InseeTabVilles' => dirname(__FILE__) . '/Model/InseeTabVilles.php',
'Application_Model_JoAssoBilans' => dirname(__FILE__) . '/Model/JoAssoBilans.php',
'Application_Model_JoAssoSubventions' => dirname(__FILE__) . '/Model/JoAssoSubventions.php',

View File

@ -124,7 +124,11 @@ class Metier_Infogreffe
public function __construct()
{
//Load configuration
if ( Zend_Registry::isRegistered('config') ){
$c = Zend_Registry::get('config');
} else {
$c = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', 'production');
}
$this->config = $c->profil->infogreffe;
if ( null === $this->config ) {
throw new Exception('Unable to load configuration file.');

View File

@ -7,6 +7,8 @@ require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Infogreffe.php';
class Metier_Infogreffe_Ac extends Metier_Infogreffe
{
const INT = 1000;
/**
* Db Adapter
* @var Zend_Db_Adapter_Abstract
@ -209,7 +211,7 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
//Check if filename exist
if ( !file_exists($this->config->storage->path . '/' . $filename) ) {
throw new Exception('File not found', 'INT');
throw new Exception('File not found', self::INT);
}
} elseif ( file_exists($this->config->storage->path . '/' . $filename) ) {

View File

@ -7,6 +7,8 @@ require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Infogreffe.php';
class Metier_Infogreffe_Bi extends Metier_Infogreffe
{
const INT = 1000;
/**
* Db Adapter
* @var Zend_Db_Adapter_Abstract
@ -127,6 +129,11 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
$item->ModeDiffusion = '';
}
$item->DureeExercice = $row->duree_exercice;
/**
* Following data are not as expected as the type and other data could change
* Only num depot don't change.
*/
$item->SaisieDate = $row->saisie_date;
$item->SaisieCode = $row->saisie_code;
switch ( $row->saisie_code ) {
@ -220,7 +227,7 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
//Check if filename exist
if ( !file_exists($this->config->storage->path . '/' . $filename) ) {
throw new Exception('File not found', 'INT');
throw new Exception('File not found', self::INT);
}
} elseif ( file_exists($this->config->storage->path . '/' . $filename) ) {

View File

@ -1 +1,167 @@
<?php
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Infogreffe.php';
/**
* Infogreffe : Document Bilan
*/
class Metier_Infogreffe_St extends Metier_Infogreffe
{
/**
* Db Adapter
* @var Zend_Db_Adapter_Abstract
*/
public $db;
/**
*
* @param string $siren
*/
public function __construct($siren, $db = null)
{
parent::__construct();
//Set type
$this->type_document = 'ST';
//Set Siren
$this->siren = $siren;
//Get defaut database adapter
if ($db === null) {
$this->db = Zend_Db_Table_Abstract::getDefaultAdapter();
} else {
$this->db = $db;
}
}
public function getList()
{
}
public function getCommandeT()
{
$this->mode_diffusion = 'T';
$this->reference_client = 'T'.date('YmdHis');
//Set the filename
$filename = $this->getFilePath($type, $dateCloture) . '/' . $this->getFileName($type, $dateCloture);
try {
$xml = $this->callRequest();
} catch(Exception $e) {
throw new Exception($e->getMessage(), $e->getCode());
}
$item = $this->formatItem($xml);
$url = $item['url_acces'];
if ( empty($url) ) {
throw new Exception('File url not given');
}
if ( $orderId !== null ) {
$commandeM = new Application_Model_Sdv1GreffeCommandesBi();
$commandeM->update(array(
'cmdUrl'=> $url,
'dateCommande' => date('YmdHis'),
), 'id='.$orderId);
}
//Récupérer le fichier
$getfile = $this->download($url, $filename);
//Analyser le fichier - Nombre de page et taille
$infos = $this->pdfInfos($getfile);
//Enregistrer les infos du fichier dans la base de données
if (false !== $infos) {
$this->dbSetFile(basename($filename), $infos['size'], $infos['pages'], $infos['version']);
} else {
$this->dbSetFile(basename($filename));
}
return $filename;
}
/**
* Name of file
* @param string $type
* @param string $dateCloture
* Format : AAAA-MM-JJ
* @return string
*/
public function getFileName($type, $dateCloture)
{
if ($type=='') {
$type = 'sociaux';
}
$date = substr($dateCloture,0,4).substr($dateCloture,5,2).substr($dateCloture,8,2);
return 'ST-' . $this->siren . '-' . $type . '-' . $date . '.pdf';
}
/**
* Path of file
* @param string $type
* @param string $dateCloture
* Format : AAAA-MM-JJ
* @return string
*/
public function getFilePath($type, $dateCloture)
{
if ($type=='') {
$type = 'sociaux';
}
$dir = 'bilans' . '/' . $type . '/' . substr($dateCloture,0,4);
if ( !file_exists( $this->config->storage->path . '/' . $dir ) ) {
mkdir($this->config->storage->path . '/' . $dir, 0777, true);
}
return $dir;
}
/**
* Format XML to Array for a list of items
* @param string $xml
* @return array
*/
protected function formatList($xml)
{
}
/**
* Format XML to Array for one item
* @param string $xml
* @return array
*/
protected function formatItem($xml)
{
}
/**
* Update informations about an item in database
* @param array $list
* @return boolean
*/
protected function dbUpdateItem($list)
{
}
/**
* Set file informations in database
* @param string $filename
* @param int $size
* @param int $numberOfPage
* @param string $version
* @return boolean
*/
public function dbSetFile($filename, $size = 0, $numberOfPage = '', $version = '')
{
}
}

View File

@ -1658,7 +1658,7 @@ class MInsee
}
//
//Vérification du SIREN
if ($nbTot==0 && $actif==-1) {
require_once 'Metier/sphinx/rechercheFonc.php';
@ -1682,6 +1682,7 @@ class MInsee
}
}
//Affichage de la liste des établissements
if ( count($listeEtab)>0 ) {
foreach ($listeEtab as $etab) {
$tel=sprintf('%010d', strtr($etab['tel'],array('-'=>'', '/'=>'','.'=>'',','=>'')));

View File

@ -207,7 +207,7 @@ class MLiens2
try {
$directionsM = new Application_Model_JoRncsDirigeants();
$sql = $directionsM->select()->from($directionsM, array(
'siren','raisonSociale', 'dirSiren', 'dirRS', 'civilite', 'nom',
'LPAD(siren, 9, 000000000) AS siren','raisonSociale', 'dirSiren', 'dirRS', 'civilite', 'nom',
'prenom', 'naissance_date', 'naissance_lieu', 'fonction_code', 'fonction_lib'
))->where("typeDir IN ('PM', 'PP')")->where('dirSiren=?', $siren);

View File

@ -409,6 +409,7 @@ class MRncs
'nomCommercial' => strtoupper($entrep['nomCommercial']),
'adrNumVoie' => $entrep['adrNumVoie'],
'adrIndRep' => strtoupper($entrep['adrIndRep']),
'adrLibVoie' => strtoupper($entrep['adrLibVoie']),
'adrTypeVoie' => strtoupper($entrep['adrTypeVoie']),
'adrVoie' => strtoupper($entrep['adrVoie']),
'adrComp' => strtoupper($entrep['adrComp']),
@ -520,16 +521,16 @@ class MRncs
public function getListeJugements($siren)
{
$siren=$siren*1;
$rep=$this->iDb->select('rncs_jugements j, tabJugeRncs l, tabEvenements e',
$rep=$this->iDb->select(
'rncs_jugements j, tabJugeRncs l, tabEvenements e',
'siren, j.dateEffet, j.codeJugement, j.flux, l.libJugement, e.codEven, e.libEven,
adm1id, adm1codeFct, adm1type, adm1nom, adm1adrNum, adm1adrInd, adm1adrType, adm1adrLibVoie, adm1adrVoie, adm1adr1, adm1adr2, adm1adr3, adm1adrCP, adm1adrVille,
adm2id, adm2codeFct, adm2type, adm2nom, adm2adrNum, adm2adrInd, adm2adrType, adm2adrLibVoie, adm2adrVoie, adm2adr1, adm2adr2, adm2adr3, adm2adrCP, adm2adrVille',
"j.siren=$siren AND j.codeJugement=l.codJugement AND l.codEven=e.codEven ORDER BY j.dateEffet DESC", false, MYSQL_ASSOC);
/*adm1adrNum adm1adrInd adm1adrType adm1adrLibVoie adm1adrVoie adm1adr1 adm1adr2 adm1adr3 adm1adrCP adm1adrVille adm2codeFct adm2type adm2id adm2nom adm2adrNum adm2adrInd adm2adrType adm2adrLibVoie adm2adrVoie adm2adr1 adm2adr2 adm2adr3 adm2adrCP adm2adrVille flux dateSuppr dateInsert
Modifier Effacer 490524055 2010-12-20 11 1 1200 4000 A 0 ME TULIER 0000 IMM LE MAZIERE 4EME ETAGE Immeuble le Mazière - 4ème étage rue René Cassin */
$tabDepots=array();
foreach ($rep as $iDepot=>$depot) {
$tabDepots[]=array( 'codEven' => $depot['codEven'],
$tabDepots[]=array(
'codEven' => $depot['codEven'],
'libEven' => $depot['libEven'],
'dateEffet' => $depot['dateEffet'],
'adm1id' => $depot['adm1id'],
@ -563,7 +564,8 @@ class MRncs
public function getEvenements($siren, $nic=0, $type='', $dateDeb='', $dateFin='')
{
$tabEven=array( 'p120'=>'Réactivation de l\'entreprise',
$tabEven=array(
'p120'=>'Réactivation de l\'entreprise',
'p410'=>'Cessation juridique de l\'entreprise',
'pCAP'=>'Modification du capital social',
'pCAT'=>'Modification du type de capital',
@ -581,7 +583,8 @@ class MRncs
if ($dateDeb<>'') $strDateDeb=" AND flux>='$dateDeb' ";
if ($dateFin<>'') $strDateFin=" AND flux<='$dateFin' ";
$rep=$this->iDb->select('rncs_modifs',
$rep=$this->iDb->select(
'rncs_modifs',
'siren, nic, `table`, champs, valeur, flux, dateInsert',
"siren=$siren $strNic $strType $strDateDeb $strDateFin AND `table`='rncs_entrep' ORDER BY flux DESC", false, MYSQL_ASSOC);
foreach ($rep as $iModif=>$modif) {
@ -600,8 +603,9 @@ class MRncs
case 'numGreffe': $codEve[]='NTR'; break;
case 'numRC2': $codEve[]='NRC'; break;
}
foreach ($codEve as $even)
$tabRet[]=array('codeEven' => 'P'.$even,
foreach ($codEve as $even) {
$tabRet[]=array(
'codeEven' => 'P'.$even,
'nic' => 0,
'siretAssocie'=>0,
'typeSiretAss'=>0,
@ -613,6 +617,7 @@ class MRncs
);
}
}
}
public function getIntervenants($siren)
{

View File

@ -18,7 +18,19 @@ class Scores_Ws_Server
* User information
* @var array
*/
protected $tabInfoUser;
protected $User;
/**
* Is user authenticated
* @var boolean
*/
protected $authenticated = false;
/**
* Authenticated method (Basic, SoapHeader)
* @var string
*/
protected $authMethod = null;
/**
* Name of Service
@ -376,7 +388,7 @@ class Scores_Ws_Server
protected function wsLog($service, $siret='', $ref='')
{
//Is it a test
if ( $this->tabInfoUser['clientTest']=='Oui' || $this->tabInfoUser['typeCompte']=='TEST' ) {
if ( $this->User->clientTest=='Oui' || $this->User->typeCompte=='TEST' ) {
$test=1;
} else {
$test=0;
@ -390,15 +402,21 @@ class Scores_Ws_Server
$nic = '';
}
// Set data by default
$dataInsert = array(
'login' => $this->tabInfoUser['login'],
'idClient' => $this->tabInfoUser['idClient'],
'login' => $this->User->login,
'page' => $service,
'siren' => $siren,
'nic' => $nic,
'params' => $ref,
'idClient' => $this->User->idClient,
'test' => $test,
'ipClient' => $this->tabInfoUser['ipConnexion'],
'actifInsee' => 0,
'source' => 0,
'raisonSociale' => '',
'cp' => '',
'ville' => '',
'ipClient' => $this->User->ipConnexion,
);
$db = Zend_Db_Table_Abstract::getDefaultAdapter();
@ -428,13 +446,10 @@ class Scores_Ws_Server
}
if ( $result !== null ) {
//file_put_contents('lecture.log', print_r($result,1));
$dataInsert['raisonSociale'] = $result->raisonSociale;
$dataInsert['cp'] = $result->adr_cp;
$dataInsert['ville'] = $result->adr_ville;
$dataInsert['source'] = $result->source;
if ( $result->actif == 0 ) {
$dataInsert['actifInsee'] = 0;
@ -461,21 +476,54 @@ class Scores_Ws_Server
}
/**
* Retourne une erreur soap lors d'une mauvaise authentification
* Authenticate with SoapHeader, Optional (Authentication could be done by sending HTTP Basic header - see the doc)
* @param string $username
* @param string $password
* @throws SoapFault
*/
protected function authenticate()
public function authenticate($username = null, $password = null)
{
if ( $this->authenticated === false ) {
if ( empty($username) ) {
/**
* @todo : Detect auth method
* Basic - Digest - Key - Cert
* @todo : Digest auth
*/
$this->authMethod = 'basic';
$username = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW'];
} else {
/**
* Auth Header in client
* $ns = 'auth';
* //Create our Auth Object to pass to the SOAP service with our values
* $auth = new StdClass();
* $auth->username = 'yourlogin';
* $auth->password = 'yourpassword';
* $creds = new SoapVar($auth, SOAP_ENC_OBJECT);
*
* //The 2nd variable, 'authenticate' is a method that exists inside of the SOAP service (you must create it, see next example)
* $authenticate = new SoapHeader($ns, 'authenticate', $creds, false);
*
* $client->__setSoapHeaders($authenticate);
*
*/
$this->authMethod = 'soapheader';
}
/**
* @todo : with proxy get the original IP
* $request->getClientIp(true);
*/
$auth = $this->checkAuth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'], $_SERVER['REMOTE_ADDR']);
if ( $auth === false ) {
$this->authenticated = $this->checkAuth($username, $password, $_SERVER['REMOTE_ADDR']);
if ( $this->authenticated === false ) {
$this->sendError('0900');
} elseif ( $auth !== true ) {
$this->sendError($auth);
} elseif ( $this->authenticated !== true ) {
$this->sendError($this->authenticated);
}
}
}
@ -497,7 +545,7 @@ class Scores_Ws_Server
protected function checkAccesWS()
{
//Vérifier que l'utilisateur à le droit accesWS (clients/utilisateurs)
$accesWs = $this->tabInfoUser['accesWS'];
$accesWs = $this->User->accesWS;
if ($accesWs){
$this->sendError('0901');
}
@ -510,7 +558,7 @@ class Scores_Ws_Server
*/
protected function checkPerm($perm)
{
$droits = $this->tabInfoUser['droits'];
$droits = $this->User->droits;
$output = false;
if ( preg_match('/\b'.$perm.'\b/i', $droits) ){
$output = true;
@ -523,7 +571,7 @@ class Scores_Ws_Server
*/
protected function checkEdition()
{
if ($this->tabInfoUser['idClient']==1)
if ($this->User->idClient==1)
return true;
if ($this->checkPerm('edition'))
@ -567,6 +615,14 @@ class Scores_Ws_Server
return false;
}
/**
* @todo :
* Check how password is check
* md5 => standard method md5 ( login | password )
* key => get associated key with crypt method
* cert => get associated certificat
*/
// Check password with database informations
if ( $result->password == $password //password sent in clear
|| md5($result->password) == $password //password sent with md5
@ -581,40 +637,37 @@ class Scores_Ws_Server
if ($timeout==0) $timeout = 1800;
//Infos utilisateur
$this->tabInfoUser = array(
'login' => $result->login,
'id' => $result->id,
'civilite' => $result->civilite,
'nom' => $result->nom,
'prenom' => $result->prenom,
'tel' => $result->tel,
'fax' => $result->fax,
'mobile' => $result->mobile,
'email' => $result->email,
'typeCompte' => $result->typeCompte,
'idClient' => $result->idClient,
'Service' => $result->Service,
'filtre_ip' => $result->filtre_ip,
'ipConnexion' => $ipConnexion,
'pref' => $result->pref,
'rechRefType' => $result->rechRefType,
'profil' => $result->profil,
'nombreConnexions' => $result->nombreConnexions,
'dateDerniereConnexion' => $result->dateDerniereConnexion,
'droits' => $result->droits,
'droitsClients' => $result->droitsClients,
'timeout' => $timeout,
'clientTest' => $result->clientTest,
'typeScore' => $result->typeScore,
'nbReponses' => $result->nbReponses,
'lang' => $result->lang,
'formatMail' => $result->formatMail,
'referenceParDefaut' => $result->referenceParDefaut,
'dateDebutCompte' => $result->dateDebutCompte,
'dateFinCompte' => $result->dateFinCompte,
'acceptationCGU' => $result->acceptationCGU
);
debugLog('W',"CheckAuth $login/$password OK", __LINE__,__FILE__, __FUNCTION__, __CLASS__);
$this->User->login = $result->login;
$this->User->id = $result->id;
$this->User->civilite = $result->civilite;
$this->User->nom = $result->nom;
$this->User->prenom = $result->prenom;
$this->User->tel = $result->tel;
$this->User->fax = $result->fax;
$this->User->mobile = $result->mobile;
$this->User->email = $result->email;
$this->User->typeCompte = $result->typeCompte;
$this->User->idClient = $result->idClient;
$this->User->Service = $result->Service;
$this->User->filtre_ip = $result->filtre_ip;
$this->User->ipConnexion = $ipConnexion;
$this->User->pref = $result->pref;
$this->User->rechRefType = $result->rechRefType;
$this->User->profil = $result->profil;
$this->User->nombreConnexions = $result->nombreConnexions;
$this->User->dateDerniereConnexion = $result->dateDerniereConnexion;
$this->User->droits = $result->droits;
$this->User->droitsClients = $result->droitsClients;
$this->User->timeout = $timeout;
$this->User->clientTest = $result->clientTest;
$this->User->typeScore = $result->typeScore;
$this->User->nbReponses = $result->nbReponses;
$this->User->lang = $result->lang;
$this->User->formatMail = $result->formatMail;
$this->User->referenceParDefaut = $result->referenceParDefaut;
$this->User->dateDebutCompte = $result->dateDebutCompte;
$this->User->dateFinCompte = $result->dateFinCompte;
$this->User->acceptationCGU = $result->acceptationCGU;
/**
* Date de debut de compte
@ -657,9 +710,9 @@ class Scores_Ws_Server
$wsClients[$params['idClient']] = $section;
}
}
if ( array_key_exists($this->tabInfoUser['idClient'], $wsClients)
if ( array_key_exists($result->idClient, $wsClients)
&& ( $this->serviceClient == false
|| strtolower($this->serviceClientName)!=$wsClients[$this->tabInfoUser['idClient']] ) ){
|| strtolower($this->serviceClientName)!=$wsClients[$result->idClient] ) ){
return '0901';
}

1
library/Vendors/geshi/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.swp

View File

@ -0,0 +1 @@
*.swp

View File

@ -13,7 +13,7 @@
* aliased.php/file.name.ext.
*
* @author Ross Golder <ross@golder.org>
* @version $Id: aliased.php 785 2006-07-19 10:09:45Z oracleshinoda $
* @version $Id$
*/
// Your config here
@ -29,7 +29,7 @@ $path = SOURCE_ROOT.$_SERVER['PATH_INFO'];
$base_path_len = strlen(SOURCE_ROOT);
$real_path = realpath($path);
if(strncmp($real_path, SOURCE_ROOT, $base_path_len)) {
exit("Stop that.");
exit("Access outside acceptable path.");
}
// Check file exists
@ -37,11 +37,10 @@ if(!file_exists($path)) {
exit("File not found ($path).");
}
// Gather contents
$contents = file_get_contents($path);
// Prepare GeSHi instance
$geshi =& new GeSHi($contents, "PHP");
$geshi = new GeSHi();
$geshi->set_language('text');
$geshi->load_from_file($path);
$geshi->set_header_type(GESHI_HEADER_PRE);
$geshi->enable_classes();
$geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 10);
@ -50,7 +49,7 @@ $geshi->set_line_style('font: normal normal 95% \'Courier New\', Courier, monosp
$geshi->set_code_style('color: #000020;', 'color: #000020;');
$geshi->set_link_styles(GESHI_LINK, 'color: #000060;');
$geshi->set_link_styles(GESHI_HOVER, 'background-color: #f0f000;');
$geshi->set_header_content('Source code viewer');
$geshi->set_header_content('Source code viewer - ' . $path . ' - ' . $geshi->get_language_name());
$geshi->set_header_content_style('font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-bottom: 1px solid #d0d0d0; padding: 2px;');
$geshi->set_footer_content('Parsed in <TIME> seconds, using GeSHi <VERSION>');
$geshi->set_footer_content_style('font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-top: 1px solid #d0d0d0; padding: 2px;');
@ -60,7 +59,7 @@ $geshi->set_footer_content_style('font-family: Verdana, Arial, sans-serif; color
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Source code viewer - <?php echo $path; ?></title>
<title>Source code viewer - <?php echo $path; ?> - <?php $geshi->get_language_name(); ?></title>
<style type="text/css">
<!--
<?php

View File

@ -164,6 +164,13 @@ if ( !$step || $step == 1 )
$geshi_path = get_var('geshi-path');
$geshi_lang_path = get_var('geshi-lang-path');
if(strstr($geshi_path, '..')) {
unset($geshi_path);
}
if(strstr($geshi_lang_path, '..')) {
unset($geshi_lang_path);
}
if ( !$geshi_path )
{
$geshi_path = '../geshi.php';
@ -173,7 +180,6 @@ if ( !$step || $step == 1 )
$geshi_lang_path = '../geshi/';
}
if ( is_file($geshi_path) && is_readable($geshi_path) )
{
// Get file contents and see if GeSHi is in here
@ -275,6 +281,10 @@ elseif ( $step == 2 )
$file = readdir($dh);
continue;
}
if(!strstr(file_get_contents($dh . DIRECTORY_SEPARATOR . $file), '$language_data')) {
$file = readdir($dh);
continue;
}
$lang_files[] = $file;
$file = readdir($dh);
}

View File

@ -6,7 +6,7 @@
* and the language files in subdirectory "../geshi/")
*
* @author Nigel McNie
* @version $Id: example.php 1512 2008-07-21 21:05:40Z benbe $
* @version $Id$
*/
header('Content-Type: text/html; charset=utf-8');

View File

@ -8,7 +8,7 @@
* CLI mode is supported
*
* @author Benny Baumann
* @version $Id: langcheck.php 2174 2009-09-10 09:17:40Z benbe $
* @version $Id$
*/
header('Content-Type: text/html; charset=utf-8');
@ -246,10 +246,13 @@ if(!$error_abort) {
if(!$error_abort) {
while ($file = readdir($dir)) {
if (!$file || $file[0] == '.' || strpos($file, '.') === false) {
if (!$file || $file[0] == '.' || strpos($file, '.php') === false) {
continue;
}
$lang = substr($file, 0, strpos($file, '.'));
if(4 != strlen($file) - strlen($lang)) {
continue;
}
$languages[] = $lang;
}
closedir($dir);
@ -404,7 +407,7 @@ if(!$error_abort) {
if(!is_integer($kw_key)) {
report_error(TYPE_WARNING, "Language file contains an key '$kw_key' in \$language_data['KEYWORDS'] that is not integer!");
} elseif (!is_array($kw_value)) {
report_error(TYPE_ERROR, "Language file contains a \$language_data['CASE_SENSITIVE']['$kw_value'] structure which is not an array!");
report_error(TYPE_ERROR, "Language file contains a \$language_data['KEYWORDS']['$kw_value'] structure which is not an array!");
}
}
}
@ -761,6 +764,6 @@ if ( PHP_SAPI != 'cli' ) {
Validation process completed in <? printf("%.2f", $time_diff); ?> seconds.
GeSHi &copy; 2004-2007 Nigel McNie, 2007-2008 Benny Baumann, released under the GNU GPL
GeSHi &copy; 2004-2007 Nigel McNie, 2007-2012 Benny Baumann, released under the GNU GPL
<?php } ?>

File diff suppressed because it is too large Load Diff

1
library/Vendors/geshi/docs/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.swp

View File

@ -12,6 +12,123 @@ modified by me for consistency/bug fixing.
Please send any bug reports to BenBE@omorphia.de, or use the bug report tracker
at sourceforge (http://sourceforge.net/tracker/?group_id=114997&atid=670231)
Version 1.0.8.11
- Added language files
* ARM (Marat Dukhan)
* Asymptote (Manuel Yguel)
* DCL (Petr Hendl)
* DCPU-16 (Benny Baumann)
* FreeSWITCH (James Rose)
* Haxe (Andy Li, John Liao)
* LDIF (Bruno Harbulot)
* Nagios (Albéric de Pertat)
* Octave (Carnë Draug, Juan Pablo Carbajal)
* ParaSail (sttaft)
* PARI/GP (Charles R Greathouse IV)
* Python for S60 (Sohan Basak)
* Rexx (Jon Wolfers)
* SPARK (Phil Thornley)
* SPARQL (Karima Rafes)
* StoneScript (Archimmersion)
* UPC (Viraj Sinha)
* Urbi (Alexandre Morgand)
* Vedit (Pauli Lindgren)
- Updated aliasd.php contrib script (SF#3073275, count)
- Fallback to "text" when extension is unknown (SF#3514714, murkymark, BenBE)
- detect extensions case-insensitive (SF#3514714, murkymark, BenBE)
- Fixed two bugs within contrib scripts included with each release (BenBE)
- Improvements to language files (BenBE)
* Symbol and char literal handling for Scala (Paul Butcher, BenBE)
* Multiline comments of F# weren't actually multiline (BenBE)
* Support for IPv6 addresses in RFC822 messages (BenBE)
* Properly handle retrieving names from language files (MikeSee, BenBE)
* Changes for improved highlighting of signle line comments and end-of-code indicators
* Missing keywords and improved highlighting of comments
* Problem with DOS/Batch highlighting breaking out at variables (BenBE)
* Addition of MMX/SSE/x86-64 registers and MMX/SSE instructions for
ASM language file(up to 4.2) (Dennis Yurichev)
* Further improvements to ASM language file to introduce all latest
already documented x86 architecture instructions (Marat Dukhan)
* Fixed links for R/S+ language file (Fernando H.F.P. da Rosa)
* Fix a problem with Delphi/Pascal regarding hex numbers/chars (BenBE)
* Fixed a typo and missing keywords for HTML4 and HTML5 (SF#3365452, BenBE)
* Fixed a typo in Modula-3 language file (SF#3358216, BenBE)
* Added missing keywords for MySQL (SF#3290998, ct-bob, BenBE)
* Added missing keywords for Pascal (SF#3176749, BenBE)
* Properly detect the keyword that is to be linked (BenBE)
* Updated VHDL language file (Kevin Thibedeau)
* Added missing keyword for Verilog (SF#3557903, BenBE)
* Fixed typo in Haskell causing a keyword to be missing (SF#3529439, BenBE)
* Fixed Long String handling for Lua (SF#3541510, Tim Starling)
* Updated JavaDoc links for Java language files (SF#3538552, jeneag, BenBE)
* CSS keywords incorrectly highlighted as part of identifiers (SF#3554101, BenBE)
* CSS3 keywords missing from highlighting (SF#3525084, vlaKoff, BenBE)
* Make variable handling compatible to PHP (SF#3489142, BenBE)
* Fixed obsolete MySQL documentation links (SF#3441642, BenBE)
* Add mising keywords for T-SQL (SF#3435026, BenBE)
* Fix discarded text when highlighting TypoScript (SF#3160238, BenBE)
Version 1.0.8.10
- Added language files
* BASCOM AVR (Michal Goralczyk)
* C: Loadrunner dialect (Stuart Moncrieff)
* CoffeeScript (Trevor Burnham)
* EPC (Thorsten Muehlfelder)
* Euphoria (Nicholas Koceja)
* Falcon (billykater)
* HTML5 (Robert Lidberg)
* LLVM (Azriel Fasten)
* PL/I (Robert Prins)
* ProFTPd (Benny Baumann)
* PyCon (Benny Baumann)
* UnrealScript (pospi)
* YAML (Josh Ventura)
- Small bugfix in LangCheck when looking for language files
- Added '-' to list of RX chars that require explicit escaping (SF#3056454, BenBE)
- Minor changes to boundary checks (SF#3077256, BenBE)
- Improvements to language files (BenBE)
* Major rework of the ALGOL68 language file (Neville Dempsey)
* LangCheck warnings from GO language file (BenBE)
* Some additions to the Objeck language file (Randy Hollines)
* Properly highlight infinity as numbers for J (Ric Sherlock)
* Improved GDB Backtrace language file (Milian Wolff)
* Updated Liberty BASIC language file (Chris Iverson)
* Fixed a small issue with detection of division vs. regular expressions
for ActionScript 3 and JavaScript (Kevin Day)
* Fixed Escape handling for CSS (SF#3080513, yecril71pl, BenBE)
* Additional comment styles for SAS (SF#3024708, ahnolds, BenBE)
* Updated keyword list for TeraTerm (Boris Maisuradze)
* Incorrect handling of /**/ comments in Javascript (BenBE)
* Support for mod_upload_progress in Apache Config files (BenBE)
* Prefix operator handling in F# was broken (BenBE)
* CDATA handling for html4strict (BenBE)
* Common subcommands for Apache, APT, CVS, Git, SVN and YUM for Bash (BenBE)
* Limited support for prompt detection in single line Bash snippets (BenBE)
* Added functions of the C standard library (BenBE)
* Rework of Lua to use GeSHi's features better (BenBE)
* Language file improvements for Python (Zbyszek Szmek)
* Fixed documentation links for Groovy (SF#3152356, lifeisfoo)
* Fixed incorrect highlighting of certain keywords in Erlang (SF#3138853, BenBE)
* Escape chars in C++/C++Qt handled incorrectly (SF#3122706, C. Pötsch)
* Empty parameters of LaTeX commands tipped the highlighting off (SF#3098329, James Oldfield, BenBE)
* Additional Keywords and minor tweaks to Logtalk (Paulo Moura)
Version 1.0.8.9
- Added language files
* Algol68 (Neville Dempsey)
* E (Kevin Reid)
* FormulaOne (Juro Bystricky)
* Go (Markus Jarderot)
* Liberty BASIC (Chris Iverson)
* MOS 6502/6510 Assemblers (Warren Willmey)
* Motorola 68k assembler (Warren Willmey)
* Objeck Programming Language (Randy Hollines)
* ZXBasic (Jose Rodriguez)
- Added support for $-prefixed hex numbers and @-prefixed octal numbers
- Added Parser Control for languages to tell when numbers are present
inside of non-string parts
- Introduced querying supported/known languages directly
- Introduced querying full language names without loading the language file
- Improvements to language files (BenBE)
* Added loads of keywords for generic SQL highlighting (Jürgen Thomas)
Version 1.0.8.8
- Added language files
* ChaiScript (Jason Turner & Jonathan Turner)
@ -345,7 +462,7 @@ Version 1.0.8
* get_attributes
- Second part of default style changes. Affected in this release:
* C++
* C++ (QT)
* C++ (Qt)
* CSS
* VHDL
Version 1.0.7.22
@ -378,7 +495,7 @@ Version 1.0.7.22
- Implemented Compiler Directives for Delphi (SF#1914640, BenBE)
- Implemented minimalistic support for JavaScript \ Perl Regular Expressions (SF#1786665, SF#1754333, SF#1956631, BenBE)
- Fixed Strings in Matlab to be handled as comments instead of regexps, to prevent keywords being linked (BenBE)
- Applied PARSER_CONTROL fix of CPP for CPP-QT-Derivative (BenBE)
- Applied PARSER_CONTROL fix of C++ for C++-Qt-Derivative (BenBE)
- Fixed incorrect treatment of unequally long multiline comment separators (related to SF #1891630, BenBE)
- Added PARSER_CONTROL settings for keywords in ASM language file (SF#1835148, BenBE)
- Fixed missing CASSE_SENSITIVE entry for DOS language file (SF#1956314, BenBE)
@ -471,7 +588,7 @@ Version 1.0.7.20
- Applied fix for bug 1705482 (Jason Frame)
* Configurable line endings (Replace \n by custom string)
* per-language tab-widths (Adjustable for width>=1)
* Included defaults for ASM (x86, m68k, z80), C, C (Mac), C++, C++ (QT), C#,
* Included defaults for ASM (x86, m68k, z80), C, C (Mac), C++, C++ (Qt), C#,
Delphi, CSS,, HTML, PHP, PHP (Brief), QBasic, Ruby, XML
- Added a possibility to force generation of a surrounding tag around
the highlighted source
@ -512,7 +629,7 @@ Version 1.0.7.17
Version 1.0.7.16
- Added language files
* ActionScript (Steffen Krause)
* C++/QT (Iulian M)
* C++/Qt (Iulian M)
* PL/SQL (Victor Engmark)
- Fixed up my e-mail address everywhere
- Fixed notice with "error" property (IZIU Zielona Góra)

View File

@ -3,8 +3,8 @@
----------------------------------
Version 1.0.8
Author: Nigel McNie, Benny Baumann
Email: nigel@geshi.org, BenBE@omorphia.de
Author: Benny Baumann, Nigel McNie
Email: BenBE@geshi.org, nigel@geshi.org
GeSHi Website: http://qbnz.com/highlighter
GeSHi is a generic syntax highlighter, written in PHP. You simply

View File

@ -30,6 +30,7 @@ I owe these people/groups my thanks for help with GeSHi. Thanks, guys!
method
- forum.qbasicnews.com - Thanks for putting up with the crappy versions
that I "forced" on you guys before ;)
- Gizmore - Providing some patch to query supported languages
- Jack Lloyd - Thanks for pointing out the versioning and method CSS bugs, and giving
me the extra C/C++ keywords
- Karim Scheik - Thanks for the php5 support report
@ -49,16 +50,20 @@ PEOPE WHO MADE LANGUAGE FILES
- Actionscript Steffen Krause (french translation by NikO)
- ActionScript 3 Jordi Boggiano (version for ActionScript3 and MXML)
- Ada Tux
- Algol68 Neville Dempsey
- Apache Tux
- Applescript Stephan Klimek
- Apt sources.list Milian Wolff
- ASM Tux
- ARM Marat Dukhan
- ASM Tux, Dennis Yurichev, Marat Dukhan
- ASP Amit Gupta
- Asymptote Manuel Yguel
- Autoconf Mihai Vasilian
- AutoHotkey Naveen Garg
- AutoIt mastrboy
- AviSynth Ryan Jones
- Awk George Pollard
- BASCOM AVR Michal Goralczyk
- Bash Andreas Gohr
- Basic4GL Matthew Webb
- BibTeX Quinn Taylor
@ -66,10 +71,11 @@ PEOPE WHO MADE LANGUAGE FILES
- BNF Rowan Rodrik van der Molen
- Boo Marcus Griep
- Brainfuck \ Brainfork Benny Baumann
- C for Loadrunner Stuart Moncrieff
- C for Macs M. Uli Kusterer
- C# Alan Juden
- C++ Dennis Bayer, M. Uli Kusterer
- C++/QT Iulian M
- C++/Qt Iulian M
- CADDCL Roberto Rossi
- CadLisp Roberto Rossi
- CDFG John Horigan
@ -78,21 +84,30 @@ PEOPE WHO MADE LANGUAGE FILES
- Clojure Jess Johnson
- CMake Daniel Nelson
- COBOL Benny Baumann
- CoffeeScript Trevor Burnham
- ColdFusion Diego
- Cuesheet Benny Baumann
- D Thomas Kuehne
- DCL Petr Hendl
- DCPU-16 Benny Baumann
- DCS Stelio Passaris
- Delphi Járja Norbert, Benny Baumann
- Div Gabriel Lorenzo
- DOS Alessandro Staltari
- E Kevin Reid
- ECMAScript Michel Mariani
- Eiffel Zoran Simic
- eMail \ mbox Benny Baumann
- EPC Thorsten Muehlfelder
- Erlang Benny Baumann, Dan Forest-Barbier, Uwe Dauernheim
- Euphoria Nicholas Koceja
- F# Julien Ortin
- Falcon billykater
- FO (abas-ERP) Tan-Vinh Nguyen
- FormulaOne Juro Bystricky
- Fortran Cedric Arrabie
- FreeBasic Roberto Rossi
- FreeSWITCH James Rose
- GADV 4CS Jason Curl
- GAMBAS Jesus Guardon
- Genie Nicolas Joseph
@ -101,11 +116,14 @@ PEOPE WHO MADE LANGUAGE FILES
- GML José Jorge Enríquez Rodríguez
- GNU make Neil Bird
- Gnuplot Milian Wolff
- Go Markus Jarderot
- Groovy Ivan F. Villanueva B.
- GwBasic José Gabriel Moya Yangüela
- Haskell Dagit
- Haxe Andy Li, John Liao
- HicEst Georg Petrich
- HQ9+ Benny Baumann
- HTML5 Robert Lidberg
- Icon Matt Oates
- Ini Deguix
- Inno Thomas Klinger
@ -118,7 +136,10 @@ PEOPE WHO MADE LANGUAGE FILES
- KLone C Mickael Auger
- KLone C++ Mickael Auger
- LaTeX Matthais Pospiech
- LDIF Bruno Harbulot
- Liberty BASIC Chris Iverson
- Lisp Roberto Rossi
- LLVM Azriel Fasten
- Locomotive Basic Nacho Cabanes
- Logtalk Paulo Moura
- LOLcode Benny Baumann
@ -131,21 +152,28 @@ PEOPE WHO MADE LANGUAGE FILES
- mIRC Alberto de Areba Sánchez
- Modula 2 Benjamin Kowarsch
- Modula-3 Martin Bishop
- Motorola 6502 ASM Warren Willmey
- Motorola 68k ASM Warren Willmey
- MPASM Bakalex
- MXML David Spurr
- MySQL Carl Fürstenberg, Marjolein Katsma
- Nagios Albéric de Pertat
- NewLisp cormullion
- NSIS Tux, Deguix
- Oberon-2 Mike Mol
- Objeck Progr. Lang. Randy Hollines
- Objective C M. Uli Kusterer
- Ocaml Flaie
- Ocaml-brief Flaie
- Octave Carnë Draug, Juan Pablo Carbajal
- OpenBSD Packet Filter David Berard
- OpenOffice.org BASIC Roberto Rossi
- Oracle 8 Guy Wicks
- Oracle 11i Simon Redhead
- Oxygene (Delphi Prism) Carlo Kok
- Oz Wolfgang Meyer
- ParaSail sttaft
- PARI/GP Charles R Greathouse IV
- Pascal Tux
- PCRE Benny Baumann
- Perl Andreas Gohr, Ben Keen
@ -153,22 +181,27 @@ PEOPE WHO MADE LANGUAGE FILES
- PIC16xxx assembler Phil Mattison
- Pike Rick E.
- Pixel Bender Richard Olsson
- PL/I Robert Prins
- PL/SQL Victor Engmark
- PostgreSQL Christophe Chauvet
- POV-Ray Carl Fürstenberg
- PowerBuilder Doug Porter
- PowerShell Frode Aarebrot
- ProFTPd Benny Baumann
- Progress Marco Aurelio de Pasqual
- Prolog Benny Baumann
- Property Files Edy Hinzen
- ProvideX Jeff Wilder
- PureBasic Gustavo Julio Fiorenza
- Python Roberto Rossi
- Python for S60 Sohan Basak
- PyCon Benny Baumann
- q/kdb+ Ian Roddis
- R / S+ Ron Fredericks
- R / S+ Ron Fredericks, Fernando H.F.P. da Rosa
- Rails Moises Deniz
- Rebol Lecanu Guillaume
- Reg SmokingRope
- Rexx Jon Wolfers
- Robots Christian Lescuyer
- RPM Specification File Paul Grinberg
- Ruby Amit Gupta, Moises Deniz
@ -178,6 +211,9 @@ PEOPE WHO MADE LANGUAGE FILES
- SDLBasic Roberto Rossi
- Smalltalk Bananeweizen
- Smarty Alan Juden
- SPARK Phil Thornley
- SPARQL Karima Rafes
- StoneScript Archimmersion
- SystemVerilog Sean O'Boyle
- TCL Reid van Melle
- TeraTerm Boris Maisuradze
@ -187,10 +223,15 @@ PEOPE WHO MADE LANGUAGE FILES
- TypoScript Jan-Philipp Halle
- Unicon Matt Oates
- Uno IDL Cedric Bosdonnat
- UnrealScript pospi
- UPC Viraj Sinha
- Urbi Alexandre Morgand
- Vala Nicolas Joseph
- VB Roberto Rossi
- VB.NET Alan Juden
- Vedit Pauli Lindgren
- Verilog Günter Dannoritzer
- VHDL Alexander 'E-Razor' Krause, Kevin Thibedeau
- VIM Script Swaroop C H
- Visual FoxPro Roberto Armellin
- Visual Prolog Thomas Linder Puls
@ -200,7 +241,9 @@ PEOPE WHO MADE LANGUAGE FILES
- X++ Simon Butcher
- XBasic José Gabriel Moya Yangüela
- Xorg config Milian Wolff
- YAML Josh Ventura
- Z80 Assembler Benny Baumann
- ZXBasic Jose Rodriguez
Do you want your name in here? Help me out! Make a language file, or suggest a new
feature, or make a plugin for GeSHi for some other software, then tell me about it!

View File

@ -68,4 +68,4 @@ http://sourceforge.net/tracker/?group_id=114997&atid=670234
and that script would redirect to the correct location.
[BETTER FIX IN 1.2]
$Id: TODO 1727 2008-08-08 13:36:52Z benbe $
$Id$

Binary file not shown.

Before

Width:  |  Height:  |  Size: 620 B

After

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1010 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 696 B

After

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 848 B

After

Width:  |  Height:  |  Size: 646 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 874 B

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 570 B

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 752 B

After

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 865 B

After

Width:  |  Height:  |  Size: 666 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 956 B

After

Width:  |  Height:  |  Size: 753 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 596 B

After

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 712 B

After

Width:  |  Height:  |  Size: 580 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 584 B

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 457 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 B

After

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

After

Width:  |  Height:  |  Size: 133 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 B

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 661 B

After

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 592 B

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 790 B

After

Width:  |  Height:  |  Size: 645 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 918 B

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 772 B

After

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 661 B

After

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 B

After

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 B

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 B

After

Width:  |  Height:  |  Size: 135 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 B

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 B

After

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 B

After

Width:  |  Height:  |  Size: 105 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 633 B

After

Width:  |  Height:  |  Size: 497 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 605 B

After

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 657 B

After

Width:  |  Height:  |  Size: 509 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 543 B

After

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 668 B

After

Width:  |  Height:  |  Size: 515 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 564 B

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 644 B

After

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 541 B

After

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 431 B

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 572 B

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 668 B

After

Width:  |  Height:  |  Size: 527 B

File diff suppressed because it is too large Load Diff

View File

@ -994,9 +994,9 @@ Let's begin by looking at an example language file - the language file for the f
* Author: Nigel McNie (nigel@geshi.org)
* Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
* Release Version: 1.0.2
* CVS Revision Version: $Revision: 1196 $
* CVS Revision Version: $Revision$
* Date Started: 2004/06/20
* Last Modified: $Date: 2008-06-08 19:55:42 +0200 (So, 08. Jun 2008) $
* Last Modified: $Date$
*
* PHP language file for GeSHi.
*
@ -1356,9 +1356,9 @@ The header of a language file is the first lines with the big comment and the st
* Author: <name> (<e-mail address>)
* Copyright: (c) 2004 <name> (<website URL>)
* Release Version: 1.0.0
* CVS Revision Version: $Revision: 1196 $
* CVS Revision Version: $Revision$
* Date Started: <date started>
* Last Modified: $Date: 2008-06-08 19:55:42 +0200 (So, 08. Jun 2008) $
* Last Modified: $Date$
*
* <name-of-language> language file for GeSHi.
*
@ -1408,7 +1408,7 @@ Here are the parts you should change:
* <any-comments> - Any comments you have to make about this language file, perhaps on where you got the keywords for, what dialect of the language this language file is for etc etc. If you don't have any comments, remove the space for them.
* <date-of-release - The date you released the language file to the public. If you simply send it to me for inclusion in a new GeSHi and don't release it, leave this blank, and I'll replace it with the date of the GeSHi release that it is first added to.
Everything should remain the same, including $Revision: 1196 $ and $Date: 2008-06-08 19:55:42 +0200 (So, 08. Jun 2008) $ (I know these may look funny but they have their purpose for those of you who don't know about SVN).
Everything should remain the same, including $Revision$ and $Date$ (I know these may look funny but they have their purpose for those of you who don't know about SVN).
Also: I'm not sure about the copyright on a new language file. I'm not a lawyer, could someone contact me about whether the copyright for a new language file should be exclusivly the authors, or joint with me (if included in a GeSHi release)?
4.3.2: The First Indices

View File

@ -41,7 +41,7 @@
//
/** The version of this GeSHi file */
define('GESHI_VERSION', '1.0.8.8');
define('GESHI_VERSION', '1.0.8.11');
// Define the root directory for the GeSHi code tree
if (!defined('GESHI_ROOT')) {
@ -209,12 +209,16 @@ define('GESHI_NUMBER_BIN_PREFIX_0B', 64); //0b[01]+
define('GESHI_NUMBER_OCT_PREFIX', 256); //0[0-7]+
/** Number format to highlight octal numbers with a prefix 0o (logtalk) */
define('GESHI_NUMBER_OCT_PREFIX_0O', 512); //0[0-7]+
/** Number format to highlight octal numbers with a leading @ (Used in HiSofts Devpac series). */
define('GESHI_NUMBER_OCT_PREFIX_AT', 1024); //@[0-7]+
/** Number format to highlight octal numbers with a suffix of o */
define('GESHI_NUMBER_OCT_SUFFIX', 1024); //[0-7]+[oO]
define('GESHI_NUMBER_OCT_SUFFIX', 2048); //[0-7]+[oO]
/** Number format to highlight hex numbers with a prefix 0x */
define('GESHI_NUMBER_HEX_PREFIX', 4096); //0x[0-9a-fA-F]+
/** Number format to highlight hex numbers with a prefix $ */
define('GESHI_NUMBER_HEX_PREFIX_DOLLAR', 8192); //$[0-9a-fA-F]+
/** Number format to highlight hex numbers with a suffix of h */
define('GESHI_NUMBER_HEX_SUFFIX', 8192); //[0-9][0-9a-fA-F]*h
define('GESHI_NUMBER_HEX_SUFFIX', 16384); //[0-9][0-9a-fA-F]*h
/** Number format to highlight floating-point numbers without support for scientific notation */
define('GESHI_NUMBER_FLT_NONSCI', 65536); //\d+\.\d+
/** Number format to highlight floating-point numbers without support for scientific notation */
@ -600,6 +604,17 @@ class GeSHi {
$this->set_language_path($path);
}
/**
* Returns the version of GeSHi
*
* @return string
* @since 1 0.8.11
*/
function get_version()
{
return GESHI_VERSION;
}
/**
* Returns an error message associated with the last GeSHi operation,
* or false if no error has occured
@ -731,6 +746,88 @@ class GeSHi {
}
}
/**
* Get supported langs or an associative array lang=>full_name.
* @param boolean $longnames
* @return array
*/
function get_supported_languages($full_names=false)
{
// return array
$back = array();
// we walk the lang root
$dir = dir($this->language_path);
// foreach entry
while (false !== ($entry = $dir->read()))
{
$full_path = $this->language_path.$entry;
// Skip all dirs
if (is_dir($full_path)) {
continue;
}
// we only want lang.php files
if (!preg_match('/^([^.]+)\.php$/', $entry, $matches)) {
continue;
}
// Raw lang name is here
$langname = $matches[1];
// We want the fullname too?
if ($full_names === true)
{
if (false !== ($fullname = $this->get_language_fullname($langname)))
{
$back[$langname] = $fullname; // we go associative
}
}
else
{
// just store raw langname
$back[] = $langname;
}
}
$dir->close();
return $back;
}
/**
* Get full_name for a lang or false.
* @param string $language short langname (html4strict for example)
* @return mixed
*/
function get_language_fullname($language)
{
//Clean up the language name to prevent malicious code injection
$language = preg_replace('#[^a-zA-Z0-9\-_]#', '', $language);
$language = strtolower($language);
// get fullpath-filename for a langname
$fullpath = $this->language_path.$language.'.php';
// we need to get contents :S
if (false === ($data = file_get_contents($fullpath))) {
$this->error = sprintf('Geshi::get_lang_fullname() Unknown Language: %s', $language);
return false;
}
// match the langname
if (!preg_match('/\'LANG_NAME\'\s*=>\s*\'((?:[^\']|\\\')+?)\'/', $data, $matches)) {
$this->error = sprintf('Geshi::get_lang_fullname(%s): Regex can not detect language', $language);
return false;
}
// return fullname for langname
return stripcslashes($matches[1]);
}
/**
* Sets the type of header to be used.
*
@ -1351,8 +1448,14 @@ class GeSHi {
* @todo static?
*/
function get_language_name_from_extension( $extension, $lookup = array() ) {
$extension = strtolower($extension);
if ( !is_array($lookup) || empty($lookup)) {
$lookup = array(
'6502acme' => array( 'a', 's', 'asm', 'inc' ),
'6502tasm' => array( 'a', 's', 'asm', 'inc' ),
'6502kickass' => array( 'a', 's', 'asm', 'inc' ),
'68000devpac' => array( 'a', 's', 'asm', 'inc' ),
'abap' => array('abap'),
'actionscript' => array('as'),
'ada' => array('a', 'ada', 'adb', 'ads'),
@ -1380,6 +1483,7 @@ class GeSHi {
'gnuplot' => array('plt'),
'groovy' => array('groovy'),
'haskell' => array('hs'),
'haxe' => array('hx'),
'html4strict' => array('html', 'htm'),
'ini' => array('ini', 'desktop'),
'java' => array('java'),
@ -1414,6 +1518,7 @@ class GeSHi {
'smalltalk' => array('st'),
'smarty' => array(),
'tcl' => array('tcl'),
'text' => array('txt'),
'vb' => array('bas'),
'vbnet' => array(),
'visualfoxpro' => array(),
@ -1428,7 +1533,8 @@ class GeSHi {
return $lang;
}
}
return '';
return 'text';
}
/**
@ -1465,6 +1571,9 @@ class GeSHi {
* @since 1.0.0
*/
function add_keyword($key, $word) {
if (!is_array($this->language_data['KEYWORDS'][$key])) {
$this->language_data['KEYWORDS'][$key] = array();
}
if (!in_array($word, $this->language_data['KEYWORDS'][$key])) {
$this->language_data['KEYWORDS'][$key][] = $word;
@ -1971,7 +2080,7 @@ class GeSHi {
//All this formats are matched case-insensitively!
static $numbers_format = array(
GESHI_NUMBER_INT_BASIC =>
'(?:(?<![0-9a-z_\.%])|(?<=\.\.))(?<![\d\.]e[+\-])([1-9]\d*?|0)(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
'(?:(?<![0-9a-z_\.%$@])|(?<=\.\.))(?<![\d\.]e[+\-])([1-9]\d*?|0)(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
GESHI_NUMBER_INT_CSTYLE =>
'(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])([1-9]\d*?|0)l(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
GESHI_NUMBER_BIN_SUFFIX =>
@ -1984,10 +2093,14 @@ class GeSHi {
'(?<![0-9a-z_\.])(?<![\d\.]e[+\-])0[0-7]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
GESHI_NUMBER_OCT_PREFIX_0O =>
'(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])0o[0-7]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
GESHI_NUMBER_OCT_PREFIX_AT =>
'(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])\@[0-7]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
GESHI_NUMBER_OCT_SUFFIX =>
'(?<![0-9a-z_\.])(?<![\d\.]e[+\-])[0-7]+?o(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
GESHI_NUMBER_HEX_PREFIX =>
'(?<![0-9a-z_\.])(?<![\d\.]e[+\-])0x[0-9a-fA-F]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
GESHI_NUMBER_HEX_PREFIX_DOLLAR =>
'(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\$[0-9a-fA-F]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
GESHI_NUMBER_HEX_SUFFIX =>
'(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\d[0-9a-fA-F]*?[hH](?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
GESHI_NUMBER_FLT_NONSCI =>
@ -2021,6 +2134,10 @@ class GeSHi {
$this->language_data['NUMBERS_RXCACHE'][$key] =
"/(?<!<\|\/)(?<!<\|!REG3XP)(?<!<\|\/NUM!)(?<!\d\/>)($regexp)(?!(?:<DOT>|(?>[^\<]))+>)(?![^<]*>)(?!\|>)(?!\/>)/i"; //
}
if(!isset($this->language_data['PARSER_CONTROL']['NUMBERS']['PRECHECK_RX'])) {
$this->language_data['PARSER_CONTROL']['NUMBERS']['PRECHECK_RX'] = '#\d#';
}
}
$this->parse_cache_built = true;
@ -3133,6 +3250,7 @@ class GeSHi {
function handle_keyword_replace($match) {
$k = $this->_kw_replace_group;
$keyword = $match[0];
$keyword_match = $match[1];
$before = '';
$after = '';
@ -3150,12 +3268,12 @@ class GeSHi {
if (!$this->language_data['CASE_SENSITIVE'][$k] &&
strpos($this->language_data['URLS'][$k], '{FNAME}') !== false) {
foreach ($this->language_data['KEYWORDS'][$k] as $word) {
if (strcasecmp($word, $keyword) == 0) {
if (strcasecmp($word, $keyword_match) == 0) {
break;
}
}
} else {
$word = $keyword;
$word = $keyword_match;
}
$before = '<|UR1|"' .
@ -3241,7 +3359,7 @@ class GeSHi {
$stuff_to_parse = ' ' . $this->hsc($stuff_to_parse);
// Highlight keywords
$disallowed_before = "(?<![a-zA-Z0-9\$_\|\#;>|^&";
$disallowed_before = "(?<![a-zA-Z0-9\$_\|\#|^&";
$disallowed_after = "(?![a-zA-Z0-9_\|%\\-&;";
if ($this->lexic_permissions['STRINGS']) {
$quotemarks = preg_quote(implode($this->language_data['QUOTEMARKS']), '/');
@ -3299,7 +3417,7 @@ class GeSHi {
// Basically, we don't put the styles in yet because then the styles themselves will
// get highlighted if the language has a CSS keyword in it (like CSS, for example ;))
$stuff_to_parse = preg_replace_callback(
"/$disallowed_before_local({$keywordset})(?!\<DOT\>(?:htm|php))$disallowed_after_local/$modifiers",
"/$disallowed_before_local({$keywordset})(?!\<DOT\>(?:htm|php|aspx?))$disallowed_after_local/$modifiers",
array($this, 'handle_keyword_replace'),
$stuff_to_parse
);
@ -3346,7 +3464,8 @@ class GeSHi {
// Highlight numbers. As of 1.0.8 we support different types of numbers
$numbers_found = false;
if ($this->lexic_permissions['NUMBERS'] && preg_match('#\d#', $stuff_to_parse )) {
if ($this->lexic_permissions['NUMBERS'] && preg_match($this->language_data['PARSER_CONTROL']['NUMBERS']['PRECHECK_RX'], $stuff_to_parse )) {
$numbers_found = true;
//For each of the formats ...
@ -4465,7 +4584,7 @@ class GeSHi {
* @access private
*/
function optimize_regexp_list($list, $regexp_delimiter = '/') {
$regex_chars = array('.', '\\', '+', '*', '?', '[', '^', ']', '$',
$regex_chars = array('.', '\\', '+', '-', '*', '?', '[', '^', ']', '$',
'(', ')', '{', '}', '=', '!', '<', '>', '|', ':', $regexp_delimiter);
sort($list);
$regexp_list = array('');

View File

@ -0,0 +1 @@
*.swp

View File

@ -4,7 +4,7 @@
* ------
* Author: Jason Curl (jason.curl@continental-corporation.com)
* Copyright: (c) 2009 Jason Curl
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2009/09/05
*
* 4CS language file for GeSHi.

View File

@ -0,0 +1,230 @@
<?php
/*************************************************************************************
* 6502acme.php
* -------
* Author: Warren Willmey
* Copyright: (c) 2010 Warren Willmey.
* Release Version: 1.0.8.11
* Date Started: 2010/05/26
*
* MOS 6502 (more specifically 6510) ACME Cross Assembler 0.93 by Marco Baye language file for GeSHi.
*
* CHANGES
* -------
* 2010/07/22
* - First Release
*
* TODO (updated 2010/07/22)
* -------------------------
*
*************************************************************************************
*
* This file is part of GeSHi.
*
* GeSHi is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* GeSHi is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GeSHi; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
************************************************************************************/
$language_data = array (
'LANG_NAME' => 'MOS 6502 (6510) ACME Cross Assembler format',
'COMMENT_SINGLE' => array(1 => ';'),
'COMMENT_MULTI' => array(),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
'KEYWORDS' => array(
/* 6502/6510 Opcodes. */
1 => array(
'adc', 'and', 'asl', 'bcc', 'bcs', 'beq', 'bit', 'bmi',
'bne', 'bpl', 'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli',
'clv', 'cmp', 'cpx', 'cpy', 'dec', 'dex', 'dey', 'eor',
'inc', 'inx', 'iny', 'jmp', 'jsr', 'lda', 'ldx', 'ldy',
'lsr', 'nop', 'ora', 'pha', 'php', 'pla', 'plp', 'rol',
'ror', 'rti', 'rts', 'sbc', 'sec', 'sed', 'sei', 'sta',
'stx', 'sty', 'tax', 'tay', 'tsx', 'txa', 'txs', 'tya',
),
/* Index Registers, yes the 6502 has other registers by they are only
* accessable by specific opcodes. The 65816 also has access to the stack pointer S. */
2 => array(
'x', 'y', 's'
),
/* Directives or "pseudo opcodes" as defined by ACME 0.93 file AllPOs.txt. */
3 => array(
'!8', '!08', '!by', '!byte',
'!16', '!wo', '!word',
'!24', '!32',
'!fi', '!fill',
'!align',
'!ct', '!convtab',
'!tx', '!text',
'!pet',
'!raw',
'!scrxor',
'!to',
'!source',
'!bin', '!binary',
'!zn', '!zone',
'!sl',
'!svl',
'!sal',
'!if', '!ifdef',
'!for',
'!set',
'!do', 'while', 'until',
'!eof', '!endoffile',
'!warn', '!error', '!serious',
'!macro',
// , '*=' // Not a valid keyword (uses both * and = signs) moved to symbols instead.
'!initmem',
'!pseudopc',
'!cpu',
'!al', '!as', '!rl', '!rs',
),
/* 6502/6510 undocumented opcodes (often referred to as illegal instructions).
* These are present in the 6502/6510 but NOT in the newer CMOS revisions of the 65C02 or 65816.
* As they are undocumented instructions there are no "official" names for them, there are also
* several more that mainly perform various forms of crash and are not supported by ACME 0.93.
*/
4 => array(
'anc', 'arr', 'asr', 'dcp', 'dop', 'isc', 'jam', 'lax',
'rla', 'rra', 'sax', 'sbx', 'slo', 'sre', 'top',
),
/* 65c02 instructions, MOS added a few (much needed) instructions in the CMOS version of the 6502, but stupidly removed the undocumented/illegal opcodes.
* ACME 0.93 does not support the rmb0-7 and smb0-7 instructions (they are currently rem'ed out). */
5 => array(
'bra', 'phx', 'phy', 'plx', 'ply', 'stz', 'trb', 'tsb'
),
/* 65816 instructions. */
6 => array(
'brl', 'cop', 'jml', 'jsl', 'mvn', 'mvp', 'pea', 'pei',
'per', 'phb', 'phd', 'phk', 'plb', 'pld', 'rep', 'rtl',
'sep', 'tcd', 'tcs', 'tdc', 'tsc', 'txy', 'tyx', 'wdm',
'xba', 'xce',
),
/* Deprecated directives or "pseudo opcodes" as defined by ACME 0.93 file AllPOs.txt. */
7 => array(
'!cbm',
'!sz', '!subzone',
'!realpc',
),
/* Math functions, some are aliases for the symbols. */
8 => array(
'not', 'div', 'mod', 'xor', 'or', 'sin', 'cos', 'tan',
'arcsin', 'arccos', 'arctan', 'int', 'float',
),
),
'SYMBOLS' => array(
// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS.
'*=', '#', '!', '^', '-', '*', '/',
'%', '+', '-', '<<', '>>', '>>>',
'<', '>', '^', '<=', '<', '>=', '>', '!=',
'=', '&', '|', '<>',
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false,
4 => false,
5 => false,
6 => false,
7 => false,
8 => false,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #00f; font-weight:bold;',
2 => 'color: #00f; font-weight:bold;',
3 => 'color: #080; font-weight:bold;',
4 => 'color: #f00; font-weight:bold;',
5 => 'color: #80f; font-weight:bold;',
6 => 'color: #f08; font-weight:bold;',
7 => 'color: #a04; font-weight:bold; font-style: italic;',
8 => 'color: #000;',
),
'COMMENTS' => array(
1 => 'color: #999; font-style: italic;',
),
'ESCAPE_CHAR' => array(
0 => 'color: #009; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #000;'
),
'STRINGS' => array(
0 => 'color: #080;'
),
'NUMBERS' => array(
GESHI_NUMBER_INT_BASIC => 'color: #f00;',
GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;',
GESHI_NUMBER_HEX_PREFIX => 'color: #f00;',
GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;',
GESHI_NUMBER_FLT_NONSCI => 'color: #f00;',
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #080;'
),
'REGEXPS' => array(
0 => 'color: #f00;'
, 1 => 'color: #933;'
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => '',
5 => '',
6 => '',
7 => '',
8 => '',
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
'NUMBERS' =>
GESHI_NUMBER_INT_BASIC |
GESHI_NUMBER_FLT_NONSCI |
GESHI_NUMBER_HEX_PREFIX_DOLLAR |
GESHI_NUMBER_HEX_PREFIX |
GESHI_NUMBER_BIN_PREFIX_PERCENT,
// AMCE Octal format not support and gets picked up as Decimal unfortunately.
'REGEXPS' => array(
//ACME .# Binary number format. e.g. %..##..##..##
0 => '\%[\.\#]{1,64}',
//ACME Local Labels
1 => '\.[_a-zA-Z][_a-zA-Z0-9]*',
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 8,
'PARSER_CONTROL' => array(
'NUMBERS' => array(
'PRECHECK_RX' => '/[\da-fA-F\.\$\%]/'
)
)
);
?>

View File

@ -0,0 +1,241 @@
<?php
/*************************************************************************************
* 6502kickass.php
* -------
* Author: Warren Willmey
* Copyright: (c) 2010 Warren Willmey.
* Release Version: 1.0.8.11
* Date Started: 2010/06/07
*
* MOS 6502 (6510) Kick Assembler 3.13 language file for GeSHi.
*
* CHANGES
* -------
* 2010/07/22
* - First Release
*
* TODO (updated 2010/07/22)
* -------------------------
*
*************************************************************************************
*
* This file is part of GeSHi.
*
* GeSHi is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* GeSHi is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GeSHi; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
************************************************************************************/
$language_data = array (
'LANG_NAME' => 'MOS 6502 (6510) Kick Assembler format',
'COMMENT_SINGLE' => array(1 => '//'),
'COMMENT_MULTI' => array('/*' => '*/'),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
'KEYWORDS' => array(
/* 6502/6510 Opcodes including undocumented opcodes as Kick Assembler 3.13 does not make a distinction - they are ALL valid. */
1 => array(
'adc', 'ahx', 'alr', 'anc', 'anc2', 'and', 'arr', 'asl',
'axs', 'bcc', 'bcs', 'beq', 'bit', 'bmi', 'bne', 'bpl',
'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli', 'clv', 'cmp',
'cpx', 'cpy', 'dcp', 'dec', 'dex', 'dey', 'eor', 'inc',
'inx', 'iny', 'isc', 'jmp', 'jsr', 'las', 'lax', 'lda',
'ldx', 'ldy', 'lsr', 'nop', 'ora', 'pha', 'php', 'pla',
'plp', 'rla', 'rol', 'ror', 'rra', 'rti', 'rts', 'sax',
'sbc', 'sbc2', 'sec', 'sed', 'sei', 'shx', 'shy', 'slo',
'sre', 'sta', 'stx', 'sty', 'tas', 'tax', 'tay', 'tsx',
'txa', 'txs', 'tya', 'xaa',
),
/* DTV additional Opcodes. */
2 => array(
'bra', 'sac', 'sir'
),
/* Index Registers, yes the 6502 has other registers by they are only
* accessable by specific opcodes. */
3 => array(
'x', 'y'
),
/* Directives. */
4 => array(
'.pc', '.pseudopc', 'virtual', '.align', '.byte', '.word', '.text', '.fill',
'.import source', '.import binary', '.import c64', '.import text', '.import', '.print', '.printnow',
'.error', '.var', '.eval', '.const', '.eval const', '.enum', '.label', '.define', '.struct',
'if', '.for', '.macro', '.function', '.return', '.pseudocommand', '.namespace', '.filenamespace',
'.assert', '.asserterror',
),
/* Kick Assembler 3.13 Functions/Operators. */
5 => array(
'size', 'charAt', 'substring', 'asNumber', 'asBoolean', 'toIntString', 'toBinaryString', 'toOctalString',
'toHexString', 'lock', // String functions/operators.
'get', 'set', 'add', 'remove', 'shuffle', // List functions.
'put', 'keys', // Hashtable functions.
'getType', 'getValue', 'CmdArgument', // Pseudo Commands functions.
'asmCommandSize', // Opcode Constants functions.
'LoadBinary', 'getSize',
'LoadSid', 'getData',
'LoadPicture', 'width', 'height', 'getPixel', 'getSinglecolorByte', 'getMulticolorByte',
'createFile', 'writeln',
'cmdLineVars',
'getX', 'getY', 'getZ', // Vector functions.
'RotationMatrix', 'ScaleMatrix', 'MoveMatrix', 'PerspectiveMatrix', // Matrix functions.
),
/* Kick Assembler 3.13 Math Functions. */
6 => array(
'abs', 'acos', 'asin', 'atan', 'atan2', 'cbrt', 'ceil', 'cos', 'cosh',
'exp', 'expm1', 'floor', 'hypot', 'IEEEremainder', 'log', 'log10',
'log1p', 'max', 'min', 'pow', 'mod', 'random', 'round', 'signum',
'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'toDegrees', 'toRadians',
),
/* Kick Assembler 3.13 Objects/Data Types. */
7 => array(
'List', // List() Object.
'Hashtable', // Hashtable() Object.
'Vector', // Vector() Object.
'Matrix', // Matrix() Object.
),
/* Kick Assembler 3.13 Constants. */
8 => array(
'PI', 'E', // Math Constants.
'AT_ABSOLUTE' , 'AT_ABSOLUTEX' , 'AT_ABSOLUTEY' , 'AT_IMMEDIATE', // Pseudo Commands Constants.
'AT_INDIRECT' , 'AT_IZEROPAGEX' , 'AT_IZEROPAGEY' , 'AT_NONE',
'BLACK', 'WHITE', 'RED', 'CYAN', 'PURPLE', 'GREEN', 'BLUE', // Colour Constants.
'YELLOW', 'ORANGE', 'BROWN', 'LIGHT_RED', 'DARK_GRAY', 'GRAY',
'LIGHT_GREEN', 'LIGHT_BLUE', 'LIGHT_GRAY',
'C64FILE', // Template Tag names.
'BF_C64FILE', 'BF_BITMAP_SINGLECOLOR', 'BF_KOALA' , 'BF_FLI', // Binary format constant
),
),
'SYMBOLS' => array(
// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS.
'-', '+', '-', '*', '/', '>', '<', '<<', '>>', '&', '|', '^', '=', '==',
'!=', '>=', '<=', '!', '&&', '||', '#',
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false,
4 => true,
5 => true,
6 => true,
7 => true,
8 => true,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #00f; font-weight:bold;',
2 => 'color: #00f; font-weight:bold;',
3 => 'color: #00f; font-weight:bold;',
4 => 'color: #080; font-weight:bold;',
5 => 'color: #80f; font-weight:bold;',
6 => 'color: #f08; font-weight:bold;',
7 => 'color: #a04; font-weight:bold; font-style: italic;',
8 => 'color: #f08; font-weight:bold;',
),
'COMMENTS' => array(
1 => 'color: #999; font-style: italic;',
),
'ESCAPE_CHAR' => array(
0 => 'color: #009; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #000;'
),
'STRINGS' => array(
0 => 'color: #080;'
),
'NUMBERS' => array(
GESHI_NUMBER_INT_BASIC => 'color: #f00;',
GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;',
GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;',
GESHI_NUMBER_FLT_NONSCI => 'color: #f00;',
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #080;'
),
'REGEXPS' => array(
0 => 'color: #933;',
1 => 'color: #933;',
2 => 'color: #933;',
3 => 'color: #00f; font-weight:bold;',
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => '',
5 => '',
6 => '',
7 => '',
8 => '',
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
'NUMBERS' =>
GESHI_NUMBER_INT_BASIC |
GESHI_NUMBER_FLT_NONSCI |
GESHI_NUMBER_HEX_PREFIX_DOLLAR |
GESHI_NUMBER_BIN_PREFIX_PERCENT,
// AMCE Octal format not support and gets picked up as Decimal unfortunately.
'REGEXPS' => array(
//Labels end with a collon.
0 => '[!]{0,1}[_a-zA-Z][_a-zA-Z0-9]*\:',
//Multi Labels (local labels) references start with ! and end with + or - for forward/backward reference.
1 => '![_a-zA-Z][_a-zA-Z0-9]*[+-]',
//Macros start with a colon :Macro.
2 => ':[_a-zA-Z][_a-zA-Z0-9]*',
// Opcode Constants, such as LDA_IMM, STA_IZPY are basically all 6502 opcodes
// in UPPER case followed by _underscore_ and the ADDRESS MODE.
// As you might imagine that is rather a lot ( 78 supported Opcodes * 12 Addressing modes = 936 variations)
// So I thought it better and easier to maintain as a regular expression.
// NOTE: The order of the Address Modes must be maintained or it wont work properly (eg. place ZP first and find out!)
3 => '[A-Z]{3}[2]?_(?:IMM|IND|IZPX|IZPY|ZPX|ZPY|ABSX|ABSY|REL|ABS|ZP)',
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 8,
'PARSER_CONTROL' => array(
'NUMBERS' => array(
'PRECHECK_RX' => '/[\da-fA-F\.\$\%]/'
),
'KEYWORDS' => array(
5 => array (
'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\;>|^&'\"])"
),
6 => array (
'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\;>|^&'\"])"
),
8 => array (
'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\;>|^&'\"])"
)
)
),
);
?>

View File

@ -0,0 +1,189 @@
<?php
/*************************************************************************************
* 6502tasm.php
* -------
* Author: Warren Willmey
* Copyright: (c) 2010 Warren Willmey.
* Release Version: 1.0.8.11
* Date Started: 2010/06/02
*
* MOS 6502 (6510) TASM/64TASS (64TASS being the super set of TASM) language file for GeSHi.
*
* CHANGES
* -------
* 2010/07/22
* - First Release
*
* TODO (updated 2010/07/22)
* -------------------------
*
*************************************************************************************
*
* This file is part of GeSHi.
*
* GeSHi is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* GeSHi is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GeSHi; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
************************************************************************************/
$language_data = array (
'LANG_NAME' => 'MOS 6502 (6510) TASM/64TASS 1.46 Assembler format',
'COMMENT_SINGLE' => array(1 => ';'),
'COMMENT_MULTI' => array(),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
'KEYWORDS' => array(
/* 6502/6510 Opcodes. */
1 => array(
'adc', 'and', 'asl', 'bcc', 'bcs', 'beq', 'bit', 'bmi',
'bne', 'bpl', 'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli',
'clv', 'cmp', 'cpx', 'cpy', 'dec', 'dex', 'dey', 'eor',
'inc', 'inx', 'iny', 'jmp', 'jsr', 'lda', 'ldx', 'ldy',
'lsr', 'nop', 'ora', 'pha', 'php', 'pla', 'plp', 'rol',
'ror', 'rti', 'rts', 'sbc', 'sec', 'sed', 'sei', 'sta',
'stx', 'sty', 'tax', 'tay', 'tsx', 'txa', 'txs', 'tya',
),
/* Index Registers, yes the 6502 has other registers by they are only
* accessable by specific opcodes. The 65816 also has access to the stack pointer S. */
2 => array(
'x', 'y', 's'
),
/* Directives. */
3 => array(
'.al', '.align', '.as', '.assert', '.binary', '.byte', '.cerror', '.char',
'.comment', '.cpu', '.cwarn', '.databank', '.dpage', '.else', '.elsif',
'.enc', '.endc', '.endif', '.endm', '.endp', '.error', '.fi', '.fill',
'.for', '.here', '.if', '.ifeq', '.ifmi', '.ifne', '.ifpl',
'.include', '.int', '.logical', '.long', '.macro', '.next', '.null', '.offs',
'.page', '.pend', '.proc', '.rept', '.rta', '.shift', '.text', '.warn', '.word',
'.xl', '.xs',
// , '*=' // Not a valid keyword (uses both * and = signs) moved to symbols instead.
),
/* 6502/6510 undocumented opcodes (often referred to as illegal instructions).
* These are present in the 6502/6510 but NOT in the newer CMOS revisions of the 65C02 or 65816.
* As they are undocumented instructions there are no "official" names for them, these are the names
* used by 64TASS V1.46.
*/
4 => array(
'ahx', 'alr', 'anc', 'ane', 'arr', 'asr', 'axs', 'dcm',
'dcp', 'ins', 'isb', 'isc', 'jam', 'lae', 'las', 'lax',
'lds', 'lxa', 'rla', 'rra', 'sax', 'sbx', 'sha', 'shs',
'shx', 'shy', 'slo', 'sre', 'tas', 'xaa',
),
/* 65c02 instructions, MOS added a few (much needed) instructions in the
* CMOS version of the 6502, but stupidly removed the undocumented/illegal opcodes. */
5 => array(
'bra', 'dea', 'gra', 'ina', 'phx', 'phy', 'plx', 'ply',
'stz', 'trb', 'tsb',
),
/* 65816 instructions. */
6 => array(
'brl', 'cop', 'jml', 'jsl', 'mvn', 'mvp', 'pea', 'pei',
'per', 'phb', 'phd', 'phk', 'plb', 'pld', 'rep', 'rtl',
'sep', 'stp', 'swa', 'tad', 'tcd', 'tcs', 'tda',
'tdc', 'tsa', 'tsc', 'txy', 'tyx', 'wai', 'xba', 'xce',
),
/* Deprecated directives (or yet to be implemented). */
7 => array(
'.global', '.check'
),
),
'SYMBOLS' => array(
// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS.
'*=', '#', '<', '>', '`', '=', '<', '>',
'!=', '>=', '<=', '+', '-', '*', '/', '//', '|',
'^', '&', '<<', '>>', '-', '~', '!',
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false,
4 => false,
5 => false,
6 => false,
7 => false,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #00f; font-weight:bold;',
2 => 'color: #00f; font-weight:bold;',
3 => 'color: #080; font-weight:bold;',
4 => 'color: #f00; font-weight:bold;',
5 => 'color: #80f; font-weight:bold;',
6 => 'color: #f08; font-weight:bold;',
7 => 'color: #a04; font-weight:bold; font-style: italic;',
),
'COMMENTS' => array(
1 => 'color: #999; font-style: italic;',
),
'ESCAPE_CHAR' => array(
0 => 'color: #009; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #000;'
),
'STRINGS' => array(
0 => 'color: #080;'
),
'NUMBERS' => array(
GESHI_NUMBER_INT_BASIC => 'color: #f00;',
GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;',
GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;',
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #080;'
),
'REGEXPS' => array(
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => '',
5 => '',
6 => '',
7 => '',
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
'NUMBERS' =>
GESHI_NUMBER_INT_BASIC |
GESHI_NUMBER_HEX_PREFIX_DOLLAR |
GESHI_NUMBER_BIN_PREFIX_PERCENT,
// AMCE Octal format not support and gets picked up as Decimal unfortunately.
'REGEXPS' => array(
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 8,
'PARSER_CONTROL' => array(
'NUMBERS' => array(
'PRECHECK_RX' => '/[\da-fA-F\.\$\%]/'
)
)
);
?>

View File

@ -0,0 +1,168 @@
<?php
/*************************************************************************************
* 68000devpac.php
* -------
* Author: Warren Willmey
* Copyright: (c) 2010 Warren Willmey.
* Release Version: 1.0.8.11
* Date Started: 2010/06/09
*
* Motorola 68000 - HiSoft Devpac ST 2 Assembler language file for GeSHi.
*
* CHANGES
* -------
* 2010/07/22
* - First Release
*
* TODO (updated 2010/07/22)
* -------------------------
*
*************************************************************************************
*
* This file is part of GeSHi.
*
* GeSHi is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* GeSHi is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GeSHi; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
************************************************************************************/
$language_data = array (
'LANG_NAME' => 'Motorola 68000 - HiSoft Devpac ST 2 Assembler format',
'COMMENT_SINGLE' => array(1 => ';'),
'COMMENT_MULTI' => array(),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
'KEYWORDS' => array(
/* Directives. */
1 => array(
'end', 'include', 'incbin', 'opt', 'even', 'cnop', 'dc.b', 'dc.w',
'dc.l', 'ds.b', 'ds.w', 'ds.l', 'dcb.b', 'dcb.w', 'dcb.l',
'fail', 'output', '__g2', 'rept', 'endr', 'list', 'nolist', 'plen',
'llen', 'ttl', 'subttl', 'spc', 'page', 'listchar', 'format',
'equ', 'equr', 'set', 'reg', 'rs.b', 'rs.w', 'rs.l', 'rsreset',
'rsset', '__rs', 'ifeq', 'ifne', 'ifgt', 'ifge', 'iflt', 'ifle', 'endc',
'ifd', 'ifnd', 'ifc', 'ifnc', 'elseif', 'iif', 'macro', 'endm', 'mexit',
'narg', '\@', 'section', 'text', 'data', 'bss', 'xdef', 'xref', 'org',
'offset', '__lk', 'comment',
),
/* 68000 Opcodes. */
2 => array(
'abcd', 'add', 'adda', 'addi', 'addq', 'addx', 'and', 'andi',
'asl', 'asr', 'bcc', 'bchg', 'bclr', 'bcs', 'beq', 'bge',
'bgt', 'bhi', 'ble', 'bls', 'blt', 'bmi', 'bne', 'bpl',
'bra', 'bset', 'bsr', 'btst', 'bvc', 'bvs', 'chk', 'clr',
'cmp', 'cmpa', 'cmpi', 'cmpm', 'dbcc', 'dbcs', 'dbeq', 'dbf',
'dbge', 'dbgt', 'dbhi', 'dble', 'dbls', 'dblt', 'dbmi', 'dbne',
'dbpl', 'dbra', 'dbt', 'dbvc', 'dbvs', 'divs', 'divu', 'eor',
'eori', 'exg', 'ext','illegal','jmp', 'jsr', 'lea', 'link',
'lsl', 'lsr', 'move','movea','movem','movep','moveq', 'muls',
'mulu', 'nbcd', 'neg', 'negx', 'nop', 'not', 'or', 'ori',
'pea', 'reset', 'rol', 'ror', 'roxl', 'roxr', 'rte', 'rtr',
'rts', 'sbcd', 'scc', 'scs', 'seq', 'sf', 'sge', 'sgt',
'shi', 'sle', 'sls', 'slt', 'smi', 'sne', 'spl', 'st',
'stop', 'sub', 'suba', 'subi', 'subq', 'subx', 'svc', 'svs',
'swap', 'tas', 'trap','trapv', 'tst', 'unlk',
),
/* oprand sizes. */
3 => array(
'b', 'w', 'l' , 's'
),
/* 68000 Registers. */
4 => array(
'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7',
'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'sp', 'usp', 'ssp',
'pc', 'ccr', 'sr',
),
),
'SYMBOLS' => array(
// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS.
'+', '-', '~', '<<', '>>', '&',
'!', '^', '*', '/', '=', '<', '>',
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false,
4 => false,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #f08; font-weight:bold;',
2 => 'color: #00f; font-weight:bold;',
3 => 'color: #00f; font-weight:bold;',
4 => 'color: #080; font-weight:bold;',
),
'COMMENTS' => array(
1 => 'color: #999; font-style: italic;',
),
'ESCAPE_CHAR' => array(
0 => 'color: #009; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #000;'
),
'STRINGS' => array(
0 => 'color: #080;'
),
'NUMBERS' => array(
GESHI_NUMBER_INT_BASIC => 'color: #f00;',
GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;',
GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;',
GESHI_NUMBER_OCT_PREFIX_AT => 'color: #f00;',
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #080;'
),
'REGEXPS' => array(
0 => 'color: #933;'
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => '',
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
'NUMBERS' =>
GESHI_NUMBER_INT_BASIC |
GESHI_NUMBER_HEX_PREFIX_DOLLAR |
GESHI_NUMBER_OCT_PREFIX_AT |
GESHI_NUMBER_BIN_PREFIX_PERCENT,
'REGEXPS' => array(
//Labels may end in a colon.
0 => '(?<=\A\x20|\r|\n|^)[\._a-zA-Z][\._a-zA-Z0-9]*[\:]?[\s]'
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 8,
'PARSER_CONTROL' => array(
'NUMBERS' => array(
'PRECHECK_RX' => '/[\da-fA-F\.\$\%\@]/'
)
)
);
?>

View File

@ -7,7 +7,7 @@
* - Sandra Rossi (sandra.rossi@gmail.com)
* - Jacob Laursen (jlu@kmd.dk)
* Copyright: (c) 2007 Andres Picazo
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2004/06/04
*
* ABAP language file for GeSHi.

View File

@ -4,7 +4,7 @@
* ----------------
* Author: Steffen Krause (Steffen.krause@muse.de)
* Copyright: (c) 2004 Steffen Krause, Nigel McNie (http://qbnz.com/highlighter)
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2004/06/20
*
* Actionscript language file for GeSHi.

View File

@ -4,7 +4,7 @@
* ----------------
* Author: Jordi Boggiano (j.boggiano@seld.be)
* Copyright: (c) 2007 Jordi Boggiano (http://www.seld.be/), Benny Baumann (http://qbnz.com/highlighter)
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2007/11/26
*
* ActionScript3 language file for GeSHi.
@ -60,7 +60,7 @@ $language_data = array (
'COMMENT_MULTI' => array('/*' => '*/'),
'COMMENT_REGEXP' => array(
//Regular expressions
2 => "/(?<=[\\s^])(s|tr|y)\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])*\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU",
2 => "/(?<=[\\s^])(s|tr|y)\\/(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])+(?<!\s)\\/(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])*(?<!\s)\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])+(?<!\s)\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU",
),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
@ -72,7 +72,7 @@ $language_data = array (
'private', 'null', 'new', 'is', 'internal', 'instanceof', 'in',
'import', 'if', 'get', 'for', 'false', 'else', 'each', 'do',
'delete', 'default', 'continue', 'catch', 'case', 'break', 'as',
'extends'
'extends', 'override'
),
2 => array(
'var'

View File

@ -4,7 +4,7 @@
* -------
* Author: Tux (tux@inmail.cz)
* Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2004/07/29
*
* Ada language file for GeSHi.

View File

@ -0,0 +1,329 @@
<?php
/*************************************************************************************
* algol68.php
* --------
* Author: Neville Dempsey (NevilleD.sourceforge@sgr-a.net)
* Copyright: (c) 2010 Neville Dempsey (https://sourceforge.net/projects/algol68/files/)
* Release Version: 1.0.8.11
* Date Started: 2010/04/24
*
* ALGOL 68 language file for GeSHi.
*
* CHANGES
* -------
* 2010/04/24 (1.0.8.8.0)
* - First Release - machine generated by http://rosettacode.org/geshi/
* 2010/05/24 (1.0.8.8.1)
* - #2324 - converted comment detection to RegEx
* 2010/06/16 (1.0.8.8.2)
* - separate symbols from keywords - quick fix
* 2010/06/16 (1.0.8.8.3)
* - reverse length order symbols
* - Add RegEx for BITS and REAL literals (INT to do)
* - recognise LONG and SHORT prefixes to literals
* 2010/07/23 (1.0.8.8.4)
* - fix errors detected by langcheck.php, eg rm tab, fix indenting, rm duplicate keywords, fix symbols as keywords etc
* - removed bulk of local variables from name space.
* - unfolded arrays
*
* TODO (updated yyyy/mm/dd)
* -------------------------
* - Use "Parser Control" to fix KEYWORD parsing, eg: (INT minus one= -1; print(ABSminus one))
* - Parse $FORMATS$ more fully - if possible.
* - Pull reserved words from the source of A68G and A68RS
* - Pull stdlib PROC/OP/MODE symbols from the soruce of A68G and A68RS
* - Pull PROC/OP/MODE extensions from the soruce of A68G and A68RS
* - Use RegEx to detect extended precision PROC names, eg 'long long sin' etc
* - Use RegEx to detect white space std PROC names, eg 'new line'
* - Use RegEx to detect white space ext PROC names, eg 'cgs speed of light'
* - Use RegEx to detect BOLD symbols, eg userdefined MODEs and OPs
* - Add REgEx for INT literals - Adding INT breaks formatting...
* - Adding PIPE as a key word breaks formatting of "|" symbols!!
*
*************************************************************************************
*
* This file is part of GeSHi.
*
* GeSHi is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* GeSHi is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GeSHi; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
************************************************************************************/
if(!function_exists('geshi_langfile_algol68_vars')) {
function geshi_langfile_algol68_vars(){
$pre='(?<![0-9a-z_\.])';
$post='?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)';
$post=""; # assuming the RegEx is greedy #
$_="\s*";
$srad="Rr"; $rrad="[".$srad."]"; # either one digit, OR opt-space in digits #
$sbin="0-1"; $rbin="[".$sbin."]"; $_bin=$rbin."(?:[".$sbin."\s]*".$rbin."|)";
$snib="0-3"; $rnib="[".$snib."]"; $_nib=$rnib."(?:[".$snib."\s]*".$rnib."|)";
$soct="0-7"; $roct="[".$soct."]"; $_oct=$roct."(?:[".$soct."\s]*".$roct."|)";
$sdec="0-9"; $rdec="[".$sdec."]"; $_dec=$rdec."(?:[".$sdec."\s]*".$rdec."|)";
$shex="0-9A-Fa-f"; $rhex="[".$shex."]"; $_hex=$rhex."(?:[".$shex."\s]*".$rhex."|)";
# Define BITS: #
$prebits=$pre; $postbits=$post;
$bl="2".$_.$rrad.$_.$_bin;
$bl=$bl."|"."2".$_.$rrad.$_.$_bin;
$bl=$bl."|"."4".$_.$rrad.$_.$_nib;
$bl=$bl."|"."8".$_.$rrad.$_.$_oct;
$bl=$bl."|"."1".$_."0".$_.$rrad.$_.$_dec;
$bl=$bl."|"."1".$_."6".$_.$rrad.$_.$_hex;
# Define INT: #
$preint=$pre; $postint=$post;
# for some reason ".0 e - 2" is not recognised, but ".0 e + 2" IS!
# work around: remove spaces between sign and digits! Maybe because
# of the Unary '-' Operator
$sign_="(?:-|\-|[-]|[\-]|\+|)"; # attempts #
$sign_="(?:-\s*|\+\s*|)"; # n.b. sign is followed by white space #
$_int=$sign_.$_dec;
$il= $_int; # +_9 #
$GESHI_NUMBER_INT_BASIC='(?:(?<![0-9a-z_\.%])|(?<=\.\.))(?<![\d\.]e[+\-])([1-9]\d*?|0)(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)';
# Define REAL: #
$prereal=$pre; $postreal=$post;
$sexp="Ee\\\\"; $_exp="(?:⏨|[".$sexp."])".$_.$_int;
$_decimal="[.]".$_.$_dec;
# Add permitted permutations of various parts #
$rl= $_int.$_.$_decimal.$_.$_exp; # +_9_._9_e_+_9 #
$rl=$rl."|".$_int.$_."[.]".$_.$_exp; # +_9_.___e_+_9 #
$rl=$rl."|".$_int.$_.$_exp; # +_9_____e_+_9 #
$rl=$rl."|".$sign_.$_decimal.$_.$_exp; # +___._9_e_+_9 #
$rl=$rl."|".$_int.$_.$_decimal; # +_9_._9 #
$rl=$rl."|".$sign_.$_decimal; # +___._9 #
# The following line damaged formatting...
#$rl=$rl."|".$_int; # +_9 #
# Apparently Algol68 does not support '2.', c.f. Algol 68G
#$rl=$rl."|".$_int.$_."[.]"; # +_9_. #
# Literal prefixes are overridden by KEYWORDS :-(
$LONGS="(?:(?:(LONG\s+)*|(SHORT\s+))*|)";
return array(
"BITS" => $prebits.$LONGS."(?:".$bl.")".$postbits,
"INT" => $preint.$LONGS."(?:".$il.")".$postint,
"REAL" => $prereal.$LONGS."(?:".$rl.")".$postreal,
"BOLD" => 'color: #b1b100; font-weight: bold;',
"ITALIC" => 'color: #b1b100;', # procedures traditionally italic #
"NONSTD" => 'color: #FF0000; font-weight: bold;', # RED #
"COMMENT" => 'color: #666666; font-style: italic;'
);
}
}
$a68=geshi_langfile_algol68_vars();
$language_data = array(
'LANG_NAME' => 'ALGOL 68',
'COMMENT_SINGLE' => array(),
'COMMENT_MULTI' => array(
'¢' => '¢',
'£' => '£',
'#' => '#',
),
'COMMENT_REGEXP' => array(
1 => '/\bCO((?:MMENT)?)\b.*?\bCO\\1\b/i',
2 => '/\bPR((?:AGMAT)?)\b.*?\bPR\\1\b/i',
3 => '/\bQUOTE\b.*?\bQUOTE\b/i'
),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array('"'),
'ESCAPE_CHAR' => '"',
'NUMBERS' => GESHI_NUMBER_HEX_SUFFIX, # Warning: Feature!! #
# GESHI_NUMBER_HEX_SUFFIX, # Attempt ignore default #
'KEYWORDS' => array(
# Extensions
1 => array('KEEP', 'FINISH', 'USE', 'SYSPROCS', 'IOSTATE', 'USING', 'ENVIRON', 'PROGRAM', 'CONTEXT'),
# 2 => array('CASE', 'IN', 'OUSE', 'IN', 'OUT', 'ESAC', '(', '|', '|:', ')', 'FOR', 'FROM', 'TO', 'BY', 'WHILE', 'DO', 'OD', 'IF', 'THEN', 'ELIF', 'THEN', 'ELSE', 'FI', 'PAR', 'BEGIN', 'EXIT', 'END', 'GO', 'GOTO', 'FORALL', 'UPTO', 'DOWNTO', 'FOREACH', 'ASSERT'), #
2 => array('CASE', 'IN', 'OUSE', /* 'IN',*/ 'OUT', 'ESAC', 'PAR', 'BEGIN', 'EXIT', 'END', 'GO TO', 'GOTO', 'FOR', 'FROM', 'TO', 'BY', 'WHILE', 'DO', 'OD', 'IF', 'THEN', 'ELIF', /* 'THEN',*/ 'ELSE', 'FI' ),
3 => array('BITS', 'BOOL', 'BYTES', 'CHAR', 'COMPL', 'INT', 'REAL', 'SEMA', 'STRING', 'VOID'),
4 => array('MODE', 'OP', 'PRIO', 'PROC', 'FLEX', 'HEAP', 'LOC', 'REF', 'LONG', 'SHORT', 'EITHER'),
# Extensions or deprecated keywords
# 'PIPE': keyword somehow interferes with the internal operation of GeSHi
5 => array('FORALL', 'UPTO', 'DOWNTO', 'FOREACH', 'ASSERT', 'CTB', 'CT', 'CTAB', 'COMPLEX', 'VECTOR', 'SOUND' /*, 'PIPE'*/),
6 => array('CHANNEL', 'FILE', 'FORMAT', 'STRUCT', 'UNION', 'OF'),
# '(', '|', '|:', ')', #
# 7 => array('OF', 'AT', '@', 'IS', ':=:', 'ISNT', ':/=:', ':≠:', 'CTB', 'CT', '::', 'CTAB', '::=', 'TRUE', 'FALSE', 'EMPTY', 'NIL', '○', 'SKIP', '~'),
7 => array('AT', 'IS', 'ISNT', 'TRUE', 'FALSE', 'EMPTY', 'NIL', 'SKIP'),
8 => array('NOT', 'UP', 'DOWN', 'LWB', 'UPB', /* '-',*/ 'ABS', 'ARG', 'BIN', 'ENTIER', 'LENG', 'LEVEL', 'ODD', 'REPR', 'ROUND', 'SHORTEN', 'CONJ', 'SIGN'),
# OPERATORS ordered roughtly by PRIORITY #
# 9 => array('¬', '↑', '↓', '⌊', '⌈', '~', '⎩', '⎧'),
# 10 => array('+*', 'I', '+×', '⊥', '!', '⏨'),
10 => array('I'),
# 11 => array('SHL', 'SHR', '**', 'UP', 'DOWN', 'LWB', 'UPB', '↑', '↓', '⌊', '⌈', '⎩', '⎧'),
11 => array('SHL', 'SHR', /*'UP', 'DOWN', 'LWB', 'UPB'*/),
# 12 => array('*', '/', '%', 'OVER', '%*', 'MOD', 'ELEM', '×', '÷', '÷×', '÷*', '%×', '□', '÷:'),
12 => array('OVER', 'MOD', 'ELEM'),
# 13 => array('-', '+'),
# 14 => array('<', 'LT', '<=', 'LE', '>=', 'GE', '>', 'GT', '≤', '≥'),
14 => array('LT', 'LE', 'GE', 'GT'),
# 15 => array('=', 'EQ', '/=', 'NE', '≠', '~='),
15 => array('EQ', 'NE'),
# 16 => array('&', 'AND', '∧', 'OR', '', '/\\', '\\/'),
16 => array('AND', 'OR'),
17 => array('MINUSAB', 'PLUSAB', 'TIMESAB', 'DIVAB', 'OVERAB', 'MODAB', 'PLUSTO'),
# 18 => array('-:=', '+:=', '*:=', '/:=', '%:=', '%*:=', '+=:', '×:=', '÷:=', '÷×:=', '÷*:=', '%×:=', '÷::=', 'MINUS', 'PLUS', 'DIV', 'MOD', 'PRUS'),
# Extensions or deprecated keywords
18 => array('MINUS', 'PLUS', 'DIV', /* 'MOD',*/ 'PRUS', 'IS NOT'),
# Extensions or deprecated keywords
19 => array('THEF', 'ANDF', 'ORF', 'ANDTH', 'OREL', 'ANDTHEN', 'ORELSE'),
# Built in procedures - from standard prelude #
20 => array('int lengths', 'intlengths', 'int shorths', 'intshorths', 'max int', 'maxint', 'real lengths', 'reallengths', 'real shorths', 'realshorths', 'bits lengths', 'bitslengths', 'bits shorths', 'bitsshorths', 'bytes lengths', 'byteslengths', 'bytes shorths', 'bytesshorths', 'max abs char', 'maxabschar', 'int width', 'intwidth', 'long int width', 'longintwidth', 'long long int width', 'longlongintwidth', 'real width', 'realwidth', 'long real width', 'longrealwidth', 'long long real width', 'longlongrealwidth', 'exp width', 'expwidth', 'long exp width', 'longexpwidth', 'long long exp width', 'longlongexpwidth', 'bits width', 'bitswidth', 'long bits width', 'longbitswidth', 'long long bits width', 'longlongbitswidth', 'bytes width', 'byteswidth', 'long bytes width', 'longbyteswidth', 'max real', 'maxreal', 'small real', 'smallreal', 'long max int', 'longmaxint', 'long long max int', 'longlongmaxint', 'long max real', 'longmaxreal', 'long small real', 'longsmallreal', 'long long max real', 'longlongmaxreal', 'long long small real', 'longlongsmallreal', 'long max bits', 'longmaxbits', 'long long max bits', 'longlongmaxbits', 'null character', 'nullcharacter', 'blank', 'flip', 'flop', 'error char', 'errorchar', 'exp char', 'expchar', 'newline char', 'newlinechar', 'formfeed char', 'formfeedchar', 'tab char', 'tabchar'),
21 => array('stand in channel', 'standinchannel', 'stand out channel', 'standoutchannel', 'stand back channel', 'standbackchannel', 'stand draw channel', 'standdrawchannel', 'stand error channel', 'standerrorchannel'),
22 => array('put possible', 'putpossible', 'get possible', 'getpossible', 'bin possible', 'binpossible', 'set possible', 'setpossible', 'reset possible', 'resetpossible', 'reidf possible', 'reidfpossible', 'draw possible', 'drawpossible', 'compressible', 'on logical file end', 'onlogicalfileend', 'on physical file end', 'onphysicalfileend', 'on line end', 'onlineend', 'on page end', 'onpageend', 'on format end', 'onformatend', 'on value error', 'onvalueerror', 'on open error', 'onopenerror', 'on transput error', 'ontransputerror', 'on format error', 'onformaterror', 'open', 'establish', 'create', 'associate', 'close', 'lock', 'scratch', 'space', 'new line', 'newline', 'print', 'write f', 'writef', 'print f', 'printf', 'write bin', 'writebin', 'print bin', 'printbin', 'read f', 'readf', 'read bin', 'readbin', 'put f', 'putf', 'get f', 'getf', 'make term', 'maketerm', 'make device', 'makedevice', 'idf', 'term', 'read int', 'readint', 'read long int', 'readlongint', 'read long long int', 'readlonglongint', 'read real', 'readreal', 'read long real', 'readlongreal', 'read long long real', 'readlonglongreal', 'read complex', 'readcomplex', 'read long complex', 'readlongcomplex', 'read long long complex', 'readlonglongcomplex', 'read bool', 'readbool', 'read bits', 'readbits', 'read long bits', 'readlongbits', 'read long long bits', 'readlonglongbits', 'read char', 'readchar', 'read string', 'readstring', 'print int', 'printint', 'print long int', 'printlongint', 'print long long int', 'printlonglongint', 'print real', 'printreal', 'print long real', 'printlongreal', 'print long long real', 'printlonglongreal', 'print complex', 'printcomplex', 'print long complex', 'printlongcomplex', 'print long long complex', 'printlonglongcomplex', 'print bool', 'printbool', 'print bits', 'printbits', 'print long bits', 'printlongbits', 'print long long bits', 'printlonglongbits', 'print char', 'printchar', 'print string', 'printstring', 'whole', 'fixed', 'float'),
23 => array('pi', 'long pi', 'longpi', 'long long pi', 'longlongpi'),
24 => array('sqrt', 'curt', 'cbrt', 'exp', 'ln', 'log', 'sin', 'arc sin', 'arcsin', 'cos', 'arc cos', 'arccos', 'tan', 'arc tan', 'arctan', 'long sqrt', 'longsqrt', 'long curt', 'longcurt', 'long cbrt', 'longcbrt', 'long exp', 'longexp', 'long ln', 'longln', 'long log', 'longlog', 'long sin', 'longsin', 'long arc sin', 'longarcsin', 'long cos', 'longcos', 'long arc cos', 'longarccos', 'long tan', 'longtan', 'long arc tan', 'longarctan', 'long long sqrt', 'longlongsqrt', 'long long curt', 'longlongcurt', 'long long cbrt', 'longlongcbrt', 'long long exp', 'longlongexp', 'long long ln', 'longlongln', 'long long log', 'longlonglog', 'long long sin', 'longlongsin', 'long long arc sin', 'longlongarcsin', 'long long cos', 'longlongcos', 'long long arc cos', 'longlongarccos', 'long long tan', 'longlongtan', 'long long arc tan', 'longlongarctan'),
25 => array('first random', 'firstrandom', 'next random', 'nextrandom', 'long next random', 'longnextrandom', 'long long next random', 'longlongnextrandom'),
26 => array('real', 'bits pack', 'bitspack', 'long bits pack', 'longbitspack', 'long long bits pack', 'longlongbitspack', 'bytes pack', 'bytespack', 'long bytes pack', 'longbytespack', 'char in string', 'charinstring', 'last char in string', 'lastcharinstring', 'string in string', 'stringinstring'),
27 => array('utc time', 'utctime', 'local time', 'localtime', 'argc', 'argv', 'get env', 'getenv', 'reset errno', 'reseterrno', 'errno', 'strerror'),
28 => array('sinh', 'long sinh', 'longsinh', 'long long sinh', 'longlongsinh', 'arc sinh', 'arcsinh', 'long arc sinh', 'longarcsinh', 'long long arc sinh', 'longlongarcsinh', 'cosh', 'long cosh', 'longcosh', 'long long cosh', 'longlongcosh', 'arc cosh', 'arccosh', 'long arc cosh', 'longarccosh', 'long long arc cosh', 'longlongarccosh', 'tanh', 'long tanh', 'longtanh', 'long long tanh', 'longlongtanh', 'arc tanh', 'arctanh', 'long arc tanh', 'longarctanh', 'long long arc tanh', 'longlongarctanh', 'arc tan2', 'arctan2', 'long arc tan2', 'longarctan2', 'long long arc tan2', 'longlongarctan2'),
29 => array('complex sqrt', 'complexsqrt', 'long complex sqrt', 'longcomplexsqrt', 'long long complex sqrt', 'longlongcomplexsqrt', 'complex exp', 'complexexp', 'long complex exp', 'longcomplexexp', 'long long complex exp', 'longlongcomplexexp', 'complex ln', 'complexln', 'long complex ln', 'longcomplexln', 'long long complex ln', 'longlongcomplexln', 'complex sin', 'complexsin', 'long complex sin', 'longcomplexsin', 'long long complex sin', 'longlongcomplexsin', 'complex arc sin', 'complexarcsin', 'long complex arc sin', 'longcomplexarcsin', 'long long complex arc sin', 'longlongcomplexarcsin', 'complex cos', 'complexcos', 'long complex cos', 'longcomplexcos', 'long long complex cos', 'longlongcomplexcos', 'complex arc cos', 'complexarccos', 'long complex arc cos', 'longcomplexarccos', 'long long complex arc cos', 'longlongcomplexarccos', 'complex tan', 'complextan', 'long complex tan', 'longcomplextan', 'long long complex tan', 'longlongcomplextan', 'complex arc tan', 'complexarctan', 'long complex arc tan', 'longcomplexarctan', 'long long complex arc tan', 'longlongcomplexarctan', 'complex sinh', 'complexsinh', 'complex arc sinh', 'complexarcsinh', 'complex cosh', 'complexcosh', 'complex arc cosh', 'complexarccosh', 'complex tanh', 'complextanh', 'complex arc tanh', 'complexarctanh')
),
'SYMBOLS' => array(
1 => array( /* reverse length sorted... */ '÷×:=', '%×:=', ':≠:', '÷*:=', '÷::=', '%*:=', ':/=:', '×:=', '÷:=', '÷×', '%:=', '%×', '*:=', '+:=', '+=:', '+×', '-:=', '/:=', '::=', ':=:', '÷*', '÷:', '↑', '↓', '∧', '', '≠', '≤', '≥', '⊥', '⌈', '⌊', '⎧', '⎩', /* '⏨', */ '□', '○', '%*', '**', '+*', '/=', '::', '/\\', '\\/', '<=', '>=', '|:', '~=', '¬', '×', '÷', '!', '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '?', '@', '[', ']', '^', '{', '|', '}', '~')
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => true,
2 => true,
3 => true,
4 => true,
5 => true,
6 => true,
7 => true,
8 => true,
# 9 => true,
10 => true,
11 => true,
12 => true,
# 13 => true,
14 => true,
15 => true,
16 => true,
17 => true,
18 => true,
19 => true,
20 => true,
21 => true,
22 => true,
23 => true,
24 => true,
25 => true,
26 => true,
27 => true,
28 => true,
29 => true
),
'STYLES' => array(
'KEYWORDS' => array(
1 => $a68['NONSTD'], 2 => $a68['BOLD'], 3 => $a68['BOLD'], 4 => $a68['BOLD'],
5 => $a68['NONSTD'], 6 => $a68['BOLD'], 7 => $a68['BOLD'], 8 => $a68['BOLD'],
/* 9 => $a68['BOLD'],*/ 10 => $a68['BOLD'], 11 => $a68['BOLD'], 12 => $a68['BOLD'],
/* 13 => $a68['BOLD'],*/ 14 => $a68['BOLD'], 15 => $a68['BOLD'], 16 => $a68['BOLD'], 17 => $a68['BOLD'],
18 => $a68['NONSTD'], 19 => $a68['NONSTD'],
20 => $a68['ITALIC'], 21 => $a68['ITALIC'], 22 => $a68['ITALIC'], 23 => $a68['ITALIC'],
24 => $a68['ITALIC'], 25 => $a68['ITALIC'], 26 => $a68['ITALIC'], 27 => $a68['ITALIC'],
28 => $a68['ITALIC'], 29 => $a68['ITALIC']
),
'COMMENTS' => array(
1 => $a68['COMMENT'], 2 => $a68['COMMENT'], 3 => $a68['COMMENT'], /* 4 => $a68['COMMENT'],
5 => $a68['COMMENT'],*/ 'MULTI' => $a68['COMMENT']
),
'ESCAPE_CHAR' => array(
0 => 'color: #000099; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #009900;'
),
'STRINGS' => array(
0 => 'color: #0000ff;'
),
'NUMBERS' => array(
0 => 'color: #cc66cc;',
),
'METHODS' => array(
0 => 'color: #004000;',
1 => 'color: #004000;'
),
'SYMBOLS' => array(
0 => 'color: #339933;',
1 => 'color: #339933;'
),
'REGEXPS' => array(
0 => 'color: #cc66cc;', # BITS #
1 => 'color: #cc66cc;', # REAL #
/* 2 => 'color: #cc66cc;', # INT # */
),
'SCRIPT' => array()
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => '',
5 => '',
6 => '',
7 => '',
8 => '',
# 9 => '',
10 => '',
11 => '',
12 => '',
# 13 => '',
14 => '',
15 => '',
16 => '',
17 => '',
18 => '',
19 => '',
20 => '',
21 => '',
22 => '',
23 => '',
24 => '',
25 => '',
26 => '',
27 => '',
28 => '',
29 => ''
),
'OOLANG' => true,
'OBJECT_SPLITTERS' => array(
0 => '→',
1 => 'OF'
),
'REGEXPS' => array(
0 => $a68['BITS'],
1 => $a68['REAL']
# 2 => $a68['INT'], # Breaks formatting for some reason #
# 2 => $GESHI_NUMBER_INT_BASIC # Also breaks formatting #
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(),
'HIGHLIGHT_STRICT_BLOCK' => array()
);
unset($a68);
?>

View File

@ -4,7 +4,7 @@
* ----------
* Author: Tux (tux@inmail.cz)
* Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2004/29/07
*
* Apache language file for GeSHi.
@ -344,6 +344,9 @@ $language_data = array (
//mod_unique_id.c
//mod_upload_progress
'ReportUploads', 'TrackUploads', 'UploadProgressSharedMemorySize',
//mod_userdir.c
'UserDir',

View File

@ -4,7 +4,7 @@
* --------
* Author: Stephan Klimek (http://www.initware.org)
* Copyright: Stephan Klimek (http://www.initware.org)
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2005/07/20
*
* AppleScript language file for GeSHi.

View File

@ -4,7 +4,7 @@
* ----------
* Author: Milian Wolff (mail@milianw.de)
* Copyright: (c) 2008 Milian Wolff (http://milianw.de)
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2008/06/17
*
* Apt sources.list language file for GeSHi.
@ -55,7 +55,7 @@ $language_data = array (
'stable/updates',
//Debian
'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', 'woody', 'sarge',
'etch', 'lenny', 'sid',
'etch', 'lenny', 'wheezy', 'sid',
//Ubuntu
'warty', 'warty-updates', 'warty-security', 'warty-proposed', 'warty-backports',
'hoary', 'hoary-updates', 'hoary-security', 'hoary-proposed', 'hoary-backports',
@ -65,7 +65,11 @@ $language_data = array (
'feisty', 'feisty-updates', 'feisty-security', 'feisty-proposed', 'feisty-backports',
'gutsy', 'gutsy-updates', 'gutsy-security', 'gutsy-proposed', 'gutsy-backports',
'hardy', 'hardy-updates', 'hardy-security', 'hardy-proposed', 'hardy-backports',
'intrepid', 'intrepid-updates', 'intrepid-security', 'intrepid-proposed', 'intrepid-backports'
'intrepid', 'intrepid-updates', 'intrepid-security', 'intrepid-proposed', 'intrepid-backports',
'jaunty', 'jaunty-updates', 'jaunty-security', 'jaunty-proposed', 'jaunty-backports',
'karmic', 'karmic-updates', 'karmic-security', 'karmic-proposed', 'karmic-backports',
'lucid', 'lucid-updates', 'lucid-security', 'lucid-proposed', 'lucid-backports',
'maverick', 'maverick-updates', 'maverick-security', 'maverick-proposed', 'maverick-backports'
),
3 => array(
'main', 'restricted', 'preview', 'contrib', 'non-free',

File diff suppressed because it is too large Load Diff

View File

@ -3,15 +3,56 @@
* asm.php
* -------
* Author: Tux (tux@inmail.cz)
* Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
* Release Version: 1.0.8.8
* Copyright: (c) 2004 Tux (http://tux.a4.cz/),
* 2004-2009 Nigel McNie (http://qbnz.com/highlighter),
* 2009-2011 Benny Baumann (http://qbnz.com/highlighter),
* 2011 Dennis Yurichev (dennis@conus.info),
* 2011 Marat Dukhan (mdukhan3.at.gatech.dot.edu)
* Release Version: 1.0.8.11
* Date Started: 2004/07/27
*
* x86 Assembler language file for GeSHi.
* Words are from SciTe configuration file (based on NASM syntax)
* Based on the following documents:
* - "Intel64 and IA-32 Architectures Programmer's Reference Manual
* Volume 2 (2A & 2B): Instructions Set Reference, A-Z",
* Order Number 25383-039US, May 2011
* - "Intel Advanced Vector Extensions Programming Reference",
* Order Number 319433-011, June 2011
* - "AMD64 Architecture Programmer's Manual Volume 3:
* General-Purpose and System Instructions", Publication No. 24594,
* Revision 3.15, November 2009
* - "AMD64 Architecture Programmer's Manual Volume 4:
* 128-Bit and 256-Bit Media Instructions", Publication No. 26568,
* Revision 3.12, May 2011
* - "AMD64 Architecture Programmer's Manual Volume 5:
* 64-Bit Media and x87 Floating-Point Instructions",
* Publication No. 26569, Revision 3.11, December 2009
* - "AMD64 Technology Lightweight Profiling Specification",
* Publication No. 43724, Revision 3.08, August 2010
* - "Application Note 108: Cyrix Extended MMX Instruction Set"
* - "VIA Padlock Programming Guide", 3rd May 2005
* - http://en.wikipedia.org/wiki/X86_instruction_listings
* - NASM 2.10rc8 Online Documenation at
* http://www.nasm.us/xdoc/2.10rc8/html/nasmdoc0.html
* Color scheme is taken from SciTE. Previous versions of this file
* also used words from SciTE configuration file (based on NASM syntax)
*
* CHANGES
* -------
* 2011/10/07
* - Rearranged instructions and registers into groups
* - Updated to support the following extensions
* - CMOV, BMI1, BMI2, TBM, FSGSBASE
* - LZCNT, TZCNT, POPCNT, MOVBE, CRC32
* - MMX, MMX+, EMMX
* - 3dnow!, 3dnow!+, 3dnow! Geode, 3dnow! Prefetch
* - SSE, SSE2, SSE3, SSSE3, SSE4A, SSE4.1, SSE4.2
* - AVX, AVX2, XOP, FMA3, FMA4, CVT16
* - VMX, SVM
* - AES, PCLMULQDQ, Padlock, RDRAND
* - Updated NASM macros and directives
* 2010/07/01 (1.0.8.11)
* - Added MMX/SSE/new x86-64 registers, MMX/SSE (up to 4.2) instructions
* 2008/05/23 (1.0.7.22)
* - Added description of extra language features (SF#1970248)
* 2004/11/27 (1.0.2)
@ -55,26 +96,71 @@ $language_data = array (
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
'KEYWORDS' => array(
/*CPU*/
/* General-Purpose */
1 => array(
'aaa','aad','aam','aas','adc','add','and','call','cbw','clc','cld','cli','cmc','cmp',
'cmps','cmpsb','cmpsw','cwd','daa','das','dec','div','esc','hlt','idiv','imul','in','inc',
'int','into','iret','ja','jae','jb','jbe','jc','jcxz','je','jg','jge','jl','jle','jmp',
'jna','jnae','jnb','jnbe','jnc','jne','jng','jnge','jnl','jnle','jno','jnp','jns','jnz',
'jo','jp','jpe','jpo','js','jz','lahf','lds','lea','les','lods','lodsb','lodsw','loop',
'loope','loopew','loopne','loopnew','loopnz','loopnzw','loopw','loopz','loopzw','mov',
'movs','movsb','movsw','mul','neg','nop','not','or','out','pop','popf','push','pushf',
'rcl','rcr','ret','retf','retn','rol','ror','sahf','sal','sar','sbb','scas','scasb','scasw',
'shl','shr','stc','std','sti','stos','stosb','stosw','sub','test','wait','xchg','xlat',
'xlatb','xor','bound','enter','ins','insb','insw','leave','outs','outsb','outsw','popa','pusha','pushw',
'arpl','lar','lsl','sgdt','sidt','sldt','smsw','str','verr','verw','clts','lgdt','lidt','lldt','lmsw','ltr',
'bsf','bsr','bt','btc','btr','bts','cdq','cmpsd','cwde','insd','iretd','iretdf','iretf',
'jecxz','lfs','lgs','lodsd','loopd','looped','loopned','loopnzd','loopzd','lss','movsd',
'movsx','movzx','outsd','popad','popfd','pushad','pushd','pushfd','scasd','seta','setae',
'setb','setbe','setc','sete','setg','setge','setl','setle','setna','setnae','setnb','setnbe',
'setnc','setne','setng','setnge','setnl','setnle','setno','setnp','setns','setnz','seto','setp',
'setpe','setpo','sets','setz','shld','shrd','stosd','bswap','cmpxchg','invd','invlpg','wbinvd','xadd','lock',
'rep','repe','repne','repnz','repz'
/* BCD instructions */
'aaa','aad','aam','aas','daa','das',
/* Control flow instructions */
'ja','jae','jb','jbe','jc','je','jg','jge','jl','jle','jmp','jna',
'jnae','jnb','jnbe','jnc','jne','jng','jnge','jnl','jnle','jno','jnp','jns','jnz',
'jo','jp','jpe','jpo','js','jz','jcxz','jecxz','jrcxz','loop','loope','loopne',
'call','ret','enter','leave','syscall','sysenter','int','into',
/* Predicate instructions */
'seta','setae','setb','setbe','setc','sete','setg','setge','setl','setle','setna',
'setnae','setnb','setnbe','setnc','setne','setng','setnge','setnl','setnle','setno',
'setnp','setns','setnz','seto','setp','setpe','setpo','sets','setz','salc',
/* Conditional move instructions */
'cmovo','cmovno','cmovb','cmovc','cmovnae','cmovae','cmovnb','cmovnc','cmove','cmovz',
'cmovne','cmovnz','cmovbe','cmovna','cmova','cmovnbe','cmovs','cmovns','cmovp','cmovpe',
'cmovnp','cmovpo','cmovl','cmovnge','cmovge','cmovnl','cmovle','cmovng','cmovg','cmovnle',
/* ALU instructions */
'add','sub','adc','sbb','neg','cmp','inc','dec','and','or','xor','not','test',
'shl','shr','sal','sar','shld','shrd','rol','ror','rcl','rcr',
'cbw','cwd','cwde','cdq','cdqe','cqo','bsf','bsr','bt','btc','btr','bts',
'idiv','imul','div','mul','bswap','nop',
/* Memory instructions */
'lea','mov','movsx','movsxd','movzx','xlatb','bound','xchg','xadd','cmpxchg','cmpxchg8b','cmpxchg16b',
/* Stack instructions */
'push','pop','pusha','popa','pushad','popad','pushf','popf','pushfd','popfd','pushfq','popfq',
/* EFLAGS manipulations instructions */
'clc','cld','stc','std','cmc','lahf','sahf',
/* Prefix instructions */
'lock','rep','repe','repz','repne','repnz',
/* String instructions */
'cmps','cmpsb','cmpsw',/*'cmpsd',*/ 'cmpsq', /*CMPSD conflicts with the SSE2 instructions of the same name*/
'movs','movsb','movsw',/*'movsd',*/ 'movsq', /*MOVSD conflicts with the SSE2 instructions of the same name*/
'scas','scasb','scasw','scasd','scasq',
'stos','stosb','stosw','stosd','stosq',
'lods','lodsb','lodsw','lodsd','lodsq',
/* Information instructions */
'cpuid','rdtsc','rdtscp','rdpmc','xgetbv',
'sgdt','sidt','sldt','smsw','str','lar',
/* LWP instructions */
'llwpcb','slwpcb','lwpval','lwpins',
/* Instructions from miscellaneous extensions */
'crc32','popcnt','lzcnt','tzcnt','movbe','pclmulqdq','rdrand',
/* FSGSBASE instructions */
'rdfsbase','rdgsbase','wrfsbase','wrgsbase',
/* BMI1 instructions */
'andn','bextr','blsi','blsmk','blsr',
/* BMI2 instructions */
'bzhi','mulx','pdep','pext','rorx','sarx','shlx','shrx',
/* TBM instructions */
'blcfill','blci','blcic','blcmsk','blcs','blsfill','blsic','t1mskc','tzmsk',
/* Legacy instructions */
'arpl','ud2','lds','les','lfs','lgs','lss','lsl','verr','verw',
/* Privileged instructions */
'cli','sti','clts','hlt','rsm','in','insb','insw','insd',
'out','outsb','outsw','outsd','clflush','invd','invlpg','invpcid','wbinvd',
'iret','iretd','iretq','sysexit','sysret','lidt','lgdt','lldt','lmsw','ltr',
'monitor','mwait','rdmsr','wrmsr','swapgs',
'fxsave','fxsave64','fxrstor','fxrstor64',
'xsave','xsaveopt','xrstor','xsetbv','getsec',
/* VMX instructions */
'invept','invvpid','vmcall','vmclear','vmlaunch','vmresume',
'vmptrld','vmptrst','vmread','vmwrite','vmxoff','vmxon',
/* SVM (AMD-V) instructions */
'invlpga','skinit','clgi','stgi','vmload','vmsave','vmmcall','vmrun'
),
/*FPU*/
2 => array(
@ -87,76 +173,372 @@ $language_data = array (
'fsavew','fscale','fsqrt','fst','fstcw','fstenv','fstenvw','fstp','fstsw','fsub','fsubp',
'fsubr','fsubrp','ftst','fwait','fxam','fxch','fxtract','fyl2x','fyl2xp1',
'fsetpm','fcos','fldenvd','fnsaved','fnstenvd','fprem1','frstord','fsaved','fsin','fsincos',
'fstenvd','fucom','fucomp','fucompp'
'fstenvd','fucom','fucomp','fucompp','ffreep',
/* FCMOV instructions */
'fcomi','fcomip','fucomi','fucomip',
'fcmovb','fcmove','fcmovbe','fcmovu','fcmovnb','fcmovne','fcmovnbe','fcmovnu',
/* SSE3 instructions */
'fisttp'
),
/*SIMD*/
3 => array(
/* MMX instructions */
'movd','movq',
'paddb','paddw','paddd','paddsb','paddsw','paddusb','paddusw',
'psubb','psubw','psubd','psubsb','psubsw','psubusb','psubusw',
'pand','pandn','por','pxor',
'pcmpeqb','pcmpeqd','pcmpeqw','pcmpgtb','pcmpgtd','pcmpgtw',
'pmaddwd','pmulhw','pmullw',
'psllw','pslld','psllq','psrlw','psrld','psrlq','psraw','psrad',
'packuswb','packsswb','packssdw',
'punpcklbw','punpcklwd','punpckldq','punpckhbw','punpckhwd','punpckhdq',
'emms',
/* MMX+ instructions */
'pavgb','pavgw',
'pextrw','pinsrw','pmovmskb',
'pmaxsw','pmaxub','pminsw','pminub',
'pmulhuw','psadbw','pshufw',
'prefetchnta','prefetcht0','prefetcht1','prefetcht2',
'maskmovq','movntq','sfence',
/* EMMX instructions (only available on Cyrix MediaGXm) */
'paddsiw','psubsiw',
/*'pmulhrw',*/'pmachriw','pmulhriw', /* PMULHRW conflicts with the 3dnow! instruction of the same name */
'pmagw','pdistib','paveb',
'pmvzb','pmvnzb','pmvlzb','pmvgezb',
/* 3dnow! instructions! */
'pfacc','pfadd','pfsub','pfsubr','pfmul',
'pfcmpeq','pfcmpge','pfcmpgt',
'pfmax','pfmin',
'pfrcp','pfrcpit1','pfrcpit2','pfrsqit1','pfrsqrt',
'pi2fd','pf2id',
'pavgusb','pmulhrw',
'femms',
/* 3dnow!+ instructions */
'pfnacc','pfpnacc','pi2fw','pf2iw','pswapd',
/* 3dnow! Geode instructions */
'pfrsqrtv','pfrcpv',
/* 3dnow! Prefetch instructions */
'prefetch','prefetchw',
/* SSE instructions */
'addss','addps','subss','subps',
'mulss','mulps','divss','divps','sqrtss','sqrtps',
'rcpss','rcpps','rsqrtss','rsqrtps',
'maxss','maxps','minss','minps',
'cmpss','comiss','ucomiss','cmpps',
'cmpeqss','cmpltss','cmpless','cmpunordss','cmpneqss','cmpnltss','cmpnless','cmpordss',
'cmpeqps','cmpltps','cmpleps','cmpunordps','cmpneqps','cmpnltps','cmpnleps','cmpordps',
'andnps','andps','orps','xorps',
'cvtsi2ss','cvtss2si','cvttss2si',
'cvtpi2ps','cvtps2pi','cvttps2pi',
'movss','movlps','movhps','movlhps','movhlps','movaps','movups','movntps','movmskps',
'shufps','unpckhps','unpcklps',
'ldmxcsr','stmxcsr',
/* SSE2 instructions */
'addpd','addsd','subpd','subsd',
'mulsd','mulpd','divsd','divpd','sqrtsd','sqrtpd',
'maxsd','maxpd','minsd','minpd',
'cmpsd','comisd','ucomisd','cmppd',
'cmpeqsd','cmpltsd','cmplesd','cmpunordsd','cmpneqsd','cmpnltsd','cmpnlesd','cmpordsd',
'cmpeqpd','cmpltpd','cmplepd','cmpunordpd','cmpneqpd','cmpnltpd','cmpnlepd','cmpordpd',
'andnpd','andpd','orpd','xorpd',
'cvtsd2ss','cvtpd2ps','cvtss2sd','cvtps2pd',
'cvtdq2ps','cvtps2dq','cvttps2dq',
'cvtdq2pd','cvtpd2dq','cvttpd2dq',
'cvtsi2sd','cvtsd2si','cvttsd2si',
'cvtpi2pd','cvtpd2pi','cvttpd2pi',
'movsd','movlpd','movhpd','movapd','movupd','movntpd','movmskpd',
'shufpd','unpckhpd','unpcklpd',
'movnti','movdqa','movdqu','movntdq','maskmovdqu',
'movdq2q','movq2dq',
'paddq','psubq','pmuludq',
'pslldq','psrldq',
'punpcklqdq','punpckhqdq',
'pshufhw','pshuflw','pshufd',
'lfence','mfence',
/* SSE3 instructions */
'addsubps','addsubpd',
'haddps','haddpd','hsubps','hsubpd',
'movsldup','movshdup','movddup',
'lddqu',
/* SSSE3 instructions */
'psignb','psignw','psignd',
'pabsb','pabsw','pabsd',
'palignr','pshufb',
'pmulhrsw','pmaddubsw',
'phaddw','phaddd','phaddsw',
'phsubw','phsubd','phsubsw',
/* SSE4A instructions */
'extrq','insertq','movntsd','movntss',
/* SSE4.1 instructions */
'mpsadbw','phminposuw',
'pmuldq','pmulld',
'dpps','dppd',
'blendps','blendpd','blendvps','blendvpd','pblendvb','pblendw',
'pmaxsb','pmaxuw','pmaxsd','pmaxud','pminsb','pminuw','pminsd','pminud',
'roundps','roundss','roundpd','roundsd',
'insertps','pinsrb','pinsrd','pinsrq',
'extractps','pextrb','pextrd','pextrq',
'pmovsxbw','pmovsxbd','pmovsxbq','pmovsxwd','pmovsxwq','pmovsxdq',
'pmovzxbw','pmovzxbd','pmovzxbq','pmovzxwd','pmovzxwq','pmovzxdq',
'ptest',
'pcmpeqq',
'packusdw',
'movntdqa',
/* SSE4.2 instructions */
'pcmpgtq',
'pcmpestri','pcmpestrm','pcmpistri','pcmpistrm',
/* AES instructions */
'aesenc','aesenclast','aesdec','aesdeclast','aeskeygenassist','aesimc',
/* VIA Padlock instructions */
'xcryptcbc','xcryptcfb','xcryptctr','xcryptecb','xcryptofb',
'xsha1','xsha256','montmul','xstore',
/* AVX instructions */
'vaddss','vaddps','vaddsd','vaddpd','vsubss','vsubps','vsubsd','vsubpd',
'vaddsubps','vaddsubpd',
'vhaddps','vhaddpd','vhsubps','vhsubpd',
'vmulss','vmulps','vmulsd','vmulpd',
'vmaxss','vmaxps','vmaxsd','vmaxpd','vminss','vminps','vminsd','vminpd',
'vandps','vandpd','vandnps','vandnpd','vorps','vorpd','vxorps','vxorpd',
'vblendps','vblendpd','vblendvps','vblendvpd',
'vcmpss','vcomiss','vucomiss','vcmpsd','vcomisd','vucomisd','vcmpps','vcmppd',
'vcmpeqss','vcmpltss','vcmpless','vcmpunordss','vcmpneqss','vcmpnltss','vcmpnless','vcmpordss',
'vcmpeq_uqss','vcmpngess','vcmpngtss','vcmpfalsess','vcmpneq_oqss','vcmpgess','vcmpgtss','vcmptruess',
'vcmpeq_osss','vcmplt_oqss','vcmple_oqss','vcmpunord_sss','vcmpneq_usss','vcmpnlt_uqss','vcmpnle_uqss','vcmpord_sss',
'vcmpeq_usss','vcmpnge_uqss','vcmpngt_uqss','vcmpfalse_osss','vcmpneq_osss','vcmpge_oqss','vcmpgt_oqss','vcmptrue_usss',
'vcmpeqps','vcmpltps','vcmpleps','vcmpunordps','vcmpneqps','vcmpnltps','vcmpnleps','vcmpordps',
'vcmpeq_uqps','vcmpngeps','vcmpngtps','vcmpfalseps','vcmpneq_oqps','vcmpgeps','vcmpgtps','vcmptrueps',
'vcmpeq_osps','vcmplt_oqps','vcmple_oqps','vcmpunord_sps','vcmpneq_usps','vcmpnlt_uqps','vcmpnle_uqps','vcmpord_sps',
'vcmpeq_usps','vcmpnge_uqps','vcmpngt_uqps','vcmpfalse_osps','vcmpneq_osps','vcmpge_oqps','vcmpgt_oqps','vcmptrue_usps',
'vcmpeqsd','vcmpltsd','vcmplesd','vcmpunordsd','vcmpneqsd','vcmpnltsd','vcmpnlesd','vcmpordsd',
'vcmpeq_uqsd','vcmpngesd','vcmpngtsd','vcmpfalsesd','vcmpneq_oqsd','vcmpgesd','vcmpgtsd','vcmptruesd',
'vcmpeq_ossd','vcmplt_oqsd','vcmple_oqsd','vcmpunord_ssd','vcmpneq_ussd','vcmpnlt_uqsd','vcmpnle_uqsd','vcmpord_ssd',
'vcmpeq_ussd','vcmpnge_uqsd','vcmpngt_uqsd','vcmpfalse_ossd','vcmpneq_ossd','vcmpge_oqsd','vcmpgt_oqsd','vcmptrue_ussd',
'vcmpeqpd','vcmpltpd','vcmplepd','vcmpunordpd','vcmpneqpd','vcmpnltpd','vcmpnlepd','vcmpordpd',
'vcmpeq_uqpd','vcmpngepd','vcmpngtpd','vcmpfalsepd','vcmpneq_oqpd','vcmpgepd','vcmpgtpd','vcmptruepd',
'vcmpeq_ospd','vcmplt_oqpd','vcmple_oqpd','vcmpunord_spd','vcmpneq_uspd','vcmpnlt_uqpd','vcmpnle_uqpd','vcmpord_spd',
'vcmpeq_uspd','vcmpnge_uqpd','vcmpngt_uqpd','vcmpfalse_ospd','vcmpneq_ospd','vcmpge_oqpd','vcmpgt_oqpd','vcmptrue_uspd',
'vcvtsd2ss','vcvtpd2ps','vcvtss2sd','vcvtps2pd',
'vcvtsi2ss','vcvtss2si','vcvttss2si',
'vcvtpi2ps','vcvtps2pi','vcvttps2pi',
'vcvtdq2ps','vcvtps2dq','vcvttps2dq',
'vcvtdq2pd','vcvtpd2dq','vcvttpd2dq',
'vcvtsi2sd','vcvtsd2si','vcvttsd2si',
'vcvtpi2pd','vcvtpd2pi','vcvttpd2pi',
'vdivss','vdivps','vdivsd','vdivpd','vsqrtss','vsqrtps','vsqrtsd','vsqrtpd',
'vdpps','vdppd',
'vmaskmovps','vmaskmovpd',
'vmovss','vmovsd','vmovaps','vmovapd','vmovups','vmovupd','vmovntps','vmovntpd',
'vmovhlps','vmovlhps','vmovlps','vmovlpd','vmovhps','vmovhpd',
'vmovsldup','vmovshdup','vmovddup',
'vmovmskps','vmovmskpd',
'vroundss','vroundps','vroundsd','vroundpd',
'vrcpss','vrcpps','vrsqrtss','vrsqrtps',
'vunpcklps','vunpckhps','vunpcklpd','vunpckhpd',
'vbroadcastss','vbroadcastsd','vbroadcastf128',
'vextractps','vinsertps','vextractf128','vinsertf128',
'vshufps','vshufpd','vpermilps','vpermilpd','vperm2f128',
'vtestps','vtestpd',
'vpaddb','vpaddusb','vpaddsb','vpaddw','vpaddusw','vpaddsw','vpaddd','vpaddq',
'vpsubb','vpsubusb','vpsubsb','vpsubw','vpsubusw','vpsubsw','vpsubd','vpsubq',
'vphaddw','vphaddsw','vphaddd','vphsubw','vphsubsw','vphsubd',
'vpsllw','vpslld','vpsllq','vpsrlw','vpsrld','vpsrlq','vpsraw','vpsrad',
'vpand','vpandn','vpor','vpxor',
'vpblendwb','vpblendw',
'vpsignb','vpsignw','vpsignd',
'vpavgb','vpavgw',
'vpabsb','vpabsw','vpabsd',
'vmovd','vmovq','vmovdqa','vmovdqu','vlddqu','vmovntdq','vmovntdqa','vmaskmovdqu',
'vpmovsxbw','vpmovsxbd','vpmovsxbq','vpmovsxwd','vpmovsxwq','vpmovsxdq',
'vpmovzxbw','vpmovzxbd','vpmovzxbq','vpmovzxwd','vpmovzxwq','vpmovzxdq',
'vpackuswb','vpacksswb','vpackusdw','vpackssdw',
'vpcmpeqb','vpcmpeqw','vpcmpeqd','vpcmpeqq','vpcmpgtb','vpcmpgtw','vpcmpgtd','vpcmpgtq',
'vpmaddubsw','vpmaddwd',
'vpmullw','vpmulhuw','vpmulhw','vpmulhrsw','vpmulld','vpmuludq','vpmuldq',
'vpmaxub','vpmaxsb','vpmaxuw','vpmaxsw','vpmaxud','vpmaxsd',
'vpminub','vpminsb','vpminuw','vpminsw','vpminud','vpminsd',
'vpmovmskb','vptest',
'vpunpcklbw','vpunpcklwd','vpunpckldq','vpunpcklqdq',
'vpunpckhbw','vpunpckhwd','vpunpckhdq','vpunpckhqdq',
'vpslldq','vpsrldq','vpalignr',
'vpshufb','vpshuflw','vpshufhw','vpshufd',
'vpextrb','vpextrw','vpextrd','vpextrq','vpinsrb','vpinsrw','vpinsrd','vpinsrq',
'vpsadbw','vmpsadbw','vphminposuw',
'vpcmpestri','vpcmpestrm','vpcmpistri','vpcmpistrm',
'vpclmulqdq','vaesenc','vaesenclast','vaesdec','vaesdeclast','vaeskeygenassist','vaesimc',
'vldmxcsr','vstmxcsr','vzeroall','vzeroupper',
/* AVX2 instructions */
'vbroadcasti128','vpbroadcastb','vpbroadcastw','vpbroadcastd','vpbroadcastq',
'vpblendd',
'vpermd','vpermq','vperm2i128',
'vextracti128','vinserti128',
'vpmaskmovd','vpmaskmovq',
'vpsllvd','vpsllvq','vpsravd','vpsrlvd',
'vpgatherdd','vpgatherqd','vgatherdq','vgatherqq',
'vpermps','vpermpd',
'vgatherdpd','vgatherqpd','vgatherdps','vgatherqps',
/* XOP instructions */
'vfrczss','vfrczps','vfrczsd','vfrczpd',
'vpermil2ps','vperlil2pd',
'vpcomub','vpcomb','vpcomuw','vpcomw','vpcomud','vpcomd','vpcomuq','vpcomq',
'vphaddubw','vphaddbw','vphaddubd','vphaddbd','vphaddubq','vphaddbq',
'vphadduwd','vphaddwd','vphadduwq','vphaddwq','vphaddudq','vphadddq',
'vphsubbw','vphsubwd','vphsubdq',
'vpmacsdd','vpmacssdd','vpmacsdql','vpmacssdql','vpmacsdqh','vpmacssdqh',
'vpmacsww','vpmacssww','vpmacswd','vpmacsswd',
'vpmadcswd','vpmadcsswd',
'vpcmov','vpperm',
'vprotb','vprotw','vprotd','vprotq',
'vpshab','vpshaw','vpshad','vpshaq',
'vpshlb','vpshlw','vpshld','vpshlq',
/* CVT16 instructions */
'vcvtph2ps','vcvtps2ph',
/* FMA4 instructions */
'vfmaddss','vfmaddps','vfmaddsd','vfmaddpd',
'vfmsubss','vfmsubps','vfmsubsd','vfmsubpd',
'vnfmaddss','vnfmaddps','vnfmaddsd','vnfmaddpd',
'vnfmsubss','vnfmsubps','vnfmsubsd','vnfmsubpd',
'vfmaddsubps','vfmaddsubpd','vfmsubaddps','vfmsubaddpd',
/* FMA3 instructions */
'vfmadd132ss','vfmadd213ss','vfmadd231ss',
'vfmadd132ps','vfmadd213ps','vfmadd231ps',
'vfmadd132sd','vfmadd213sd','vfmadd231sd',
'vfmadd132pd','vfmadd213pd','vfmadd231pd',
'vfmaddsub132ps','vfmaddsub213ps','vfmaddsub231ps',
'vfmaddsub132pd','vfmaddsub213pd','vfmaddsub231pd',
'vfmsubadd132ps','vfmsubadd213ps','vfmsubadd231ps',
'vfmsubadd132pd','vfmsubadd213pd','vfmsubadd231pd',
'vfmsub132ss','vfmsub213ss','vfmsub231ss',
'vfmsub132ps','vfmsub213ps','vfmsub231ps',
'vfmsub132sd','vfmsub213sd','vfmsub231sd',
'vfmsub132pd','vfmsub213pd','vfmsub231pd',
'vfnmadd132ss','vfnmadd213ss','vfnmadd231ss',
'vfnmadd132ps','vfnmadd213ps','vfnmadd231ps',
'vfnmadd132sd','vfnmadd213sd','vfnmadd231sd',
'vfnmadd132pd','vfnmadd213pd','vfnmadd231pd',
'vfnmsub132ss','vfnmsub213ss','vfnmsub231ss',
'vfnmsub132ps','vfnmsub213ps','vfnmsub231ps',
'vfnmsub132sd','vfnmsub213sd','vfnmsub231sd',
'vfnmsub132pd','vfnmsub213pd','vfnmsub231pd'
),
/*registers*/
3 => array(
'ah','al','ax','bh','bl','bp','bx','ch','cl','cr0','cr2','cr3','cs','cx','dh','di','dl',
'dr0','dr1','dr2','dr3','dr6','dr7','ds','dx','eax','ebp','ebx','ecx','edi','edx',
'es','esi','esp','fs','gs','si','sp','ss','st','tr3','tr4','tr5','tr6','tr7'
4 => array(
/* General-Purpose Registers */
'al','ah','bl','bh','cl','ch','dl','dh','sil','dil','bpl','spl',
'r8b','r9b','r10b','r11b','r12b','r13b','r14b','r15b',
'ax','bx','cx','dx','si','di','bp','sp',
'r8w','r9w','r10w','r11w','r12w','r13w','r14w','r15w',
'eax','ebx','ecx','edx','esi','edi','ebp','esp',
'r8d','r9d','r10d','r11d','r12d','r13d','r14d','r15d',
'rax','rcx','rdx','rbx','rsp','rbp','rsi','rdi',
'r8','r9','r10','r11','r12','r13','r14','r15',
/* Debug Registers */
'dr0','dr1','dr2','dr3','dr6','dr7',
/* Control Registers */
'cr0','cr2','cr3','cr4','cr8',
/* Test Registers (Supported on Intel 486 only) */
'tr3','tr4','tr5','tr6','tr7',
/* Segment Registers */
'cs','ds','es','fs','gs','ss',
/* FPU Registers */
'st','st0','st1','st2','st3','st4','st5','st6','st7',
/* MMX Registers */
'mm0','mm1','mm2','mm3','mm4','mm5','mm6','mm7',
/* SSE Registers */
'xmm0','xmm1','xmm2','xmm3','xmm4','xmm5','xmm6','xmm7',
'xmm8','xmm9','xmm10','xmm11','xmm12','xmm13','xmm14','xmm15',
/* AVX Registers */
'ymm0','ymm1','ymm2','ymm3','ymm4','ymm5','ymm6','ymm7',
'ymm8','ymm9','ymm10','ymm11','ymm12','ymm13','ymm14','ymm15'
),
/*Directive*/
4 => array(
'186','286','286c','286p','287','386','386c','386p','387','486','486p',
'8086','8087','alpha','break','code','const','continue','cref','data','data?',
'dosseg','else','elseif','endif','endw','err','err1','err2','errb',
'errdef','errdif','errdifi','erre','erridn','erridni','errnb','errndef',
'errnz','exit','fardata','fardata?','if','lall','lfcond','list','listall',
'listif','listmacro','listmacroall',' model','no87','nocref','nolist',
'nolistif','nolistmacro','radix','repeat','sall','seq','sfcond','stack',
'startup','tfcond','type','until','untilcxz','while','xall','xcref',
'xlist','alias','align','assume','catstr','comm','comment','db','dd','df','dq',
'dt','dup','dw','echo','elseif1','elseif2','elseifb','elseifdef','elseifdif',
'elseifdifi','elseife','elseifidn','elseifidni','elseifnb','elseifndef','end',
'endm','endp','ends','eq',' equ','even','exitm','extern','externdef','extrn','for',
'forc','ge','goto','group','high','highword','if1','if2','ifb','ifdef','ifdif',
'ifdifi','ife',' ifidn','ifidni','ifnb','ifndef','include','includelib','instr','invoke',
'irp','irpc','label','le','length','lengthof','local','low','lowword','lroffset',
'macro','mask','mod','msfloat','name','ne','offset','opattr','option','org','%out',
'page','popcontext','private','proc','proto','ptr','public','purge','pushcontext','record',
'rept','seg','segment','short','size','sizeof','sizestr','struc','struct',
'substr','subtitle','subttl','textequ','this','title','typedef','union','width',
'.model', '.stack', '.code', '.data'
5 => array(
'db','dw','dd','dq','dt','do','dy',
'resb','resw','resd','resq','rest','reso','resy','incbin','equ','times','safeseh',
'__utf16__','__utf32__',
'default','cpu','float','start','imagebase','osabi',
'..start','..imagebase','..gotpc','..gotoff','..gottpoff','..got','..plt','..sym','..tlsie',
'section','segment','__sect__','group','absolute',
'.bss','.comment','.data','.lbss','.ldata','.lrodata','.rdata','.rodata','.tbss','.tdata','.text',
'alloc','bss','code','exec','data','noalloc','nobits','noexec','nowrite','progbits','rdata','tls','write',
'private','public','common','stack','overlay','class',
'extern','global','import','export',
'%define','%idefine','%xdefine','%ixdefine','%assign','%undef',
'%defstr','%idefstr','%deftok','%ideftok',
'%strcat','%strlen','%substr',
'%macro','%imacro','%rmacro','%exitmacro','%endmacro','%unmacro',
'%if','%ifn','%elif','%elifn','%else','%endif',
'%ifdef','%ifndef','%elifdef','%elifndef',
'%ifmacro','%ifnmacro','%elifmacro','%elifnmacro',
'%ifctx','%ifnctx','%elifctx','%elifnctx',
'%ifidn','%ifnidn','%elifidn','%elifnidn',
'%ifidni','%ifnidni','%elifidni','%elifnidni',
'%ifid','%ifnid','%elifid','%elifnid',
'%ifnum','%ifnnum','%elifnum','%elifnnum',
'%ifstr','%ifnstr','%elifstr','%elifnstr',
'%iftoken','%ifntoken','%eliftoken','%elifntoken',
'%ifempty','%ifnempty','%elifempty','%elifnempty',
'%ifenv','%ifnenv','%elifenv','%elifnenv',
'%rep','%exitrep','%endrep',
'%while','%exitwhile','%endwhile',
'%include','%pathsearch','%depend','%use',
'%push','%pop','%repl','%arg','%local','%stacksize','flat','flat64','large','small',
'%error','%warning','%fatal',
'%00','.nolist','%rotate','%line','%!','%final','%clear',
'struc','endstruc','istruc','at','iend',
'align','alignb','sectalign',
'bits','use16','use32','use64',
'__nasm_major__','__nasm_minor__','__nasm_subminor__','___nasm_patchlevel__',
'__nasm_version_id__','__nasm_ver__',
'__file__','__line__','__pass__','__bits__','__output_format__',
'__date__','__time__','__date_num__','__time_num__','__posix_time__',
'__utc_date__','__utc_time__','__utc_date_num__','__utc_time_num__',
'__float_daz__','__float_round__','__float__',
/* Keywords from standard packages */
'__use_altreg__',
'__use_smartalign__','smartalign','__alignmode__',
'__use_fp__','__infinity__','__nan__','__qnan__','__snan__',
'__float8__','__float16__','__float32__','__float64__','__float80m__','__float80e__','__float128l__','__float128h__'
),
/*Operands*/
5 => array(
'@b','@f','addr','basic','byte','c','carry?','dword',
'far','far16','fortran','fword','near','near16','overflow?','parity?','pascal','qword',
'real4',' real8','real10','sbyte','sdword','sign?','stdcall','sword','syscall','tbyte',
'vararg','word','zero?','flat','near32','far32',
'abs','all','assumes','at','casemap','common','compact',
'cpu','dotname','emulator','epilogue','error','export','expr16','expr32','farstack',
'forceframe','huge','language','large','listing','ljmp','loadds','m510','medium','memory',
'nearstack','nodotname','noemulator','nokeyword','noljmp','nom510','none','nonunique',
'nooldmacros','nooldstructs','noreadonly','noscoped','nosignextend','nothing',
'notpublic','oldmacros','oldstructs','os_dos','para','prologue',
'readonly','req','scoped','setif2','smallstack','tiny','use16','use32','uses'
6 => array(
'a16','a32','a64','o16','o32','o64','strict',
'byte','word','dword','qword','tword','oword','yword','nosplit',
'%0','%1','%2','%3','%4','%5','%6','%7','%8','%9',
'abs','rel',
'seg','wrt'
)
),
'SYMBOLS' => array(
1 => array(
'[', ']', '(', ')',
'+', '-', '*', '/', '%',
'.', ',', ';', ':'
),
2 => array(
'$','$$','%+','%?','%??'
)
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false,
4 => false,
5 => false
5 => false,
6 => false
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #00007f; font-weight: bold;',
2 => 'color: #0000ff; font-weight: bold;',
3 => 'color: #00007f;',
4 => 'color: #000000; font-weight: bold;',
5 => 'color: #000000; font-weight: bold;'
2 => 'color: #0000ff;',
3 => 'color: #b00040;',
4 => 'color: #46aa03; font-weight: bold;',
5 => 'color: #0000ff; font-weight: bold;',
6 => 'color: #0000ff; font-weight: bold;'
),
'COMMENTS' => array(
1 => 'color: #666666; font-style: italic;',
2 => 'color: #adadad; font-style: italic;',
2 => 'color: #adadad; font-style: italic;'
),
'ESCAPE_CHAR' => array(
0 => 'color: #000099; font-weight: bold;'
@ -168,16 +550,15 @@ $language_data = array (
0 => 'color: #7f007f;'
),
'NUMBERS' => array(
0 => 'color: #0000ff;'
0 => 'color: #ff0000;'
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #339933;'
1 => 'color: #339933;',
2 => 'color: #0000ff; font-weight: bold;'
),
'REGEXPS' => array(
// 0 => 'color: #0000ff;',
// 1 => 'color: #0000ff;'
),
'SCRIPT' => array(
)
@ -187,7 +568,8 @@ $language_data = array (
2 => '',
3 => '',
4 => '',
5 => ''
5 => '',
6 => ''
),
'NUMBERS' =>
GESHI_NUMBER_BIN_PREFIX_PERCENT |
@ -203,10 +585,6 @@ $language_data = array (
'OBJECT_SPLITTERS' => array(
),
'REGEXPS' => array(
//Hex numbers
// 0 => /* */ "(?<=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))(?:[0-9][0-9a-fA-F]{0,31}[hH]|0x[0-9a-fA-F]{1,32})(?=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))",
//Binary numbers
// 1 => "(?<=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))[01]{1,64}[bB](?=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))"
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(

View File

@ -4,7 +4,7 @@
* --------
* Author: Amit Gupta (http://blog.igeek.info/)
* Copyright: (c) 2004 Amit Gupta (http://blog.igeek.info/), Nigel McNie (http://qbnz.com/highlighter)
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2004/08/13
*
* ASP language file for GeSHi.

View File

@ -0,0 +1,194 @@
<?php
/*************************************************************************************
* asymptote.php
* -------------
* Author: Manuel Yguel (manuel.yguel.robotics@gmail.com)
* Copyright: (c) 2012 Manuel Yguel (http://manuelyguel.eu)
* Release Version: 1.0.8.11
* Date Started: 2012/05/24
*
* asymptote language file for GeSHi.
*
* CHANGES
* -------
* 2012/05/24 (1.0.0.0)
* - First Release
*
* TODO (updated 2012/05/24)
* -------------------------
* * Split to several files - php4, php5 etc
*
*************************************************************************************
*
* This file is part of GeSHi.
*
* GeSHi is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* GeSHi is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GeSHi; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* ************************************************************************************/
$language_data = array(
'LANG_NAME' => 'asymptote',
'COMMENT_SINGLE' => array(1 => '//'),
'COMMENT_MULTI' => array('/*' => '*/'),
'COMMENT_REGEXP' => array(
//Multiline-continued single-line comments
1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
//Multiline-continued preprocessor define
2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
'ESCAPE_REGEXP' => array(
//Simple Single Char Escapes
1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
//Hexadecimal Char Specs
2 => "#\\\\x[\da-fA-F]{2}#",
//Hexadecimal Char Specs
3 => "#\\\\u[\da-fA-F]{4}#",
//Hexadecimal Char Specs
4 => "#\\\\U[\da-fA-F]{8}#",
//Octal Char Specs
5 => "#\\\\[0-7]{1,3}#"
),
'NUMBERS' =>
GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
'KEYWORDS' => array(
1 => array(
'and','controls','tension','atleast','curl','if','else','while','for','do','return','break','continue','struct','typedef','new','access','import','unravel','from','include','quote','static','public','private','restricted','this','explicit','true','false','null','cycle','newframe','operator'
),
2 => array(
'Braid','FitResult','Label','Legend','Segment','Solution','TreeNode','abscissa','arc','arrowhead','binarytree','binarytreeNode','block','bool','bool3','bounds','bqe','circle','conic','coord','coordsys','cputime','ellipse','file','filltype','frame','grid3','guide','horner','hsv','hyperbola','indexedTransform','int','inversion','key','light','line','linefit','marginT','marker','mass','object','pair','parabola','path','path3','pen','picture','point','position','projection','real','revolution','scaleT','scientific','segment','side','slice','solution','splitface','string','surface','tensionSpecifier','ticklocate','ticksgridT','tickvalues','transform','transformation','tree','triangle','trilinear','triple','vector','vertex','void'),
3 => array(
'AND','Arc','ArcArrow','ArcArrows','Arrow','Arrows','Automatic','AvantGarde','BBox','BWRainbow','BWRainbow2','Bar','Bars','BeginArcArrow','BeginArrow','BeginBar','BeginDotMargin','BeginMargin','BeginPenMargin','Blank','Bookman','Bottom','BottomTop','Bounds','Break','Broken','BrokenLog','CLZ','CTZ','Ceil','Circle','CircleBarIntervalMarker','Cos','Courier','CrossIntervalMarker','DOSendl','DOSnewl','DefaultFormat','DefaultLogFormat','Degrees','Dir','DotMargin','DotMargins','Dotted','Draw','Drawline','Embed','EndArcArrow','EndArrow','EndBar','EndDotMargin','EndMargin','EndPenMargin','Fill','FillDraw','Floor','Format','Full','Gaussian','Gaussrand','Gaussrandpair',
'Gradient','Grayscale','Helvetica','Hermite','HookHead','InOutTicks','InTicks','Jn','Label','Landscape','Left','LeftRight','LeftTicks','Legend','Linear','Link','Log','LogFormat','Margin','Margins','Mark','MidArcArrow','MidArrow','NOT','NewCenturySchoolBook','NoBox','NoMargin','NoModifier','NoTicks','NoTicks3','NoZero','NoZeroFormat','None','OR','OmitFormat','OmitTick','OmitTickInterval','OmitTickIntervals','OutTicks','Ox','Oy','Palatino','PaletteTicks','Pen','PenMargin','PenMargins','Pentype','Portrait','RadialShade','RadialShadeDraw','Rainbow','Range','Relative','Right','RightTicks','Rotate','Round','SQR','Scale','ScaleX','ScaleY','ScaleZ','Seascape','Segment','Shift','Sin','Slant','Spline','StickIntervalMarker','Straight','Symbol','Tan','TeXify','Ticks','Ticks3','TildeIntervalMarker','TimesRoman','Top','TrueMargin','UnFill','UpsideDown','Wheel','X','XEquals','XOR','XY','XYEquals','XYZero','XYgrid','XZEquals','XZZero','XZero','XZgrid','Y','YEquals','YXgrid','YZ','YZEquals','YZZero','YZero','YZgrid','Yn','Z','ZX','ZXgrid','ZYgrid','ZapfChancery','ZapfDingbats','_begingroup3','_cputime','_draw','_eval','_image','_labelpath','_projection','_strokepath','_texpath','aCos','aSin','aTan','abort','abs','accel','acos','acosh','acot','acsc','activatequote','add',
'addArrow','addMargins','addSaveFunction','addpenarc','addpenline','adjust','alias','align','all','altitude','angabscissa','angle','angpoint','animate','annotate','anticomplementary','antipedal','apply','approximate','arc','arcarrowsize','arccircle','arcdir','arcfromcenter','arcfromfocus','arclength','arcnodesnumber','arcpoint','arcsubtended','arcsubtendedcenter','arctime','arctopath','array','arrow','arrow2','arrowbase','arrowbasepoints','arrowsize','asec','asin','asinh','ask','assert','asy','asycode','asydir','asyfigure','asyfilecode','asyinclude','asywrite','atan','atan2','atanh','atbreakpoint','atexit','attach','attract','atupdate','autoformat','autoscale','autoscale3','axes','axes3','axialshade','axis','axiscoverage','azimuth','babel','background','bangles','bar','barmarksize','barsize','basealign','baseline','bbox','beep','begin','beginclip','begingroup','beginpoint','between','bevel','bezier','bezierP','bezierPP','bezierPPP','bezulate','bibliography','bibliographystyle','binarytree','binarytreeNode','binomial','binput','bins','bisector','bisectorpoint','bispline','blend','blockconnector','boutput','box','bqe','breakpoint','breakpoints','brick','buildRestoreDefaults','buildRestoreThunk','buildcycle','bulletcolor','byte','calculateScaling','canonical','canonicalcartesiansystem','cartesiansystem','case1','case2','case3','case4','cbrt','cd','ceil','center','centerToFocus',
'centroid','cevian','change2','changecoordsys','checkSegment','checkconditionlength','checker','checkincreasing','checklengths','checkposition','checktriangle','choose','circle','circlebarframe','circlemarkradius','circlenodesnumber','circumcenter','circumcircle','clamped','clear','clip','clipdraw','close','cmyk','code','colatitude','collect','collinear','color','colorless','colors','colorspace','comma','compassmark','complement','complementary','concat','concurrent','cone','conic','conicnodesnumber','conictype','conj','connect','connected','connectedindex','containmentTree','contains','contour','contour3','contouredges','controlSpecifier','convert','coordinates','coordsys','copy','copyPairOrTriple','cos','cosh','cot','countIntersections','cputime','crop','cropcode','cross',
'crossframe','crosshatch','crossmarksize','csc','cubicroots','curabscissa','curlSpecifier','curpoint','currentarrow','currentexitfunction','currentmomarrow','currentpolarconicroutine','curve','cut','cutafter','cutbefore','cyclic','cylinder','deactivatequote','debugger','deconstruct','defaultdir','defaultformat','defaultpen','defined','degenerate','degrees','delete','deletepreamble','determinant','diagonal','diamond','diffdiv','dir','dirSpecifier','dirtime','display','distance',
'divisors','do_overpaint','dot','dotframe','dotsize','downcase','draw','drawAll','drawDoubleLine','drawFermion','drawGhost','drawGluon','drawMomArrow','drawPRCcylinder','drawPRCdisk','drawPRCsphere','drawPRCtube','drawPhoton','drawScalar','drawVertex','drawVertexBox','drawVertexBoxO','drawVertexBoxX','drawVertexO','drawVertexOX','drawVertexTriangle','drawVertexTriangleO','drawVertexX','drawarrow','drawarrow2','drawline','drawpixel','drawtick','duplicate','elle','ellipse','ellipsenodesnumber','embed','embed3','empty','enclose','end','endScript','endclip','endgroup','endgroup3','endl','endpoint','endpoints','eof','eol','equation','equations','erase','erasestep','erf','erfc','error','errorbar','errorbars','eval','excenter','excircle','exit','exitXasyMode','exitfunction','exp','expfactors','expi','expm1','exradius','extend','extension','extouch','fabs','factorial','fermat','fft','fhorner','figure','file','filecode','fill','filldraw','filloutside','fillrule','filltype','find','finite','finiteDifferenceJacobian','firstcut','firstframe','fit','fit2','fixedscaling','floor','flush','fmdefaults','fmod','focusToCenter','font','fontcommand','fontsize','foot','format','frac','frequency','fromCenter','fromFocus','fspline','functionshade','gamma','generate_random_backtrace','generateticks','gergonne','getc','getint','getpair','getreal','getstring','gettriple','gluon','gouraudshade','graph','graphic','gray','grestore','grid','grid3','gsave','halfbox','hatch','hdiffdiv','hermite','hex','histogram','history','hline','hprojection',
'hsv','hyperbola','hyperbolanodesnumber','hyperlink','hypot','identity','image','incenter','incentral','incircle','increasing','incrementposition','indexedTransform','indexedfigure','initXasyMode','initdefaults','input','inradius','insert','inside','integrate','interactive','interior','interp','interpolate','intersect','intersection','intersectionpoint','intersectionpoints','intersections','intouch','inverse','inversion','invisible','is3D','isCCW','isDuplicate','isogonal','isogonalconjugate','isotomic','isotomicconjugate','isparabola','italic','item','jobname','key','kurtosis','kurtosisexcess','label','labelaxis','labelmargin','labelpath','labels','labeltick','labelx','labelx3','labely','labely3','labelz','labelz3','lastcut','latex','latitude','latticeshade','layer','layout','ldexp','leastsquares','legend','legenditem','length','lexorder','lift','light','limits','line','linear','linecap','lineinversion','linejoin','linemargin','lineskip','linetype','linewidth','link','list','lm_enorm','lm_evaluate_default','lm_lmdif','lm_lmpar','lm_minimize','lm_print_default','lm_print_quiet','lm_qrfac','lm_qrsolv','locale','locate',
'locatefile','location','log','log10','log1p','logaxiscoverage','longitude','lookup','makeNode','makedraw','makepen','map','margin','markangle','markangleradius','markanglespace','markarc','marker','markinterval','marknodes','markrightangle','markuniform','mass','masscenter','massformat','math','max','max3','maxAfterTransform','maxbezier','maxbound','maxcoords','maxlength','maxratio','maxtimes','mean','medial','median','midpoint','min','min3','minAfterTransform','minbezier','minbound','minipage','minratio','mintimes','miterlimit','mktemp','momArrowPath','momarrowsize','monotonic','multifigure','nativeformat','natural','needshipout','newl','newpage','newslide','newton','newtree','nextframe','nextnormal','nextpage','nib','nodabscissa','none','norm','normalvideo','notaknot','nowarn','numberpage','nurb','object','offset','onpath','opacity','opposite','orientation','origin','orthic','orthocentercenter','outformat','outline','outname','outprefix','output','overloadedMessage','overwrite','pack','pad','pairs','palette','parabola','parabolanodesnumber','parallel','parallelogram','partialsum','path','path3','pattern','pause','pdf','pedal','periodic','perp','perpendicular','perpendicularmark','phantom','phi1','phi2','phi3','photon','piecewisestraight','point','polar','polarconicroutine','polargraph','polygon','postcontrol','postscript','pow10','ppoint','prc','prc0','precision','precontrol','prepend','printBytecode','print_random_addresses','project','projection','purge','pwhermite','quadrant','quadraticroots','quantize','quarticroots','quotient','radialshade','radians','radicalcenter','radicalline','radius','rand','randompath','rd','readline','realmult','realquarticroots','rectangle','rectangular','rectify','reflect','relabscissa','relative','relativedistance','reldir','relpoint','reltime','remainder','remark','removeDuplicates','rename','replace','report','resetdefaultpen','restore','restoredefaults','reverse','reversevideo','rf','rfind','rgb','rgba','rgbint','rms',
'rotate','rotateO','rotation','round','roundbox','roundedpath','roundrectangle','same','samecoordsys','sameside','sample','save','savedefaults','saveline','scale','scale3','scaleO','scaleT','scaleless','scientific','search','searchindex','searchtree','sec','secondaryX','secondaryY','seconds','section','sector','seek','seekeof','segment','sequence','setcontour','setpens','sgn','sgnd','sharpangle','sharpdegrees','shift','shiftless','shipout','shipout3','show','side','simeq','simpson','sin','sinh','size','size3','skewness','skip','slant','sleep','slope','slopefield','solve','solveBVP','sort','sourceline','sphere','split','sqrt','square','srand','standardizecoordsys','startScript','stdev','step','stickframe','stickmarksize','stickmarkspace','stop','straight','straightness','string','stripdirectory','stripextension','stripfile','stripsuffix','strokepath','subdivide','subitem','subpath','substr','sum','surface','symmedial','symmedian','system',
'tab','tableau','tan','tangent','tangential','tangents','tanh','tell','tensionSpecifier','tensorshade','tex','texcolor','texify','texpath','texpreamble','texreset','texshipout','texsize','textpath','thick','thin','tick','tickMax','tickMax3','tickMin','tickMin3','ticklabelshift','ticklocate','tildeframe','tildemarksize','tile','tiling','time','times','title','titlepage','topbox','transform','transformation','transpose','trembleFuzz','triangle','triangleAbc','triangleabc','triangulate','tricoef','tridiagonal','trilinear','trim','truepoint','tube','uncycle','unfill','uniform','unique','unit','unitrand','unitsize','unityroot','unstraighten','upcase','updatefunction','uperiodic','upscale','uptodate','usepackage','usersetting','usetypescript','usleep','value','variance','variancebiased','vbox','vector','vectorfield','verbatim','view','vline','vperiodic','vprojection','warn','warning','windingnumber','write','xaxis','xaxis3','xaxis3At','xaxisAt','xequals','xinput','xlimits','xoutput','xpart','xscale','xscaleO','xtick','xtick3','xtrans','yaxis','yaxis3','yaxis3At','yaxisAt','yequals','ylimits','ypart','yscale','yscaleO','ytick','ytick3','ytrans','zaxis3','zaxis3At','zero','zero3','zlimits','zpart','ztick','ztick3','ztrans'
),
4 => array(
'AliceBlue','Align','Allow','AntiqueWhite','Apricot','Aqua','Aquamarine','Aspect','Azure','BeginPoint','Beige','Bisque','Bittersweet','Black','BlanchedAlmond','Blue','BlueGreen','BlueViolet','Both','Break','BrickRed','Brown','BurlyWood','BurntOrange','CCW','CW','CadetBlue','CarnationPink','Center','Centered','Cerulean','Chartreuse','Chocolate','Coeff','Coral','CornflowerBlue','Cornsilk','Crimson','Crop','Cyan','Dandelion','DarkBlue','DarkCyan','DarkGoldenrod','DarkGray','DarkGreen','DarkKhaki','DarkMagenta','DarkOliveGreen','DarkOrange','DarkOrchid','DarkRed','DarkSalmon','DarkSeaGreen','DarkSlateBlue','DarkSlateGray','DarkTurquoise','DarkViolet','DeepPink','DeepSkyBlue','DefaultHead','DimGray','DodgerBlue','Dotted','Down','Draw','E','ENE','EPS','ESE','E_Euler','E_PC','E_RK2','E_RK3BS','Emerald','EndPoint','Euler','Fill','FillDraw','FireBrick','FloralWhite','ForestGreen','Fuchsia','Gainsboro','GhostWhite','Gold','Goldenrod','Gray','Green','GreenYellow','Honeydew','HookHead','Horizontal','HotPink','I','IgnoreAspect','IndianRed','Indigo','Ivory','JOIN_IN','JOIN_OUT','JungleGreen','Khaki','LM_DWARF','LM_MACHEP','LM_SQRT_DWARF','LM_SQRT_GIANT','LM_USERTOL','Label','Lavender','LavenderBlush','LawnGreen','Left','LeftJustified','LeftSide','LemonChiffon','LightBlue','LightCoral','LightCyan','LightGoldenrodYellow',
'LightGreen','LightGrey','LightPink','LightSalmon','LightSeaGreen','LightSkyBlue','LightSlateGray','LightSteelBlue','LightYellow','Lime','LimeGreen','Linear','Linen','Log','Logarithmic','Magenta','Mahogany','Mark','MarkFill','Maroon','Max','MediumAquamarine','MediumBlue','MediumOrchid','MediumPurple','MediumSeaGreen','MediumSlateBlue','MediumSpringGreen','MediumTurquoise','MediumVioletRed','Melon','MidPoint','MidnightBlue','Min','MintCream','MistyRose','Moccasin','Move','MoveQuiet','Mulberry','N','NE','NNE','NNW','NW','NavajoWhite','Navy','NavyBlue','NoAlign','NoCrop','NoFill','NoSide','OldLace','Olive','OliveDrab','OliveGreen','Orange','OrangeRed','Orchid','Ox','Oy','PC','PaleGoldenrod','PaleGreen','PaleTurquoise','PaleVioletRed','PapayaWhip','Peach','PeachPuff','Periwinkle','Peru','PineGreen','Pink','Plum','PowderBlue','ProcessBlue','Purple','RK2','RK3','RK3BS','RK4','RK5','RK5DP','RK5F','RawSienna','Red','RedOrange','RedViolet','Rhodamine','Right','RightJustified','RightSide','RosyBrown','RoyalBlue','RoyalPurple','RubineRed','S','SE','SSE','SSW','SW','SaddleBrown','Salmon','SandyBrown','SeaGreen','Seashell','Sepia','Sienna','Silver','SimpleHead','SkyBlue','SlateBlue','SlateGray','Snow','SpringGreen','SteelBlue','Suppress','SuppressQuiet','Tan','TeXHead','Teal','TealBlue','Thistle','Ticksize','Tomato',
'Turquoise','UnFill','Up','VERSION','Value','Vertical','Violet','VioletRed','W','WNW','WSW','Wheat','White','WhiteSmoke','WildStrawberry','XYAlign','YAlign','Yellow','YellowGreen','YellowOrange','addpenarc','addpenline','align','allowstepping','angularsystem','animationdelay','appendsuffix','arcarrowangle','arcarrowfactor','arrow2sizelimit','arrowangle','arrowbarb','arrowdir','arrowfactor','arrowhookfactor','arrowlength','arrowsizelimit','arrowtexfactor','authorpen','axis','axiscoverage','axislabelfactor','background','backgroundcolor','backgroundpen','barfactor','barmarksizefactor','basealign','baselinetemplate','beveljoin','bigvertexpen','bigvertexsize','black','blue','bm','bottom','bp','brown','bullet','byfoci','byvertices','camerafactor','chartreuse','circlemarkradiusfactor','circlenodesnumberfactor','circleprecision','circlescale','cm','codefile','codepen','codeskip','colorPen','coloredNodes','coloredSegments',
'conditionlength','conicnodesfactor','count','cputimeformat','crossmarksizefactor','currentcoordsys','currentlight','currentpatterns','currentpen','currentpicture','currentposition','currentprojection','curvilinearsystem','cuttings','cyan','darkblue','darkbrown','darkcyan','darkgray','darkgreen','darkgrey','darkmagenta','darkolive','darkred','dashdotted','dashed','datepen','dateskip','debuggerlines','debugging','deepblue','deepcyan','deepgray','deepgreen','deepgrey','deepmagenta','deepred','default','defaultControl','defaultS','defaultbackpen','defaultcoordsys','defaultexcursion','defaultfilename','defaultformat','defaultmassformat','defaultpen','diagnostics','differentlengths','dot','dotfactor','dotframe','dotted','doublelinepen','doublelinespacing','down','duplicateFuzz','edge','ellipsenodesnumberfactor','eps','epsgeo','epsilon','evenodd','expansionfactor','extendcap','exterior','fermionpen','figureborder','figuremattpen','file3','firstnode','firststep','foregroundcolor','fuchsia','fuzz','gapfactor','ghostpen','gluonamplitude','gluonpen','gluonratio','gray','green','grey','hatchepsilon','havepagenumber','heavyblue','heavycyan','heavygray','heavygreen','heavygrey','heavymagenta','heavyred','hline','hwratio','hyperbola','hyperbolanodesnumberfactor','identity4','ignore','inXasyMode','inch','inches','includegraphicscommand','inf','infinity','institutionpen','intMax','intMin','interior','invert','invisible','itempen','itemskip','itemstep','labelmargin','landscape','lastnode','left','legendhskip','legendlinelength',
'legendmargin','legendmarkersize','legendmaxrelativewidth','legendvskip','lightblue','lightcyan','lightgray','lightgreen','lightgrey','lightmagenta','lightolive','lightred','lightyellow','line','linemargin','lm_infmsg','lm_shortmsg','longdashdotted','longdashed','magenta','magneticRadius','mantissaBits','markangleradius','markangleradiusfactor','markanglespace','markanglespacefactor','mediumblue','mediumcyan','mediumgray','mediumgreen','mediumgrey','mediummagenta','mediumred','mediumyellow','middle','minDistDefault','minblockheight','minblockwidth','mincirclediameter','minipagemargin','minipagewidth','minvertexangle','miterjoin','mm','momarrowfactor','momarrowlength','momarrowmargin','momarrowoffset','momarrowpen','monoPen','morepoints','nCircle','newbulletcolor','ngraph','nil','nmesh','nobasealign','nodeMarginDefault','nodesystem','nomarker','nopoint','noprimary','nullpath','nullpen','numarray','ocgindex','oldbulletcolor','olive','orange','origin','overpaint','page','pageheight','pagemargin','pagenumberalign','pagenumberpen','pagenumberposition','pagewidth','paleblue','palecyan','palegray','palegreen','palegrey',
'palemagenta','palered','paleyellow','parabolanodesnumberfactor','perpfactor','phi','photonamplitude','photonpen','photonratio','pi','pink','plain','plain_bounds','plain_scaling','plus','preamblenodes','pt','purple','r3','r4a','r4b','randMax','realDigits','realEpsilon','realMax','realMin','red','relativesystem','reverse','right','roundcap','roundjoin','royalblue','salmon','saveFunctions','scalarpen','sequencereal','settings','shipped','signedtrailingzero','solid','springgreen','sqrtEpsilon','squarecap','squarepen','startposition','stdin','stdout','stepfactor','stepfraction','steppagenumberpen','stepping','stickframe','stickmarksizefactor','stickmarkspacefactor','swap','textpen','ticksize','tildeframe','tildemarksizefactor','tinv','titlealign','titlepagepen','titlepageposition','titlepen','titleskip','top','trailingzero','treeLevelStep','treeMinNodeWidth','treeNodeStep','trembleAngle','trembleFrequency','trembleRandom','undefined','unitcircle','unitsquare','up','urlpen','urlskip','version','vertexpen','vertexsize','viewportmargin','viewportsize','vline','white','wye','xformStack','yellow','ylabelwidth','zerotickfuzz','zerowinding'
)
),
'SYMBOLS' => array(
0 => array(
'(', ')', '{', '}', '[', ']'
),
1 => array('<', '>','='),
2 => array('+', '-', '*', '/', '%'),
3 => array('!', '^', '&', '|'),
4 => array('?', ':', ';'),
5 => array('..')
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => true,
2 => true,
3 => true,
4 => true
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #b1b100;',
2 => 'color: #000000; font-weight: bold;',
3 => 'color: #990000;',
4 => 'color: #009900; font-weight: bold;'
),
'COMMENTS' => array(
1 => 'color: #666666;',
2 => 'color: #339900;',
'MULTI' => 'color: #ff0000; font-style: italic;'
),
'ESCAPE_CHAR' => array(
0 => 'color: #000099; font-weight: bold;',
1 => 'color: #000099; font-weight: bold;',
2 => 'color: #660099; font-weight: bold;',
3 => 'color: #660099; font-weight: bold;',
4 => 'color: #660099; font-weight: bold;',
5 => 'color: #006699; font-weight: bold;',
'HARD' => '',
),
'BRACKETS' => array(
0 => 'color: #008000;'
),
'STRINGS' => array(
0 => 'color: #FF0000;'
),
'NUMBERS' => array(
0 => 'color: #0000dd;',
GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
),
'METHODS' => array(
1 => 'color: #007788;',
2 => 'color: #007788;'
),
'SYMBOLS' => array(
0 => 'color: #008000;',
1 => 'color: #000080;',
2 => 'color: #000040;',
3 => 'color: #000040;',
4 => 'color: #008080;',
5 => 'color: #009080;'
),
'REGEXPS' => array(
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => ''
),
'OOLANG' => true,
'OBJECT_SPLITTERS' => array(
1 => '.',
2 => '::'
),
'REGEXPS' => array(
),
'STRICT_MODE_APPLIES' => GESHI_MAYBE,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 4,
'PARSER_CONTROL' => array(
'KEYWORDS' => array(
'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#])",
'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\|%\\-])"
)
)
);
?>

View File

@ -4,7 +4,7 @@
* -----
* Author: Mihai Vasilian (grayasm@gmail.com)
* Copyright: (c) 2010 Mihai Vasilian
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2010/01/25
*
* autoconf language file for GeSHi.

View File

@ -4,7 +4,7 @@
* --------
* Author: Naveen Garg (naveen.garg@gmail.com)
* Copyright: (c) 2009 Naveen Garg and GeSHi
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2009/06/11
*
* Autohotkey language file for GeSHi.

View File

@ -4,7 +4,7 @@
* --------
* Author: big_daddy (robert.i.anthony@gmail.com)
* Copyright: (c) 2006 and to GESHi ;)
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2006/01/26
*
* AutoIT language file for GeSHi.

View File

@ -4,7 +4,7 @@
* --------
* Author: Ryan Jones (sciguyryan@gmail.com)
* Copyright: (c) 2008 Ryan Jones
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2008/10/08
*
* AviSynth language file for GeSHi.

View File

@ -4,7 +4,7 @@
* -------
* Author: George Pollard (porges@porg.es)
* Copyright: (c) 2009 George Pollard
* Release Version: 1.0.8.8
* Release Version: 1.0.8.11
* Date Started: 2009/01/28
*
* Awk language file for GeSHi.

View File

@ -0,0 +1,185 @@
<?php
/*************************************************************************************
* bascomavr.php
* ---------------------------------
* Author: aquaticus.info
* Copyright: (c) 2008 aquaticus.info
* Release Version: 1.0.8.11
* Date Started: 2008/01/09
*
* BASCOM AVR language file for GeSHi.
*
* You can find the BASCOM AVR Website at (www.mcselec.com/bascom-avr.htm)
*
* CHANGES
* -------
* 2008/01/09 (1.0.8.10)
* - First Release
*
*************************************************************************************
*
* This file is part of GeSHi.
*
* GeSHi is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* GeSHi is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GeSHi; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
************************************************************************************/
$language_data = array (
'LANG_NAME' => 'BASCOM AVR',
'COMMENT_SINGLE' => array(1 => "'"),
'COMMENT_MULTI' => array(),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array('"'),
'ESCAPE_CHAR' => '',
'KEYWORDS' => array(
1 => array(
// Navy Blue Bold Keywords
'1WRESET' , '1WREAD' , '1WWRITE' , '1WSEARCHFIRST' , '1WSEARCHNEXT' ,'1WVERIFY' , '1WIRECOUNT',
'CONFIG' , 'ACI' , 'ADC' , 'BCCARD' , 'CLOCK' , 'COM1' ,
'COM2' , 'PS2EMU' , 'ATEMU' , 'I2CSLAVE' ,
'INPUT', 'OUTPUT', 'GRAPHLCD' , 'KEYBOARD' , 'TIMER0' , 'TIMER1' ,
'LCDBUS' , 'LCDMODE' , '1WIRE' , 'LCD' , 'SERIALOUT' ,
'SERIALIN' , 'SPI' , 'LCDPIN' , 'SDA' , 'SCL' ,
'WATCHDOG' , 'PORT' , 'COUNTER0', 'COUNTER1' , 'TCPIP' , 'TWISLAVE' ,
'X10' , 'XRAM' , 'USB',
'BCD' , 'GRAY2BIN' , 'BIN2GRAY' , 'BIN' , 'MAKEBCD' , 'MAKEDEC' , 'MAKEINT' , 'FORMAT' , 'FUSING' , 'BINVAL' ,
'CRC8' , 'CRC16' , 'CRC16UNI' , 'CRC32' , 'HIGH' , 'HIGHW' , 'LOW',
'DATE' , 'TIME' , 'DATE$' , 'TIME$' , 'DAYOFWEEK' , 'DAYOFYEAR' , 'SECOFDAY' , 'SECELAPSED' , 'SYSDAY' , 'SYSSEC' , 'SYSSECELAPSED',
'WAIT' , 'WAITMS' , 'WAITUS' , 'DELAY',
'BSAVE' , 'BLOAD' , 'GET' , 'VER' , 'DISKFREE' , 'DIR' , 'DriveReset' , 'DriveInit' , 'LINE' , 'INITFILESYSTEM' ,
'EOF' , 'WRITE' , 'FLUSH' , 'FREEFILE' , 'FILEATTR' , 'FILEDATE' , 'FILETIME' , 'FILEDATETIME' , 'FILELEN' , 'SEEK' ,
'KILL' , 'DriveGetIdentity' , 'DriveWriteSector' , 'DriveReadSector' , 'LOC' , 'LOF' , 'PUT' , 'OPEN' , 'CLOSE',
'GLCDCMD' , 'GLCDDATA' , 'SETFONT' , 'PSET' , 'SHOWPIC' , 'SHOWPICE' , 'CIRCLE' , 'BOX',
'I2CINIT' , 'I2CRECEIVE' , 'I2CSEND' , 'I2CSTART','I2CSTOP','I2CRBYTE','I2CWBYTE',
'ALIAS' , 'BITWAIT' , 'TOGGLE' , 'RESET' , 'SET' , 'SHIFTIN' , 'SHIFTOUT' , 'DEBOUNCE' , 'PULSEIN' , 'PULSEOUT',
'IDLE' , 'POWERDOWN' , 'POWERSAVE' , 'ON', 'INTERRUPT' , 'ENABLE' , 'DISABLE' , 'START' , 'VERSION' , 'CLOCKDIVISION' , 'CRYSTAL' , 'STOP',
'ADR' , 'ADR2' , 'WRITEEEPROM' , 'CPEEK' , 'CPEEKH' , 'PEEK' , 'POKE' , 'OUT' , 'READEEPROM' , 'DATA' , 'INP' , 'READ' , 'RESTORE' , 'LOOKDOWN' , 'LOOKUP' , 'LOOKUPSTR' , 'LOAD' , 'LOADADR' , 'LOADLABEL' , 'LOADWORDADR' , 'MEMCOPY',
'RC5SEND' , 'RC6SEND' , 'GETRC5' , 'SONYSEND',
'BAUD' , 'BAUD1', 'BUFSPACE' , 'CLEAR', 'ECHO' , 'WAITKEY' , 'ISCHARWAITING' , 'INKEY' , 'INPUTBIN' , 'INPUTHEX' , 'PRINT', 'PRINT1','PRINT0', 'PRINTBIN' , 'SERIN' , 'SEROUT' , 'SPC' , 'MAKEMODBUS',
'SPIIN' , 'SPIINIT' , 'SPIMOVE' , 'SPIOUT', 'SINGLE',
'ASC' , 'UCASE' , 'LCASE' , 'TRIM' , 'SPLIT' , 'LTRIM' , 'INSTR' , 'SPACE' , 'RTRIM' , 'LEFT' , 'LEN' , 'MID' , 'RIGHT' , 'VAL' , 'STR' , 'CHR' , 'CHECKSUM' , 'HEX' , 'HEXVAL',
'BASE64DEC' , 'BASE64ENC' , 'IP2STR' , 'UDPREAD' , 'UDPWRITE' , 'UDPWRITESTR' , 'TCPWRITE' , 'TCPWRITESTR' , 'TCPREAD' , 'GETDSTIP' , 'GETDSTPORT' , 'SOCKETSTAT' , 'SOCKETCONNECT' , 'SOCKETLISTEN' , 'GETSOCKET' , 'CLOSESOCKET' ,
'SETTCP' , 'GETTCPREGS' , 'SETTCPREGS' , 'SETIPPROTOCOL' , 'TCPCHECKSUM',
'HOME' , 'CURSOR' , 'UPPERLINE' , 'THIRDLINE' , 'INITLCD' , 'LOWERLINE' , 'LCDAT' , 'FOURTHLINE' , 'DISPLAY' , 'LCDCONTRAST' , 'LOCATE' , 'SHIFTCURSOR' , 'DEFLCDCHAR' , 'SHIFTLCD' , 'CLS',
'ACOS' , 'ASIN' , 'ATN' , 'ATN2' , 'EXP' , 'RAD2DEG' , 'FRAC' , 'TAN' , 'TANH' , 'COS' , 'COSH' , 'LOG' , 'LOG10' , 'ROUND' , 'ABS' , 'INT' , 'MAX' , 'MIN' , 'SQR' , 'SGN' , 'POWER' , 'SIN' , 'SINH' , 'FIX' , 'INCR' , 'DECR' , 'DEG2RAD',
'DBG' , 'DEBUG', 'DTMFOUT' , 'ENCODER' , 'GETADC' , 'GETKBD' , 'GETATKBD' , 'GETRC' , 'VALUE' , 'POPALL' , 'PS2MOUSEXY' , 'PUSHALL' ,
'RETURN' , 'RND' , 'ROTATE' , 'SENDSCAN' , 'SENDSCANKBD' , 'SHIFT' , 'SOUND' , 'STCHECK' , 'SWAP' , 'VARPTR' , 'X10DETECT' , 'X10SEND' , 'READMAGCARD' , 'REM' , 'BITS' , 'BYVAL' , 'CALL' , 'READHITAG',
'Buffered', 'Size', 'Dummy', 'Parity', 'None', 'Stopbits', 'Databits', 'Clockpol', 'Synchrone', 'Prescaler', 'Reference', 'int0', 'int1', 'Interrupts',
'Auto', 'avcc', 'ack', 'nack', 'Pin', 'Db4', 'Db3', 'Db2', 'Db1', 'Db7', 'Db6', 'Db5', 'Db0', 'e', 'rs', 'twi',
),
2 => array(
// Red Lowercase Keywords
'$ASM' , '$BAUD' , '$BAUD1' , '$BGF' , '$BOOT' , '$CRYSTAL' , '$DATA' , '$DBG' , '$DEFAULT' , '$EEPLEAVE' , '$EEPROM' ,
'$EEPROMHEX' , '$EXTERNAL' , '$HWSTACK' , '$INC' , '$INCLUDE' , '$INITMICRO' , '$LCD' , '$LCDRS' , '$LCDPUTCTRL' ,
'$LCDPUTDATA' , '$LCDVFO' , '$LIB' , '$LOADER' , '$LOADERSIZE' , '$MAP' , '$NOCOMPILE' , '$NOINIT' , '$NORAMCLEAR' ,
'$PROG' , '$PROGRAMMER' , '$REGFILE' , '$RESOURCE' , '$ROMSTART', '$SERIALINPUT', '$SERIALINPUT1' , '$SERIALINPUT2LCD' ,
'$SERIALOUTPUT' , '$SERIALOUTPUT1' , '$SIM' , '$SWSTACK' , '$TIMEOUT' , '$TINY' , '$WAITSTATE' , '$XRAMSIZE' , '$XRAMSTART', '$XA',
'#IF' , '#ELSE' , '#ENDIF', '$framesize'
),
3 => array(
// Blue Lowercase Keywords
'IF', 'THEN', 'ELSE', 'END', 'WHILE', 'WEND', 'DO', 'LOOP', 'SELECT', 'CASE', 'FOR', 'NEXT',
'GOSUB' , 'GOTO' , 'LOCAL' , 'SUB' , 'DEFBIT', 'DEFBYTE', 'DEFINT', 'DEFWORD', 'DEFLNG', 'DEFSNG', 'DEFDBL',
'CONST', 'DECLARE', 'FUNCTION', 'DIM', 'EXIT', 'LONG', 'INTEGER', 'BYTE', 'AS', 'STRING', 'WORD'
),
4 => array(
//light blue
'PINA.0', 'PINA.1', 'PINA.2', 'PINA.3', 'PINA.4', 'PINA.5', 'PINA.6', 'PINA.7',
'PINB.0', 'PINB.1', 'PINB.2', 'PINB.3', 'PINB.4', 'PINB.5', 'PINB.6', 'PINB.7',
'PINC.0', 'PINC.1', 'PINC.2', 'PINC.3', 'PINC.4', 'PINC.5', 'PINC.6', 'PINC.7',
'PIND.0', 'PIND.1', 'PIND.2', 'PIND.3', 'PIND.4', 'PIND.5', 'PIND.6', 'PIND.7',
'PINE.0', 'PINE.1', 'PINE.2', 'PINE.3', 'PINE.4', 'PINE.5', 'PINE.6', 'PINE.7',
'PINF.0', 'PINF.1', 'PINF.2', 'PINF.3', 'PINF.4', 'PINF.5', 'PINF.6', 'PINF.7',
'PORTA.0', 'PORTA.1', 'PORTA.2', 'PORTA.3', 'PORTA.4', 'PORTA.5', 'PORTA.6', 'PORTA.7',
'PORTB.0', 'PORTB.1', 'PORTB.2', 'PORTB.3', 'PORTB.4', 'PORTB.5', 'PORTB.6', 'PORTB.7',
'PORTC.0', 'PORTC.1', 'PORTC.2', 'PORTC.3', 'PORTC.4', 'PORTC.5', 'PORTC.6', 'PORTC.7',
'PORTD.0', 'PORTD.1', 'PORTD.2', 'PORTD.3', 'PORTD.4', 'PORTD.5', 'PORTD.6', 'PORTD.7',
'PORTE.0', 'PORTE.1', 'PORTE.2', 'PORTE.3', 'PORTE.4', 'PORTE.5', 'PORTE.6', 'PORTE.7',
'PORTF.0', 'PORTF.1', 'PORTF.2', 'PORTF.3', 'PORTF.4', 'PORTF.5', 'PORTF.6', 'PORTF.7',
'DDRA.0', 'DDRA.1', 'DDRA.2', 'DDRA.3', 'DDRA.4', 'DDRA.5', 'DDRA.6', 'DDRA.7',
'DDRB.0', 'DDRB.1', 'DDRB.2', 'DDRB.3', 'DDRB.4', 'DDRB.5', 'DDRB.6', 'DDRB.7',
'DDRC.0', 'DDRC.1', 'DDRC.2', 'DDRC.3', 'DDRC.4', 'DDRC.5', 'DDRC.6', 'DDRC.7',
'DDRD.0', 'DDRD.1', 'DDRD.2', 'DDRD.3', 'DDRD.4', 'DDRD.5', 'DDRD.6', 'DDRD.7',
'DDRE.0', 'DDRE.1', 'DDRE.2', 'DDRE.3', 'DDRE.4', 'DDRE.5', 'DDRE.6', 'DDRE.7',
'DDRF.0', 'DDRF.1', 'DDRF.2', 'DDRF.3', 'DDRF.4', 'DDRF.5', 'DDRF.6', 'DDRF.7',
'DDRA','DDRB','DDRC','DDRD','DDRE','DDRF',
'PORTA','PORTB','PORTC','PORTD','PORTE','PORTF',
'PINA','PINB','PINC','PIND','PINE','PINF',
)
),
'SYMBOLS' => array(
'=', '<', '>', '>=', '<=', '+', '-', '*', '/', '%', '(', ')', '{', '}', '[', ']', ';', ':', '$', '&H'
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false,
4 => false,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #000080; font-weight: bold;',
2 => 'color: #FF0000;',
3 => 'color: #0000FF;',
4 => 'color: #0080FF;',
),
'COMMENTS' => array(
1 => 'color: #657CC4; font-style: italic;'
),
'BRACKETS' => array(
0 => 'color: #000080;'
),
'STRINGS' => array(
0 => 'color: #008000;'
),
'NUMBERS' => array(
0 => 'color: #000080; font-weight: bold;'
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #0000FF;'
),
'ESCAPE_CHAR' => array(
),
'SCRIPT' => array(
),
'REGEXPS' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => ''
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
'REGEXPS' => array(
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 4
);
?>

Some files were not shown because too many files have changed in this diff Show More