localized keywords

This commit is contained in:
llsth 2015-04-09 23:59:17 +02:00
parent 9121566b52
commit af1681cc87
6 changed files with 107 additions and 66 deletions

View File

@ -24,8 +24,8 @@
*
*/
#ifndef AMATH_TEXT_IDENT_ALIAS_H
#define AMATH_TEXT_IDENT_ALIAS_H
#ifndef AMATH_LOCALIZE_IDENT_ALIAS_H
#define AMATH_LOCALIZE_IDENT_ALIAS_H
struct identalias {
const char *ident;

101
app/localize/kword.h Normal file
View File

@ -0,0 +1,101 @@
/*
* Copyright (c) 2015 Carsten Larsen
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Generated with FlexCat. For more information, see:
* http://sourceforge.net/projects/flexcat/
*
*/
#ifndef AMATH_TEXT_KEYWORD_H
#define AMATH_TEXT_KEYWORD_H
/**
* @file kword.h
* @brief Keywords used by lexer.
*
*/
#include "clib.h"
#include "localize/lex.h"
/**
* @brief Character representation of keyword tied with its symbol.
*
*/
struct keyworddef {
const char *name;
Symbol symbol;
};
static const keyworddef keywords[] = {
{ "clear", symclear },
{ "def", symdef },
{ "delete", symdelete },
{ "e", syme },
{ "i", symi },
{ "pi", sympi },
{ "ins", symins },
{ "eval", symeval },
{ "draw", symdraw },
{ "plot", symplot },
{ "execute", symexecute },
{ "exit", symexit },
{ "quit", symexit },
{ "statements", symstatement },
{ "operators", symoperator },
{ "complex", symcomplex },
{ "funcs", symfunction },
{ "functions", symfunction },
{ "trigon", symtrigon },
{ "trigonometric", symtrigon },
{ "hyper", symhyper },
{ "hyperbolic", symhyper },
{ "help", symhelp },
{ "prompt", symprompt },
{ "version", symversion },
{ "mem", symmem },
{ "memory", symmem },
{ "prefs", symprefs },
{ "preferences", symprefs },
{ "list", symlist },
{ "load", symload },
{ "save", symsave },
{ "show", symshow },
{ "vars", symvariable },
{ "variables", symvariable },
{ "digits", symdigits },
{ "input", syminput },
{ "output", symoutput },
{ "bin", symbin },
{ "binary", symbin },
{ "oct", symoct },
{ "octal", symoct },
{ "dec", symdec },
{ "decimal", symdec },
{ "hex", symhex },
{ "hexadecimal", symhex },
{ EMPTYSTRING, Symbol(0) }
};
#endif

View File

@ -1,54 +0,0 @@
/*
* Copyright (c) 2015 Carsten Larsen
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef AMATH_TEXT_LANGUAGE_H
#define AMATH_TEXT_LANGUAGE_H
/*
english
bosanski
catala
czech
dansk
deutsch
espanol
francais
italiano
magyar
nederlands
norsk
polski
portugues
portugues-Brasil
russian
slovensko
srpski
suomi
svenska
turkce
*/
#endif

View File

@ -76,15 +76,7 @@ static const operatordef operators[] = {
{ ';', symdelimiter}
};
/**
* @brief Character representation of keyword tied with its symbol.
*
*/
struct keyworddef {
const char *name;
Symbol symbol;
};
/*
static const keyworddef keywords[] = {
{ "clear", symclear},
{ "def", symdef},
@ -133,5 +125,6 @@ static const keyworddef keywords[] = {
{ "draw", symdraw},
{ "plot", symplot}
};
*/
#endif

View File

@ -28,6 +28,7 @@
#include "main/lexer.h"
#include "main/token.h"
#include "localize/lex.h"
#include "localize/kword.h"
#include "system/program.h"
Lexer::Lexer(const char *input)

View File

@ -304,7 +304,7 @@ void AmigaWindow::SetPrompt(const char* string)
//
//BOOL AskKeyMap(struct IOStdReq *request, struct KeyMap *keymap)
//{
// request->io_Command = CD_ASKKEYMAP;
// request->io_Command = CD_ASKKEYMAP;
// request->io_Length = sizeof(struct KeyMap);
// request->io_Data = (APTR)keymap; /* where to put it */
// DoIO(request);